基于机器视觉的毛杆缺陷检测方法
2012-09-25刘洪江,汪仁煌
刘 洪 江, 汪 仁 煌
( 广东工业大学 自动化学院, 广东 广州 510090 )
0 引 言
羽毛球生产历来采用人工方式。近年来由于人工成本的上升,全球除中国外都几乎不生产羽毛球。而对中国的工厂,自动化生产也已成为一个急迫的任务。羽毛检测是自动化生产的一部分,其中羽毛毛杆上的缺陷对羽毛球质量影响较大,必须在使用前检测出。传统检测方法依靠人工,高强度、高时效的工作要求以及主观因素容易产生误判和漏判,给生产带来损失。采用机器视觉来检测毛杆上的缺陷是提高效率、降低成本的一种有效方法。
机器视觉检测缺陷已在织品、木材、钢板、陶片等领域得到广泛研究与应用,基本采用滤波、统计、建立模型和形态学等方法[1-2]。有关羽毛图像处理的相关文献较少,仅2003年汕头大学研究了羽毛片的自动分拣系统,提出用滤波的方法检测毛杆缺陷[3],但对检测中毛杆提取的关键技术介绍不详,实验应用效果不佳。本文提出一套毛杆缺陷在线检测方案,包括预处理、毛杆分割和缺陷检测,在分割时采用Snake模型获得精确的毛杆图像,用小波的方法检测缺陷,该方案经过实验验证,更行之有效。
1 系统原理和处理流程
羽毛片自动化检测过程是:羽毛由机械手送到指定的夹头后工位后,计算机控制工业摄像头采集图像,并通过千兆网卡,传送到计算机内存,计算机对采集图像进行处理和分析、识别缺陷,羽毛片按识别结果通过传送带将羽毛投递到对应位置的存储箱中。
整个图像处理过程分为3个步骤:(1)预处理,羽毛定位。主要是对图像进行去噪和剪辑,降低后继处理的复杂度;(2)毛杆分割,把图像中的毛杆通过算法进行识别和分割,明确检测对象;(3)缺陷检测,结合缺陷特征,对毛杆图像上的灰度统计分析判定缺陷。
2 预处理
羽毛片由机械手送到指定的夹头,夹头周围有一些其他部件,使原始图像除了羽毛片图像外必然存在一些背景图像,背景的存在影响图像处理;羽毛片形状不规则,不同羽毛之间存在差异,图像采集窗口必须加倍大于实际羽毛的长宽,才能保证每片羽毛被完整采集。为此,要对图像中羽毛片进行定位。
设计采集环境,使采集图像中背景亮度小,羽毛亮度高,与背景在灰度上差别大,适合用阈值分割。阈值法优点在于速度快且算法不复杂,符合检测速度要求。阈值法定义如下:
(1)
式(1)中,f为处理后图像;I为原始图像;R为阈值。
阈值的选取是式(1)的关键,本实验阈值采用最大类间方差法(OSTU)来获取,OSTU方法把图像灰度统计信息看成函数,并用灰度阈值将统计函数划分为前景和背景两类,当被分开两类的方差最大时为最佳阈值。
阈值法划分后图像上前景还包含部分非羽毛的区域,这些区域与羽毛区域空间上隔离,而且面积较小。保留面积最大连通域即可获得干净的羽毛二值图像,然后剪切图像至包含羽毛区域的最小矩形,剪切后图像面积不到原始图像的一半。如图1图像宽度为820像素,高度为300像素;而剪切后的图像(见图2)宽度为586像素,高度为171像素,缩小面积有助于提高后继图像处理速度。
图1 羽毛原始图像
图2 剪切后的羽毛图像
3 毛杆分割
羽毛片区域包含毛杆与毛叶,检测需要将毛杆分割出来,本文采用边缘法提取毛杆。边缘法提取毛杆需要获得一个环绕毛杆的闭合曲线,该曲线可通过图像的灰度和梯度变化,以及曲线的连续性和可导性来获取,这是Snake方法[4]。Snake模型是一条连续的弹性曲线在事先规定能量方程的约束下进行演化,随着演化的进行总能量减小,当总能量达到极值时,曲线也由初始位置靠近图像中的特征位置。用一组控制点V(s)=[X(s),Y(s)]表示模型曲线(其由3个部分组成:内部能量函数Eint,外部能量函数Eext和图像能量Eimage),则Snake目标能量函数Esnake可用下式表示:
Eimage(V(s))ds
(2)
式(2)中,Eint代表内部能量,体现曲线的连续性和可导性,分别用α,β函数作为权重系数:
(3)
式(2)中,Eimage表示为图像力,可划分为线能量Eline、边缘能量Eedge和端点能量Eterm。Eline可直接使用图像灰度I(x,y)表示,把Snake曲线逼近图像中的亮线或暗线。Eedge可用灰度图像的梯度表示,把Snake曲线逼近图像中灰度梯度较大的位置。Eterm由图像梯度的单位法向量及其角度决定,将Snake曲线向图像中的一些端点逼近。本研究只考虑Eedge能量,计算时用高斯函数进行滤波,用以消除局部极值影响,扩大边缘力的作用范围并加快收敛速度:
Eedge(V(s))=-[Gσ×▽2I(x,y)]2
(4)
式(4)中,▽为梯度算子,Gσ为方差为σ的高斯函数。
式(2)中Eext表示其他形式能量。本研究采用气球力模型,基本原理是:对模型施加一个常力或自适应力,使在图像能为零时仍能继续驱动模型变化,强制驱使模型靠向目标[5]。气球力能量Eballons定义由式(5)获得:
Eballons=klN(s)
(5)
式(5)中,kl为气球力大小,N(s)是曲线的单位法向量。设定毛杆的初始轮廓线在毛杆外面,叠加一个向内的压力可使Snake曲线收缩到毛杆边缘梯度最大位置,而不至于使曲线陷入到污渍、虫蛀等边缘位置。
综合上几式,得到毛杆边缘曲线snake能量泛函:
[Gσ×▽2I(x,y)]2+klN(s)ds
(6)
αddsV'(s)-βd2ds2V″(s)-[Gσ×2I(x,y)]2+
klN(s)=0
(7)
曲线V(s)很难直接精确地求出,可对模型方程进行离散化求解,使用梯度下降法沿着梯度减少的方向变化直至收敛。梯度下降法所用迭代公式如下:
(8)
式(8)中,t表示迭代次数,fx(xt-1,yt-1),fy(xt-1,yt-1)分别表示函数[Gσ×▽2I(x,y)]2+klN(s)在点(xt-1,yt-1)处对x,y的偏导,γ可以理解为时间步长描述的阻尼系数,A是由α,β组成的五对角阵[5]。
Snake模型的求解与初始位置密切相关,气球模型要求毛杆被包含在初始轮廓内。初始轮廓的定义方法与羽毛图像的坐标相关(见图3),羽毛前半部分的初始轮廓取毛杆尖端坐标与羽毛上下极点的中值的矩形区域,后半部分取毛片的轮廓线。55次迭代求解后曲线轮廓基本与毛杆边缘一致(见图4),达到分割效果。
图3 Snake演化初始轮廓线
图4α=1,β=30,Kl=0.6迭代55次后的轮廓线
Fig.4 The contour after 55 iterations usingα=1,β=30,Kl=0.6
4 缺陷检测
折痕是羽毛片的主要缺陷,它影响羽毛球的耐打程度,是衡量羽毛球质量的重要指标。如细化毛杆和折痕为曲线,折痕大致垂直于毛杆。折痕属于形状缺陷,从毛杆纵截面上看呈V字形,V形缺陷两斜面对侧向入射光反射效果不同[6]。据光学的反射定律,折痕的背光面的入射角大,反射光区域远离观测点,观测到的亮度小,而迎光面入射角小,观测点位于反射光覆盖范围,观测到光亮度大。从光照方向上看过去,在缺陷区域亮度有一个类似颠倒的正弦波的变化过程。如果在待测的毛杆上检测到这种规律的亮度变化,可判定存在折痕缺陷。按列统计图像中毛杆灰度平均值,获得毛杆长度方向灰度变化近似曲线(见图5)。这样可将二维的面检测简化到一维曲线局部特征检测,提高了检测速度。用小波方法分析该曲线,检测符合缺陷变化的特征[7]。
小波变换以小波函数ψ(t)为基底对信号f(t)进行分解:
(9)
式(9)中,ψa,b(t)是把小波基函数ψ(t)经过平移和缩放得到的一组函数,a为尺度参数,b为平移参数。信号分解后,得到各频段的分解系数。无折痕时,毛杆的灰度均值曲线局部区域变化不大,可认为分解系数符合正态分布,有折痕时,折痕位置的分解系数偏离平均值较远,常用3倍的统计方差作为特征判断阈值。
小波基、分析方法和分解尺度等因素直接影响小波分析效果。小波基选择与缺陷信号形状相似的波形便于检测,本研究选取bior1.5作为检测基函数,分析方法可按变换参数连续性划分,本研究要求分析方法需具备平移不变性,则采用连续小波变换方法。不同分解尺度检测不同大小的特征,待测曲线中缺陷宽度一般在4~18像素之间,小波变化尺度宜选择在3~20级。图6是将图5信号进行连续小波分解的实验结果,图6中由下到上分解级数逐渐增大。观察分解结果可看到,在毛杆缺陷所在位置的小波分解系数出现了极值。极值反映了一种不连续状态,与正常的分解系数相比,特征明显。还观察到图像两侧也出现的极值,这是毛杆边界的影响,在实际应用可把两端连续出现的非正常值忽略后再进行统计,以获得正确结果。
图6 对图5的信号进行连续小波分解
Fig.6 The continuous wavelet decomposition on the signal of figure 5
5 实验分析
对6 079片羽毛用上述方案进行检测,检测结果见表1。
表1 检测统计结果
由实验结果可得出,本方案可以检测出大部分有缺陷的羽毛,分析检测不出缺陷的羽毛图像,发现检测错误原因有三点:(1)缺陷位置接近毛杆两端,统计出的极值点被算法当作边缘极值忽略;(2)图像中羽毛杆过于弯曲,用近似方法获得毛杆灰度平均曲线不准确,缺陷特征分散到较大区域,检测不出极值存在,产生了漏判;(3)图像上缺陷很小,只1~2像素宽,色差也不大,统计时特征不明显,而且人眼也难识别。此外结果中还有部分无缺陷的毛杆被误判为有缺陷,误判是由污渍、波纹以及毛叶丝被扭转盖在毛杆上等原因造成。
检测方案的平均运行时间2.3 s,其中缺陷检测速度较快,约不到10 ms。而Snake算法速度较慢约2 s。但本研究算法能大幅提高毛杆提取准确率,基本避免了因毛杆提取不准确而影响到缺陷检测结果的情况发生。
6 小 结
本文建立了羽毛杆缺陷在线检测方案,重点介绍在图像处理中快速有效地获得检测结果。预处理时截取原始图像中羽毛片部分的图像,来减少后继图像运算规模;用Snake方法分割毛杆,保证了轮廓线的完整和准确有效;缺陷检测时,先计算水平方向上毛杆灰度平均值,简化二维特征检测为一维信号上奇异点检测,加快了运算速度;在连续小波分解信号后,用统计方法来检测小波系数中的极值。该缺陷检测方法经验证行之快速有效,符合工业生产需要。
[1] CHEN J, JAIN A. A structural approach to identify defects in textured images[J]. In IEEE International Conference on Systems, Man, and Cybernetics, 1988(1): 29-32.
[2] NISKANEN M, KAUPPINEN H, SILVLEN O. Real-time apects of SOM-based visual surface inspection[J]. In Machine Vision Applications in Industrial Inspection, 2002(1):123-134.
[3] 郭晓锋,刘文田. 基于图像处理的羽毛自动分拣系统[J]. 现代电子技术, 2004(3):30-31.
[4] KASS M, WITKIN A, TERZOPOULOS D. Snake:active contour models [J]. Journal of Computer Vision, 1988(1):321-331.
[5] COHEN L D. On active contour models and balloons[J]. Computer Vision and Graphic Imaging Process:Image Understanding, 1991, 53(2):211-218.
[6] 涂宏斌,周新建. 基于机器视觉的货车滚动轴承外圈麻点缺陷检测[J]. 铸造技术, 2006, 27(9):978-980.
[7] 于海武,乌日图. 基于小波分析的织物疵点视觉检测方法[J]. 计量与测试技术, 2007, 34(10):40-42.