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