摘要
利用图像处理与机器视觉技术开发了一套安全气囊检测系统,实现了对安全气囊生产过程某一工位处关键尺寸的亚像素测量。介绍了该检测系统的总体组成和主要工作流程; 分别介绍了该系统的软硬件设计; 并选取实际气囊对所开发的检测系统进行了可行性、有效性的验证。通过实验表明该系统的检测结果符合实际生产的要求。
21 世纪以来,汽车行业发展迅猛。安全气囊作为汽车的安全辅助工具,它的出现大大降低了死亡率,因而必须确保其尺寸精确,并能正常使用。对安全气囊传统的检 测方法主要是借助千分表、轮廓仪等工具进行人工抽检[1]。然而在长时间、大批量的工作模式下,工作人员由于身体条件、视觉疲劳等因素,造成产品误检率高,极大地 限制了生产效率和产品质量。
针对上述情况,开发了一套基于机器视觉的安全气囊检测系统,实现对安全气囊关键尺寸的亚像素测量。该系统具有非接触、实时、高精度、高效率的特点,可有效降低企业的人工成本,同时减少误检率和漏检率,提高企业的生产效率和经济效益。
1、视觉检测系统设计
1.1 尺寸测量技术要求
待检测对象安全气囊的实物图如图 1 所示。对气囊进行检测主要是对其外轮廓尺寸大小和预缝线间距进行测量,具体要求如下: (1)对气囊外轮廓尺寸进行测量,测量误差范围为±0.5 mm。 (2) 对预缝线间距进行测量,测量误差范围为±0.5mm。 针对以上需求,设计并开发了一套基于机器视觉的气囊尺寸检 测系统。示例中的气囊外轮廓尺寸为 205.55mm,预缝线间距为 140.16 mm。
图 1 待检测的安全气囊实物图
1.2 系统的工作原理
视觉检测系统主要由光源、相机、计算机、执行机构等部分组合而成[2],如图 2 所示。其工作原理是: 照明光源发出平行光照射在检测工件上,工业相机采集图像,将光信号转换成图像数据传送给计算机,由计算机完成图像处理、分析和计算等,并将处理结果以信号的形式发送给执行机构,指导机器的运行。
1.3 系统的结构设计
该视觉系统的结构设计主要从硬件系统和软件系统两方面展开。
图 2 视觉检测系统的原理图
硬件系统包含机械装置、图像采集子系统以及计算机等部分,其中图像采集子系统是整个硬件系统的核心模块,由光源、相机以及照明系统等复合而成,其任务是对工件进行图像数据采集[3]。对图像采集子系统的设计主要从相机和光源的选型、光照模式的设计等两个方面入手。根据检测工件的表面属性和几何外形,结合检测指标为外轮廓尺寸和预缝线间距测量,决定选用 MER- 503- 20GM / C-P 相机,选择线性 LED 条形光源,以垂直照射的方式进行照明,如图 3( a) 所示。
软件系统是基于 Window 操作系统平台,依托 Visual Studio 2013 中 MFC 和开源图像处理库 OpenCV2.4.9 设计的 UI 界面,主要包括视频显示、图像结果显示、识别与测量及设备控制等功能模块,如图 3( b) 所示。图中左侧两个窗口分别为“视频显示窗口”和“图像结果显示窗口”;界面右侧从上到下依次是“串口通信窗口”、“设备控制窗 口”、“检测识别与测量窗口”以及“检测结果显示窗口”。
图 3 检测系统的结构设计
2、检测原理与算法实现
针对气囊的尺寸测量,采用基于灰度图像的边缘特征,通过滤波与增强,改善图像质量,锐化边缘细节,并通 过亚像素定位技术,提高边缘定位精度,最后通过对边缘 的直线拟合和直方图投影,进行尺寸测量,整个检测算法 流程如图 4 所示。
图 4 气囊尺寸测量算法流程图
2.1 图像滤波
在进行图像采集和数据传输时,因受到图像传感器质量、环境光照等因素的影响,常常会引入无关的噪声,不利于后续图像识别。图 5 所示为采集图像的外轮廓和预缝线区域的局部图,可以看出图像含有大量的噪声点。
图 5 原始图像
在图像处理中,主要运用图像滤波进行噪声点的去除。目前,常用的滤波方法有高斯滤波、均值滤波和中值 滤波等。采用上述 3 种滤波方法分别对工件图像进行处理,同时以峰值信噪比( PSNR) [4]作为质量评价指标,最终决定采用高斯滤波对图像进行去噪处理。
高斯滤波是一种广泛使用的线性平滑滤波器,主要思路是对整幅图像进行加权平均,从而消除噪声点的影响, 其具体操作是: 通过高斯核的离散化窗口滑窗卷积来实现,高斯核是一个奇数的大小高斯模板。
高斯模板中的各个参数主要通过二维高斯函数计算给出,其具体公式如下:
式中 δ 表示标准差。标准差 δ 越小,表示滤波平滑效果越不明显。
采用高斯滤波对采集图像进行噪声点的去除,效果如 图 6 所示,可以看到噪声点被平滑处理掉,图像质量得到明显改善。
图6 高斯滤波后的图像
2.2 图像增强
经过高斯滤波之后的图像,噪声点被滤除,但是由于引入平均的效果,使得边缘细节变得模糊。为了抵消这种模糊的因素,应该增强图像的对比度。采用 Laplace 算子, 对图像边缘进行锐化处理。
Laplace 算子是一种各向同性的二阶微分算子[5],而图像的边缘灰度是阶跃变化的,在数学上表示为其二阶导数过零点,故可利用 Laplace 算子对进行图像锐化,可以有效地定位边缘点,并通过加强边缘的灰度值,使图像的对 比度增强,同时使边缘细节得到提升。
如图 7 所示,经过 Laplace 算子增强后,可以发现图像的对比度得到了提高,预缝线和外轮边缘也更加清晰,有利于后续图像边缘的检测。
图7 Laplace 图像增强后的效果
2.3 边缘检测
图像边缘指的是其周围像素灰度急剧变化的那些像 素的集合,它主要存在于目标、背景与区域之间,对图像进 行边缘检测是图像识别的重要步骤[6]。采用亚像素技术 对像素级边缘进行精细再分,提高了图像的分辨率,具体 实现过程如下:
(1)粗定位阶段,以像素为单位,进行传统的边缘检测;
(2)精定位阶段,采用图像处理算法,实现像素精细划分。在粗定位阶段,传统的像素级边缘检测算子主要有:
Roberts 算子、Prewitt 算子、Sobel 算子、Log 算子、Canny 算子等[7]。从定位精度和边缘细节两方面,对比上述检测算子的检测效果,如图 8 所示,可以发现 Roberts 算子、Prewitt 算子、Sobel 算子检测结果相似,能够准确定位边缘,但是边缘细节模糊,而 Canny 算子检测效果最佳,定位精度高,边缘连续性强,故在粗定位阶段采用 Canny 算子进行边缘检测。
图8边缘检测图
在精定位阶段,采用基于 Zernike 矩的亚像素边缘检测算法,并对阶跃阈值的选择进行改进,利用 Otsu 法( 大津法) 确定最佳分割阈值 T 作为阶跃阈值,对检测边缘进行精确定位。
改进的 Zernike 矩边缘检测算法具体步骤如下。步骤 1: 计算 Zernike 矩的 Z00 、Z11 、Z20 ;
步骤2: 根据公式( 2) ,计算出Φ的值;
Φ= tan-1 ( Im[Z11]/Re[Z11]) ( 2)
步骤3: 利用Zernike 矩的旋转不变性,求得Z'00、Z'11、Z'20;
步骤5: 利用Otsu 法确定最佳分割阈值作为阶跃阈值 T; 步骤 6: 取距离阈值 δ,若满足条件 k ≥T 且 h≤δ,则该像素点即为边缘点。
通过 Otsu 法确定最佳分割阈值 T = 86,并设置距离阈值 δ 为一个像素单位,进行亚像素边缘检测,如图 9 所示。可以看出采用改进的 Zernike 矩边缘检测算法提取的图像边缘无毛刺,且连续性更强,为后续的高精度尺寸测量提供了保证。
图9 改进的Zernike 矩边缘检测效果图
2.4 尺寸测量
通过对气囊的边缘图像进行分析,发现外轮廓具有波 浪形边缘,而预缝线边缘具有明显的倾斜角度,并且含有 线头边缘,对测量产生极大的干扰,针对以上问题,分别提 出了基于直线拟合和直方图投影的测量算法,检测效果如 图 10 所示。
图 10 气囊尺寸测量效果图
1)直线拟合测量算法
对于外轮廓的尺寸测量,其核心步骤在于对轮廓的拟 合,最小二乘法是最常见的直线拟合方法,其具体步骤如下。
步骤 1: 采集图像上、下边缘,采用最小二乘法拟合基准直线 L1 和 L2;
步骤 2: 计算中心点( x0,y0) ,将上边缘 x 坐标均值作为 x0,根据直线 L2 方程获取中心点位置;
步骤 3: 利用该中心点的基准直线 L1 的距离,进行测距。
2)直方图投影算法
首先对工件的边缘图像进行轮廓提取,同时获得每个轮廓的最小外接矩形,再依据面积和长宽比等几何特征, 定位预缝线检测区域 R1 和 R2,并记录其左上角顶点坐标,如图 10 所示。
对定位出的预缝线区域,进行直方图投影,其具体步骤是: 首先遍历 ROI 区域 R1 和 R2,统计区域内非 0 值像素的个数 Ni,以行数为横坐标,Ni 为纵坐标,绘制直方图,并记录直方图最大值所在位置行数,计为 I1max 和 I2max,如图 11 所示。结合 ROI 区域的位置坐标,作差即可求得预缝线间距。
图11 预缝线像素直方图
3、实验结果与分析
对本视觉系统进行重复性测量实验,即将气囊在相机视野中任意位置摆放 10 次,采用检测系统对气囊进行尺寸测量,并计算其测量均值和标准差,测量结果如表 1 所示。
通过表 1 可知,外轮廓测量均值为 205.55 mm,其标准偏差为 0.0317 mm,预缝线间距测量均值为 140.15 mm,标准偏差为 0.023 5 mm,标准偏差均在± 0.05 mm 之间,满足了生产实际的精度要求。同时为了更加直观体现,绘制其检测结果折线图如图 12 所示。
图12 零件检测结果折线图
由图 12 可知虽然该系统测得的数据整体比较理想, 测量结果基本在测量均值附近,但是也有个别数据会产生波动,出现这种情况,主要有以下几个方面原因:
镜头误差。由于镜头制造工艺的限制,使得镜头存在畸变,在光学成像时产生一定的误差。
环境误差。受到环境光照的影响,使得被测工件的边缘亮度和阴影产生变化,这将导致在边缘提取时产生 一定的误差。
算法误差。对外轮廓进行直线拟合时,由于轮廓具有波浪形边缘,使得拟合出的结果会存在一定的误差。
4、结论
根据安全气囊安全尺寸的检测要求,开发了一套视觉检测系统,该系统采用改进的Zernike 矩的亚像素边缘算法,实现边缘的精确定位,提高了测量精度。针对工件两个不同的测量指标,分别提出了基于直线拟合的点测距和基于直方图投影测距的测量方法。在实例验证下, 检测精度符合工业生产要求,有效地提高了生产效率和产品质量。