基于机器视觉的激光打标智能缺陷检测系统
2021-12-22肖苏华王志勇张顺钧罗文斌曹应斌
肖苏华,王志勇,张顺钧,罗文斌,曹应斌
(1.广东技术师范大学 机电学院,广州 510632;2.湖南恒岳重钢钢结构工程有限公司,衡阳 421300)
机器视觉(Machine vision)是一种新型技术,能够替代操作工人对工件进行精确测量[1]。机器视觉系统(Machine vision system)是指采集图像后将图像转换成数字信号,传给计算机系统,使用图像处理算法对这些数字化信号进行处理,根据处理的结果来控制执行机构[2]。机器视觉主要应用于工业生产、产品检测、表面检测、汽车零件及电子工业等领域[3]。
激光打标技术(Laser marking technology)的主要目的是在物件的表面留有永久性标记[4]。目前,激光打标技术已成为一种精密加工方法,广泛应用于各行各业[5]。由于激光打标过程中,工件上油脂形成的蒸气易冷凝在防护罩的激光过滤镜上,阻碍激光的穿透从而使得激光打标失效[6],因此如何对激光打标产品进行缺陷检测,从而改进激光打标产品的质量至关重要。现价段我国的激光加工技术发展飞速,在采用校企合作模式以推动激光加工技术发展的同时,也为企业培养了大批的激光先进技术人才[7]。
目前,工件表面缺陷检测的方法主要是对缺陷的灰度特征和图像的信号特征进行研究。通常,基于机器视觉的缺陷检测开发都针对的是特定产品,一旦待检产品发生更换,甚至不同规格产品发生更换的时候,就需要重新编程和调试步骤,因而提高了时间成本和财务成本。针对上述问题,基于OpenCV/C++软件,笔者编写并优化了缺陷检测算法,提供了缺陷区域面积像素值的自定义功能,提高了系统的适用范围,革新了当前检测不同产品,甚至不同规格产品必须重新定制开发程序的方法,扩大了系统的使用范围,提高了检测速度、检测效率和检测准确性。
1 缺陷检测智能系统设计
1.1 系统构成和选型
以手机适配器激光打标缺陷检测为例进行系统设计,加工精度高达0.001 mm。智能缺陷检测系统由硬件和软件两大部分等组成。硬件部分由工业网口相机、工业镜头、相机支架、光源控制器和光源等组成;软件部分主要采用OpenCV平台研发了一套机器视觉系统,该系统采用C++优化算法,改进了图像预处理和识别的算法,结合了快速傅里叶变换、高斯滤波、亚像素边缘阈值分割、数学形态学运算、频域处理和最小二乘法等检测算法。
工业相机采用德国Basler(巴斯勒)的互补金属氧化物半导体(CMOS)相机,其图像采集的最大分辨率为2 000万像素,精度可识别市面上主流手机适配器激光打标缺陷。相机镜头选取定焦距海康威视镜头,焦距为28 mm,镜头高度应适应产品大小,以保证需要检测的零件在光源和采集范围内。光源选择了碗形光源产品,利用碗形光的垂直光线对激光打标表面的反射光进行处理,效果最佳。光源控制器的用途是给光源供电,并控制光源的亮度。缺陷检测智能系统总体结构如图1所示。
图1 缺陷检测智能系统总体结构示意
1.2 模板匹配算法设计
模板匹配是软件的核心功能之一,对检测结果起到至关重要的作用,根据模板在图像上找出对应位置,裁剪图像的定位精确度将直接影响缺陷的检测效果,模板越多,匹配精度和检测效果越好,但是模板过多,运行速度会变慢。模板匹配流程如图2所示。
图2 模板匹配流程图
因为相机采集到的图像存在角度偏差,OpenCV的模板匹配算子并不具有角度的功能,所以单纯调用模板匹配不可行,采用多模板匹配可以有效解决这个问题,为了保证匹配速度,设定了3种模板,分别以负角度、零度、正角度进行创建。
在进行模板匹配前,需要创建3种模板,首先要设定if语句判断是否有足够的模板用于匹配,若没有,则报错提示“请确认是否创建3种模板”。创建足够的模板后进行模板匹配操作,获取用于匹配的图像,判断源图像是来自于打开的图像还是相机采集的图像,确认好图像后,用3种模板分别进行一次匹配,匹配的数值将记录在特定的图像中,该图像每一个像素存放相应的匹配值。匹配完成后,获取最大匹配值和最小匹配值,复制源图像,用于后期绘制矩形框显示,根据OpenCV模板匹配算子的参数设定,匹配精度最高的可以是最大值和最小值,程序选用最小值为精度最高。
获取3种模板匹配的最小值后,得出全部匹配值的最小值,获取该值的坐标位置,以该最小值的匹配模板为最符合模板图,获取最符合模板图的宽度和高度,从源图像中定位裁剪出待检测的图像,并绘制出矩形框显示裁剪部位。当窗口中没有合适的零件时,匹配值都会相同,并且为精度最低的数值,此时程序出错,要应对这种情况,需要设定一个else判断,提示“没有合适模板”,最后显示最符合模板图和裁剪的图像,以便于观察并为后续的缺陷检测提供图像。
1.3 智能缺陷检测软件设计
软件系统通过预留缺陷面积最小值参数、二值化最小值调整和灰度值补偿参数,以满足不同产品的检测需求,通过预留像素差最小值设置,实现不同产品、不同精度、不同检测速度的优化设置功能,以满足客户的自定义检测要求,该功能是软件系统的核心。缺陷检测软件界面设计如图3所示。
图3 缺陷检测软件界面设计
选用求像素差的方法,获取模板图像和待检测产品图像存在差异的区域,按照系统预设的区域像素值进行比对,超过该值即判定为不合格,并在图像里绘制红色圆形轮廓。软件系统能适应静态检测和动态高速检测,即目标物体的离线和在线实时缺陷检测。缺陷检测流程如图4所示。
图4 智能缺陷检测流程图
1.3.1 离线缺陷检测
离线缺陷检测是指计算机在不连接工业相机的情况下,应用开发的软件系统对存储在本地磁盘的目标物体图像进行缺陷检测。离线缺陷检测流程如图5所示。
图5 离线缺陷检测流程图
所研发的软件在离线缺陷检测时:① 在计算机本地磁盘存储与待检测产品一致的无缺陷标准产品图像和待检测目标产品图像;② 点击软件界面的“打开图片”按钮,选定存储在计算机本地磁盘的标准产品图像;③ 点击软件界面的“绘制区域”按钮,框选出需要检测的区域用于创建模板,再点击“创建模板”按钮,框选出的区域在模板显示区域出现,并且软件提示模板创建完成,模板创建完成之后点击“保存模板”按钮,可以将创建完成的模板保存到本地磁盘,也可直接在内存里运行。通过对不同产品,甚至不同规格产品完成模板的创建及保存,可以保证客户对不同产品的缺陷检测要求。
完成模板创建之后,可以直接点击“打开图片”,选择待检测图片,调节二值化阈值的最大值和最小值,获取待检测区域特点,最后点击“缺陷检测”按钮,实现检测结果的显示,或者在创建完成模板之后,点击“清空界面”按钮,清空界面之后,点击“打开图片”按钮,选择本地磁盘的待检测产品图像,待检测目标产品图像会出现在采集图像显示区域中,然后点击“读取模板”按钮,选择与待检测目标产品一致的模板,其会出现在显示区域。通过调节二值化阈值的最大值和最小值来获取待检测区域。点击“缺陷检测”按钮,其判断结果会显示在结果显示区域中,若待检测产品检测区域无缺陷,则显示绿色“OK”字符,若该区域有缺陷,则显示红色“NG”字符。
为了满足产品的个性化定制需求,系统设计了缺陷像素面积的自定义功能设置。通过点击“系统设置”中的“缺陷面积最小值设置”按钮,自定义产品缺陷检测面积的最小值,如果待检测产品的检测值超过该值,即判断为缺陷。由用户更换产品时根据实际要求填入,默认值为10,以满足客户对不同产品、不同精度的检测要求。
1.3.2 实时检测
在工业检测行业中,往往需要具有在线实时检测功能。实时检测一般在自动化生产线中,工件经过传送带传输到检测位置后,触发相机(外部触发或者内部触发)进行采集图像和缺陷检测,并将检测结果传送给相应的执行机构,如机器人、线性模组等,以执行良品或不良品的分拣、统计等流程。实时检测流程如图6所示。
图6 产品实时检测流程图
2 检测结果
将智能缺陷系统运用于3C产品激光打标的缺陷检测中,系统兼容主流工业相机进行缺陷检测,可根据客户实际精度要求进行像素差最小值设置和缺陷面积最小值设置,其极限识别精度达到亚像素级别(0.01像素)。经过测试,以不同手机适配器产品为例进行缺陷检测,实现系统对不同产品或者不同规格产品缺陷检测的共用性。
(1) 对HUAWEI激光打标产品进行缺陷检测,检测结果如图7所示。
图7 缺陷检测结果(HUAWEI激光打标产品)
(2) 对VIVO手机适配器激光打标产品进行缺陷检测时,创建了一种模板:白色背景下黑色打标字符。系统读取模板对产品进行缺陷检测,读取白色背景下黑色打标字符模板对产品的缺陷检测结果如图8所示。
图8 缺陷检测结果(VIVO手机适配器激光打标产品)
3 结语
开发了一种创新性的、可重构的、开放性的,且具备通用视觉检测功能的智能缺陷检测系统。该系统通过预留缺陷面积最小值参数、二值化、最小值调整、灰度值补偿参数来满足不同产品的检测需求;通过预留像素差最小值设置,实现了不同产品、不同精度、不同检测速度的优化设置功能。经过测试,系统可以对不同规格、不同型号手机适配器激光打标产品进行缺陷检测,且具有速度快、精度高、稳定性强等特点,具有良好的应用价值,对于提高激光打标缺陷的检测水平具有较好的促进作用。