基于尺度不变特征变换的无砟轨道板钢筋检测

2020-12-19 07:58吴应永高晓蓉尹紫红
无损检测 2020年3期
关键词:原图像素轨道

吴应永,高晓蓉,杨 阳,尹紫红

(1.浙江邮电职业技术学院 通信技术咨询院,杭州 310000;2.西南交通大学 物理科学与技术学院 光电工程研究所,成都 610031;3.中国移动通信集团浙江有限公司 杭州分公司,杭州 310000;4.西南交通大学 土木工程学院 道路与铁道工程系,成都 610031)

由于高速铁路无砟轨道板在国内的应用时间不长,所以在检测其疾病(缺陷)方面仍然缺乏经验,通过系统地对比分析高速铁路无砟轨道板的结构[1]、主要病害类型及其原因[2],以及对应无损检测方法的优缺点[3],说明了探地雷达方法是一种很好的检测无砟轨道板的方法,实际探测也证明了该方法的有效性。但是,由于目前探地雷达病害(缺陷)图像的钢筋自动检测识别功能有限,故基于探地雷达病害(缺陷)图像,进行了钢筋自动检测识别技术研究,为之后的病害(缺陷)工作奠定了良好的基础。

笔者通过改进尺度不变特征变换(SIFT)算法和模板匹配算法,使其适用于高速铁路无砟轨道板探地雷达的病害(缺陷)图像,实现了钢筋自动检测识别和计数判断功能,节省了人力物力。

1 基本原理

1.1 SIFT算法概述

1.1.1 SIFT算法的基本原理

产生SIFT图像特征的主要计算步骤如下所述[4]。

(1) 尺度空间极值检测:搜索图像的所有尺度空间,使用高斯差分尺度空间DOG(Difference of Gaussian) 来检测尺度空间的极值点。

(2) 精确定位关键点:准确计算每个候选点的位置和尺度。

(3) 关键点指定方向:为每个关键点分配方向,将图像数据操作转换为特征点尺度操作。

(4) 特征点描述子的生成:梯度统计当前关键点周围的尺度区域,形成特征点描述子。

1.1.2 SIFT算法存在的问题

SIFT算法仍有些许问题需要改进:首先,提取的特征不是人眼的焦点,特征点被大量检测,导致信息冗余,影响后续的匹配速度和准确性;其次,特征向量的生成维数高,计算量大,影响实时性,难以应用于实时性要求较高的系统,如基于双目立体视觉的实时跟踪系统[5]。尽管已有不断提出的改进算法,以求在一定程度上提高实时性能,但仍然没有达到预期的效果。

1.2 无砟轨道板钢筋自动检测原理

设计实现的无砟轨道板钢筋自动检测算法基于探地雷达图像,采用SIFT改进算法和模板匹配的方法实现了钢筋自动检测识别和数目计数的判断功能,通过去除错误和重复匹配点,提高了检测的精度,减少了算法的复杂度以及运行时间和内存占用率。

1.2.1 图像预处理

所采用的图像预处理方法流程如图1所示。

图1 图像预处理流程图

采用累积分布函数CDF (Cumulative Distribution Function),此时的直方图均衡化映射函数如式(1)所示。

gk=EQ(fk)=(ni/n)=Pf(fi),

k=0, 1, 2, …,L-1

(1)

式中:EQ为映射函数;L为图像的灰度等级;求和间隔为0~k。

根据式(1),可由原图各像素灰度值得到直方图均衡化后各像素的灰度值。

中值滤波:数字图像中一点的值被该点邻域中的其他点的中值替换,使得周围的像素值接近真实值,从而消除了孤立的噪声点。二维中值滤波输出如式(2)所示。

g(x,y)=med{f(x-k,y-l),(k,l∈W)}

(2)

式中:f(x,y),g(x,y)分别为原始图像和处理后的图像;W为二维模板,通常为3×3,5×5区域;l为纵向平移量。

全局二值化:设置全局阈值T,并使用T将图像数据分为两部分,大于T的像素群和小于T的像素群。将大于T的像素组的像素值设置为白色(或黑色),并且将小于T的像素组的像素值设置为黑色(或白色),从背景和噪声中凸显出目标物体。

Sobel边缘锐化:图像的每一个像素的横向及纵向灰度值通过式(3)来计算该点灰度的大小。

(3)

式中:Gx为像素点的横向灰度值;Gy为像素点的纵向灰度值。

如果梯度G大于某一阈值,则认为该点(x,y)为边缘点。

Canny边缘检测过程如下所述。

(1) 图像边缘检测必须满足两个条件:一是能有效地抑制噪声;其次,必须尽可能准确地确定边缘的位置。

(2) 根据信噪比和定位乘积的测量,得到最佳逼近算子,这就是Canny边缘检测算子。

(3) 与Marr(LoG,高斯拉普拉斯)边缘检测方法类似,其也是一种在平滑后再获得导数的方法。

提取模板图像:采用边缘像素分割法即可实现。

1.2.2 SIFT提取特征点

基于LOWE提出的SIFT算法,采用欧氏距离确定匹配特征点,定义如式(4)所示。

d(loc1,loc2)={[loc1(i,1)-loc2(i,1)]2+

[loc1(i,2)-loc2(i,2)]2}1/2,

i=1, 2, …,n

(4)

式中:loc1(i,1)和loc1(i,2)分别为点1的x和y的坐标值;loc2(i,1)和loc2(i,2)分别为点2的x和y的坐标值。

阈值参数为dR,范围为[0,1],定义如式(5)所示。

(5)

式中:d12(loc1,loc2)为点1,2之间的欧氏距离;d13(loc1,loc3)为点1,3之间的欧氏距离。

1.2.3 模板匹配

待测图像和模板图像进行配准,找到最佳匹配位置,计算两幅图像的SSD(平方差总和)与NCC(归一化互相关),来获得钢筋部位并标记显示。SSD和NCC定义如式(6)和(7)所示。

(6)

(7)

式中:x0和y0分别为最佳匹配位置的横纵坐标;g(x,y)和f(x,y)分别为待测图像和模板图像;F(u,v)实现f(x,y)的频域平移;M,N为模板图像的长度和宽度;G*(u,v)为待测图像g(x,y)的频域平移特解;u,v分别为频域里的自变量和因变量。

(8)

1.2.4 钢筋计数

将Canny边缘检测过后的图像用于钢筋数目的计数和判断。采用连通性分析法中的Seed Filling(种子填充法)。

选择前景像素作为种子,然后根据连通区域的两个基本条件将与种子相邻的前景像素合并到同一像素集中(像素值相同且位置相邻)。然后,得到的像素组是连接区域。

基于种子填充方法的连通区域分析方法如下所述。

(1) 扫描图像,直到当前像素点A(x,y)=1。

(a)A(x,y)作为种子(像素位置),并给其一个标签,然后将与种子相邻的所有前景像素推入堆栈。

(b) 弹出堆栈的顶部像素,给其相同的标签,然后将堆栈顶部像素附近的所有前景像素推到堆栈上。

(c) 重复步骤(b),直到栈为空。

此时,找到图像A中的连接区域,并将该区域中的像素值标记为标签。

(2) 重复第(1)步,直到扫描结束。

扫描结束后,可以得到图像A中的所有连接区域。

图2为种子填充算法的标记结果,标记为“1”的为一个连通区域,标记为“2”的为另外一个连通区域。

图2 种子填充算法的标记结果

2 试验结果与分析

2.1 仿真图像

采用的无砟轨道板探地雷达图像由仿真软件产生。仿真的无砟轨道板为CRTS I型P4962,尺寸为4 962 mm×2 400 mm×200 mm(长×宽×高),表层预留100 mm厚的空气作为实际探地雷达探头与无砟轨道板接触时的间隙。纵向排布16根直径为13 mm的钢筋,并从左至右加入不同性质、不同形状的病害(缺陷),病害(缺陷)类型尺寸如表1所示。

根据表1设置的病害(缺陷)类型、大小和位置,仿真的无砟轨道板模型如图3所示。

表1 病害(缺陷)类型尺寸

图3 无砟轨道板病害(缺陷)仿真模型

2.2 图像预处理

按照前文所述图像预处理的基本原理和流程,对仿真软件获得的无砟轨道板探地雷达仿真图像进行处理,直方图均衡化结果如图4所示。

图4 直方图均衡化结果

图4显示的直方图均衡化处理后的探地雷达图像中,表面直达波、钢筋反射波以及背景杂波的对比更加明显。中值滤波结果如图5所示,可见,采用4×4窗口中值滤波处理后的探地雷达图像中,背景杂波以及噪声可被有效去除。

图5 中值滤波结果

原图及全局二值化结果如图6所示,可见,采用阈值为0.5的全局二值化处理后的探地雷达图像中,钢筋反射波可被大部分保留,其余大部分被剔除。

图6 全局二值化结果

原图及图像分割结果如图7所示,图7(b)为采用图像分割技术获得的单独钢筋反射波图像。

图7 原图及图像分割结果

原图及Sobel边缘锐化结果如图8所示,图8(b)中使用Sobel算子锐化钢筋反射波图像的边缘。

图8 原图及Sobel边缘锐化结果

图9 原图及Canny边缘检测结果

图10 原图及提取的模板图像

2.3 改进SIFT提取特征点

使用LOWE提出的SIFT算法初步建立和提取特征点,并通过位置信息判断去除重复和错误匹配的特征点,获得最终的可靠特征点,结果如图11所示。

图11 改进SIFT提取特征点结果

由图11分析可得,通过改进SIFT算法,可于待测图像建立146个特征点,于模板图像建立4个特征点,初步获得30个匹配特征点,通过位置信息判断去除了3个重复匹配特征点,最终获得27个匹配特征点。

2.4 模板匹配

通过模板匹配法可获得最佳匹配位置并进行标记,以及SSD和NCC参数,模板匹配结果如图12所示。

图12 模板匹配结果

由图12可知:通过模板匹配法可首先定位最佳匹配位置并进行红星标记显示,其次通过NCC和SSD的显示,可直观判断波纹交叉点(SSD值越接近0,NCC值越接近1)所在位置极有可能是钢筋所在位置区域。

2.5 钢筋计数

通过矩阵的行以及连通性分析法即可获得钢筋的准确数目。试验结果如图13~15所示。

图13 待测原始图

由图13~15分析可得,对图13做矩阵求行和,可得结果如图14所示,为了便于连通性分析,对图14中的纵坐标在区间[0, 2]内做规约可得如图15所示结果,通过连通性分析可准确获得待测原始图的钢筋数目为16根,加之模板匹配法获得的辅助判断信息,可更加肯定该方法的可行性和正确性。

图14 待测图像矩阵行和结果图

图15 用于连通性分析图

3 结语

通过对仿真软件获得的无砟轨道板探地雷达仿真图像进行图像处理,改进SIFT算法,去除重复和错误匹配点从而获得较好的匹配特征点,加之模板匹配的方法,最终实现了钢筋的计数判断。文中算法是无砟轨道板探地雷达图像处理领域的一种探索和尝试,后期可在无砟轨道板探地雷达图像病害(缺陷)自动检测和算法的实际图像适用性方面进一步研究。

猜你喜欢
原图像素轨道
像素前线之“幻影”2000
推荐书目《中国轨道号》
“新谢泼德”亚轨道运载器载人首飞成功
朝美重回“相互羞辱轨道”?
“像素”仙人掌
完形:打乱的拼图
找一找
高像素不是全部
跨越平凡
巧拼火柴棒