基于机器视觉技术的物体表面缺陷检测.docx
《基于机器视觉技术的物体表面缺陷检测.docx》由会员分享,可在线阅读,更多相关《基于机器视觉技术的物体表面缺陷检测.docx(14页珍藏版)》请在冰豆网上搜索。
![基于机器视觉技术的物体表面缺陷检测.docx](https://file1.bdocx.com/fileroot1/2022-11/23/d593f005-c4a0-4900-97c1-121c7a6cebff/d593f005-c4a0-4900-97c1-121c7a6cebff1.gif)
基于机器视觉技术的物体表面缺陷检测
基于机器视觉技术的物体表面缺陷检测
何小利1
宋钰
2
(1.四川理工学院计算机学院,四川自贡643000;2.四川理工学院网络中心,四川自贡643000;
摘要:
本文对物体表面缺陷进行研究和检测.而检测的方法是采用LED环形灯光直接暗视场正面照明方式来提取插座面板划痕图像.具体过程是使用动态阈值分割图像,并采用放射变换、区域特征处理及连通区域提取等技术来检测出插座面板划痕.关键词:
机器视觉;物体表面;缺陷检测中图分类号:
TP393
文献标识码:
A
文章编号:
1009-4970(201102-0064-050引言
在传统的产品生产过程中,一般情况下对产品的表面缺陷检测是采用人工检测的方法.随着科学
技术的不断发展,特别是计算机技术的发展,出现了计算机视觉检测技术.利用这种新技术设计出来的系统不受恶劣环境和主观因素的影响,能快速、准确地检测产品的质量,完成人工无法完成的检测任务.机器视觉检测结合了计算机图像处理和模式识别理论,它综合了计算机技术、数据结构、图像处理,模式识别和软件工程等不同领域的相关知识.
一个典型的机器视觉系统应该包括以下五大块,照明、镜头、相机、图像采集卡、视觉处理器.
1物体表面缺陷检测
物体表面缺陷检测是机器视觉的一种典型应用.本文以插座面板划痕检测为例,通过采用LED环形灯直接暗视场正面照明方式采集图像,然后使用动态阈值分割法将插座面板区域中划痕检测的感兴趣区域提取出来,再通过使用区域特征、区域形态学对插座面板区域使用腐蚀运算去掉分割区域中杂点和小的突出物,确保计算上有足够的精度,最后使用放射变换、图像平滑、连通区域提取等算法
检测出划痕并显示其结果(见图
1.
图1插座面板划痕检测流程图
1.1图像获取
照明的方向性通常有两种:
漫射和直接照射.
漫射时,光在各个方向的强度几乎是一样的.直接照射时,光源发出的光集中在非常窄的空间范围内.本文检测对象是插座面板划痕,由于此类缺陷检测面积小,划痕不明显等条件,明场照明方式下,难以得到理想的划痕图像.因此本次检测采用LED环形灯直接暗视场照明方式,环形光与物体表面呈非常小的角度,这样可以突出被测物的缺口及凸起,所以划痕、纹理或雕刻文字等被增强,看得更加清晰(见图2.
收稿日期:
2010-07-03
基金项目:
四川理工学院网格计算人才引进项目(2008RCYJ04作者简介:
何小利(1982-,女,四川南充人,硕士,助教.
2011年2月第30卷第2期洛阳师范学院学报
JournalofLuoyangNormalUniversity
Feb.,2011
Vo.l30No.2
图2直接暗视场正面照明
1.2目标分割
采集到的图像不能提供图像中包含物体的信息.为了得到图像中的物体信息,必须进行图像分割,图像分割就是将图像划成一些区域,在同一区域内,图像的特征相近;而不同的区域内,图像特征相差较大.图像特征可以是图像本身的特征,如像素的灰度、边缘轮廓和纹理等.图像阈值化分割是一种最常用,同时也是最简单的图像分割方法.图像阈值化的目的是按照灰度级,对像素集合进行一个划分,得到的每个子集形成一个与现实景物相对应的区域,各个区域内部具有一致的属性,而相邻区域布局有这种一致属性.阈值分割操作被定义为
S={(r,cR|gminfr,cgmax}(1因此,阈值分割将图像ROIR内灰度值处于某一指定灰度值范围内全部点选到输出区域S中.使gmin=0或gmax=2b
-1.如果光照能保持恒定,阈值gmin和gmax能在系统设置时被定选且永远不用被调整.阈值分割分为固定阈值分割和动态阈值分割.动态阈值分割将图像与其局部背景进行比较的操作被称为动态阈值分割处理,用fr,c表示输入图像,用gr,c表示平滑后的图像,则对亮物体的动态阈值分割处理如下
S={(r,cR|fr,c-gr,cgdiff}(2
而对暗物体的动态阈值分割处理是
S={(r,cR|fr,c-gr,c-gdiff}(3在动态阈值分割处理中,平滑滤波器的尺寸决定了能被分割出来的物体的尺寸.如果滤波器尺寸太小,那么在物体的中心估计出的局部背景将不理想.
选择动态阈值分割方式来进行处理.此时,图像gr,c代表理想物体,即无缺陷物体的图像.为检测出同理想物体的偏差,我们仅需要使用等式(公式2或等式(公式3找到图像fr,c中太亮的那些像素.1.3感兴趣区域提取
经过前面的处理,可以得到从图像中提取到的区域或亚像素精度轮廓.但它们只包含了对分割结果的原始描述.后面还必须从分割结果中选出某些区域或轮廓,作为分割结果中不想要的部分去除.到目前为止,最简单的区域特征是区域的面积:
a=
R=
(r,cR
1=
n
i-1
cei
-csi+1(4
由上式可知,区域的面积a就是区域内的点数|R|.如果区域用一幅二值图像表示,那么用公式4中的第一个求和等式计算区域的面积;如果区域是用行程编码表示的,那么用公式4中的第二个求和等式计算区域的面积.一个区域能够被视为其所有行程的一个并集,而每个行程的面积是极容易计算的.注意第二个累加式的项比第一个累加式的少很多.所以,区域的行程表示法可以使区域面积的计算速度快很多,这个特点对几乎所有的区域特征都适用.
1.4划痕检测
通过前面一系列的处理过后,可以对感兴趣区域进行缺陷检测,需要再次使用动态阈值分割操作来检测缺陷,可以用中值滤波器来估计背景.
中值滤波的基本原理是把数字图像或数字序列中一点的值用该点的一个拎域中各点值的中值代替,让周围的像素值接近的真实值,从而消除孤立的噪声点.方法是去某种结构的二维滑动模板,将板内像素按照像素值的大小进行排序,生成单调上升(或下降的为二维数据序列.阈值分割的结果中含有噪声,这并不是最后结果.噪声的处理,通过使用图像平滑来进行抑制.1.5检测结果
通过上述操作,插座面板划痕检测基本结束,由于在去除噪声的过程中,所有少于4个像素的连通区域被看作噪声并被去除.为了区分噪声和缺陷,假设噪声是均匀分布的,而同属一个划痕的缺陷是彼此靠近的,因此,可以通过膨胀将缺陷区域中小的缝隙闭合.为了能够计算出连通区域,必须定义合适两个像素应被视为彼此连通.
以上便是本次检测过程,通过上述操作,就能
65洛阳师范学院学报2011年第2期
2检测过程详细实现
2.1读入图像
从指定目录中连续读入插座面板划痕图像的模板,并对图像大小进行设置,运行结果如图3所示,使用LED环形光直接暗视场照明所得插座面板划痕图
.
图3插座面板划痕图
2.2目标分割
如图4所示,划痕在黑色背景区域中显示为高亮,但是插座面板的边缘以及插座面板平面部分中的4个内部正方形的边缘也是高亮的,为了区分划痕与插座面板的边缘,首先分割出亮的边缘区域.然后从插座面板的区域中减去分割出的区域,从而将划痕检测的感兴趣区域缩小到相减后的区域
.
图4动态阈值操作结果
2.3感兴趣区域提取
通过以上处理,下一步来确定需要检测的平面,因此要对感兴趣区域进行提取.需要从分割结果中去掉插座面板的亮边界和中间4个小的正方形的亮边界.首先必须知道插座面板在图像中的方向和大小,
为得到插座面板的方向和尺寸,再次使用区域形态学分割出内部的4个正方形.首先使用2次闭运算填充前面分割出的内部正方形边缘上的小空洞,内部正方形边界上有缝隙.闭运算的结果示于
图.
图5图6
图5分割区域的细节;图6经过闭运算的结果,缝隙成功闭合.
至此,划痕任在分割出的亮的边界区域中.为了能够检测出划痕,需要将划痕从分割结果中分离出来.由于已知内部正方形的边界区域的形状,可以使用合适的结构元素开运算去除划痕.为此生成一个结构元素,由二个轴平行的矩形组成,代表内部正方形的两个对边.
图7和图8为产生的两个结构元素.当在合适
的方向生成矩形时,结构元素可以不作旋转.但是需要根据方向变换矩形中心.
图7对应内部正方形边界上、下的结构元
图8对应内部正方形边界左、右的结构元
图9结构元素图
图9是使用结构元图7和图8进行开运算的结果.开运算可以用作模板匹配,会返回输入区域内所有与结构元素相匹配的点.
9
66洛阳师范学院学报2011年第2期
期待的,结果含有内部正方形边界.然而结果任含有插座面板部分外边界,这是因为内正方形到插座面板边界的距离与内正方形的边长大小一样.为了去掉为边界部分,取开运算的结果和腐蚀后的插座面板区域交集.
这样得到仅含有4个内部正方形边界的区域RegionSquares.最后要检查的表面就是插座面板区域与内正方形边界的差.
在计算差值之前,使用圆形结构元素对插座面板区域进行腐蚀以去除边界.圆的半径为BorderWidth与BorderTolerance的和,这两个值都是事先定义的.半径加上BorderTolerance是为了检测时去掉与边界非常靠近的像素,这些像素灰度会受到边界的影响,可能被错误地判断缺陷.同理,代表内正方形边界区域也要膨胀一些.如图10和图11显示得到的含有插座面板检测平面的感兴趣区域RegionSurface.注意插座面板白色边界和内正方形白色边界没有包含在区域中
.
图10含有插座面板平面的感兴趣区域(黑色
图11感兴趣区域边界用白色叠加到原始图像上
2.4划痕检测
经过上面的处理,现在可以对感兴趣区域进行缺陷检测了:
再次使用动态阈值分割操作来检测缺陷,此时可以用中值滤波器来估计背景.基于已知的最大划痕宽度ScratchWidthMax,利用ScratchWidthMax作为中值滤波器半径去除所有划痕.由
域,可以容易地使用预先定义的ScratchGrayDifMfin
作为阈值分割.图12(a为动态阈值分割的结果,如图所示,结果中含有的噪声,需要在后面处理中去除掉.
(a动态阈值分割结果以白色叠加到原始图像上,
对比度已减小,区域中有噪声.
(b去除(a中小于4个像素的连通区域后的结果,
并不是所有噪声都去掉了.
(c表面检测结果,检测出的划痕以白色显示.
图12检测过程及检测结果图
2.5检测结果
在这种情况下,所有少于4个像素的连通区域被看做噪声并被去除.但是从图12(b中可以看出并不是所有噪声都完全被去除了,进一步提高阈值可能会同时去除部分不连续的缺陷区域.为了区分噪声和缺陷,假设噪声是均匀分布的,而同属一个划痕的缺陷是彼此靠近的,因此,可以通过膨胀将缺陷区域中小的缝隙闭合.
67洛阳师范学院学报2011年第2期
胀后的区域重新计算连通区域.为了得到缺陷的原
始形状,取未膨胀前的原始区域与连通区域的交集.注意交集运算不影响各成分的连通性,于是,通过膨胀仅增加了连通区域的轮廓.最后选出所有比预定最小划痕大的区域.最终显示结果显示于图12(c.
3结语
本文从实际出发,结合HALCON软件,完成基于机器视觉技术的插座面板划痕检测.本文通过图像处理的过程包括预处理、分割、平滑、特征提取等.最后检测出插座面板上面的缺陷,并识别缺陷.在整个过程中,对插座面板图像做跟踪实验,对各种不同的算法做出分析,选取最合适的算法进行处理,以保证算法的可靠性.由于插座面板缺陷多种多样,本文只是完成了比较简单的缺陷检测,为达到功能的完善性,应不断的增加检测其他缺陷类型的功能.参考文献
[1]李国辉,苏真伟,晏开华,黄明飞.可疑目标区域的机
器视觉检测算法[J].四川大学学报(工程科学版,2010,(1.
[2]唐锐,文忠波,文广.一种基于BP神经网络的模糊
PID控制算法研究[J].机电产品开发与创新,2008,(2.
[3]姚迅,李德华,黄飞,石永辉.基于视觉注意机制的红
外图像小目标检测方法[J].武汉大学学报(工学版,2006,(6.
[4]怎样更好地推广机器视觉技术[J].现代制造,2008,
(3.
[5]覃仁超.基于机器视觉的图像识别技术应用[J].电气
时代,2006,(2.
[6]姆比,罗四维,须德.使用反馈信号的竞争学习算法
[J].北京交通大学学报,1993,(4.
[7]陈道佳,陈兆仁.基于神经网络的开关电器设计与算法
[J].微计算机信息,2004,(8.
[8]朱邦太,杨晓宇,张自强.BP网络的一种泛化算法
[J].洛阳工学院学报,1998,(4.
[责任编辑胡廷锋]
TheDetectionofSurfaceDefectBasedonMachineVisionTechnology
HEXiaoli1
SONGYu
2
(1.SchoolofComputerScience,SichuanUniversityofScience&Engineering,Zigong643000,China;2.NetworkAdministration,SichuanUniversityofScience&Engineering,Zigong643000,ChinaAbstract:
Thispaperintroducesasurfacedefectontheresearchandtesting.ThedetectionmethodistouseLEDringlightsdirectlightdarkfieldpositivewaytoextractthesocketpanelscratchimage.Specificprocessistheuseofdynamicthresholdsegmentationimage,andusingradioactivetransformation,theregionalcharacteristicsoftheregionextractionprocessingandconnectivitytechnologiestodetectthesocketpanelscratches.Keywords:
machinevision;surface;defectdetection
68洛阳师范学院学报2011年第2期