桥梁病害图像配准算法研究
2019-01-21武旭娟
武旭娟
(辽宁省交通规划设计院有限责任公司公路养护技术研发中心 沈阳市 110111)
1 概述
桥梁在经过长时间的服役之后,会产生很多病害,其中一些病害会对桥梁长期运行产生致命的影响,所以需要定期对桥梁进行检测。桥梁病害比如长度比较长的裂缝,单个相机的视野并不能看到完整的病害信息,所以需要对单个相机采集到的图像进行拼接,去除图像中的重叠区域,形成一幅完整的、视角更大的全景图,使图像能够更加全面、直观地显示桥梁情况。
当今社会,科学技术的发展日新月异,图像配准技术作为数字图像处理的一部分已成为图像信息处理、模式识别领域中的一项非常重要的技术,并在立体视觉、航空摄影测量、资源分析、医学图像配准、光学和雷达跟踪、检测等领域得到了广泛的应用[1]。
图像配准是计算机视觉领域的一个经典问题,因此现有的图像配准方法有很多。从选择的配准基元和配准方式的不同出发,常用的图像配准算法大体有:基于区域的配准算法[2]、基于特征的配准算法[3]和基于相位的配准算法[4]。基于区域的配准算法直接对图像像素进行配准,配准结果不受特征检测精度的影响,可得到比较好的定位精度,但是该方法对光照条件、对比度的变化和图像的旋转比较敏感,而且当两幅图像相关像素邻域内存在遮挡和有重复的纹理特征时,会引起匹配的混淆,从而得到错误的匹配结果,再加上配准基元的数目很多会使得计算量很大,处理速度慢,并且容易受到噪声干扰,鲁棒性差。相位配准法有相位相关法和相位差频率法。由于配准基元是相位,本身就是信号的结构信息,对图像的高频噪声有很好的抑制作用,但存在相位奇点和相位卷绕,随着视差范围的增大,其精度下降。然而基于特征的配准算法利用图像中的拐点、直线、圆弧、自由曲线和边缘的朝向等几何特征信息,配准速度快,精度高,对光照变化、噪声等不敏感,解决了测量环境变换这一因素带来的问题,所以选择基于特征的配准方法。
2 基于特征点的配准方法
基于特征点的图像匹准算法,需要先在基准图像中选择特征区域,应用角点检测算法提取角点,通过从检测出的角点中选择其中三个点作为特征点,然后在待配准图像中找到与之相匹配的特征点,根据这三对特征点的坐标构成的矩阵计算出从基准图像到待配准图像的仿射变换矩阵,最后对待配准图像运用仿射变换得到定位后的结果图像。整个流程如图1所示。
图1 匹配流程
考虑获取特征的便捷性,通常以闭合区域、物体边缘、轮廓、线的交叉点和角点等作为特征。为了便于进一步处理,常用控制点(CPs)(质心、端点、突出点)来表征这些特征。在理想的情况下,好的检测算法不管图像出现何种畸变,都应具有在两幅图像中检测出相同特征的能力。由于选择的控制点的精度、数量以及它们在图像上分布情况会影响几何校正和配准的精度,所以控制点一般应选择较为明确、稳定,并且在参考图像和待配准图像上容易辨认、目标较小的突出特征点;控制点需分布均匀,否则在控制点较为密集的区域内匹配的准确度较好,而在控制点分布稀疏的地方,配准的精确度就差,而且需注意控制点的数量要适当,控制点过多计算机处理的时间加长,控制点过少不利于精确配准。
特征选取之后,需要建立参考图像与待配准图像特征之间的对应关系,按上述流程图来进行。
3 基于特征点匹配算法的实现
图像采集过程中由于受到光照、拍摄时间、拍摄角度等的不同,两幅图像重叠区域中的同一个点拍摄效果可能并不完全一样。特征点匹配就是把两幅重合图像中提取出的特征点匹配起来,找到正确的匹配点对。每一个匹配点对中的两个点虽然是来自两幅图像,但是他们对应的却是图像中的同一个点。特征点匹配采用knnMatch算法,这是一种蛮力匹配,基本原理是将待匹配图片的SURF特征与目标图片中的全部SURF特征一对n的全量遍历,找出相似度最高的前2个点。
为了排除因为图像遮挡或背景混乱而产生的无匹配关系的关键点,Lowe提出了比较最近邻距离与次近邻距离的匹配方式:取一幅图像中的一个SURF关键点,并找出其与另一幅图像中欧式距离最近的前两个关键点,在这两个关键点中,如果最近的距离除以次近的距离得到的比率少于某个阈值T,则接受这一对匹配点。
应用halcon中的proj_match_points_ransac(Image1,Image2::Rows1,Cols1,Rows2,Cols2,GrayMatchMethod,MaskSize,RowMove,ColMove,RowTolerance,ColTolerance,Rotation,MatchThreshold,EstimationMethod,DistanceThreshold,RandSeed::HomMat2D,Points1,Points2) 算子来实现特征点的正确匹配。halcon中,函数参数包括四部分:图像数据输入、图像数据输出、控制输入和控制输出,每一个函数并不一定都包括这四部分。此算法中,没有图像数据输出,其中[Image1,Image2]代表左右两幅图像,[Rows1,Cols1,Rows2,Cols2,]为左右两幅图像中提取的特征点的横纵坐标。
整个匹配过程分两步:首先,确定两幅图像中特征点周围掩模窗口的灰度相关性,特征点之间的初始匹配由两幅图像窗口的相似性来生成。然后应用RANSAC算法确定极限约束下的对应关系。掩模窗口为MaskSize×MaskSize,灰度相似性度量方法(GrayMatchMethod)有三种,且最简单的计算相似度量的方法是SAD(sum of absolute gray value difference)和SSD(sum of squared gray value difference),这两种相似测量方法的运算速度非常快。不幸的是,这两个方法有一个缺点,就是光照变化对算法影响比较大。而在本试验中,由于两个相机的视角不同,光线是有变化的,所以选择使用归一化互相关方法(NCC-normalied cross-correlation)计算相似度量。使用归一化互相关系数的优点就是线性的光照变化不会导致该系数发生变化,这个不变性是通过直接减去平均灰度值消除加法对图像的影响,用灰度值的标准方差消除乘法对图像的影响,然而此方法计算过程比较耗时。
为了提高算法的速度,搜索区域可以限制,这就需要标定得到的平移与旋转参数,即[RowMove,ColMove,Rotation],最重要的便是旋转参数,此参数的精确性关系到匹配的准确度。
参数EstimationMethod表示根据摄像机之间的位置来选择应用那种方法,如果摄像机之间既有平移又有旋转,则设置为“normalized_dlt”或者“gold_standard”;如果摄像机之间只有平移,则设置为“trans_normalized_dlt”或“trans_gold_standard”。
参数error是控制输出参数,是对整个匹配过程中精度的一个评价,是点到核线的平均欧式距离,用像素值来表示。
[Points1,Points2]也是控制输出参数,是应用此算法匹配成功的特征点。
整个匹配过程流程图如图2所示。
图2 配准流程图
4 实验过程及分析
由于桥梁病害识别系统采集到的图像像素尺寸较大,特征点较多,在寻找特征点时耗时久,为了提高拼接效率,先对感兴趣区域进行提取。为了尽可能多地获得重叠区域,选取一定的感兴趣区域进行特征点提取。
图3 原图
图4 感兴趣区域提取
特征点匹配结果如图5所示,为了清晰展示匹配结果,图5所展示的是部分区域放大图像。可以看出,由于消除了大部分不合格的特征点,能够得到比较精准的匹配效果。
图5 配准结果
通过上述过程可以得到两幅待拼接图像的匹配点集,根据匹配点集对图像进行配准,即将两张图像转换到同一坐标下,并通过两个匹配点集求得变换矩阵,找出特征点之间的映射关系。由于系统采集到的桥梁图像尺寸较大,拼接多幅图像对硬件要求高、耗时长,为了加快计算速度,本算法采用缩略图进行拼接,拼接图像长、宽各缩小到原图的1/16。根据匹配点集计算出拼接图像区域大小,用变换矩阵对右图进行仿射变换,并对左图进行拷贝。仿射变换结果如图6所示,拼接结果如图7所示。
图6 仿射变换结果
图7 拼接结果
从图7可以看出,拼接效果并不自然,造成这一问题的主要原因是两幅图像的光照条件不同,色调也不相同,因此使用加权融合来降低这一影响,即在重叠部分由前一幅图像慢慢过渡到第二幅图像,将图像的重叠区域的像素值按一定的权值相加合成新的图像,融合效果如图8所示。
图8 图像融合结果
多幅图像拼接结果如图9所示。
5 结束语
对单反相机采集的图像,应用基于特征点的配准方法,实现了图像的拼接。经过多次实验验证,此配准方法切实可行,改善了单个相机不能拍摄大视场图像、不能完整查看病害信息的情况。
图9 多幅图像拼接结果