摘 要:研究Snake模型在铁路铸件数字化辐射成像(DR)图像气孔缺陷自动检测中的应用,改进初始轮廓点的获取方法。综合运用阈值分割和区域生长方法得到各气孔的重心,依次对其采用一种射线法得到初始控制点,对初始控制点进行收敛和拟合。对仿真图像的实验结果表明,最小检测尺寸为3×3,能较好地收敛到目标的凹陷区域;对实际铁路铸件DR图像检测的实验结果表明,该方法能准确得到检测区域内多个气孔缺陷的轮廓,不会检测出伪缺陷,具有较高的自动化程度。
关键词:Snake模型;气孔缺陷;数字化辐射成像图像;铁路铸件
1 概述
铁路货车上的摇枕、侧架等为普通钢铸件,由于本身结构的原因及生产工艺等因素的影响,常会出现气孔、缩孔、裂纹等缺陷。气孔会减少铸件有效承载面积和造成应力集中而降低铸件的力学性能,难以发现的内部气孔,会成为铸件工作时突然失效的严重隐患。数字化辐射成像(Digital Radiography, DR)检测技术具有检测效率高、自动化程度高、读片方便和可数字化档案管理等优点,在缺陷检测中得到广泛应用。传统的 DR检测通常采用人工评片的方法,但随着数据量的增大以及后期缺陷测量工作的进行,这种方法已不能满足检测的要求。因此,有必要对 DR图像的缺陷自动检测方法进行研究。
Snake模型[1]的基本思想是:定义1条可变的参数曲线及其能量函数,通过使该函数最小化来得到目标的真实轮廓。但文献[1]的Snake算法具有对初始位置敏感、计算量大、控制参量无法确定、时间开销大和无法检测到目标的凹陷区域等缺点,后来的很多学者对其进行了改进。文献[2]提出的基于Greedy算法的快速Snake模型大大降低了算法复杂度,但其要求初始轮廓点在目标边缘附近;文献[3]提出的扇形法可获得靠近目标边界的初始轮廓点,但仍需要人工选定目标的近似形心;文献[4-5]对Snake的能量模型进行了改进。
Snake模型自提出至今被用于多个领域,如运动目标跟踪、细胞核的自动分割[6]等。本文将 Snake模型用于铁路铸件 DR图像的气孔缺陷检测,针对该模型要求初始轮廓点在目标边缘附近的特点,改进了获取初始轮廓点的方法,提高了检测的自动化程度。
2 Snake模型
基本的Snake模型是受图像力和外力影响的可控的连续样条曲线。在Kass的Snake模型中,能量函数定义为:

其中,v(s)=(x(s), y(s))表示轮廓曲线,代表从单位参量域 s∈(0, 1)到图像表面的映射;Eint为内部能量项,由曲线本身的性质决定,式(2)为其定义公式,它的作用是保证轮廓的光滑与连续:

其中,一阶项控制曲线的连续性;二阶项控制曲线的弯曲程度。可以通过调整其系数来控制它们对曲线的影响程度;Eimage表示由图像作用力产生的能量项,它引导Snake向图像的显著特征移动;Econ为外部约束力产生的能量项,通常由人为设定,其定义要视具体情况而定,不同的问题其定义通常是不一样的。在很多情况下,在对图像进行分割时不考虑该项。
3 改进的Snake模型
本文能量最小化计算采用Greedy算法,针对该算法对初始位置敏感的特点,且为了减少缺陷提取过程中的人工干预,改进了生成初始轮廓的方法。
3.1 自动轮廓初始化
对铁路铸件来讲,不同部位对缺陷的承载能力是不一样的,即某些部位可以存在一定程度的缺陷,而有的则对缺陷比较敏感。因此,可以对 DR图像选取那些对缺陷识别要求高的部位进行检测。在某一区域内气孔通常是不会单一存在的,而主动轮廓模型一次只能对一个目标进行检测,因而必须采用一些方法来克服该缺点,使得采用主动轮廓法可以得到多个气孔缺陷的边缘。
Snake初始轮廓点的获取,目前多采用人工获取的方法,这种方法需要大量的人工干预,不利于自动化程度的提高。有学者对医学 CT体数据采用层间传递的方式将上一张图像中得到的目标最终轮廓传递至下一张图像作为其初始轮廓。这种基于层间传递的方式显然也不适用于本文的对象。
本文对初始控制点的提取方法进行改进,采用一种射线法来获得初始轮廓点。首先对选定区域进行简单的自动阈值分割,然后对每一个气孔区域,通过基于区域生长的方法得到各个气孔区域的近似重心,从该重心出发构造等间隔角度的n条射线,通过比较该射线上像素点的灰度值来得到初始控制点,如图1所示。

图1 轮廓线的初始化
具体实现步骤如下:
(1)对选定区域进行简单的阈值分割(阈值为检测区域的灰度均值),将气孔与工件分离开,得到近似的气孔区域。
(2)依次获取各个气孔的种子点并在原图中进行区域生长,对所得到的每个生长区域计算其重心mci、原图中每个生长区域的灰度均值gi以及生长区域外图像的灰度均值G。
(3)从重心mci出发构造n条射线Li(i=0, 1, …, n-1),相邻2条射线的角度间隔为 2π/n。在每一条射线上,从重心出发比较该点与在射线方向上距其 2个像素距离的点的灰度差值,当该差值大于gi-G时,停止比较;且为了保证初始控制点在目标区域外,此时再沿该射线方向取距其2个像素距离的点作为初始控制点。
用本方法可以自动得到近似于目标边缘的初始轮廓,除了最初选定要检测的区域外,不需要任何的人工干预;采用本方法进行轮廓初始化可以串行地用Snake方法对检测区域内的多个缺陷进行分割。
3.2 能量计算
Greedy算法的基本原理是:对每个初始控制点计算自身及其邻域内各点的能量值,选取其中值最小的点作为当前的控制点,这样迭代至各控制点不再移动为止。记Snake的初始轮廓点为vi(xi, yi)(i=0,1,…,n-1),搜索区域为vi的3×3邻域。离散化后的Snake能量函数为:

其中,Econt对应于式(2)中的一阶项,在Greedy算法中,它被定义为两控制点距离与控制点平均距离之差,其离散化形式如式(4)所示。其中,为各控制点的平均距离。两控制点间的距离越接近
,Econt越小,这样即可促使轮廓线上各点趋于均匀分布。

Ecurv控制 Snake的曲率,防止曲线过度弯曲,对应于式(2)中的二阶项。其离散化形式见式(5)。

为了使式(3)中各项的作用均衡,在计算过程中需对它们进行归一化。
Eimage通常采用图像的梯度值来表征。图像在边缘处的灰度值变化往往比较剧烈,因此,要使梯度值大的地方其Eimage小,需对梯度值取反。在Williams的模型中,对Eimage采用式(6)的计算方法。

其中,gmin和 gmax分别为控制点及其邻域中各点梯度的最小和最大值;g(v(i))为控制点或其邻域中某点的梯度值。本文选取Sobel算子来计算图像的梯度值。
3.3 算法的实现步骤
本算法的求解步骤如下:
(1)选定检测区域;
(2)对检测区域阈值分割并得到N个气孔的种子点;
(3)对第i个种子点按2.1节所述方法得到 Snake的初始轮廓控制点;
(4)依次对每一个控制点 vi,按2.2节所述公式计算其自身及其3×3邻域上各点的能量值,比较得到能量的最小值并移动该控制点至能量值最小处;
(5)判断是否满足迭代终止条件,若是,则执行步骤(6),否则返回执行步骤(4);
(6)判断i+1是否小于N,若是,则 i=i+1,返回执行步骤(3),否则结束程序;
(7)对收敛后的轮廓点进行拟合。
4 实验结果
DR图像一般具有图像对比度低、难以判定缺陷的边界等特点,因此,为检验本文所用方法的精确度,首先采用仿真图像进行实验。
对一系列仿真图像进行检测的结果表明本文所采用的方法能够检测最小的缺陷为3×3像素方块大小的气孔;对于大于3×3像素方块大小的气孔均能检测出来。
图2为仿真图像检测的结果。可以看出,本文采用的方法对仿真图像能得到较精确的检测结果,且能较好地收敛到凹陷区域。

图2 仿真图像检测结果
利用文中所述方法对铁路铸件 DR图像进行气孔缺陷的检测。图 3所示为真实 DR图像的检测过程,图像大小为70×38。图3(a)为原始图像,对其采用2.1节所述方法进行轮廓的初始化,得到的结果如图3(b)所示。图3(c)为采用Greedy算法进行能量最小化计算后的结果,在计算过程中,控制点的个数为20,各能量项的系数取值为:α=1.0, β=1.0, γ=1.5;收敛过程中2个气孔迭代次数均为2次。对这些离散的边缘点进行分段拟合后得到气孔缺陷的连续边缘,如图3(d)所示。

图3 DR图像气孔检测
在对对比度较低的图像检测的过程中发现,本文所使用的自动阈值法对图像进行二值化分割时有时会分割出伪缺陷,这是由于阈值选取、图像噪声及伪影造成的。针对该问题,本文采取对阈值分割后的缺陷大小和重心点附近的灰度值进行判定的方法进行位缺陷的去除,实验结果表明采用该措施后伪缺陷得以全部去除(限于篇幅,此处不加以罗列)。
5 结束语
本文将主动轮廓法用于铁路铸件DR图像的气孔缺陷检测,改进了获取Snake模型初始轮廓线的方法。实验结果表明,本文的改进方法所获得的初始轮廓点序列接近目标边缘,最终的收敛结果也能很好的逼近目标的真实边缘。图像中气孔的大小有时会有较大的差异,可以在检测的过程中根据不同目标的大小确定初始轮廓点的个数,这是本文下一步关注的方向;此外,如何自动选定检测区域,实现完全意义上的自动化检测也是本文进一步研究的方向之一。