基于图像形态学的焊缝区域提取与对比度提升技术

2024-03-15 06:25刘骁佳赵耀邦罗志强
中国材料进展 2024年2期
关键词:像素点X射线算子

刘 欢,刘骁佳,赵耀邦,王 宁,罗志强,危 荃

(上海航天精密机械研究所,上海 201600)

1 前 言

铝板焊接后焊缝内存在裂纹、气孔等缺陷,使用X射线成像方法进行缺陷检测是一种重要检测手段。由于X射线的成像方式、焊接材质、焊接方法等客观因素的影响,图像中焊缝区域与背景区域的像素值分布相似,焊缝区域对比度较低,不利于观察焊缝区域的缺陷,因此,提升焊缝区域的对比度成为有效检测焊缝缺陷的前提[1-3]。X射线成像中焊缝区域在整副图像中占比较低,若对整副图像进行对比度提升处理则数据量冗余且含有大量噪声,对比度提升效果较差,因此可先确定焊缝区域后再进行对比度提升处理。确定焊缝位置后,主要在焊缝区域中进行缺陷检测和识别,忽略图像中大多数无关区域,这将极大减少系统处理时间,为焊缝缺陷智能化和快速化检测实际应用提供基础。但由于X射线图像存在噪声多、焊缝区域边缘模糊等问题,因此如Sobel、Canny等传统的基于边缘检测的方法[4,5]应用于焊缝区域提取时效果较差。并且由于焊缝缺陷可能位于热影响区内,现有方法多为提取焊缝边缘,会导致提取位置遗漏;同时由于X射线成像焊缝区域的对比度低、亮度分布不均匀,基于不同区域类间方差原理的局部自适应阈值法[6-8]提取焊缝区域效果同样欠佳,并且当图像数据集较大,大多数焊缝提取方法难以针对所有图像都有较好的效果。因此针对现有方法存在的局限,本文提出一种自动提取焊缝区域并提高焊缝区域对比度的方法,提取焊缝位置区域并提升对比度,可解决大批量的X射线成像中焊缝区域难提取、对比度低的问题,提高识别可靠性,为后续焊缝区域的自动化缺陷检测提供基础。

2 焊缝区域对比度提升技术

通过X射线图像采集装置,收集多张不同厚度、不同位置、边缘形态各异的铝板焊缝图像,如图1所示,图1a~1e分别为焊缝不同位置、不同X射线源强度下获取的X射线图像。由图1可知,焊缝所在区域与背景区域像素值较为接近,焊缝区域对比度较低。

图1 典型铝板X射线图像Fig.1 Typical X-ray image of aluminum plate

焊缝区域内像素值梯度变化比背景区域剧烈,据此焊缝区域特性,以图1a中焊缝为例,首先进行焊缝区域的提取,再进行像素值线性变换,提升对比度,整体流程如图2所示。

图2 焊缝区域对比度提升流程图Fig.2 Flow chart of contrast improvement in weld area

2.1 双边滤波去噪处理

首先需对图像进行去噪处理,本研究使用双边滤波方法去除噪声,在尽量保留图像细节特征的条件下对目标图像的噪声进行抑制,达到保边去噪的目的。双边滤波同时考虑像素点的空域信息和值域信息,滤波器各权重系数大小ω是定义域核和值域核的乘积。

滤波器的定义域核计算公式如式(1):

(1)

其中,(i,j)是当前被卷积像素的坐标点,(k,l)是邻域像素的坐标点,σd是高斯函数的标准差。滤波器的值域核计算公式如式(2):

(2)

其中,vi,j是当前被卷积坐标(i,j)的像素值,vk,l是其邻域坐标(k,l)的像素值,σr是双边滤波器的标准差。定义域核与值域核相乘得到滤波器加权系数ω,如式(3):

ω(i,j,k,l)=

(3)

由公式(1)可知,定义域核d(i,j,k,l)由像素点之间的距离决定,像素点距离越远权重系数大小ω越小。由公式(2)可知,值域核r(i,j,k,l)由像素点差值决定,像素点差值越小权重系数大小ω越大。因此当图像中像素值变化较小时,此时值域核r(i,j,k,l)接近于1,定义域核d(i,j,k,l)起主要作用。当图像中像素值变化较大时值域核r(i,j,k,l)权重较大,较好地保留了图像的边缘信息。为保证双边滤波处理时定义域核和值域核的均衡性,可将标准差σr和σd数值设置为相同,原始X射线图像使用双边滤波器去噪后所得图像如图3。

图3 对原始图像进行双边滤波所得图像Fig.3 Image obtained by bilateral filtering of the original image

2.2 水平方向边缘检测

在图像形成过程中,由于图像中图形纹理、颜色的不同而导致图像的像素值发生突变,从而形成了整副图像的边缘。通过上文分析可知,焊缝区域的像素值梯度变化比背景区域剧烈,因此可利用焊缝边缘信息进行焊缝位置的提取。边缘是通过检查每个像素的邻域并对其像素变化进行量化,这种像素变化的量化相当于微积分里连续函数中方向导数或者离散数列的差分[9]。

本研究使用Scharr算子进行边缘检测,Scharr算子为一阶离散微分算子,可获得数字图像的一阶梯度[10-12],其算子临近待计算像素的算子权重更大,能计算出更小的梯度变化,因此精确度更高。Scharr算子是在一个坐标轴方向上进行非归一化的高斯平滑,在另一个坐标轴方向上进行差分处理。本研究根据焊缝摆放位置,设定在水平方向上进行差分处理,获得图像在水平方向上的边缘信息,所用Scharr算子模板如式(4):

(4)

原图像与Scharr算子进行卷积运算后,某一像素点(i,j)处的像素值可用式(5)表达:

(5)

由于使用Scharr算子进行卷积运算后,图像中某一点的数值将可能出现负数的情况,为处理数值方便,本研究将Scharr算子处理后的负数设置为0,此时检测出的边缘仅保留像素由小到大变化的一侧,双边滤波所得图像经Scharr算子检测水平边缘后所得图像如图4所示。

图4 双边滤波图像进行水平方向边缘检测Fig.4 Horizontal edge detection of bilateral filtered images

2.3 形态学开运算操作

经Scharr算子检测水平边缘所得图像中存在麻点状像素点,本研究使用形态学开运算操作去除此干扰信息。图像开运算可以去除图像中的噪声,消除较小连通域,保留较大连通域,同时能够使两块连接不紧密的连通域分离。图像开运算是对图像进行先腐蚀、后膨胀的过程,本研究中腐蚀和膨胀过程中采用相同的结构元素。腐蚀操作时取结构元素形状覆盖范围内最小值作为图像中该位置的输出像素值,而膨胀操作时取结构元素形状覆盖范围内最大值作为图像中该位置的输出像素值。常用的结构元素有矩形、椭圆和十字交叉,本研究中结构元素选取为矩形,水平方向边缘检测所得图像经开运算处理后所得图像如图5所示。

图5 水平方向边缘检测所得图像开运算处理Fig.5 Open operation processing of images obtained from horizontal edge detection

2.4 焊缝区域提取

第1步:获取形态学开运算后图像中每一像素点的像素值,统计每一行中所有像素点像素值的代数和,则第i行所有像素点的像素值的代数和由式(6)计算:

(6)

其中,m和n分别为图像行数和列数,vi,j为开运算后图像在第i行、第j列的像素值。为便于观察结果,可将开运算所得图5中像素点值之和按水平方向进行投影,可得图像每一行像素点像素值相加值的大小显示,如图6所示。

图6 像素值之和水平投影Fig.6 Horizontal projection sum of pixel values

第2步:确定X射线图像中焊缝所在位置的行数,设置布尔标识符flagWhite、flagBlack,其初始状态为0;同时设置变量colForword、colBehind分别用来记录图6中像素值之和不为0区域的起始行数和终止行数数值,其初始状态为0;并新建线性列表List用于储存所有像素值之和不为0区域的像素值总和大小,列表List1用于储存所有像素值之和不为0区域的起始行数值,列表List2用于储存所有像素值之和不为0区域的终止行数值,List、List1、List2初始状态为空。

第3步:从第1行开始,判断图6中此行像素值之和是否为0,若像素值之和为0则置colForword为当前行数大小,置flagWhite=0,flagBlack=1。

第4步:行数每次增加1,若像素值之和为0则colForword加1,直到此行像素值之和不为0,此时置flagWhite=1,flagBlack=0;行数依然每次增加1,若此行像素值之和不为0,此时flagWhite、flagBlack布尔值不变;直到此行像素值之和为0,此时置colBehind为当前行数大小减1。

第5步:计算colForword行至colBehind行的像素值总和大小sum,将sum储存至List列表,将colForword储存至List1列表,colBehind储存至List2列表。

第6步:重置colForword为当前行数大小,置flagWhite=0,flagBlack=1;并重复第4步至第5步直到图像中最后一行,将不为0区域的像素值总和大小、colForword、colBehind行数数值分别存储至List、List1、List2列表。

第7步:获取列表List中元素最大值summax,则summax所对应列表List1、List2中colForword、colBehind行数位置即为焊缝起始行和终止行,由此确定了X射线图像中焊缝位置区域。

为了避免图像处理过程中引起的焊缝边缘数据丢失,可设定单边误差大小h,则最终确定焊缝在X射线原始图像中第colForword-h行至colBehind+h行的位置。如图7中设定h为30个像素大小,即设定离colForword、colBehind各30个像素点的宽度作为有效区域,在X射线原始图像中可标注出焊缝区域。

图7 焊缝区域位置提取后标注Fig.7 Marking of the position of the weld seam area after extraction

2.5 焊缝区域对比度提升

由于X射线原始图像中对比度较低、亮度分布不均匀,焊缝区域像素值较为集中,因此本研究采用像素值线性变换的方法,提高焊缝区域的对比度情况。经线性变换后输出图像中某点的像素值oi,j可用式(7)表达:

(7)

其中,原图像中焊缝区域像素值范围为[vmin,vmax],输出图像中焊缝区域像素值范围为[omin,omax],通常omin、omax设定为当前图像深度位数下像素值最小值和最大值,经线性变换处理后的图像如图8所示。

3 结果与讨论

为验证本方法的鲁棒性和准确性,对11 150张X射线图像进行测试。X射线成像设备可输出8位、12位、16位的灰度图像,由于8位灰度图像读取速度快、程序运行占用内存空间小,因此为快速和大批量验证本文算法的有效性,文中采用8位灰度图像进行处理,依次使用去噪、边缘检测、形态学操作、焊缝区域提取、线性变换处理方法,采用Visual Studio 2015进行程序编写,对图像进行批量处理,开发了焊缝区域对比度自动提升的处理程序,图9所示为对典型铝板X射线图像进行处理所得结果。由图9可知,本方法可自动提升亮度分布不均、对比度低的焊缝区域的对比度。将本方法与Median-filtering[4]、Canny[5]、Adaptive-threshold[6]、Susan[13]这4种方法进行对比,所有方法均采用滤波去噪、边缘检测、开运算进行处理,如图10所示。对比5组实验结果可知,本方法比其他方法更适用于边缘模糊、噪声较多、亮度分布不均匀的X射线图像的焊缝区域提取,提取的冗余区域更小,可更准确提取焊缝区域。根据单边误差大小h的不同对11 150张X射线原始图片的测试结果准确率如表1所示。由表1可知,单边误差大小设置为30个像素时,即可得到准确率100%的焊缝提取有效区域。相较于陈强等[13]提出采用Susan算法将焊缝上下边缘单边60个像素点大小作为有效区域,本方法提高了焊缝提取的准确率和鲁棒性,减小了误差范围。

表1 准确率测试结果

图9 X射线图像(a~e)以及双边滤波(a1~e1)、边缘检测(a2~e2)、开运算(a3~e3)、对比度提升(a4~e4)处理后的焊缝图像Fig.9 X-ray images (a~e) and weld seam images processed by bilateral filtering (a1~e1),edge detection (a2~e2),open operation (a3~e3),and contrast enhancement (a4~e4)

图10 传统方法与本文方法结果对比:(a) 本方法,(b) Median-filtering,(c) Canny,(d) Adaptive-threshold,(e) Susan Fig.10 Comparison between the results of the traditional method and the method in this paper:(a) the method in this paper,(b) Median-filtering,(c) Canny,(d) Adaptive threshold ,and (e) Susan

对典型铝板X射线原始图像和线性变换后图像中焊缝区域的像素值进行统计,计算X射线原始图像和线性变换图像焊缝区域的均值和标准差,所得结果如表2所示。可知,原始X射线图像中焊缝区域像素值主要聚集在范围很小的一个区域里,所以导致其对比度较低。对原始图像焊缝区域的像素值进行线性变换后,图像焊缝区域的像素值平均扩大了4.13倍,像素值数据的波动性更大,分布更为离散,因此提高了焊缝区域的对比度,使图像细节看起来更加清晰。

表2 焊缝区域像素值均值和标准差结果

4 结 论

(1)针对于亮度分布不均、对比度低的焊缝区域,提出一种基于图像形态学的焊缝区域提取与对比度提升方法,使用双边去噪、边缘检测、形态学操作、焊缝区域提取、线性变换处理,当设置单边误差大小为30个像素时,可自动准确提取到准确率100%的焊缝位置区域。

(2)线性变换后的图像较原有图像焊缝区域图像像素值标准差平均扩大了4.13倍,像素值范围扩大从而提升了其对比度。

(3)使用Visual Studio 2015编写程序,用该方法对11 150张图像进行批处理,验证了该方法的准确性和鲁棒性,为后续焊缝区域内缺陷提取或焊缝动态跟踪提供了可靠保证。

猜你喜欢
像素点X射线算子
“X射线”的那些事儿
实验室X射线管安全改造
拟微分算子在Hp(ω)上的有界性
各向异性次Laplace算子和拟p-次Laplace算子的Picone恒等式及其应用
虚拟古生物学:当化石遇到X射线成像
一类Markov模算子半群与相应的算子值Dirichlet型刻画
基于5×5邻域像素点相关性的划痕修复算法
基于canvas的前端数据加密
基于逐像素点深度卷积网络分割模型的上皮和间质组织分割
Roper-Suffridge延拓算子与Loewner链