赵炜杰 王丹
摘 要:为了检测工件表面是否存在污渍,是否有缺陷,进行了基于OpenMV的工件表面质量系统检测设计,并对不合格的工件进行分拣。系统主要由OpenMV机器视觉处理模块、光电开关位置检测模块、LED光源模块、OLED显示模块以及步进电机传送驱动模块等组成。软件模块实现了颜色识别、工件位置检测、传送带驱动模块以及检测结果显示等功能。经实物运行验证,本系统稳定可靠,检测精准度高,能够实现流水线上的工件表面质量检测,有效地解放人工生产力。
关键词:机器视觉;OpenMV;颜色识别;缺陷检测
中图分类号:TP391.4 文献标识码:A文章编号:2096-4706(2021)15-0182-03
Abstract: In order to detect whether there are stains and defect on the surface of the workpiece, the OpenMV-based workpiece surface quality system inspection design is carried out, and the unqualified workpieces are sorted. The system is mainly composed of OpenMV machine vision processing module, photoelectric switch position detection module, LED light source module, OLED display module and stepper motor transmission driver module. The software module realizes the functions of color identification, workpiece position detection, conveyor belt driver module and detection result display. Verified by physical operation, the system is proved to be stable and reliable with high detection accuracy. It can detect the surface quality of workpiece on the assembly line and effectively liberate the human productivity.
Keywords: machine vision; OpenMV; color identification; defect detection
0 引 言
常规的工件缺陷检测可使用机器视觉检测代替人工检测,使用机器视觉检测可以避免人工长时间检查大量且重复的工件带来的视觉疲劳导致的检测误差,同时使人工生产力从简单重复的质检工作中得到解放。机器视觉的颜色识别在许多领域都有应用,用于红绿灯识别,为帮助色盲、色弱群体以及无人驾驶提供可能[1];用于农产品色选机,大大提高挑选效率,减少人工挑选误差[2];用于食品熏烤过程,提升食品生产效率与品质[3]。本文对工件表面污迹的检测进行研究,采用OpenMV机器视觉模块进行图像采集与处理,采用流水线传输的方式进行工件传送,使用红外对传送带上的工件进行定位,使用ROI感兴趣区域将工件表面受检区划出,对该区域进行颜色识别,使用边缘检测将污渍圈出,将图像处理结果通过OLED屏幕显示并根据结果驱动导向阀进行分拣,实现流水线化工件表面污渍检测。
1 系统概述
1.1 系统结构
基于OpenMV的元件质量在线检测控制系统结构如图1所示,由图像采集装置、工件定位传感器、步进电机传送带以及分拣导向阀4个部分组成。
图像采集装置主要由OpenMV模块,光源等模块组成。OpenMV模块主要由CCD相机和STM32控制器构成,负责采集工件信息并进行图像处理,判断工件质量情况将结果输出。光源模块主要由LED构成,由于相机采集数据时受光线影响比较大,所以需要补偿灯光,防止外界因素的干扰,获得正常的图片信息。
工件定位传感器主要由光电开关组成,负责检测工件的到位信息。
传送模块:主要由步进电机与传送带组成。
分拣模块:由推料气缸和电磁阀构成。
工件在传送带上传送到工件定位传感器所在的位置时传送带停止,工件上方的图像采集器装置拍摄工件并进行图像处理,检测是否存在污渍、缺陷,检测结果会显示在OLED显示屏中,当检测出在检工件不合格时,分拣导向阀会将不合格工件筛检出来,完成工件检测后传送带继续运行,对下一个工件进行检测。
1.2 系统原理
系统原理如图2所示,将待检测工件放置在流水线上,启动流水线,由传送带将工件传送至红外定位点后停止,OpenMV模块进行图像采集,将采集到的图像使用ROI感兴趣区域算法将受检工件的表面从画面中分割出来,并使用LAB色彩模型进行色彩分析和边缘检测分析,根据分析结果判断工件是否合格,如果合格,则启动流水线将工件运送到下一工位,如果不合格则驱动导向阀把不合格的工件分拣出来。
2 图像处理原理
2.1 ROI感兴趣区域
OpenMV拍摄得到的图像因为硬件、拍摄条件以及一些随机因素,会使得采集到的图像产生部分噪聲和畸变,达不到直接识别的要求。根据香浓的信息论,DPI(每英寸点数)高、噪点低的图像是理想的图像分析对象,对拍摄得到的图像进行ROI处理能够限制图像畸变以及噪点对图像的影响减少图像的中的干扰信息并增强关键特征,减少分析所需要的算法的复杂度,使得图像分析的结果更准确[4]。本系统根据被测工件在图像的中央划出感兴趣区域并只对该区域进行分析识别。
2.2 颜色识别
对图像进行颜色识别涉及色彩模型,色彩模型有RGB、CMYK、LAB以及灰度图等,本系统使用LAB模型进行图像的颜色识别,RGB、CMYK这两种色彩模型是基于设备的色彩模型,RGB模型对应的媒介是光色,CMYK模型对应的媒介则是印刷工艺,前者适合对自发光的物体进行检测,后者则需要光源反射显色,因此对照明条件要求较高,而Lab模型描述的色彩空间更接近自然[4],对图像进行颜色识别时不需要高要求的光照补充[5]。LAB色彩模型不同于RGB和CMYK,LAB由L(亮度)和A、B两种颜色通道构成,亮度L有由暗至亮0~100个级别;A则是从深绿色(低亮度值)到灰色(中亮度值)再到亮粉红色(高亮度值)-128~100个级别;B则是从亮蓝色(低亮度值)到灰色(中亮度值)再到黄色(高亮度值)-128~100个级别。由这些颜色混合产生的色彩具有明显的明暗效果,更贴近现实的色彩。
本系统采集的原图像使用RGB模型,在进行颜色识别之前需要先将图像的色彩模型转换为LAB模型[5],由于光照条件等拍摄条件会对色彩分布造成影响导致图片的色彩并非预设的精确Lab值,而是在一个波动的LAB数值,因此要预设亮度L_max,L_min;A通道A_max,A_min;B通道B_max,B_min六个变量以此保存每个颜色的颜色特征,再遍历ROI区域内的所有像素点,读取LAB值进行判断匹配[5]。
2.3 程序编写
2.3.1 摄像头初始化
程序开始之前,将需要用到的底层模块引入[6]。在程序编写时,需要引入内置库函数中的感光元件模块(sensor)、机器视觉模块(image)、时钟控制模块(time)和板级功能模块(pyb)[7]。摄像头初始化流程如图3所示。
2.3.2 灯光补偿
在使用LED模块前需要将LED模块进行调用,然后定义端口。主要采用指令from pyb import LED。
因LED模块是由三个色度组成,所以需要将三个端口进行定义。主要指令如以下所示:
led1=pyb.LED(1);led2=pyb.LED(2);led3=pyb.LED(3)
在图像采集过程中,需要一个稳定的白光光源,因此需要将三个LED端口打开。主要指令如以下所示:
led1.on()#红LED;led2.on()#绿LED;led3.on()#蓝LED
2.3.3 阈值编辑器
在对工件表面进行颜色识别检测时,需要了解采集到的图像中某特征点的颜色阈值范围。根据OpenMV模块的视觉处理软件的色彩控件直方图可以直观读取特征点颜色阈值范围。若要准确地采集特征点的颜色阈值范围,需要使用阈值编辑器采集特征区域的阈值,阈值编辑器可以获取最佳的颜色阈值[8]。
2.3.4 算法选择
边缘是图像最基本、最重要的特征之一,图像的绝大部分信息都包含在边缘中,图像边缘的提取对于图像特征的检测识别是极其重要的,也是图像分割进行所需要的重要依据[9];边缘检测可很有效地减少图像数据量,去除其不相关的图像信息,以保留图像所需的图像信息、属性。
本系统中,颜色识别作和边缘检测算法分别作为基本检测算法,实现系统的工件检测功能。颜色识别方法用以对工件表面污迹检测,用边缘检测进行验证,确保工件检测的准确性。
3 实验与分析
在OpenMVIDE上检测正常拍摄条件下红黄蓝三色的Lab值,并以此为标准设置红黄蓝三色在Lab模型上的阈值,完成工件检测的颜色的设置。本次进行三组实验,第一组使用红色和蓝色记号笔在工件受检区域进行标记,标记宽度大约2 mm;第二組使用蓝色的记号笔在工件受检区域做一个0.5 mm宽的标记;第三组设定为表面有头发丝,直径为0.12 mm。将工件放置在红外定位处,连接IDE使用算法进行检测,分别如图4,5,6所示。
根据检测画面,得到数据,工件表面的标记均被检测识别出来并标记,分别检测出色块中心坐标为(133,149),像素点1 231个;(155,38),像素点2 898个;(189,108),像素点702个。
第二组标记与第一组相比较细,颜色也较浅,该系统成功检测出污渍,并进行了标记,中心点坐标为(114,180),像素点120个。
第三组图像并没有识别到颜色,进行边缘检测时检测到工件表面的头发丝,并通过匹配判定输出不合格。
4 结 论
本系统使用OpenMV机器视觉进行工件表面颜色和污迹检测,经检验能够达到预期结果。该系统使用ROI感兴趣区域划分主要受检区域,使用颜色检测算法成功检测出工件表面污渍,如颜色检测无效,通过边缘检测验证,确保能正确检测出其他污迹,并通过OpenMV的IO实现了对机器结构的控制以及显示。这种非接触式的工件表面缺陷检测能够应用于多数工件表面污渍检测工作并进行自动分拣,能够减少人工劳动力的浪费,在现实应用中有一定的价值。
参考文献:
[1] 楚婉艺,野莹莹,朱禹蒙,等.基于视觉的红绿灯识别 [J].信息技术与信息化,2021(5):66-68.
[2] 宋骋.机器视觉技术在农产品色选机上的应用 [J].科技创新与应用,2021,11(18):169-171.
[3] 于芳珠.基于机器视觉技术的烤羊肉颜色识别与褐变程度预测 [D].锦州:渤海大学,2021.
[4] STEGER C,CHRISTIAN U M.机器视觉算法与应用 [M].清华大学出版社,2008.
[5] 张宏建.Lab色彩模式在图像处理中的应用 [J].福建电脑,2011,27(1):146-147.
[6] 李晋.基于open mv智能机械手臂创新实践课程探索 [J].电脑知识与技术,2018,14(31):197-199.
[7] 邹浩,郭雨婷,李佳盈,等.基于OPENMV的色彩引导机器人系统研究 [J].科技资讯,2018,16(25):85-86.
[8] 许龙铭,纪培烨.基于Open MV的商店客流量监测系统的设计 [J].电子世界,2018(23):120-121+124.
[9] 张旭.螺旋管内焊图像处理算法的研究 [D].沈阳:沈阳工业大学,2015.
作者简介:赵炜杰(1999—),男,汉族,广东中山人,本科,研究方向:机器视觉。
3590500338259