陈小芳,蔡尊煌
(福建林业职业技术学院信息工程系,福建 南平 353000)
分割带钢表面缺陷是带钢表面缺陷检测中的关键环节,能否高效准确地分割缺陷将直接影响整个检测系统的性能。 由于带钢缺陷图像具有灰度不均匀、边缘模糊、纹理结构不清晰等特点。 传统的分割方法在分割这类图像时并未达到理想的分割效果。
基于几何活动轮廓模型的分割技术为带钢表面缺陷分割问题的解决提供了一个很好的工具,该模型能自动地收敛于能量极小值状态并且计算复杂度较低。 基于几何活动轮廓模型可分为基于边缘的模型[1-2]和基于区域的模型[3-5]。 基于边缘的模型是根据图像梯度信息对目标边界进行检测,对噪声、弱边缘的敏感度较高。 基于区域的几何活动轮廓模型利用图像灰度信息演化目标轮廓,解决了前者存在的问题,其中的经典模型CV(Chan-Vese)模型,能够分割带噪声的均匀灰度图像,却只利用了全局信息,因此不能用于灰度不均匀的带钢表面缺陷。 为此,文献[6]通过将图像局部灰度信息引入CV 模型提出RSF 模型,但是RSF 模型容易陷入最小值。 为了提高RSF 模型的分割性能,研究学者提出了很多改进的算法[7-13]。 文献[7]提出局部多尺度结构和向量水平集改进模型,改进模型取得不错的分割结果。 文献[8]结合图像局部全局信息,并且利用灰度分布信息自适应地调整局域化区域范围,提高了分割的准确率和运行效率,但引入了过多的参数,模型复杂。 文献[9]通过结合灰度值变化信息、图像熵与RSF 模型对该模型进行改进,改进后的模型对初始轮廓的鲁棒性以及分割灰度不均匀图像的能力有所提升,但是局部极小值的问题仍然存在。 文献[10]利用贝叶斯法则设计了一种非线性自适应速度函数,自动确定曲线演化的方向,较好地实现了对弱边缘的分割,但该算法对于初始轮廓敏感。 文献[11]通过使用图像局部两点间的欧氏距离代替模型中的高斯核函数,提出了一种基于局部相似性系数( Region-based model via Local Similarity Factor,RLSF)的RLSF 模型,更好地实现了对灰度不均匀图像的分割。 文献[12]提出了一种基于局部预拟合能量的主动轮廓模型,通过计算曲线演化前局部图像的平均灰度值来定义2 个预拟合函数,该模型可用于图像的快速分割。 文献[13]将RSF 模型与分水岭结合,实现了不错的分割效果。 文献[14]增加局部信息速度函数与自适应权重系数改进RSF模型,对凹边界和弱边界的提取能力得到提升。
RSF 模型曲线的构建依据是原始图像与局部拟合图像之间存在的差异,这使得RSF 模型容易陷入局部极小值,曲线停止演化导致误分割,尤其是针对边缘模糊的缺陷区域。 此外,RSF 模型中引入高斯函数,对于边缘模糊的缺陷区域会造成二次模糊,导致RSF 模型出现误分割或者分割不出缺陷目标区域。 针对这些问题,本文提出了改进的RSF 模型并应用于带钢表面缺陷分割。 一方面,在RSF 模型曲线中引入局部灰度差异信息,分别将局部灰度均值差异、局部方差差异作为新的拟合项和原模型拟合项的控制参数,驱动曲线演化避免陷入局部最小值;另一方面,使用双边滤波函数代替高斯函数来利用图像的局部信息,并且保护图像边缘细节。
研究可知,文献[6]在CV 模型中引入局部灰度信息提出了RSF 模型,解决了CV 模型不能分割灰度不均匀图像的缺陷,该模型利用2 个灰度拟合项来分别近似图像在演化曲线内部与外部的能量值,并引入高斯核函数来实现局域可变。 具体的能量泛函为:
其中,λ1、λ2是大于等于零的常量;Kσ(y - x)为高斯核函数;H(x) 为Heaviside 函数;φ(x) 为Lipschitz 函数;δ(x) 为Dirac 函数。
式(1)中第1、2 项为曲线内外局部灰度拟合项,也称为能量项,该项的作用为驱动模型曲线演化;第3 项为长度约束项,通过该项可以约束演化曲线的周长;第4 项为符号距离函数,避免模型曲线在演化过程中重新初始化。f1(x)、f2(x) 为点x邻域内模型演化曲线内外的局部平均灰度值:
RSF 模型通过引入局部信息能够分割灰度不均匀的图像,但是该模型易陷入局部最优值而导致模型曲线停止演化,造成误分割和有些缺陷目标区域未被分割出来;此外,计算局部平均值时使用高斯核函数,导致目标的边界变得模糊,更不利于边缘模糊的缺陷区域的分割。 本文通过引入局部灰度差异信息和双边滤波来改进RSF 模型。
RSF 模型的拟合项中通过使用高斯核函数来利用局部信息,因此可以用来分割灰度不均匀的图像。但是高斯核函数的引入也为RSF 模型带来了副作用,该函数会对图像进行平滑,使得模糊边缘更加模糊。 为了在分割灰度不均匀的带钢表面缺陷的同时能够保留边缘细节,应该选择具有高斯核函数功能并且能够保持边缘的核函数,双边滤波函数则符合该要求。 本文通过引入双边滤波函数代替高斯核函数来计算RSF 模型中的局部灰度平均值,从而改进拟合项。 改进后的局部灰度平均值的公式为:
其中,W为双边滤波函数[15]。 进一步,可以推得:
从式(6)中可以看出,在缺陷图像的平滑区,灰度差异小,即R(i,j,k,l) 小,R(i,j,k,l) 的值接近于1,此时的双边滤波的作用相当于高斯核函数;在边缘区,灰度差异大,即R(i,j,k,l) 大,则W(i,j,k,l) 小,滤波作用减弱,达到保持边缘的目的,特别是针对模糊边缘,避免了高斯核函数二次模糊的同时保留了边缘细节,从而有利于RSF 模型分割边缘模糊的带钢表面缺陷。
从式(1)可以看出RSF 模型依赖像素点x的局部拟合能量和演化曲线内外的拟合值f1(x)、f2(x),利用了局部灰度信息,却忽略了各个灰度值间的差异信息,造成RSF 模型陷入局部最小值,使得模型曲线无法准确定位。
针对这个问题,本文通过引入局部均值差异MD和局部方差差异信息VD1、VD2来解决。 其中,局部灰度均值差异是指曲线内外局部邻域间像素灰度值的平均值差异,能够反映曲线内外灰度的大致差异情况,较大的局部灰度均值表明模型曲线接近图像的真实轮廓,本文将其加入RSF 模型的能量泛函曲线作为一个新的拟合项,为曲线向真实轮廓靠近增加动力,加快曲线演化;局部灰度方差差异是指曲线内外局部邻域间灰度值的方差差异情况,能够表征曲线内外的局部区域的均质情况,本文将其分别代替RSF 模型中的λ1、λ2作为拟合项的曲线内外能量项参数。
若M1(x)、M2(x) 分别表示像素点x处的曲线内外局部灰度均值,则有:
其中,C(x,y) 表示圆形邻域权重,用来计算像素点x的圆形邻域中的像素点y的权重,可由式(9)来进行计算:
其中,N为像素点x的圆形邻域中的像素点数目;D(x,y) 表示圆形邻域中的像素点y与像素点x的距离;r表示该圆形邻域的半径。
本文将局部均值差异MD和局部方差差异VD1、VD2定义为:
其中,std(X) 表示X的标准差。
由此得到,本文的能量泛函定义为:
由式(11)~(13)可以看出,当std2(M1(x))>std2(M2(x)) 时,VD1>VD2,表明曲线内部匀质性小于外部,则增加曲线内部灰度拟合项的权重,以驱动曲线向内部演化;反之,说明曲线外部匀质性小于内部,则增加曲线外部灰度拟合项的权重;当两项差异最小时,能量泛函取得最小值达到最优。
改进的RSF 模型应用于带钢表面缺陷分割算法流程如图1 所示。 由图1 可知,模型的流程步骤为:
图1 改进的RSF 模型应用于带钢表面缺陷分割算法流程图Fig. 1 Flowchart of the improved RSF model applied to the segmentation algorithm of strip surface defects
(1)设定各参数的值。 尺度参数σ =3,γ =-1.0,μ =1.0,ν =0.3×255×255,圆形邻域半径r =7,最大迭代次数It =1 000,时间步长为Δt =0.1;
(2)给定初始轮廓,初始化水平集函数φ0;
(3)计算VD1、VD2、;
(4)更新水平集函数φn;
(5)判断是否满足收敛标准,若满足则输出最终结果,否则返回步骤(3)。 收敛标准为|φn+1-φn |≤0.01 或者是否达到最大迭代次数。
实验硬件环境为Intel(R) Core(TM) i5-6500处理器、8G 内存,软件环境为Windows7 系统、Matlab R2015a 软件。 数据集选用文献[16]中的NEU 带钢表面缺陷数据集,该数据集中包含了6 类热轧带钢表面缺陷,分别为裂纹(Crazing,CR)、夹杂(Inclusion,IN)、氧化铁皮压入(Rolled in Scale,RS)、乳化液斑迹(Patches,PA)、划痕(Scratches,SC)、麻点(Pitted Surface,PS),如图所示。 本文进行了大量实验,选取各模型最优参数的分割结果。研究中对大量的带钢表面缺陷图像进行了分割实验,并且将本文改进的模型分别与RSF 模型、RLSF模型和文献[13]模型的分割结果做对比。
为验证本文算法的有效性,分别与RSF 模型、RLSF 模型、文献[13]在NEU 数据集上进行对比实验,实验结果见图2。 从图2 中可以看出,本文算法能较准确地分割6 类缺陷,对边缘模糊的部分缺陷区域也进行了准确分割,但仍然有部分边缘模糊的缺陷未被分割;对于裂纹缺陷,RSF 模型存在分割错误,对非缺陷区域也进行了分割;RLSF 模型分割出部分缺陷区域,文献[13]模型准确分割出大部分缺陷,但对边缘模糊的一部分缺陷并没有分割出来。对于夹杂缺陷,RSF 模型演化曲线停留在边缘明显的缺陷区域上,未对图2 中边缘模糊的缺陷进行分割;RLSF 模型和文献[13]的模型相较于RSF 模型分割出部分边缘模糊的缺陷目标区域,但仍然没有本文的分割算法效果好。 对于乳化液斑迹缺陷,RSF 模型因为缺陷背景光照不均而出现了误分割,但其他2 种模型以及本文算法对该缺陷都进行了正确分割。 对于麻点缺陷,4 种分割模型都存在较大的不足,对于大量的分散麻点并没有分割出来,RSF模型和文献[13]模型分割效果相当,对于边缘模糊的小麻点缺陷未分割出来,本文算法相较于RLSF模型分割出较多的模糊边缘的小缺陷;对于氧化铁皮压入缺陷。 本文算法略优于其他3 种算法,分割出更多边缘模糊的小缺陷区域。 对于划痕缺陷,4种算法都分割出了较明显的划痕区域,与其他3 种算法相比,本文算法多分割出图2 中的另2 个划痕缺陷区域。 对6 类缺陷的分割结果说明,相比于RSF 模型、RLSF 模型、文献[13]分割模型,本文分割算法引入的局部均值和局部方差差异项以及双边滤波函数更好地对局部缺陷目标区域进行表征、并且保留了图像细节,能够避免演化曲线误分割以及准确分割出边缘模糊的缺陷区域。
图2 不同分割模型结果对比Fig. 2 Comparison of results of different segmentation models
此外,本文通过平均迭代次数比较4 种模型的分割效率,结果见表1。 相比于RSF 模型、RLSF 模型和文献[13]模型,本文算法的迭代速度有所提升,这是由于本文算法引入2 个灰度差异给原始模型增加驱动力,推动模型曲线加速演化,但本文为了保持缺陷区域边缘细节、避免高斯函数二次模糊缺陷边缘引入双边滤波这个非线性滤波函数,牺牲了一定的迭代速度。
表1 不同分割模型下的迭代次数对比Tab. 1 Comparison of the number of iterations under different segmentation models
在应用RSF 模型分割灰度不均匀以及边缘模糊的带钢表面缺陷区域时,该模型易陷入局部最小值而停止曲线的进一步演化,导致出现误分割,另外,该模型中的高斯函数容易造成边缘模糊的缺陷区域二次模糊进而影响分割效果,针对这些问题,本文利用局部方差差异调节曲线轮廓原有的2 个能量项,并且引入局部均值方差作为新的能量项,更好地对区域灰度值进行表征的同时为曲线演化增加新的动力,促使曲线加速演化。 另外,使用双边滤波函数代替高斯函数,以避免对模糊缺陷边缘造成二次模糊并保留图像细节。 在NEU 数据集上仿真实验结果表明,本文算法能够避免误分割,并且可以把边缘模糊的缺陷较快速地分割出来,从分割准确度以及运行效率上都取得良好的分割效果。 但是本文引入高斯函数牺牲了一定的运行时间,算法的运行速度有进一步的提升空间,此外,本文的算法未能完全分割出边缘模糊的小缺陷区域,算法有待改进。