基于SIFT的中厚板表面缺陷识别方法
周鹏1, 徐科2, 杨朝霖1     
1. 北京科技大学 工程技术研究院, 北京 100083;
2. 北京科技大学 钢铁共性技术协同创新中心, 北京 100083
摘要:中厚板在生产过程中,由于各种因素难免会产生压痕、辊印、划伤等缺陷,严重的缺陷会对下一道轧制工艺产生不良的影响,因此在包含氧化铁皮背景中准确识别出真实缺陷对提高钢铁企业的产品质量至关重要。该文采用尺度不变特征转换(scale-invariant feature transform,SIFT)算子来提取具有尺度旋转不变性的特征向量,并采用Euclidean距离相似性判定度量实现图像匹配,进而识别出中厚板表面缺陷。该文通过大量实验分析并确定各参数取值,最终将SIFT算法应用到中厚板表面缺陷识别,实验结果表明:该算法对辊印、压痕等缺陷的识别率较高,能够达到95%,尤其是对连续出现的缺陷检测效果明显,从而验证了SIFT方法较好的光照不变性、旋转不变性和仿射不变性。
关键词中厚板    表面检测    尺度不变    局部特征    
Surface defect recognition for moderately thick plates based on a SIFT operator
ZHOU Peng1, XU Ke2, YANG Chaolin1     
1. Institute of Engineering Technology, University of Science & Technology Beijing, Beijing 100083, China;
2. Collaborative Innovation Center of Iron and Steel Technology, University of Science and Technology Beijing, Beijing 100083, China
Abstract: Moderately thick plates have defects such as indentations, roll marks and scratches from the production processes. Since serious defects can negatively impact the next rolling process, operators must identify serious defects containing iron oxide defects on the surface to improve the quality of iron and steel products. A scale invariant feature transform (SIFT) operator was used to extract feature vectors that are scale rotation invariant. A Euclidean distance similarity measure is used for image matching to identify the surface defects of moderately thick plates. Many tests were then run to identify the proper values of each parameter. The SIFT algorithm then had a 95% surface defect recognition rate and was especially effective for continuous defects. Thus, this SIFT method which is unaffected by the illumination and is rotation and affine invariant gives excellent recognition of iron oxide defects.
Key words: moderately thick plate     surface detection     scale-invariant     local feature    

中厚板在生产过程中,因各种因素难免会产生压痕、辊印、划伤等缺陷,严重的缺陷会对下一道轧制工艺产生不良的影响。钢板表面缺陷的在线自动识别对于提高钢铁企业的产品质量和生产效益起着至关重要的作用。国内外许多大型钢铁企业都已引入钢板表面缺陷在线监测系统,对钢板表面质量进行在线监测[1-2]

中厚板表面缺陷包括纵裂、压痕、辊印和划伤等缺陷。尽管辊印具有明显的形态特征,但中厚板表面缺陷识别目前仍存在较大困难,主要表现在中厚板表面存在大量形状、姿态各异的氧化铁皮,而一些氧化铁皮的形貌与缺陷极为相似,此外由于光照不均匀的原因也会影响到缺陷的检测。图 1展示了现场采集的中厚板氧化铁皮图像。

图 1 中厚板表面的氧化铁皮

传统的缺陷检测系统受上述2种因素影响较大,会出现漏检或者是误检现象。本文利用传统的方法检测缺陷,得到与缺陷样本相匹配的可疑缺陷。并提出了一种基于SIFT尺度不变方法的中厚板表面缺陷识别方法。实验结果表明:SIFT方法具有较好的光照不变性、旋转不变性和仿射不变性。检测系统的识别率提升比较明显,尤其对于连续缺陷。

1 SIFT算法

尺度不变特征变换(scale-invariant feature transform,SIFT)是由Lowe在2004年提出的[3]。SIFT是一种高效的Blob[4]检测算法。其检测结果是一个用关键点为圆心和一定长半径画成的圆形邻域,同时针对这个圆形区域,生成特征向量描述子。相同信息量的关键点产生的特征向量近似,通过对特征向量进行比较,实现图像匹配。同时Lowe提出的SIFT算法具有照度不变性、尺度不变性、旋转不变性和一定角度下的仿射不变性,这些良好的特征使SIFT算法被广泛地用于各领域的图像特征提取[5-9]。SIFT特征具有尺度不变性,即使改变旋转角度、图像亮度或拍摄视角,仍然能够得到好的检测效果。通过SIFT来进行图像匹配主要包括2步:1) SIFT特征向量的生成,2) SIFT特征向量的匹配[10]

1.1 尺度空间生成

尺度空间理论目的是表达图像在不同的尺度下的描述特征,同时在不同的尺度下获取目标的最佳尺度。尺度空间微分算子可以看作是原始图像与Gauss卷积核的卷积。所以一幅二维图像的尺度空间定义为

$ L\left( {x, y, \sigma } \right) = G\left( {x, y, \sigma } \right) \times I\left( {x, y} \right). $ (1)

其中G(x, y, σ)为尺度可变Gauss函数,

$ G\left( {x, y, \sigma } \right) = \frac{1}{{2{\rm{ \mathsf{ π} }}{\sigma ^2}}}{{\rm{e}}^{-\left( {{x^2} + {y^2}} \right)/2}}{\sigma ^2}. $ (2)

其中:(x, y)是空间坐标,代表图像的像素位置; 符号×表示卷积; σ是尺度空间因子,取值越小表示图像被平滑的程度越小,相应的尺度也就越小。大尺度对应于图像的概貌特征,小尺度对应于图像的细节特征。

SIFT算法提出,在某一尺度上的关键点检测,可以用相邻的2个Gauss空间相减得到一个DoG (difference of Gaussians)的响应值D(x, y, σ),从而在位置空间和尺度空间定位关键点[11]

$ \begin{array}{l} D\left( {x, y, \sigma } \right) = \left[{G\left( {x, y, \mathit{k}\sigma } \right)-G\left( {x, y, \sigma } \right)} \right] \times \\ \;\;\;\;\;\;I\left( {x, y} \right) = L\left( {x, y, \mathit{k}\sigma } \right) -L\left( {x, y, \sigma } \right). \end{array} $ (3)

其中,D(x, y, σ)生成的尺度空间称为DoG,D(x, y, σ)如图 2所示。

图 2 DoG尺度空间

1.2 检测尺度空间极值点

为了寻找尺度空间的极值点,每一个采样点要和它所有的相邻点比较,判定其是否大于或小于图像域和尺度域的相邻点。如图 3所示,中间的检测点和它同尺度的8个相邻点以及上下相邻尺度对应的9×2个点, 共26个点比较,以确保在尺度空间和二维图像空间都检测到极值点。如果一个点在DoG尺度空间本层以及上下2层的26个领域中是最大或最小值,就认为该点是图像在该尺度下的一个特征点。

图 3 Gauss金字塔与DoG的实现

因为需要同相邻尺度进行比较,所以在一组Gauss差分图像中算法只能检测到2个尺度的极值点,而其他尺度的极值点检测则需要在图像金字塔的上一层Gauss差分图像中进行。依次类推,最终在图像金字塔中不同层的Gauss差分图像中完成不同尺度极值的检测。

1.3 精确定位极值点中厚板缺陷检测流程

通过拟合三维二次函数以精确确定关键点的位置和尺度(达到亚像素精度),同时剔除低对比度的关键点和不稳定的边缘响应点(因为DoG算子会产生较强的边缘响应),以增强匹配稳定性、提高抗噪声能力。

获取关键点处拟合函数,

$ \mathit{\boldsymbol{D}}\left( \mathit{\boldsymbol{X}} \right) = \mathit{\boldsymbol{D}} + \frac{{\partial {\mathit{\boldsymbol{D}}^{\rm{T}}}}}{{\partial \mathit{\boldsymbol{X}}}} + \frac{1}{2}{\mathit{\boldsymbol{X}}^{\rm{T}}}\frac{{{\partial ^2}\mathit{\boldsymbol{D}}}}{{\partial {\mathit{\boldsymbol{X}}^2}}}\mathit{\boldsymbol{X}}. $ (4)

求导并使方程等于零,可以得到极值点,

$ \mathit{\boldsymbol{\hat X =-}}\frac{{{\partial ^2}{\mathit{\boldsymbol{D}}^{-1}}}}{{\partial {\mathit{\boldsymbol{X}}^2}}}\frac{{\partial \mathit{\boldsymbol{D}}}}{{\partial \mathit{\boldsymbol{X}}}}. $ (5)

对应极值点,方程的值为

$ \mathit{\boldsymbol{D}}\left( {\mathit{\boldsymbol{\hat X}}} \right) = \mathit{\boldsymbol{D}} + \frac{1}{2}\frac{{\partial {\mathit{\boldsymbol{D}}^{\rm{T}}}}}{{\partial \mathit{\boldsymbol{X}}}}\mathit{\boldsymbol{\hat X}}{\rm{.}} $ (6)

D($\mathit{\boldsymbol{\hat X}}$)的值对于剔除低对比度的不稳定特征点十分有用,通常将D($\mathit{\boldsymbol{\hat X}}$) < 0.03的极值点视为低对比度的不稳定特征点,进行剔除。同时,在此过程中获取了特征点的精确位置以及尺度。一个定义不好的Gauss差分算子的极值在横跨边缘的地方有较大的主曲率,而在垂直边缘的方向有较小的主曲率。

1.4 为每个关键点制定方向参数

为了使描述符具有旋转不变性,需要利用图像的局部特征给每一个关键点分配一个方向。利用关键点邻域像素的梯度及方向分布的特性,可以得到梯度模值和方向如下:

$ \begin{array}{l} m\left( {x, y} \right) = \sqrt {{{\left[{L\left( {x + 1, y} \right)-L\left( {x-1, y} \right)} \right]}^2} + {{\left[{L\left( {x, y + 1} \right)-L\left( {x, y-1} \right)} \right]}^2}, } \\ \theta \left( {x, y} \right) = {\rm{ta}}{{\rm{n}}^{ - 1}}\left[{L\left( {x, y + 1} \right)-L\left( {x, \mathit{y}{\rm{-1}}} \right)/\mathit{L}\left( {x + 1, y} \right)-L\left. {\left( {x - 1, y} \right)} \right)} \right]. \end{array} $ (7)

其中,尺度为每个关键点各自所在的尺度。在以关键点为中心的邻域窗口内采样,并用直方图统计邻域像素的梯度方向。梯度直方图的范围是0°~360°,其中每10°一个方向,总共36个方向。图 4为建立所有尺度下特征点的128维描述子示意图。

图 4 由关键点邻域梯度信息生成特征向量直方图

2 基于SIFT的中厚板缺陷检测 2.1 中厚板缺陷检测流程

中厚板的检测流程如图 5所示,获取中厚板图像后,首先进行相应的预处理改善图像质量,然后使用SIFT算法进行待检图像与标准图像的匹配,设定合适的阈值判断是否有相同的缺陷重复出现。

图 5 中厚板检测流程

2.2 图像预处理

现场环境复杂,采集到的图像都可能或多或少的存在噪声、光照不均、曝光不足等的影响,为了提高后续处理的质量,首先要做的就是对图像预处理,预处理的手段包括灰度变换域空间滤波以及频率域滤波等,图 6为处理后的中厚板图像。

图 6 预处理后图像

2.3 SIFT匹配

获取在线图像,经过预处理后,就可以使用SIFT匹配算法进行2幅图像间的匹配。首先在已检测到的缺陷图像和待测图像的尺度空间检测极值点,确定关键点所在位置和关键点所处的尺度;其次使用特征点邻域范围内梯度的主方向作为该特征点的方向,生成特征向量;最后采用Euclidean距离作为标准图像和待测图像中关键点的相似性判定度量。对于图中的标准中厚板和待测中厚板,SIFT匹配算法的匹配结果如图 7所示,图像中线条相连的2个点即为相匹配的特征点,使用带有缺陷的图像分别与缺陷图像、氧化铁皮图像、正常图像相互匹配,从图 7可以看出划伤缺陷效果较为明显,其他匹配图像存在误匹配的点对。

图 7 各缺陷图像间的SIFT匹配

通过SIFT匹配可以看出,如果有重复出现的压痕或者划伤等缺陷,使用标准的缺陷图像与现场图像一一对比,设定合适的阈值可以初步分析缺陷的位置。

2.4 实验

应用SIFT算法进行中厚板图像缺陷分割,实际上是利用其特征点定位缺陷的方法。SIFT算法的特征向量生成对缺陷分割没有起到作用。但是在缺陷分类阶段,会使用到SIFT计算出的特征向量。SIFT算法检测时需要设置的主要参数有σ、组别和阈值,下面将针对结疤缺陷图像的特性,对参数的设置进行分析。

1) 设定σ大小。

特征尺度空间生成过程中,与Gauss函数进行卷积。Gauss卷积核的尺寸σ决定检测的关键点的尺度。

带钢表面的缺陷形态各异,没有统一的形状。利用小尺度的关键点检测来定位特征区域,能够在缺陷区域检测出许多小尺度的缺陷特征点。然而噪声与比σ小的Gauss函数卷积,同样会有较大的响应。因此小尺度的关键点检测要注意噪声对于检测结果的影响。

为了研究σ取值对特征点检测的影响,本文对比了当响应阈值为0.025、组别为1时,σ=1、σ=2、σ=3和σ=4四种情况下,特征点的检测数量和区域分布。如图 8所示,在固定的响应阈值的情况下,随着σ的增大,特征点的检测数量减少。σ=1时,在缺陷区域检测出84个特征点,特征点基本覆盖缺陷所在的区域,而且在小尺寸的缺陷中也能够检测到特征点;当σ=2时,Gauss卷积后丢失更多的细节信息,检测到11个特征点,对于图像中尺寸较小的缺陷无法检测到特征点,只在大尺寸缺陷的局部检测出特征点; σ=3时,检测到2个特征点;σ=4时,检测到1个特征点。σ=3或4时,检测到的特征点数量少,无法标定出缺陷区域。

图 8 σ与特征点检测

σ=1时,检测出的特征点数量多,从图 8可以观察出,特征点主要分布在图像中的缺陷部位,在光滑的背景中没有检测出特征点,因而σ取值在1到2之间更合适,通过更加细致的对比,将σ设为1.6,作为后续研究的基础。

2) 组别设置。

SIFT算法能够实现尺度不变性,对输入图像进行采样,用同样大小σ,Gauss卷积核对采样后的图像进行卷积,得到结构更大的特征关键点。组别的设置主要用来实现图像发生缩放时,目标的特征匹配。然而,带钢表面缺陷的分割并未涉及特征匹配,且带钢表面缺陷形态复杂,特征分类时无法使用SIFT检测的特征向量进行匹配。因此需要在尽量小的耗时情况下,计算出需要的特征点。研究组别设置对特征点检测和算法耗时的影响,设定响应阈值为0.025,σ=1.6,组别设置为1、2、3、4组,缺陷类型研究检测到的特征点数量和特征分布情况。如图 9所示,分别为生成1、2、3和4组尺度空间情况下检测到的特征点。较大组别的特征点分布为在前一组的特征点分布中叠加新检测的特征点。所以随着组别的增多,特征点的数量也增加。经过统计得出结论: 1组的特征点数量较少,只能大概标定缺陷区域;2、3和4组尺度空间生成的特征点数量足够,且随着图像的采样,在较高组别中检测出的特征点数量减少。选择2、3、4组的依据,将主要由算法的耗时来决定。

图 9 组别与特征点检测

3) 阈值设定。

经过σ设定和组别设定的研究,将SIFT特征点检测的参数设定为σ=1.6,组别为3组。研究阈值设定对检测结果的影响。阈值的调整是影响带钢表面缺陷分割最主要的因素,阈值的设定直接影响缺陷分割的结果,因此需要研究更加广泛的样本图像,才能够得到最好的分割结果。

极大值对应着检测到的圆形邻域的中心,而尺度指示着圆形邻域的半径。高于阈值的特征点才会被认为是有效的,因此阈值的设定直接决定了特征点的数量。小的阈值可能将非缺陷的区域判断为“疑似缺陷”,而大的阈值又可能遗漏响应较小的缺陷。阈值的设定需要针对样本进行分析。

图 10所示,选取了辊印、压痕、裂纹、划伤4种缺陷图像进行分析。SIFT算法检测的结果是坐标原点为圆心,σ参数决定半径值的圆域(斑点),这也印证了SIFT检测算法的实质是斑点检测。图中用黑色圆点表示圆心,用黑色圆圈或白色圆圈表示圆形邻域。SIFT根据Laplace算子卷积的结果将极值点分为大于0和小于0两类。图中白色圆圈所标定的斑点表示亮背景中的暗斑点,而黑色圆圈表示暗背景下的亮斑点。

图 10 缺陷类型阈值响应

图 10所示,特征点检测阈值从左到右逐渐增大,只有大于阈值的极值点才被认作特征点,其余的极值点都被舍去。从左至右观察同一类型缺陷图像的检测结果,可以发现特征区域数量逐渐减少。通常阈值为0.020时,在缺陷部位计算出的特征区域数量最多,此时算法最为灵敏,算法计算量最大,耗时较长。随着阈值的逐渐增大,特征点数量相应减少。当阈值达到0.035时,绝大多数的特征点已经丢失,只留下少数响应强的特征点。另外,可以观察出,不同的缺陷的特征点数量随阈值变化也存在区别。裂纹、划伤缺陷的深度大,表现为特征点的极值响应大,在阈值0.035时,依然保留大量有效的特征点。而辊印和压痕缺陷深度小,在特征点处的极值响应小,在阈值0.035时,丢弃了绝大多数的特征点。所以阈值的设定直接影响到“疑似缺陷”的分割结果。

图像分割阶段实际上是无法预先知道缺陷的类别的,所以有效的分割方法要求尽可能准确地将“疑似缺陷”从背景图像中提取出来。虽然SIFT算法的检测结果是多个圆圈的重复叠加,人眼观察显得繁乱,但算法准确地将缺陷所处的区域从背景中标识出来,具有准确的分割特性。

综上,阈值设定的标准应遵循以下2点:

a) 阈值必须有效地将需要检测的缺陷与背景区分开,且不能在背景区域检测出特征点。

b) 在保证“疑似缺陷”区域可以被准确检测出来的前提下,尽可能地增大阈值,这样特征点减少,算法的运行速度更快。

4) 检测效果。

应用SIFT算法对中厚板表面图像样本库进行缺陷分割。将SIFT检测到的特征点在空间区域内进行组合,得到缺陷区域,统计算法的检出率和漏检率。

实验分析了阈值设定为0.020、0.025、0.030、0.035四种情况下,算法对辊印、压痕、纵裂、划伤4种缺陷的检测情况。缺陷的检出率如表 1所示。

表 1 SIFT算法缺陷检出率
阈值 缺陷误检率/%
辊印 压痕 纵裂 划伤 总计
0.020 90.1 97.8 100 100 94.6
0.025 89.3 85.3 97.5 100 90.4
0.030 83.3 76.5 92.5 100 83.6
0.035 75.0 52.9 90.0 81.3 70.9

阈值的变化对不同缺陷的影响不一,主要因为缺陷表面的灰度、深浅变化不同。划伤的灰度与带钢背景之间存在较大的跳变,因此SIFT计算得到的缺陷相应明显,随着阈值的提高,缺陷的检出率依然保持较高。而辊印、压痕和纵裂的灰度与背景反差较小,随着阈值的提高,缺陷的检出率也有较大的下降。如表 1所示,当阈值设定为0.020时,缺陷的检出率达到94.6%,即针对常见的中厚板表面缺陷都能够通过SIFT算法检测得到。

同时,有必要研究在不同阈值下缺陷的误检率。被误检的缺陷通常是由表面光照不均、或是带钢表面存在灰度变化,但是却对钢板质量没有影响的区域造成的。缺陷的误检率随着阈值的增大而下降。如表 2所示,在阈值设定为0.020时,缺陷的误检率达到52.2%。虽然在保持高检出率的情况下误检率相对较高,但是对于后续的缺陷识别、分类,已经将候选区域的规模减小了许多,而且缺陷误检率的下降速度快于缺陷检出率的下降速度。当阈值设定为0.030时,检出率为83.6%,而误检率已经下降到8.9%。

表 2 SIFT算法缺陷误检率
阈值 缺陷误检率/%
辊印 压痕 纵裂 划伤 总计
0.020 59.8 38.4 49.3 52.9 52.2
0.025 47.1. 17.6 18.7. 37.3 36.0
0.030 13.2 4.4 5.1 5.9 8.9
0.035 10.8. 0.0 5.9 5.9 6.3

在工业应用中,缺陷分割算法的检测实时性和检测的准确性同样重要。针对本研究,根据中厚板图像采集的生产线钢板的运行速度,转化到图像处理速度大约为1 s内处理3张图像。平均每张图像的处理时间为330 ms。本文在实验平台上对SIFT算法进行缺陷检测的耗时进行测量,如图 11所示。平均每张图像的缺陷检测耗时为281 ms,满足现场应用要求。

图 11 SIFT检测结果

3 结论

本文详细阐述了SIFT匹配算法的基本原理,并把SIFT匹配算法应用于中厚板图像的缺陷检测。首先使用传统的缺陷检测算法找到基本的缺陷区域,然后使用SIFT算法对样本一一匹配,获取匹配结果,最后计算出变换矩阵或精确的像素位置。实验结果表明:基于SIFT算法的特征点检测能够有效地将缺陷区域框定,在特征点检测过程中SIFT算法依靠生成尺度空间,在尺度空间中寻找最大值,并对边缘以外检测到的特征点进行抑制,能够得到较好的缺陷区域。即使在图像发生畸变的情况下,SIFT算法也能取得一个良好的匹配效果,准确地检测出中厚板上缺陷的位置,大大降低系统对硬件控制精度的要求,从而降低了在中厚板缺陷检测中的硬件成本。此外,SIFT算法也确保了复杂背景情况下缺陷的高检出率。

参考文献
[1]
吴平川, 路同浚, 王炎. 机器视觉与钢板表面缺陷的无损检测[J]. 无损检测, 2000, 22(1): 13-16, 47.
WU P C, LU T J, WANG Y. Machine-vision technology and nondestructive detection of the surface defects in strip steel[J]. Nondestructive Testing, 2000, 22(1): 13-16, 47. DOI:10.3969/j.issn.1000-6656.2000.01.004 (in Chinese)
[2]
徐科, 徐金梧. 基于图像处理的冷轧带钢表面缺陷在线检测技术[J]. 钢铁, 2002, 37(12): 61-64.
XU K, XU J W. On-line inspection of surface defects of cold rolled strips based on image processing[J]. Iron & Steel, 2002, 37(12): 61-64. DOI:10.3321/j.issn:0449-749X.2002.12.017 (in Chinese)
[3]
LOWE D G. Object recognition from local scale-invariant features[C]//Proceedings of the 17th IEEE International Conference on Computer Vision. Kerkyra, Greece: IEEE, 1999: 1150-1157.
[4]
LINDEBERG T. Feature detection with automatic scale selection[J]. International Journal of Computer Vision, 1998, 30(2): 79-116. DOI:10.1023/A:1008045108935
[5]
WANG H X, YANG K J, GAO F, et al. Normalization methods of SIFT vector for object recognition[C]//Proceedings of the 10th International Symposium on Distributed Computing and Applications to Business, Engineering and Science. Wuxi, China: IEEE, 2011: 175-178.
[6]
ZHAO W L, NGO C W. Flip-invariant SIFT for copy and object detection[J]. IEEE Transactions on Image Processing, 2013, 22(3): 980-991. DOI:10.1109/TIP.2012.2226043
[7]
BELCHER C, DU Y Z. Region-based SIFT approach to iris recognition[J]. Optics and Lasers in Engineering, 2009, 47(1): 139-147. DOI:10.1016/j.optlaseng.2008.07.004
[8]
YUE H J, SUN X Y, WU F, et al. SIFT-based image compression[C]//Proceedings of 2012 IEEE International Conference on Multimedia and Expo. Melbourne, VIC, Australia: IEEE, 2012: 473-478.
[9]
HSU C Y, LU C S, PEI S C. Image feature extraction in encrypted domain with privacy-preserving SIFT[J]. IEEE Transactions on Image Processing, 2012, 21(11): 4593-4607. DOI:10.1109/TIP.2012.2204272
[10]
OBESO F, GONZALEZ J A, BROWN A. Intelligent on-line surface inspection on a skinpass mill[J]. Iron and Steel Engineer, 1997(10): 29-35.
[11]
LOWE D G. Distinctive image features from scale-invariant keypoints[J]. International Journal of Computer Vision, 2004, 60(2): 91-110. DOI:10.1023/B:VISI.0000029664.99615.94