刘佳敏,甘 屹,姚 俊
LIU Jia-min1 , GAN Yi1 , YAO Jun2
(1.上海理工大学 机械工程学院,上海 200093;2.上海电气集团中央研究所,上海 200070)
随着对机械零件表面加工要求的不断提高,计算机视觉检测作为一种产品质量控制的重要手段也得到了飞速发展。针对表面伤痕比较尖利这一形状特征,文献[1]用Harris角点作为标记点标记缺陷位置,再利用灰度信息滤除伪标记点,最后提取出缺陷处图像。但在Harris角点检测算法[2~4]中,经验常数k值的选取是算法能否取得较好的实验结果的关键。文献[1]对角点检测算法没有进行优化,无法减小响应函数的不稳定性,对实验结果会有干扰。本文提出先对角点检测算法进行优化,再利用优化后的角点检测对热轧带钢[5]进行在线检测,对得到的质量信息进行图像处理[6]进而分析产品缺陷,为产品的在线检测提供参考,对提高产品生产效率、保证生产质量、调整生产工艺和设备有重要意义。
Harris角点检测方法[7]认为,一幅图像的像素点在任意方向上的灰度变化量都能够通过微分运算反映,因此可以区分出角点。设以像素点(x,y)为中心的高斯窗口分别在x方向和y方向上的移动位移为u,v个单位,Harris给出的灰度变化量为:
其中,I(x,y)为像素点的灰度函数,wx,y为高斯窗口函数,主要用于对图像进行降噪,一般定义wx,y为:
公式(1)可近似表示成泰勒多项式形式:
⊗表示卷积。
将Eu,v(x,y)化为二次型,令M化为实对称矩阵有:
其中,公式(4)中M为实对称矩阵:
对公式(4)进行对角化处理可得:
其中,R为旋转因子,其特征值 λ1和 λ2分别反映了x方向和y方向上的图像表面曲率。只有当 λ1和 λ2都比较大时且为基本相等的正数时,意味着该点在任意方向上的灰度值都发生了剧烈变化,表明这个点可能为角点。
此外,Harris还定义角点响应函数CRF为:
其中,detM为矩阵M的行列式,trM为矩阵的迹,且trM=λ1+λ2,K为大于零的经验参数值,满足CRF值大于预设定的阈值时,当前像素点则为角点。然而选取不同的k值,与之对应的也会有不同的检测效果,需要不断的调试程序直到k值取得一个对整体实验效果都较好的值时,实验才会取得令人满意的检测结果。
针对以上不足,由Harris角点检测原理可以得出,λ1≈ λ2> 1时为角点,得:
由式(8)和式(9)可推导出:
式(10)为优化的角点检测算法,避免了经验参数k值对检测的影响,同时也避免了公式(1)中的极小值的选取,减少了响应函数的不稳定性。
由式(10)可知,当位于图像的边缘区域和平坦区域的时候CRF(x,y)都小于零,只有当其是角点的时候,CRF(x,y)才大于零。
根据实验条件,本文选取热轧带钢表面常见的三种缺陷作为检测对象。在工况下,热轧带钢的温度接近于锻件的高温,所处环境恶劣。一般的检测方法不适用这种情况。
热轧带钢常见的三种缺陷分别为辊印(Roll marks)、红锈(Red scale),边部气割缺陷(Craters)。为了检测这几种缺陷,将LED灯光源调至适中,CCD相机拍摄素材图像,运用OpenCV进行特征提取[8,9]。对剪切拍摄的素材图像进行裁剪处理,选取有缺陷的部分表面图像,依据图像处理的基础理论知识进行处理。在图像处理中,Canny算法给出了判断边缘提取方法性能的指标,是图像处理的经典算法之一,Hough变换也是图像变换中的经典手段,主要用来从图像中分离出具有某种相同特征的几何形状。Canny算法和Hough算法在图像处理中都应用非常广泛,本文分别应用Canny算法和Hough算法对实验图像进行处理,与角点检测算法处理得到的结果进行对比,实验结果如图1~图3所示,为了更直观的评价三种算法提取结果,本文用MATLAB分别提取三种缺陷的灰度图像建成灰度三维图,XY平面对应相应的缺陷图像,Z轴表示缺陷图像中的每一个像素点的灰度值三维图,结果如图4~图6所示。
图1 辊印缺陷图像实验结果对比
图2 红锈缺陷图像实验结果对比
图3 边部气割缺陷图像实验结果对比
图4 辊印缺陷图像的灰度三维图对比
图5 红锈缺陷图像的灰度三维图对比
图6 边部气割缺陷图像的灰度三维图对比
从图1~图3可以看出,优化后的角点检测算法能分辨以上三种热轧带钢的表面缺陷,角点比较清晰。Canny算法仅在边部气割缺陷的缺陷情况下能分辨出表面缺陷,在辊印和红锈缺陷的情况下,Canny算法不能分辨出来,Hough算法仅在红锈缺陷的情况下能分辨出来,对其他两种缺陷分辨不明显。
观察对比图4~图6的灰度三维图,也可以知道,对于辊印和红锈缺陷,Canny算法处理的图像灰度值在缺陷处灰度值变化不大,这表明Canny算法不能明显区分图像中的缺陷;Hough算法只在红锈缺陷中灰度值变化明显,能分辨出表面缺陷,其他缺陷分辨不理想;角点检测算法表现优异,准确的分辨出了三种缺陷图像。
经过以上对比,可以看出优化后的角点检测算法在缺陷检测方面比Canny算法和Hough算法具有更好的效果。
在检测缺陷图像时,角点检测算法不仅在缺陷检测方面效果良好,还能通过根据突变点的灰度值为图像的缺陷分类判定提供重要信息,避免误判和错判。例如图5(c)和图6(c),分别代表红锈灰度三维图和边部气割缺陷灰度三维图,从中可以看出红锈和边部气割缺陷这两种缺陷图像的灰度变化是相反的。其中,红锈的角点突变点的灰度值很小,接近于零,边部气割缺陷的图像的角点突变点的灰度则变化较大,两者在角点突变点灰度值相差很大,因此在用角点检测方法来在检测缺陷图像时,通过考虑突变点的灰度值可以避免造成误判和错判,在实现缺陷图像的快速分类时,角点检测可以提供灰度信息帮助,对缺陷分类系统优化有重要意义。
角点检测因其含有很高的信息量来反映图像的局部特征,能够快速可靠的实现标定、匹配功能。本文提出的优化角点检测方法来实现对热轧带钢表面的缺陷检测,对比Canny算法和Hough算法具有更好的检测效果。同时,角点检测算法还可以通过考虑突变点的灰度值来检测误判和错判。实验结果证明本文提出的优化角点检测算法不仅比Canny算法和Hough算法有更好的检测效果,还能为图像缺陷分类提供重要的灰度信息,为热轧带钢的在线检测提供了一种新的缺陷检测参考方法,对缺陷检测方法的改进和缺陷检测分类系统的优化设计也具有重要意义。
[1]王磊.基于机器视觉的电池表面缺陷检测技术研究[D].中国科学技术大学,2011.
[2]Zhang,X,He,G.,Yuan,J.A rotation invariance image matching method based on harris corner detection[A].International Congress on Image and Signal Processing,Tianjin,China[C].2009:1-5.
[3]Harris C,Stephens M J.Acombined corner and edge detector[A].Proceedings of the 4th Alley Vision Conference[C].New York:IEEE,1988:147-151.
[4]毛雁明,兰美辉,王运琼,冯乔生.一种改进的基于Harris的角点检测方法[J].计算机技术与发展,2009,19(5):130-133.
[5]杨水山,何永辉,赵万生.Boosting优化决策树的带钢表面缺陷识别技术[J].红外与激光工程,2010,39(5):954-958.
[6]齐从谦,甘屹.基于遗传算法的医学CT图像数字化处理[J].同济大学学报(自然科学版),2004,32(6):799-801
[7]Likai Chen,Wei Lu,Jiangqun Ni,Wei Sun,Jiwu Huan .Region duplication detection based on Harris corner points and step sector statistics[J].J.Vis.Commun.Image R.2013(24):244-254.
[8]Y.Freund,R.E.Schapire.A decision-theoretic generalization of online learning and an application to Boosting[J].Comput System Sci,1997,55(1):119-139.
[9]陈凯歌,韩晓军,张宇,杜云飞.基于OpenCV的Harris角点检测[J].河南纺织高等专科学校学报,2011,(4):53-56.