余善善 ,易建业 ,谢 晖,2 ,金作徽
(1.季华实验室,广东 佛山 528200;2.大捷智能科技(广东)有限公司,广东 佛山 528200)
机器视觉起源于20世纪50年代统计模式识别的研究。20世纪80年代,机器视觉进入蓬勃发展期,新概念、新方法、新理论不断涌现。光学字符识别(optical character recognition,OCR)系统和智能相机开始出现。机器视觉的概念在产业界被提及。机器视觉开始从理论走向应用[1]。
进入21世纪后,随着工业发展的加速和生产规模的扩大,利用机器视觉系统检测标准件已经越来越多地应用在工业生产中。魏中雨[2]基于机器视觉开发了标准零件的装配检测系统;陈硕[3]基于机器视觉开发了注塑齿轮缺陷的检测系统;屠子美[4]基于机器视觉开发了印刷电路板检测及分拣系统。
与此相对的是,机器视觉在非标准件检测中的应用一直是难点。其原因在于,传统的机器视觉检测技术一般采用严格的图像阈值筛选[5],只适用于一致性较好的标准件,在应用于非标准件时容易受工件本身变化等因素的影响而使系统变得不稳定。比如,构成冲压模具的各种镶块都是根据每套模具的特点定制的,没有标准的形状[6],无法将检测标准件的机器视觉系统应用在这一方面。
针对这类检测的特点,本文设计了基于图形不变矩的轮廓匹配算法,以计算机辅助设计(computer aided design,CAD)模型的线框图的轮廓为基准,对非标准件的轮廓进行检测。该算法具有以下优势:①基于CAD图形进行检测,无需事先收集实际工件的图像,适用于非标准件的检测;②基于图像的不变矩进行相似度匹配,对工件的摆放位置、大小、相机的距离等无严格要求,可配置性强;③只匹配轮廓信息,匹配速度快。
现场工况复杂,原图像的噪声较多。因此在轮廓提取前,需对现场采集的图像进行预处理。具体方法为:首先,为消除现场光照及阴影遮挡等的影响,在色度(hue,H)通道对图像进行阈值分割(二值化);然后,通过形态学的闭运算和开运算突出形态特征;最后,通过选取最大联通域排除背景的噪声。
检测流程如图1所示。
图1 检测流程图
1.1.1 颜色空间
色度·饱和度·明度(hue·saturation·value,HSV)颜色空间是由Alvy Ray Smith在1978年根据颜色的直观特性创建的。这种颜色空间在各种图像分析任务中多有应用。HSV颜色空间通过H、饱和度(saturation,S)和明度(value,V)这3个分量对色彩进行描述[7]。HSV颜色空间的3个分量具有相对独立性。其中,H分量受光照及阴影遮挡的影响很小[8],因此本文选取在H通道下对图像进行阈值分割。
计算机在处理图像时常使用的是红绿蓝(red green blue,RGB)颜色空间。由RGB颜色空间向HSV颜色空间的转换中,r、g、b分别是RGB颜色模型的其中一种颜色的色品坐标。色品坐标r、g、b为[9]:
(1)
式中:R、G、B分别表示1个像素在红色、绿色和蓝色这3个通道的数值,取值范围均为0~255。
从RGB颜色空间到HSV颜色空间的转换方法[10]如下。色品坐标值是0到1之间的实数。若取:
(2)
则有:
(3)
式中:H∈[0°,360°]。
(4)
式中:S∈[0,1]。
V=Cmax
(5)
式中:V∈[0,1]。
1.1.2 背景颜色
本文分别在绿色、红色、黄色、白色和蓝色背景下拍摄零件并统计其H通道的平均值。其中:工件的H通道平均值为2;绿、红、黄、白、蓝各色背景的H通道平均值分别为85、2、13、0、113。由此可知,在蓝色背景时工件与背景的H通道值相差最大,即最易将背景和检测对象进行区分。因此,本文使用蓝色背景下拍摄的零件图进行检测算法开发。
H通道值分布直方图如图2所示。
图2 H通道值分布直方图
1.1.3 阈值分割
工件原图如图3所示。
图3 工件原图
阈值分割方法主要有自适应阈值法和固定阈值法等。固定阈值法对图像有较高要求,在工业检测等实际应用中由于环境等复杂因素的影响而无法直接使用。自适应阈值在不同亮度、对比度、纹理的局部图像区域拥有相对应的局部二值化阈值,能适应实际应用。因此,本文使用自适应阈值法对图像进行二值化。
二值化图像如图4所示。
图4 二值化图像
数学形态学是一门以格论和拓扑学为基础的学科,主要应用于提取图像中描述目标形状的图像分量[11]。形态学的经典应用包括图像特征增强和去噪[12]等处理。形态学包括膨胀、腐蚀、开、闭这4种处理。本文首先通过闭运算,填补图形内部的细小孔洞;然后通过开运算,平滑图形边缘。
形态学处理后的图像如图5所示。
图5 形态学处理后的图像
本文旨在进行外轮廓的提取和对比,因此使用泛洪填充算法将镶块图像内部孔洞进行填充。
泛洪填充处理后的图像如图6所示。
图6 泛洪填充处理后的图像
泛洪填充处理后,图像中仍然存在一些背景噪声。本文通过选取图像的最大连通域[13],排除背景中的噪声区域。
选取连通域处理后的图像如图7所示。
图7 选取连通域处理后的图像
形状周围的锯齿会在轮廓提取后影响轮廓的形状特性,从而影响到检测的准确度。因此,本文使用均值滤波方法平滑图形边缘的锯齿。
均值滤波处理后图像如图8所示。
图8 均值滤波处理后图像
现有的边缘提取方法[14]分为3类,分别为矩方法、拟合法和插值法。矩方法计算简单,且可以得到解析解。但该方法对噪声较敏感,容易受噪声影响而导致精度降低。拟合法对噪声有较高的鲁棒性。但该方法计算复杂、耗时较长。综合考虑,本文利用基于形态学梯度的样条插值法[15]提取轮廓。该方法既可以克服噪声对轮廓提取的影响,又可以减少计算的复杂程度、节省时间。
镶块CAD二维图如图9所示。
图9 镶块CAD二维图
实物图像轮廓如图10所示。
图10 实物图像轮廓
由CAD二维图提取的轮廓如图11所示。
图11 由CAD二维图提取的轮廓图
轮廓提取后需要对轮廓进行定位匹配。主要的匹配方法有方向梯度直方图(histogram of oriented gradient,HOG)特征描述匹配法、Hu矩方法匹配法、形状上下文匹配等。Hu矩由7个不变矩组构成[16],在图像平移、旋转和比例变化时保持不变。因为Hu矩具有尺度、旋转、平移的不变性,所以在使用Hu矩进行轮廓匹配时对工件的摆放位置、大小、相机的距离等无严格要求,硬件的可配置性强。因此,本文采用Hu矩方法进行匹配。本文使用OpenCV的matchShapes函数对实物轮廓和CAD轮廓进行匹配,并得出匹配得分。
(6)
相似度百分比用于表征2个轮廓之间的相似程度。当相似度百分比超过指定阈值时可判断2个轮廓为同一种形状。
实物轮廓和CAD轮廓的相似度百分比P为:
P=(1-p) × 100%
(7)
式中:p为由matchShapes函数计算得出的匹配得分。
为验证本文所提算法的有效性和可行性,本文选择试验平台Intel I7-10700和操作系统Windows10,采用Python和OpenCV进行试验。
本文设定当检测镶块的俯视图轮廓和侧视图轮廓与对应CAD二维图提取轮廓的相似度分数均大于设定阈值时,判定该镶块为合格镶块;否则,为问题镶块,需人工复检。由设定可知,本文算法实现需要2组相机分别拍摄镶块的俯视图和侧视图。因此,本文采用2组可平移、可升降的工业相机分别对汽车模具镶块的俯视和侧视方向投影视图进行拍摄,并根据其CAD模型导出的外形轮廓图进行对比检测。
本文经过前期的测试发现,当2个视图的轮廓Hu矩匹配得分小于0.2时(轮廓相似度80%以上),判别准确率在97.5%以上。
各零件实际轮廓与CAD轮廓的Hu矩匹配得分如图12所示。
图12 各零件实际轮廓与CAD轮廓的Hu矩匹配得分
通过计算可知,在保证准确率的情况下检测的相似度分数阈值可以设定为大于80%。
本文采用自主搭建的拍摄和检测平台进行试验。
试验流程如图13所示。
图13 试验流程图
本文主要收集冲压模具各类镶块的图像,并与其CAD的二维图进行匹配,以此检测所开发算法的准确度。本文实际检测非标准件工件19件并作交叉验证,以验证当零件与零件号不匹配时相似度分数是否小于阈值。
本文分别计算各零件的实物轮廓与对应的CAD轮廓的相似度分数以及实物轮廓与不同工件的CAD轮廓的相似度分数,并对比两者以进行交叉验证。
本文相似度百分比设定阈值为80%。零件检测相似度分数曲线如图14所示。
图14 零件检测零件相似度分数曲线
由图14可知:19件零件在正常检测时,其俯视图与侧视图的匹配分数均同时高于设定阈值;交叉验证时,其俯视图与侧视图的匹配分数有单个高于设定阈值的情况,但没有同时高于设定阈值的情况。其原因是实际检测中存在某个方向的视图特别相似的零件使得该方向的视图匹配分数较高,但是不同零件不会存在2个方向视图都相似的情况。综上所述,在80%阈值时,全部19件零件的正常检测以及交叉验证均能正确检出。本文所开发的算法能有效应用于非标准件的轮廓检测。
零件检测用时如图15所示。
图15 零件检测用时柱状图
由计算可知,19件零件的平均检测用时(包括拍摄和检测)为1.4 s/件,能满足工厂3 s/件的检测速度要求。测试结果显示,本文算法检测准确度高。
本文基于Hu矩的轮廓匹配算法,设计了一种非标准件的在线检测系统。该系统通过对比实际图像和CAD二维图的轮廓来检测零件的外形,不需要事先采集零件图像,符合非标准件各异性的特点。本文利用Hu矩的尺度、旋转、平移的不变性,使得检测系统对零件的摆放无严格要求,现场的可操作性强。另外,该系统由于只匹配轮廓信息,检测用时短,能适应在线检测的快节奏需求。在随机抽取的19件非标准件(冲压模具镶块)的检测和交叉验证试验中,检测成功率为100%。