APP下载

超声相控阵图像中的缺陷识别算法

2018-09-01,,,,,,,

无损检测 2018年8期
关键词:相控阵图像处理滤波

,,,, , ,,

(1.甘肃蓝科石化高新装备股份有限公司, 兰州 730070;2.国家知识产权局专利局 专利审查协作河南中心,郑州 450002;3.北京交通大学 理学院物理系,北京 100044;4.国标(北京)检验认证有限公司,北京 100088)

由于其具有的独特优势,相控阵检测技术一应用于工业无损检测就得到了迅速的发展,广泛应用于电力、铁路、石化等多个行业。但是相控阵应用中对相控阵图像的缺陷处理和分析,目前还停留在用肉眼观察和人工标识的阶段。另一方面,融合了图像处理、模式识别、自动控制等技术的运动目标自动检测和跟踪技术在计算机视觉系统研究领域正在不断发展[1]。

笔者将运动目标的自动检测和跟踪技术应用于相控阵检测的图像处理中,实现了超声相控阵图像中的缺陷识别与提取,以为超声检测自动化提供一种思路。

1 超声相控阵S扫图像

相控阵通过相位调制超声波发射角的偏转,同时记录发射和接收时差来间接检测目标深度。这种方法得到的原始数据是一个“角度-深度”坐标的回波强度矩阵。由于一般情况下角度的分辨率远小于深度分辨率,这个矩阵的长宽比就变得非常大,不适合直接进行图像处理。而扇形图像能很好地表示相控阵的发射角度和深度,而且图像比例合适,故可用于图像处理中。因此笔者需要做适当的坐标变换,将原始矩阵数据变成扇形,得到S扫图像。

文章使用双线性插值算法使原始数据矩阵中的坐标位置(θ,ρ)变换为S扫图像的每一个像素点(x,y)。如图1所示,十字点为S扫图像中的像素点,黑色点为原始数据中的点,P为需要被插值的点,A,B,C和D为P点对应的4个最相邻的原始数据点。

图1 双线性插值算法示意图

变换后最终得到的S扫图像如图2所示,可以看出相控阵S扫图谱记录的是特定角度上(扇形的不同母线),不同声程处(扇形母线的不同位置)的回波幅度(颜色)。

图2 试块S扫描示意与扫描图像

2 缺陷识别与提取

超声检测中往往有大量的噪声存在,如盲区白噪声、背景噪声、边界回波噪声、脉冲噪声、缺陷多次反射回波等。这些噪声信号通过数据转换后也存在于S扫图像中,是导致相控阵成像质量低、缺陷识别困难的主要因素。故只有对检测图像进行针对性地处理,使得缺陷图像与实际缺陷成为一一对应的关系后,才能对缺陷进行准确地提取和量化。反过来说,就是只有提取出的缺陷信息(深度、大小等)与实际缺陷相同或是相差不多时,才能认为图像处理及缺陷提取的过程是准确的。

噪声去除是图像处理的第一步,也是最重要的一步。一般来说,与缺陷信号特征相差较多的噪声信号比较容易处理,但一些与缺陷信号特征差不多的噪声,比如缺陷的二次回波、边角反射波等较难去除,如果强行去除则可能会失去真实的缺陷信号。图像处理过程中,特殊情况下有可能将一个缺陷划分为两个缺陷,也有可能把相近的两个缺陷合为一个缺陷,这都会影响到后续缺陷特征信息的提取。同时,随着图像的进一步处理,软件又能识别出新的噪声,需要进行噪声再处理。一般来说,计算机处理二值图像比较方便,所以对得到S扫图像进行二值化处理是其他高级处理方法的前提。

笔者依照去噪、二值化、滤波、多目标跟踪、缺陷提取步骤实现了缺陷的自动识别和信息提取。其主要流程如图3所示。

图3 缺陷自动识别流程

3 去噪

3.1 背景差分去噪

背景差分去噪可以去除大部分的噪声信号,特别是背景白噪声。处理方式是原图与背景进行矩阵减法运算得到新图。定义图像序列为pic(x,y,t)(其中x,y为空间坐标,t为第t帧数据),背景图像为background(x,y,t)。则背景差分可以表示为

pic′(x,y,t)=

|pic(x,y,t)-background(x,y,t)|

(1)

探头在移动扫查的过程中,噪声时刻都在发生变化,因此背景需要进行动态更新,文中选定权重p(0

background(x,y,t+1)=pic(x,y,t+1)×p+

background(x,y,t)×(1-p)

(2)

p的大小需要通过试验来确定,一般来说,p越大背景图像更新越快,但更新快容易导致前景目标融入背景。背景差分去噪的实际效果如图4所示,可以看到顶部的盲区噪声全部被滤除了,效果很好。

图4 图像背景差分去噪效果图

3.2 图像二值化

背景差分去噪后形成的图像为灰度图,不适合计算机软件进一步的图像处理,因此需要对图像进行二值化。设二值化后的某点像素值为mask(x,y,t),阈值为thresh(x,y,t),则二值化的过程可用式(3)表示

mask(x,y,t)=

(3)

二值化过程中,阈值的选择是关键[2]。最大类间方差法是力求得到尽可能大的背景和前景之间的类间方差,以增大图像两部分差别的方法[3],文章采用该方法来选取阈值。考虑到相控阵检测中超声波衰减、偏转角等因素的影响,文中二值化函数的阈值还和像素点所在的偏转角位置有关,偏转角越大阈值越小。这样可以降低缺陷目标在两侧被误认为背景的概率。图5所示为二值化前后的效果对比,可以看到左下角强度较低的回波噪声在二值化之后被滤除,产生了3个潜在目标。

图5 图像二值化前后效果对比

3.3 图像滤波

超声相控阵检测时受构件几何形状、耦合状况等因素的影响,缺陷存在不连续(即被分成两个或更多的部分)问题,同时也存在缺陷虚假边界等问题,而前期的背景去噪及二值化过程一般不能解决这些问题,所以需要进行进一步的滤波处理[4]。笔者采用了中值滤波加形态学处理的方法进行图像滤波处理。

3.3.1 中值滤波

中值滤波是一种常见的统计排序空间滤波器。这种滤波器的响应以滤波器包围的图像区域中所含的像素排序为基础,以统计排序的中值来代替中心像素的值[5]。

对于二值化后的图像,中值滤波器的输入图像只有2种灰度值,即0和1,此时的中值滤波器的工作变成了统计模板W内的1的个数并和模板大小的一半进行比较,可用式(4)表示

mask′(x,y,t)=

(4)

式中:mask(x,y,t)和mask′(x,y,t)分别为原始图像和处理后的图像;W为中值滤波的模板;w为模板的大小。

中值滤波器可以消除一些孤立的噪声点,填补一些缺陷目标中间的空隙。由图6可以很明显地看到,滤波后目标附近的孤立的像素点群被滤除了,同时目标中间的缝隙也被填补了,从而使目标变成了一个整体。

图6 图像中值滤波前后效果对比

3.3.2 形态学图像处理

中值滤波后,缺陷目标在图像上变为了一个整体,但是整体中,图像还存在较窄的间断、细长的沟壑、细小的孔洞、轮廓线不完整等一些问题。基于集合论思想,对二值图像进行形态变换的数学形态学方法则可以很好地对图像进行进一步的滤波。图7为对图像部分目标闭运算前后的效果对比图,可以看出经过闭运算后,目标中的沟壑和孔洞得到了填补,边缘也被平滑处理了。

图7 图像闭运算处理前后效果对比

经过中值滤波和形态学闭运算后,图像中大部分的背景噪声、回波噪声以及脉冲噪声均被去除。图8所示为图像滤波前后的效果对比图,可看出图像虽然清晰,目标缺陷形态完整,但图像中还存在边界回波噪声以及缺陷的高次回波噪声。文中前面也讲过这些噪声的静态信息和真实的缺陷几乎相同,如果强行去除有可能会失去真实的缺陷信号。

图8 图像滤波处理前后对比

4 缺陷目标跟踪及识别

为了进一步优化图像,去除边界回波噪声以及缺陷的高次回波噪声,文章采用了动态的多目标跟踪方法。多目标跟踪的基础是缺陷因为绝对位置的固定而在图像序列中有相同模式的轨迹,而噪声不具有这种特性。因此,可用轨迹的模式来区分缺陷目标和噪声。

4.1 连通域标记及缺陷信息的提取

经过形态学处理后的二值化图像,含有多个目标缺陷,这些缺陷虽然有的是噪声,但在图像上看,都是相互连通的实体,每一个实体都代表了一个可能的缺陷。这些实体在图像中,被称为连通域。为了更进一步地提取相关信息,需要对连通域进行标记。MATLAB中的bwlabel函数可以很好地实现连通域的标记[6],达到区分各个不同的实体并赋于每个实体索引号的目的。并且,每个被标记的连通域都可通过blobAnlysis函数得到连通域的面积、中心、边框等信息。得到目标缺陷的边框信息后,在未处理原图的对应范围搜索,又可得到目标缺陷的最强点位置、强度等信息。

文章至此,基本完成了目标缺陷的面积、边框、中心、最强点位置等主要信息的提取。但需要注意的是,至此步骤还有一些非缺陷信号没有去除,以下将通过动态的跟踪方法进行去除。

4.2 卡尔曼滤波及轨道分配多目标跟踪

单帧超声相控阵图像包含了所有的目标信息,但是同时还有一些和实际缺陷外形完全一样的噪声信号。这些信号很难通过单帧图像区分。采用动态的目标跟踪方法,通过连续跟踪多帧图像来剔除这些噪声是非常有用的方法。MATLAB附带的卡尔曼滤波器是一种著名的目标跟踪方法。原始的卡尔曼滤波器只能进行单目标跟踪,本身无法在多个输入中鉴别出唯一的正确坐标进行跟踪。

多目标跟踪方法最难的环节是帧间数据关联问题,即每一帧的目标分别对应前一帧的哪些目标,而这需要进行轨道分配。轨道分配多目标跟踪法要求建立多个轨道,在每一帧的开始阶段进行参数分配,将探测到的m个目标分配给n个轨道,对每一个轨道内的目标跟踪就是单目标跟踪,完全可以用卡尔曼滤波器实现。

图9 轨道分配距离定义示意

最简单的轨道分配算法是计算每一个轨道与每一个探测目标的距离,形成一个m×n的距离分布矩阵,其中m是探测目标数,n是轨道数。这里的距离指的是每一个轨道的卡尔曼滤波器预测的中心和观测值中心之间的几何距离,如图9所示。如果一个轨道只有一个候选目标,那么将目标分配给这个轨道;如果有多个候选目标,那么将距离最小的目标分配给这个轨道。

MATLAB中集成的轨道分配函数assign-DetectionsToTracks,可以高效地将探测目标分配给轨道[7],但是这只适合于n×n矩阵。因此需要根据实际情况来补全矩阵至方阵,即将计算出来的m×n距离分布矩阵补全至大方阵,增加部分的数据可以填入无限大的数(大于探测阈值)。分配探测目标给轨道将产生3种结果:

(1) 探测目标被成功分配给已有的轨道:目标跟踪正常,可以继续跟踪下去。

(2) 轨道没有分配到探测目标:跟踪目标和其他目标合并或是因为目标过弱、加速运动等原因而没有被探测到,需要保留轨道;也可能目标是噪声,此时已消失,需要删除相应轨道。

(3) 探测目标没有分配到已有轨道:新的目标或是噪声进入探测范围,需要交给后面几帧去判断,需建立新的轨道。

到此,文章完成了动态的噪声处理,去除了与实际缺陷信号非常接近的噪声信号。图10所示为整个程序完成图像处理前和处理后进行目标跟踪的效果对比,图中的编号为跟踪目标的序号,其中第9,55号是缺陷目标,49号是底面回波噪声,49号在轨道分配多目标跟踪后被滤去。

图10 某帧超声图像完成处理前和处理后目标跟踪效果对比

5 试验测试结果

根据上述理论,用C语言编写了原始数据坐标变换程序,使用MATLAB编写图像处理及识别程序,并进行了试验验证。在试验中,使用一个铝制带孔试块进行测试。试验所用试块及探头外观如图11所示,试块上钻有3个小孔作为缺陷。

试验共进行了5组数据的测量,测试结果如表1所示(3个正面的检测速度不同)。

由表1可以看出:识别结果中,除了第1组的89号目标由于轨迹不够完整被删除,以及第4组的30号由于刚好未触发删除阈值之外,程序都能很好地识别区分出正确的缺陷目标;在测量结果中误差的绝对值最大为1.66 mm,误差相对值最大为6.5%。考虑到超声波的波长在铝中有0.2 mm,以及孔洞大小直径为1~3 mm,作为一个demo程序,识别的正确率以及测量精确度都达到了较好的效果。

图11 测试所用的试块以及探头外观

表1 验证试验结果

6 结语

在算法流程中,目标消失后判断目标是噪声还是缺陷的工作是算法的一个重要部分,文中程序只是以连续不可见帧数作为判定依据进行简单判定的。在实际检测中如果要进一步优化程序,可以使用程序支持向量机来实现,可将目标本身的面积、边框、不变矩以及轨迹的最大深度、最高运动速度等信息组成一个n维向量作为支持向量机的输入,然后获取多组数据进行训练,最终用于目标识别,这需要更进一步的研究。

猜你喜欢

相控阵图像处理滤波
人工智能辅助冠状动脉CTA图像处理和诊断的研究进展
相控阵超声技术在PE管电熔焊接检测的应用
相控阵超声波检测技术认证
基于ARM嵌入式的关于图像处理的交通信号灯识别
一种相控阵雷达的通讯处理器设计
基于图像处理的机器人精确抓取的设计与实现
机器学习在图像处理中的应用
基于小生境遗传算法的相控阵雷达任务调度
一种GMPHD滤波改进算法及仿真研究
基于自适应Kalman滤波的改进PSO算法