2. 宝山钢铁股份有限公司 研究院, 上海 201900;
3. 宝山钢铁股份有限公司 钢管条钢事业部, 上海 201900
2. Research Institute, Baoshan Iron & Steel Company Limited, Shanghai 201900, China;
3. Steel Bars Division, Baoshan Iron & Steel Company Limited, Shanghai 201900, China
焊接缺陷会影响焊接钢管的使用寿命,因此自动检测焊接缺陷可提高焊接钢管出厂的合格率[1-3]。在基于钢管X射线图像进行无损探测中,自动检测焊缝缺陷是一个重要的研究主题[4-10]。由于X射线图像强度分布不均匀,缺陷的形状、尺寸大小、亮度、分布位置各异,使得从钢管X射线图像中自动分离各种缺陷较为困难。在过去20年中,很多计算机辅助缺陷检测算法被提出,这些算法主要分为两类:1) 基于缺陷特征的方法[4-5]。焊缝缺陷一般位于焊缝区域内或边缘附近,这类方法在提取缺陷特征之前,需要准确分割焊缝区域,这类缺陷检测算法的检测精度比较依赖焊缝边缘是否提取准确,如位于边缘的缺陷检测精度可能会受较大的影响,此外,由于厚钢管X射线图像对比度低,焊缝边缘模糊,形状各异,且焊缝在X射线图像中的位置不固定,使得准确检测焊缝区域较为困难。2) 基于机器学习方法[6-10]。通过训练缺陷的正负样本获得分类器,通过分类器来检测缺陷,这类方法需要大量的人工标记缺陷数据,然而,人工标记缺陷工作量大,并且不同专家标记的结果可能差别较大,没有统一的判别准则,因而较难在实际生产线上应用。
针对上述两类方法中存在的不足,本文提出一种基于快速独立分量分析(Independent Component Analysis, ICA)无监督学习的厚壁钢管焊缝中的气孔检测算法。该算法不需要提取焊缝区域,不需要人工标记缺陷数据,从不均匀中的X射线图像中,可准确检测并定位不同类型的气孔,具有较强的抗干扰能力和较高的识别精度。首先收集一序列正常的钢管X射线图像集合(这些图像已被专家标定为正常);其次选择一个参考图像,对所有正常图像进行亮度和尺寸归一化;再次,使用快速ICA方法从收集到的正常集合中学习出一组独立的基底,并用该组基底来逼近输入带缺陷的测试图像,在逼近图像中,正常区域和焊缝区域得到较好的表达,而缺陷区域表达不好。最后测试图像与逼近图像相减,缺陷区域被凸显出来,而非缺陷的正常区域被减掉,通过二值化这个差异图像,气孔缺陷被分离出来。
1 焊缝中气孔检缺陷检测数学建模这部分主要介绍识别焊缝缺陷的数学模型的建立。用F表示带缺陷的X 射线图像(分辨率大小n×m)。F可认为由三部分组成:焊缝区域(FW),各种气孔缺陷区域(FD),及背景图像(FB),如图 1所示,故焊缝缺陷可通过式(1) 计算得到:
${{\bf{F}}_D} = {\bf{F}} - {{\bf{F}}_B} - {{\bf{F}}_W}{\rm{ = }}\;{\bf{F}}{\rm{ - }}{{\bf{F}}_{BW}}$ | (1) |
从图 1及式(1) 可知,只要求得FB和FW,就可分离出各种缺陷,因而检测各种缺陷FD的问题转换为求FB及FW。通常从F直接计算FB和FW是比较困难的,因此需要设计一种可行的方法来估计FBW (FBW= FB+FW),FBW表示焊缝区域和背景图像。根据收集到的正常 X 射线图像集合组成一个正常子空间,将测试图像投影到该正常子空间中,在投影图像中,测试图像的背景及焊缝区域得到较好的表达,而气孔缺陷区域被抑制表达,投影图像即为估计的FBW。从正常图像集合中学习该正常子空间的常用算法有主分量分析、混合高斯建模和ICA等方法[11]。主分量分析要求估计的数据须呈高斯分布,检测效果容易受训练样本数量的影响。混合高斯建模法对厚钢管X射线建模不佳,由于此类图像噪声多,亮度分布不均匀,焊缝区域与背景区域灰度接近,混合高斯法对噪声,不均匀亮度分布比较敏感。ICA不受训练样本数的影响,能较好分离非高斯数据,并能很好地抑制噪声,但普通ICA收敛速度较慢,选择参数较多,在实际生产线上很难应用;快速ICA算法[12]具有计算效率高,选择参数少,分离效果好,能满足生产线上实时性要求的优点,因此,本文采用快速ICA来学习该正常子空间。
本文通过收集到一序列的正常的 X 图像集合(表示为Ψ), 对集合中每一幅图像进行尺寸归一化, 保证每幅图像的长宽尺寸一样;然后根据参考图像,使用灰度归一化算法使每幅图像具有相同的灰度直方图,使用快速 ICA 无监督学习算法从Ψ中学习一组独立的基底θ1,θ2,…,θN(N为正常集合中图像个数,每个基底向量可恢复成与测试图像尺寸一样大小的图像),通过式(2) 来逼近FBW:
${{\bf{F}}_{BW}} = \sum\limits_{i = 1}^N {\theta {_i}} \cdot {{\bf{w}}_i}$ | (2) |
其中:wi表示每个独立基底所对应的响应系数。FBW与Ψ中的每幅图像相似,因而{FBW}∪Ψ中的背景图像可能落在一个低维子空间H(子空间H是由θ1,θ2,…,θN这些基向量确定的,选择不同的基向量组合,得到的子空间H也不一样)中;在Ψ中每幅背景图像不包含焊缝中相对较小的气孔(这里的“小”是指缺陷区域相对整幅图像区域来说的)的结构信息,所以低维子空间H中的基底向量无论怎么组合都无法较好地表达气孔区域。因Ψ中的每幅图像包括有焊缝区域,一般焊缝区域占整幅X 射线图像的五分之一,属于比较大的结构,Ψ中的每幅图像中的部分区域与焊缝区域有一定程度相似,因而通过子空间H的基底向量组合可对较大的正常区域及焊缝区域进行较好的表达,而相对较小的气孔被抑制。当带缺陷的测试图像投影到Ψ或子空间H后,在投影得到的图像FBW中,正常区域及焊缝区域被较好地重构,而气孔区域被对应位置上的正常区域替代。根据式(2) 可知,气孔FD检测的问题转换为求FBW,即如何从Ψ中学习一组有表达偏好特性的基底向量,这组基底能够选择性地表达正常及焊缝区域,而抑制气孔区域的表达。
2 气孔缺陷检测计算框架这部分主要介绍一种新的焊缝气孔检测的计算框架,首先收集一个由大量正常X 射线图像组成的集合,随后对集合中每个图像进行尺寸和亮度归一化,接着采用快速 ICA 方法从Ψ中学习一组有表达偏好特性的基底向量,最后F能够用这组学习到的基底有选择性重构正常背景及焊缝区域,而抑制气孔区域的表达,得到FBW,则不同的缺陷区域在差异图像|F-FBW|中表现为较强的视觉显著性,可用全局阈值将气孔从差异图像中分开。图 2是气孔缺陷检测算法的流程,下面将详细介绍每一部分。
这部分主要介绍一些预处理方法来处理集合中的每一幅图像,便于后续使用ICA进行独立分量的学习。首先,对集合Ψ中每幅图像进行尺寸归一化,保证每幅图像具有相同的尺寸,得到一序列的尺寸归一化后的图像,在本文实验中,Ψ包含320幅尺寸归一化后的X 射线图像,由于这些图像成像条件不同,每幅钢管焊缝图像有不同的明暗对比度,因此采用灰度归一化式(3) 使得每幅图像具有相似的明暗对比度,减少每幅图像间强度变化带来对检测结果的干扰,得到最终尺寸和颜色归一化后的正常集合ΨN:
$\mathit{\boldsymbol{\bar{F}}}=\frac{{{\alpha }_{1}}}{{{\alpha }_{2}}}\left( {{\mathit{\boldsymbol{F}}}_{2}}-{{\mu }_{2}} \right)+{{\mu }_{1}}$ | (3) |
其中:F2是归一化之前的图像,F为归一化后的图像,α2,μ2是F2的方差和均值,α1,μ1是FR参考图像的方差和均值。图 3(b)中灰度分布不均匀,整体亮度也存在较大差异,参考图FR进行颜色归一化后,这幅图像具有相似的明暗对比度,整体亮度也一致,如图 3(c)所示,消除这些个性因素带来的干扰,保证所有训练图像和测试图像都具有相似的对比度,便于后续独立分量的学习与测试图像FBW的估计。
获得预处理后的正常集合ΨN后,如何从ΨN中学习一个低维子空间H,该子空间中的基向量的组合,能够选择性表达正常FB及焊缝区域FW,而抑制相对较小的缺陷气孔FD表达。在有缺陷的测试图像中,背景图像及焊缝区域与正常集合中对应区域具有相似的结构,而正常集合中每幅图像不包含类似于缺陷的结构信息,因此每个测试图像中的FBW能够被这些子空间中的基向量进行很好的表达,而相对较小的缺陷区域被抑制表达。常用基向量学习的方法[11]有:主分量分析(Principal Component Analysis, PCA)、高斯混合模型(Gaussian Mixture Model, GMM)和独立分量分析(Independent Component Analysis, ICA)[12-13]等。PCA要求训练数据须呈高斯分布,如果样本数太少,学习出的基向量表达能力较差,文中所用训练集Ψ较小;GMM要求训练样本背景图像比较固定,但Ψ中的背景图像是在不同条件采集的,背景图像有变化,且焊缝形状各异,因而GMM对背景变化的建模效果不佳;ICA不受训练样本数的影响,对非高斯数据具有较好分离,并能很好地抑制噪声,因此,本文试图采用 ICA 子空间方法从Ψ中分解出一序列的非正交的基向量,但由于 ICA 收敛速度较慢,选择参数较多,在实际生产线上很难应用,因此本文采用快速 ICA 方法,该算法具有计算效率高,选择参数少,分离效果好,能满足生产线上实时性要求的特点。下面是基于快速 ICA 进行子空间学习,并重构测试图像FBW的具体步骤:
1) 将ΨN中每个训练样本(I1, I2, …, IN,N=320,图像分辨率大小为n×m)拉成一序列的行向量,将这些行向量组合成观测图像矩阵Z。
2) 对观测矩阵Z中每个行向量减去对应的均值向量,并进行白化处理,去除Z中每个向量的相关性,得到新的观测矩阵Z1,计算公式为:
${{\mathit{\boldsymbol{Z}}}_{1}}=(\mathit{\boldsymbol{V}}/\sqrt{\mathit{\boldsymbol{D}}})\cdot \mathit{\boldsymbol{Z}}$ | (4) |
其中,V, D是观测矩阵Z去均值后的协方差矩阵的特征向量和特征值矩阵。
3) 初始化随机权矩阵W=(w1, w2, …, wN),W是一个N*N的权重矩阵,w1, w2, …, wn, 代表每次迭代更新的权重行向量,该变换矩阵可将N*N(M=n*m,
${{\bf{W}}^*} = E\{ {{\bf{Z}}_1}\tanh ({{\bf{W}}^T}{{\bf{Z}}_1})\} - E\{ \tan {\rm{h'}}({{\bf{W}}^T}{{\bf{Z}}_1})\} {\bf{W}}$ | (5) |
4) 获得变换矩阵W后,根据式(6) 将观测数据投影到降维后的子空间,得到N个不正交的独立分量,每个分量表示为θ1,θ2,…,θN,集合Ψ中每个图像可被这些基向量的线性组合,进行很好的表达。每个独立分量θi是一幅与F尺寸一样的图像。
$\left[ {{\mathit{\boldsymbol{ }}\!\!\theta\!\!\rm{ }}_{\rm{1}}},{{\mathit{\boldsymbol{ }}\!\!\theta\!\!\rm{ }}_{2}},\cdots ,{{\mathit{\boldsymbol{ }}\!\!\theta\!\!\rm{ }}_{N}} \right]=\mathit{\boldsymbol{{W}'}}{{\mathit{\boldsymbol{Z}}}_{1}}$ | (6) |
5) 令HN代表由θ1,θ2,…,θN确定的子空间,FBWH表示F投影到子空间HN得到重构图像,这里可认为FBWH≈FBW,计算公式如下:
${{\mathit{\boldsymbol{F}}}_{BW}}\approx {{\mathit{\boldsymbol{F}}}_{BWH}}=\sum\limits_{i=1}^{N}{{{\mathit{\boldsymbol{ }}\!\!\theta\!\!\rm{ }}_{i}}}\cdot {{\mathit{\boldsymbol{w}}}_{i}};{{\mathit{\boldsymbol{w}}}_{i}}=\sum\limits_{x=1}^{n}{\sum\limits_{y=1}^{N}{{{\mathit{\boldsymbol{ }}\!\!\theta\!\!\rm{ }}_{i}}(}}x,y)\cdot F(x,y)$ | (7) |
其中:θi(x, y), F(x, y)分别是独立分量图像θi和测试图像F在像素点坐标(x, y)灰度值。原始测试(如图 4(b))图像投影到子空间HN后,在得到的重构图像(如图 4(d))中,正常区域及焊缝区域得到较好的表达,而对应的气孔区域被抑制。
2.3 从F中分离各种气孔这部分主要根据2.2节中得到的FBWH,从F中分离出各种气孔,然后用相关形态学方法将二值化图像中的孤立噪声点滤掉,得到最终检测结果。在实验中,选择320个独立分量重构带缺陷的测试图像,使用式(7) 计算对应的重构图像,根据对应的测试图像,对其重构图像进行灰度归一化。随后不同类型的气孔将在差异图像|F-FBWH|中表现为显著性区域。文献[10]中自动阈值选择方法对对比度较好的气孔缺陷能获得较好的分割效果,但对低对比的气孔,分割效果欠佳。为测试本文提出算法的最佳检测效果,本文最终采用半自动方法选择全局阈值来分割气孔,通过选择的阈值将各种气孔分离出来(将来工作着重解决阈值的自动选择上)。图 4是分离各种气孔的过程。
图 4(b)是图 4(a)灰度归一化结果图,图 4(c)是将图 4(b)投影到子空间H320的重构结果,图 4(d)是图 4(c)参考图 4(b)的亮度归一化结果,图 4(e)是图 4(d)和图 4(b)相减后的差异图像,在椭圆内,气孔缺陷表现为显著性区域。由于采集的X射线图像中存在一些零散的噪声点,属于较小的结构区域,根据文中第1章分析可知,小结构区域不能被子空间中的独立分量很好地表达,因此在差异图像中,这些噪声点区域也将随各种气孔缺陷被凸显出来,用全局阈值很难将噪声区域排除。为减少这些噪声点的干扰,对二值化图像采用先腐蚀后膨胀处理方法,将这些零散的噪声点排除掉,又保证不损失缺陷区域信息。图 4(f)是对二值化图像进行形态学处理后的最终检测结果。
3 实验结果与讨论本文的正常训练数据和包含气孔缺陷的测试数据来自宝钢的厚钢管焊缝X射线图像集合,其中训练数据320幅,测试数据60幅,由于厚钢管图像对比度低,灰度分布不均匀,噪声较大,使得各种气孔缺陷在钢管X射线图中检测较为复杂;此外,各种气孔缺陷本身也较为复杂,有的一幅图像中包有的多个不同尺寸、不同明暗度的气孔缺陷,有的气孔位于焊缝不同的位置,有的气孔缺陷与正常焊缝区域和背景亮度接近,有的气孔缺陷呈现不同的形状,这些因素导致自动检测厚钢管中各种气孔较为困难。为验证本文提到的算法的可行性和有效性,本文测试大量包含有各种气孔缺陷的X射线图像。图 4是对不同明暗度、不同尺寸及不同形状的气孔缺陷的检测结果。本文算法能较好地将位于焊缝边缘上的气孔缺陷检测出来,检测结果如图 5(e)、5(n)所示;提到的算法还能检测不同明暗度的缺陷,如图 5(f)和5(p)所示;算法还能较好检测与正常焊缝区域和背景区域对比度接近的气孔缺陷,如图 5(m)、5(o)所示;此外一幅图像中包含有多个不同尺寸、不同明暗度的气孔缺陷,如图 5(g)、5(h)所示,但这些缺陷也能较好地被检测出来;图 4(a)、5(i)、5(l)中的气孔缺陷形状各异,本文算法也能较好将它们分离,检测结果如4(f)、5(m)、5(p)所示。
从图 5中可知,只要X射线图像中的气孔缺陷区域,与周围区域相比,对比度不太低,本文算法就能较好地将各种不同形状、不同尺寸、不同对比度和位于不同位置的气孔缺陷检测出来。为评估本文提到的算法,手工标记23幅包含有各种气孔缺陷的图像,将本文检测结果与标记结果对比。TP(True Positive)表示缺陷区域像素被正确检测为缺陷的像素点数,FP(False Positive)为背景区域像素点被误检测为缺陷区域像素点数,FN(False Negative)为缺陷区域像素点被误检测为背景区域像素点数,TN(True Negative)为背景像素点被正确检测为背景的像素点数。根据式(8) 、(9) 计算其对应的灵敏度(Sensitivity, SE)、特异度(Specificity, SP)和检测准确率(Accuracy, ACC):
$\left\{ \begin{align} & SE=\frac{TP}{TP+FN} \\ & SP=\frac{TN}{TN+FP} \\ \end{align} \right.$ | (8) |
$ACC=\frac{TP+TN}{TP+FN+TN+FP}$ | (9) |
SE, SP, ACC越接近1,表明算法的分割效果越好。23幅图像的统计结果为:平均敏感性、平均特异性、平均准确率分别为0.905, 0.997, 0.997。另外给出图 4(a)和图 5(a)~(d)和图 5(i)~(l)的检测结果的TP、TN、FP、FN以及SE、SP、ACC统计指标,如表 1所示。
图 4(a)、图 5及表 1表明提到的算法不需要提取焊缝区域,也能准确将不同大小、不同形状、不同明暗度,并位于不同位置的气孔缺陷有效检测出来,而常见缺陷检测算法[4-5]需要将焊缝边缘检测出来,但由于厚钢管X射线图像噪声较大,对比度低,焊缝形状不规则,导致有些位于焊缝边缘的气孔检测效果不佳;基于机器学习的缺陷检测算法[6-10]需要手工标记大量的缺陷数据,由于实际缺陷种类繁多,对标记数据的专家要求较高,且标记缺陷的工作较大,本文方法是基于正常集合的无监督学习方法,不需要标记各种缺陷,也能准确将各种气孔缺陷检测出来。
4 结语检测厚钢管X射线图像中各种气孔缺陷较为困难,本文提出一种新的检测气孔缺陷的计算框架,通过无监督机器学习方法学习出测试图像的背景及焊缝区域,在差分图像中,气孔缺陷相比周围背景区域被增强,表现为一个显著性区域,极大地消除了亮度分布不均匀及噪声带来的干扰,通过阈值可将气孔缺陷准确分割出来,检测结果具有较高的敏感性和准确率。本文提出方法不仅可用于X射线图像中的焊缝缺陷检测,还可用于太阳能电池板表面的缺陷检测,以及纺织工业中织物的疵点检测。本文算法存在的不足是,目前选择的阈值是半自动的,未来主要工作集中在阈值的自动选择上:可采取局部自适应阈值方法或通过机器学习方法自动学习出一个分割阈值。
[1] | 高炜欣, 胡玉衡, 武晓朦, 等. 埋弧焊X射线焊缝缺陷图像分类算法研究[J]. 仪器仪表学报, 2016, 37 (3) : 518-524. ( GAO W X, HU Y H, WU X M, et al. Sub-arc X-ray welding defect image classifying algorithm[J]. Chinese Journal of Scientific Instrument, 2016, 37 (3) : 518-524. ) |
[2] | 李雪琴, 刘培勇, 殷国富, 等. 基于Fourier拟合曲面的X射线焊缝缺陷检测[J]. 焊接学报, 2014, 35 (10) : 61-64. ( LI X Q, LIU P Y, YIN G F, et al. Weld defect detection by X-ray images method based on Fourier fitting surface[J]. Transactions of the China Welding Institution, 2014, 35 (10) : 61-64. ) |
[3] | 胡海林, 李静, 李剑, 等. 基于视觉与电弧多信息传感的焊缝跟踪算法[J]. 计算机应用, 2012, 32 (6) : 1760-1765. ( HU H L, LI J, LI J, et al. Seam tracking algorithm based on multi-information sensor of vision and arc[J]. Journal of Computer Applications, 2012, 32 (6) : 1760-1765. ) |
[4] | DANG C Y, GAO J M, WANG Z, et al. A novel method for detecting weld defects accurately and reliably in radiographic images[J]. Insight-Non-Destructive Testing and Condition Monitoring, 2016, 58 (1) : 28-34. doi: 10.1784/insi.2016.58.1.28 |
[5] | RATHOD V R, ANAND R S. A comparative study of different segmentation techniques for detection of flaws in NDE weld images[J]. Journal of Nondestructive Evaluation, 2012, 31 (1) : 1-16. doi: 10.1007/s10921-011-0116-6 |
[6] | SHAH M, NIZAM H, RASHID A, et al. Vision based identification and classification of weld defects in welding environments:a review[J]. Indian Journals of Science and Technology, 2016, 9 (20) : 1-15. |
[7] | MOGHADDAM A A, RANGARAJAN L. Classification of welding defects in radiographic images[J]. Pattern Recognition and Image Analysis, 2016, 26 (1) : 54-60. doi: 10.1134/S1054661815040021 |
[8] | ZAPATA J, VILAR R, RUIZ R. An adaptive-network-based fuzzy inference system for classification of welding defects[J]. NDT and E International, 2010, 43 (3) : 191-199. doi: 10.1016/j.ndteint.2009.11.002 |
[9] | VALAVANIS I, KOSMOPOULOS D. Multiclass defect detection and classification in weld radiographic images using geometric and texture features[J]. Expert Systems with Applications, 2010, 37 (12) : 7606-7614. doi: 10.1016/j.eswa.2010.04.082 |
[10] | ZAPATA J, VILAR R, RUIZ R. Performance evaluation of an automatic inspection system of weld defects in radiographic images based on neuro-classifiers[J]. Expert Systems with Applications, 2011, 38 (7) : 8812-8824. doi: 10.1016/j.eswa.2011.01.092 |
[11] | CHANG J, LIU W B, HU H, et al. Improved independent component analysis based modal identification of higher damping structures[J]. Measurement, 2016, 88 : 402-416. doi: 10.1016/j.measurement.2016.03.021 |
[12] | REYHANI N, YLIPAAVALNIEMI J, VIGÁRIO R, et al. Consistency and asymptotic normality of FastICA and bootstrap FastICA[J]. Signal Processing, 2012, 92 (8) : 1767-1778. doi: 10.1016/j.sigpro.2011.11.025 |
[13] | SHYU K K, LEE M H, WU Y T, et al. Implementation of pipelined FastICA on FPGA for real-time blind source separation[J]. IEEE Transactions on Neural Networks, 2008, 19 (6) : 958-970. doi: 10.1109/TNN.2007.915115 |