基于机器人视觉的汽车零配件表面缺陷检测算法研究与实现
2013-10-27李天建
李天建
(福建工程学院 信息科学与工程学院,福建 福州 350108)
随着计算机技术和集成电子技术的发展,机器人视觉技术在现代工业中得到广泛应用.在一些用于汽车制造业的专用设备中,机器人视觉也已逐渐替代了传统的检测方式.如对汽车仪表盘加工精度的检查、轴承生产中对滚珠数量和破损情况的检查、食品包装上面对生产日期的辨识和对标签贴放位置的检查等[1-2].德国康耐视在视觉传感器中整合了PatMax软件的视觉工具,不但能辨识出25种不同滤清器产品的个体形状,还能判定目标的精确位置,且目标判定精确率可高达99.9%.在国内,各行业的领先企业开始将目光转向视觉测量自动化[3].有些公司已将视觉系统成功应用于汽车密封条涂层检测、汽车零部件漏装检测和汽车零部件表面字符检测等.
基于以上背景,本文通过对机器人视觉表面检测算法的分析和研究,建立一种基于Siemens PLC平台的表面检测仿真系统,用于解决汽车零配件生产中存在的质量控制问题.
1 视觉系统检测算法分析
1.1 视觉系统检测算法建模
机器人视觉(robot vision)是使机器人具有视觉感知功能的系统,是图像技术在机器人系统中的应用.其通过对某些信号进行运算来抽取目标的特征,进而根据判别的结果来控制现场的设备动作[4].视觉计算理论创始人D.Marr认为对视觉的研究可分为三个层次:视觉的计算理论、算法和系统结构[5-6].
视觉信息处理可以看作是从三维环境的图像中抽取、描述和解释信息的过程.它可划分为六个主要部分:传感、预处理、分割、描述、识别及知识表达和解释.其基本工作流程图如图1所示.
图1 机器人视觉系统基本工作流程Fig.1 Basic workflow of robot vision system
本文建立的机器人视觉系统,主要用于汽车零配件的表面缺陷检测,因此更关注“表面检测”和”二维码识别”.由于系统需同时满足汽车零配件表面检测及读取二维码两个要求,文中通过“培训”对零配件建立一个较为完整的模板信息模型.通过对目标零配件的目标信息模型与模板信息模型进行匹配,根据不同的“匹配度”对零配件进行质量的判断和分级.视觉系统模型如图2所示.
图2 视觉系统检测算法模型Fig.2 Model of visual system detection algorithm
1.2 零配件表面检测算法分析
目前图像缺陷检测主要有三种方法:基于颜色直方和柱状图的检测方法、模板匹配法、图像相减匹配法[7].考虑到零配件质量检测的特点,本文采用分块图像相减匹配检测法进行零配件质量检测,“分块”即将目标图像和模板图像划分成感兴趣区域(ROI,Region of Interest)和不感兴趣区域.在检测过程中,其只对ROI进行比对操作,即将对应的子区域图像与数据库中相应模块图像进行相减匹配检测,进而利用子区域的相关系数来判断目标图像质量是否满足要求.其检测流程如图3所示.
图3 分块图像相减匹配检测法流程Fig.3 Process of block image subtraction coincidence detection method
假定感兴趣区域(ROI)的模板为S(M×N),目标图像为G(I,Y).将模板S放在目标图像G上以流水方式进行上下左右扫描,在目标图像G上被模板S覆盖的区域为子图G′(i,y).匹配过程即是获得达到一定匹配度的子图G′(i,y)的过程,以目标图像G(I,Y)的左上角的像素点为基准像素点G(0,0),此时可以获得i与j的取值范围为0≤i≤(I-M),0≤j≤(J-N).这里使用模板S(M×N)和子图G′(i,y)的方差σ2表示相差度.
当σ2(i,j)=0,则G′(i,y)与S(M×N)匹配,即认为找到满足要求的子图G′(i,y).但实际上,由于目标零配件图像与模板图像一般具有较大的相似度,同一区域中不同的像素点σ(i,j)的值变化较大.因此还需确定其他指标,这里引入相关系数ρ来表示两张图的像素点线性相关的程度.定义模板S(i,j)和子图G′(i,y)中的像素点是关于函数μ和ν的随机变量,则可以得到其相关系数ρ(μ,ν)为
相关系数满足ρ(μ,ν)≤1,在[-1,1]的绝对尺度范围之间衡量二者的相似性.相关系数表示了两图像之间的相似程度的度量.如果将模板S作为1个绝对单位,可以将认为是目标图像的质量,这个值也是零配件分级的重要依据.
通过以上的计算,可以在目标图像上找到与ROI对应的区域,如果在该区域中汽车零配件存在缺陷,那么相应图像至少有一个点的灰度与其他点存在差异,这些差异体现在像素灰度值与图像灰度均值的差和该像素梯度值与图像梯度均值的差.
由模板S(i,j)和子图S(i,j)相应像素点进行匹配相减后可以得到图像(差别图像)像素灰度值E(i,j):
E(i,j)表示出了两幅图像对应像素间的灰度差值,但是无法确认零配件是否具有缺陷,可以计算获得差别图像的特征图像的面积A,当A大于所设定的阈值时,认为该部分零配件存在缺陷.求面积的方法,根据直方图的性质,边界是灰度级定义的轮廓线的物体的面积.
在实际中,还需进行图像的边缘跟踪、细化、孤立点的剔除、膨胀与收缩等处理步骤,并且这些特征图像可以进行归一化处理,提取零配件的特征参数如周长、面积、质心、圆形度、伸长度等,以此来进行缺陷检测和分类.
2 机器人视觉仿真系统设计
2.1 系统的结构组成
本文以检测螺丝钉表面缺陷为例,建立一种以西门子S7-300PLC、视觉传感器VS120和VS130-2、摄像头、管理员站等硬件组成的仿真平台.系统可与其他检测单元联机工作,也可以独立运行.系统分控制单元和检测单元,各单元间可以使用Profibus总线和Industrial Ethernet通信,满足在不同总线通信的生产需要,其拓补结构如图4所示.
图4中智能传感器VS120可以和多种输送设备协同工作.例如输送带和环形零件输送系统、装夹系统和生产机械.通过更换4种不同的镜头,SIMATIC VS120可以处理多种尺寸的目标.
图4 系统拓补结构Fig.4 Topology of the system
VS130-2视觉传感器用于读取符合ECC 200的二维码数据,其矩阵的信息密度是相同大小条形码的信息密度的100倍.同时,VS130-2对零配件的旋转角度和平移位置要求不高,只需对传感器头粗略定位,使目标代码位于其图像区域内.VS130-2可以读取多种方式的ECC 200二维码,可以满足汽车零配件种类繁多的要求,如激光代码、印刷代码、触针标记代码、打孔代码,可在平面或略微弯曲的表面上被识别出来.
2.2 仿真系统PLC控制程序设计
文中PLC程序主要用于对视觉传感器VS120和VS130-2的控制和读取相应图像处理结果,同时包含两个视觉传感器相互控制程序与零配件品质分级程序.
在主程序OB1中,根据工艺要求分别调用FC1、FC2和FC3等功能.其中,FC1为VS120的控制程序和零配件的分级程序,在FC1中调用图像处理算法程序FB1功能块和保存控制字和状态字的DB1共享数据块,通过匹配运算后,将结果保存到DB10中供上位机组态分析和报表使用.同理,使用FC2和FC3作为VS130-2的控制和读码程序,在FC3中编写二维码图像读取程序,而FC2则是作为二维码代码转换的程序.用DB79和DB48作为保存二维码处理结果的共享数据块.
在编写VS130-2的二维码读取程序时,将二维码算法程序封装在FB79功能块中.在PLC控制程序中,由于涉及较多的数据传送和转换,文中使用STL语言与LAD语言混合编写的方法.如图5所示为FB79的程序.这里应该注意,VS130-2硬件组态的I/O输入输出设置和FB79块的输入输出地址应与硬件组态一致.
图5 FB79功能块程序Fig.5 Program of FB79function block
文中视觉传感器VS120可完成三种功能中的“正确性判断”和“完整性判断”两种.本文将图像处理程序封装在FB1功能块中,可以方便通过FC1调用.图像处理的结果以ANY的数据类型“P#DB10.DBX1.0BYTE 245”保存在 D B10中.这里注意VS120硬件组态的I/O输入输出设置,FB1块的输入输出地址应与硬件组态一致.
2.3 IFIX组态界面的建立
目前,常用的组态软件有IFIX、RSView32[8]、intuch等.本文根据汽车零配件生产的需要,在IFIX上建立了包括“机器人视觉主界面”“零配件表面完整性控制界面”“二维码控制界面”“表面完整率曲线图”和“报表”等一系列的监控界面.
首先,在IFIX上安装S7A驱动,建立IFIX与西门子S7-300PLC的连接.并在IFIX数据库管理中,通过建立变量表来读取零配件表面图片与模板图片的匹配度.文中建立变量名为MAIN_ROI_RESULT的节点变量,并在I/O地址处填入S7:DB10.DBB 3.通过这些设置后,系统可将FB的背景DB块数据读取到IFIX上进行处理和保存到数据库中.接着,在STEP 7上,将从视觉传感器VS130-2所读取的二维码字符串按字符排列顺序依次保存在DB48所定义的数组ARRAY[0..500]中,保存格式定义为 Char.在IFIX上,也按同样的方式将字符串以字节的形式读取到数据库管理器中,然后根据字符串的长度使用Visual Basic语言对读取到的所有字节进行组合,恢复为原有的字符串形式并显示在Textbox中方便管理员查看并以完整的形式保存到数据库中.
3 运行调试与检测因素分析
3.1 机器人视觉仿真系统调试
文中设定被测目标物(螺钉)的方形边框为目标检测的区域.系统在读取图像信息后,进行匹配处理,如零配件偏转角度、XY轴方向上位置与目标零配件的匹配程度等,其结果可以在系统控制界面上显示,并保存到历史数据库和Access数据库中.图6提供的两张图片信息,本文假设图6a为完整的零配件模板,图6b为具有缺陷的零配件(检测区域被纸张掩盖).经表面检测后,其检测结果在IFIX界面上显示相似度只有73.2%.若系统设定不合格产品的阈值为90%,则系统自动判定图6b为不合格产品,判定结果如图7所示.
图6 零配件判别图Fig.6 Discriminatory diagrams of parts and accessories
图7 仿真系统控制界面Fig.7 Control interface of simulation system
通过多次重复检测,系统能自动将表面质量数据写入历史数据库和Access数据库,并可将其检测结果通过历史曲线图体现,如图8所示.
图8 零配件表面质量历史曲线图Fig.8 Historical graphs of Parts surface quality
从图8零配件表面质量历史曲线结果分析可以得出,系统若将阈值设定为90%时,其测试结果准确率为100%.若将阈值设定为95%时,其测量结果的准确率仍可达到90%以上.调试结果表明,该算法设计达到预期目标,并满足一定的精度要求.
3.2 视觉仿真系统精度影响因素分析
实验表明,该仿真系统可以实现对螺丝、文字等缺陷识别,但在获取清晰图像的过程中,现有系统中仍存在一些影响最终精度的因素.对硬件部分的分析改进后,检测过程可以获得更为清晰的图像,但这只是便于使用高斯滤波器对图像进行平滑处理,要获得准确的结果,保持系统的稳定性,图像处理算子仍是一个很重要的影响因素.此外,由于零配件旋转、角度变化等因素的存在.在检测过程中,这些因素会影响到ROI寻找结果,特别对于M×N较大的模板,像素点之间易产生跳跃,从而无法很好地获得目标图像ROI.这些问题都是在今后的算法改进中需要注意的.
4 结 语
本文基于分析分块图像相减法基本原理,从汽车零配件的特点出发,选择相应的硬件平台建立仿真,使之与汽车零配件的生产场合相符.通过仿真平台的调试,结果表明,该算法可以稳定地检测出缺陷目标.今后可以通过进一步改进算法和平台,使之适应工业化的需求.
[1] 王健.机器视觉系统在现代包装行业中的应用[J].包装与食品机械,2004,22(5):46-49.(Wang Jian.Introduction to Machine Vision System and its Applications in Modern Packaging Industry[J].Packaging and Food Machinery,2004,22(5):46-49.)
[2] 周洋.玻璃质量在线检测算法研究与系统实现[D].武汉:华中科技大学,2006.(Zhou Yang. Research on the Algorithm and Implementation of a Glass Quality On-line Detection System[D]. Wuhan: Huazhong University of Science and Technology,2006.)
[3] 王思为,朱明.基于DM642机器视觉系统的设计与实现[J].微计算机信息,2006,22(35):175-177.(Wang Siwei,Zhu Ming.Design and Realization of a Machine Vision System Based on DM642[J].Control &Automation,2006,22(35):175-177.)
[4] 祁广利,武晋辉.机器人视觉的苹果无损检测技术[J].陕西农业科学,2007(5):63-65.(Qi Guangli,Wu Jinhui.Detection on Apple with Visual of Robert[J].Shanxi Journal of Agricultural Sciences,2007(5):63-65.)
[5] 周鹏.机器人及视觉系统在卷烟辅材配盘系统中的应用研究[D].合肥:合肥工业大学,2007.(Zhou Peng.Application and Study of the Robot Vision System for Tobacco Boxes Palletizing[D].Hefei:Hefei University of Technology,2007.)
[6] 陈延国.基于V3图像处理板的机器人目标跟踪算法研究[D].哈尔滨:哈尔滨工程大学,2003.(Chen Yanguo. The Research of Object Tracking Arithmetic of Robot Based on V3Image Processing Board[D].Harbin:Harbin Engineering University,2003.)
[7] 孙见青,汪荣贵,胡韦伟.基于EM-PCA和级联分类器的人脸检测[J].中国科学院研究生院学报,2008,25(2):216-223.(Sun Jianqing,Wang Ronggui,Hu Weiwei.Face Detection Based on EM-PCA and Hierarchical Classification[J].Journal of the Graduate School of the Chinese Academy of Sciences,2008,25(2):216-223.)
[8] 朱原震,李彦平.RSView32在无水氯化镁生产控制系统中的应用[J].沈阳大学学报:自然科学版,2013,25(1):54-57.(Zhu Yuanzhen,Li Yanping.RSView32in Anhydrous Magnesium Chloride Production Control System [J].Journal of Shenyang University:Natural Science,2013,25(1):54-57.)