基于视觉的铁路货车滚动轴承表面缺陷分类研究
2012-07-20侯文英杨懿王铁辉黄嘉成
侯文英,杨懿,王铁辉,黄嘉成
(1.内蒙古科技大学,内蒙古 包头 014010;2.联邦制药(内蒙古)有限公司,内蒙古 巴彦淖尔 015000)
铁路货车滚动轴承是关系到铁路运输安全的关键部件,由轴承故障引发的车辆事故是威胁行车安全的重要因素,因此铁路部门对轴承的检修非常重视。然而现阶段货车进入车辆段进行一般检修时,主要通过人工目测、手感及经验判断轴承表面缺陷种类,该检测方法依赖于检测人员的经验和责任心,劳动强度大,长时间重复作业易引起视觉疲劳,工作效率低,很容易造成漏检。
针对以上问题,选用CCD代替人眼对轴承表面缺陷进行图像采集,然后经过设计的图像处理技术进行图像处理,达到对10种常见轴承缺陷的自动分类、识别。
1 图像预处理
10种常见的轴承表面缺陷如图1所示。图像预处理的具体流程如图2所示,首先,由CCD黑白摄像机对轴承表面进行图像采集,获得缺陷的灰度图像,并经中值滤波去除图像中噪声的干扰。通过对多种缺陷灰度直方图的多次提取,发现缺陷的灰度大多集中在一个较小的范围之内,二值化后不仅可以有效地使缺陷与背景得到明显区分,而且也为下一步确定缺陷最小外接矩形打下基础。
图1 轴承缺陷类型
图2 图像预处理流程图
然后,对二值化后的图像依次进行卷积滤波与开、闭运算的处理,完好保留缺陷的同时去除了缺陷周围零散边缘点的干扰,使得缺陷与背景的区分更加明显;接着运用旋转法确定出了缺陷主要信息的最小外接矩形。
最后,由于灰度图像较二值图像对于缺陷信息的表达更为真实,根据二值图像中获得最小外接矩形所需图像旋转的角度及相应最小矩形的范围,在中值滤波后的灰度图像中裁剪出包含缺陷主要信息的那部分灰度图像,进行后续的特征提取,这样避免了计算其他不相关区域的特征量,减少了计算量及非缺陷区域对缺陷区域特征量提取的影响,提高了网络识别速度和精度。
2 缺陷特征提取
经预处理后裁剪出的包含缺陷的灰度图像称为特征图像,考虑到缺陷图像种类繁多、缺陷特征复杂的特点,在提取如图像长度、宽度、灰度均值、灰度方差及基于灰度共生矩阵的3个纹理特征(角二阶矩、墒、相关度)等7个传统特征的基础上,又增加了如下特征量作为缺陷分类的依据。
2.1 压缩度[1]
压缩度也称为环状度,即
(1)
式中:LA,SA分别表示特征图像内不规则缺陷部分的周长和面积;分析中采用特征图像的周长l和面积s代替目标区域。
2.2 线度[2]
采集到的缺陷中除了单纯的直线或曲线,更多的是有一定宽度的缺陷,因此,引入线度来描述图像的线性程度,即
(2)
2.3 距离极值比[3]
特征图像的距离极值比是用来描述该图像的紧凑性,即
(3)
式中:dmax和dmin分别表示特征图像内缺陷部分的质心(ci,cj)到缺陷区域边缘的最大距离和最小距离,采用特征图像的质心(cx,cy)和距离代替。
2.4 NMI特征[4]
NMI(Normalized Moment of Inertia)也称为归一化转动惯量,即
(4)
式中:将二维数字化灰度图像M×N看成是二维xOy平面上的M×N个像素点,每个像素点(x,y)的灰度值为f(x,y)。NMI特征具有良好的缩放不变性、旋转不变性和平移不变性,且不同物体的NMI特征差异明显,非常适合作为缺陷的识别特征。
2.5 不变矩特征[5]
(5)
式中:mpq为中心矩,其反映了预处理后得到的特征图像中的灰度相对于灰度重心是如何分布的。为了得到矩的不变特征,定义归一化的中心矩为
(6)
利用归一化的中心矩,可以获得利用μpq表示的7个具有平移、比例和旋转不变性的矩不变量,即预处理后得到的特征图像的不变矩。
3 缺陷分类器的设计
分类器的设计除了要求准确分类之外,还要能检测出未知缺陷并确定分类的可靠性,指明缺陷的严重程度。针对货车滚动轴承表面缺陷种类多、特征差异大等特点,选择了BP神经网络作为缺陷分类的学习方法。典型的BP神经网络是一种具有3层或3层以上结构的无反馈的、层内无互联结构的前向网络,其中首尾两层分别称为输入层和输出层,中间各层称为隐含层。
3.1 输入层
输入层主要用作缓冲存储,将源数据从输入层加载至神经网络。输入层的节点数目取决于源数据的维数,每一维均对应一个输入节点。下文中源数据均是从包含大量缺陷信息的特征图像内提取,选择特征图像长度、宽度2个几何特征,灰度均值与方差2个灰度特征,3个纹理特征,特征图像压缩度、线度、距离极值比、NMI特征以及7个不变矩,共18个特征量作为BP网络的源数据用于样本学习训练和缺陷分类,即所使用的神经网络输入层神经元为18个。
3.2 输出层
人工神经网络的输出层节点数由采用的人工神经网络模型和需要的输出表示方式确定。货车滚动轴承的缺陷一共有15种,虽然预识别的缺陷只有10种,但是为了将来可以将识别系统进行扩展,输出层神经元设置为4个,并且输出要求二进制数,则其组合可完全表达15种缺陷。此次规定麻点、辗皮、剥离、擦伤、烧附、腐蚀、磕碰伤、凹痕、压痕和划伤这10种缺陷类型的期望输出分别为0000,0001,0010,0011,0100,0101,0110,0111,1000,1001。选择Sigmoid形函数f(x)=1/(1+e-x)作为网络输出层的传递函数。
3.3 隐含层
隐节点的作用是从样本中提取并存储其内在规律,每个隐节点有若干个权值,而每个权值都是增强网络映射能力的参数。隐节点数量太少,网络从样本中获取信息的能力就差,不足以概括和体现训练集中的样本规律;隐节点数量过多,又可能把样本中非规律性的内容如噪声等也学会记牢,反而降低了泛化能力,此外隐节点数太多还会增加训练时间。在此采用试凑法确定隐节点数,首先根据经验公式
(7)
式中:l为隐含层节点数;n为输入层节点数;m为输出层节点数;a为1~10之间的调节常数。由经验公式确定隐含层节点数调节范围为6~14,表1为在样本集和循环迭代次数相同的情况下,不同隐含层节点数的BP神经网络训练误差,由此可知该神经网络隐含层节点数取10最为合适。选择双曲正切S形函数g(x)=[2/(1+e-2x)]-1作为网络隐含层的传递函数。
表1 不同隐含层节点数下的BP神经网络训练误差
3.4 系统改进
针对传统BP算法的缺点,系统在以下方面进行了改进。
(1)传统BP神经网络在训练学习新样本时有遗忘旧样本的趋势,为了解决这一问题,在设计输入向量时,将500个特征向量分为50组,每组均遍及10种缺陷,如此让每种缺陷每隔一定的时间间隔反复对网络进行训练,提高其记忆能力。
(2)网络的输入节点物理量各不相同,有的数值相差很大,各指标训练样本之间不具备可比性,无法进行综合评估。因此,以S形函数作为转移函数,该函数的值域为[0,1],为防止小数信息被大数信息淹没现象的发生,可以采用归一化方法,将各输入样本归一化到[0,1]区间内。但是规范后的每一个输出值序列中至少有一值为1,一值为0,恰好是S形函数的极小值和极大值,要求连接权足够大才能使网络的输出值与其匹配,从而需要相当多的训练次数来不断修正权值,导致训练速度缓慢。所以,在计算过程中把原始数据归一化到[0.05,0.95]区间内,以便让网络输出有足够的增长空间。因此,在计算过程中用如下归一化公式预处理数据
(8)
4 系统分类应用
试验中选取铁路货车滚动轴承表面常见10种缺陷的图像,对现场采集的缺陷图像和缺陷标准图像进行集中标定后,从中选出700张(每种缺陷各70张)典型的能代表各类缺陷的图像,其中500张(每种缺陷各50张)作为缺陷样本对网络进行训练,200张(每种缺陷各20张)用于网络的测试,BP分类器的缺陷识别结果见表2。
表2 BP分类器的缺陷识别结果
从表2给出的识别结果可以看出,测试数据集包括了10种缺陷类型,缺陷总数为200个,共正确识别出了187个,整体识别率达到了94%。
5 结论
(1)将视觉技术应用于铁路货车滚动轴承表面缺陷检测,降低了工人的劳动强度、提高了工作效率、加强了检测结果的准确性。
(2)卷积滤波与开、闭运算相结合的图像处理方法,既能有效去除缺陷周围边缘点的干扰,又能够满足实时处理的要求。
(3)提取传统特征基础上增加了压缩度、线度、距离极值比、NMI特征和不变矩等特征量,增强了缺陷分类的依据。
(4)采用具有较强泛化能力的BP神经网络对缺陷进行分类,加强了分类的准确性,通过对输入矩阵和归一化方法的改进,提高了神经网络的记忆能力及识别速度。
(5)通过试验对缺陷分类系统识别结果进行统计,识别率达到94%,确认了该系统的可靠性。