摘 要: 研究对象为柱状二极管,管体表面分布着白色文字和极性环。通过光学原理设计出能够减弱反光、打亮侧面的光学平台。同时,从对象分割、特征提取和决策树分类器三方面讲述视觉软件系统的设计流程:针对文字与缺陷ROI相混的情况,先利用笔画宽度转换(SWT)分割文字,剩下的连通ROI即是缺陷ROI;针对缺陷特征,提出平均灰度、环状度、边缘方向直方图和LBP四项特征值;最后利用决策树分类器对缺陷ROI进行分类,缺陷ROI识别率接近100%,缺陷ROI分类正确率达到92.3%,取到了较好的识别和分类效果。
关键词: 机器视觉;笔画宽度转换;全局LBP纹理算子;决策树学习分类器
0 引言
目前机器视觉的被测对象大都是平面结构,形状和纹理的一致性很高。而对柱状元件来说,表面纹理分布于四周,缺陷的空间位置、形状特征和灰度特征的不确定性很大,而且可能出现不同缺陷混在一起的情况,增大了图像分割和特征提取的难度。对于这种柱状元件,目前只能检测侧面外形缺陷和少数纹理缺陷,若要进行完整检测,需要增加相机的数量,成本很高。本文详述了视觉系统主要部分的设计过程,从光学平台设计和缺陷分割分类算法两个方面提出创新,算法部分用MATLAB进行仿真验证,完成外形和纹理缺陷的检测任务。
1 系统方案
系统为实时在线监测,包括硬件系统和软件系统,如图1所示。硬件系统包括光学平台[1]、传送机构、传感器和执行机构;软件系统包括人机界面、串口通信、图像处理及分类算法。
2 软件系统
首先介绍研究对象及其缺陷类型。缺陷类型包括:管脚缺陷和管体缺陷。管脚缺陷多为外形缺陷,管体缺陷包括:(a)管体大小不一;(b)管体缺损;(c)文字缺失;(d)片状印染;(e)色环缺失;(f)极性环宽度不一;(g)露白胶。图2为对象整流二极管封装DO-41外形尺寸。
(a)、(e)、(f)类缺陷在分割时通过外形特征就能判断出缺陷类型,算法的难点在于(b)、(c)、(d)、(g)类缺陷。针对(b)、(c)、(d)、(g)类可能出现混在一起的情况,先对文字进行分割,留下来的连通区域就是(b)、(d)、(g)类;然后提取(b)、(d)、(g)类的特征,实际分类时又将这三类分为管体正面缺损、侧面缺损、片状印染和露白胶4种类型;最后利用决策树分类器对4种类型进行分类。下面是软件系统中的主要算法。
2.1 文字分割算法
笔画宽度转换(Stroke Width Transform,SWT)最初在2010年由EPSHTEIN B提出并应用于场景文字检测[2],作者通过SWT对文字进行分割。本课题中,因二极管背景简单,字符笔画宽度固定,故查全率接近100%,而且可以去除边缘弥散光造成的影响。
SWT的核心思想是:先对图像做Canny检测,如图3所示,其中,M、N是边缘上的点;然后求点M处梯度的单位方向向量dM,dM大约垂直于笔画边缘。
以点M为起点,以dM为方向做射线,即射线r=M+n.dM,n>0,射线终点为另外一个边缘点B,其梯度方向为dB,如果dB与dM方向相反、大小相近,则将点M、B看做有效边缘点,并将线段MB上所有像素点灰度值赋值为像素点M和点B间的像素个数,即笔画宽度(SW)。如果没有找到像素点B或者dB与dM不满足要求,则放弃该射线。最后对图像中所有像素点SW比率小于3的SW进行归类。
实际测试中发现在拐角处容易出现SW缺失的情况,针对这种情况进行了改进,以点M为例,以M为原点,以dM和tan(arctan(dM)±π/4)(dM为dM斜率)为方向做三条射线,分别交另一条边缘线于点B、A和C,其他操作与未改进SWT相同,效果展示见第3节。
2.2 外形特征提取
侧面缺损和露白胶均为高灰度纹理,两者区别在于轮廓特征和边缘特征,用环状度表述轮廓特征,用空间边缘方向直方图表述边缘特征。下面是两个特征算子的介绍。
空间边缘方向直方图能够较好地描述图像的边缘信息。空间边缘方向直方图特征与环状度特征结合在一起,利用最近邻法可以对露白胶和侧面缺损两种缺陷有效分类。
2.3 纹理特征提取
LBP是基于局部特征的纹理算子,现以(P,R)=(8,1)为例说明(如图4所示):以中心灰度值为gc的像素为原点,采样半径为R作圆,P为邻域内的像素个数,邻域内像素点为g(i),1≤i≤8,通过式(1)和式(2)得到中心像素的LBP值,以LBP(P,R)的直方图统计作为特征值,共256维。简化分类器,取PCA降维后的前4个主分量为特征值。
LBP还有很多改进能更好地提取对象特征,包括旋转不变模式LBPROT[5]、均值模式Uniform LBP[6]、CLBP[7]等。考虑到纹理具有方向性和算法效率,使用经典的LBP算子。
2.4 决策树分类器设计
决策树由一个根节点、一系列内部节点、分支和叶节点组成。在机器学习中,决策树代表的是对象属性与对象值之间的一种映射关系。树中的每个节点表示某个对象,而每个分叉树则代表某个可能的属性值,每个叶节点代表一个类别,即图像的分类结果[8]。
按特征二次划分后的决策树如图5所示,共用到LBP、平均灰度、环状度和空间边缘方向直方图4项特征,其中两个为直方图特征和两个为变量特征。这种决策树学习将所有特征做成摘要形式,融进层级思想,能更准确地对数据集进行分类。
3 算法仿真验证
本节将展示系统仿真过程中的数据和结果,包括图像分割、特征提取和决策树分类。下面是缺陷轮廓的分割过程。
基于SWT的缺陷分割过程如图6所示。观察图6中的缺损纹理和印染纹理,两者灰度值相近,区别在于灰度的局部平整性。
利用决策树分类器对2.4节所述的4项特征进行分类,即利用平均灰度值区分高灰度ROI和低灰度ROI;利用BP神经网络对低灰度ROI进行训练并分为正面缺损和印染缺陷两类;利用最近邻分类法对露白胶和侧面缺损进行分类。表1为决策树分类结果。
从缺陷ROI识别率的角度来看,在光学平台设置合理的情况下,缺陷ROI均被打亮,缺陷的识别率接近100%。从缺陷ROI分类正确率来看,第三个节点分类正确率为90.7%,其他节点的分类均达到了很高的准确率,缺陷ROI的整体分类正确率为92.3%。
4 结论
工业机器视觉中的缺陷检测和视觉定位一般都是针对一致性很高的产品且背景单一,但是随着自动化程度的进一步提高,对视觉系统的适应性提出了更高的要求,需要更多优秀的特征算子和基于机器学习的强分类器,以保证系统对复杂对象有一个更全面和智能的学习和认识。在本系统设计中,一开始用SWT分割文字,丢失了缺陷区域的很多边缘信息,而这些边缘信息是人眼视觉发现缺陷的重要特征,问题是这些边缘信息很杂乱,不同缺陷边缘还可能互相交错,提取难度较大,对于特征提取来说,还有很多需要深入研究的地方。
参考文献
[1] STEGER C, ULRICH M, WIEDEMANN C.机器视觉算法与应用[M].杨少荣,吴迪靖,段德山,译.北京:清华大学出版社,2008.
[2] EPSHTEIN B, OFEK E, WEXLER Y. Detecting text in natural scenes with stroke width transform[C]. CVPR, 2010:2963-2970.
[3] 张国翊,胡铮,徐婷.基于特征提取的缺陷图像分类方法[J].北京工业大学学报,2010(4):450-457.
[4] 王新红,王晶,田敏,等.基于空间边缘方向直方图的Mean Shift跟踪算法[J].中国图象图形学报,2008,13(3):586-592.
[5] OJALA T, PIETIKA?魪NEN M. Multiresolution gray-scale and rotation invariant texture classification with local binary patterns[J]. IEEE Transaction on Pattern Analysis and Machine Intelligence, 2002,24(7):971-987.
[6] Zhao Guoying. Rotation-invariant image and video description with local binary pattern features[J]. IEEE Transaction on Image Process, 2012,21(4):1465-1477.
[7] Guo Zhenhua, Zhang Lei, ZHANG D. A completed modeling of local binary pattern operator for texture classification[J]. IEEE Transactions on Image Process, 2010,19(6): 1657-1663.
[8] 潘琛,杜培军,张海荣.决策树分类法及其在遥感图像处理中的应用[J].测绘科学,2008(1):208-211.