结合区域分块的快速BRISK图像拼接算法 下载: 1101次
1 引言
近年来,图像拼接在生产实践中的应用场景中不断扩展,如航空、医学、刑侦、农业等领域[1]。图像拼接的实质就是将两幅具有相似区域的不同图像无缝连接到一起[2-3],并使得连接区域自然过渡,从而可以获得一幅视野较大的图像。其具体实现步骤包括图像预处理、图像特征点检测和匹配以及基于投影变换的图像融合[4-6]。其中最复杂且最重要的部分就是特征点的检测和匹配,这直接关系到是否能够成功拼接图像。
目前,在工程应用中最常用的图像拼接算法大致分成基于灰度相关及基于特征[4]两种方法。基于灰度相关的算法在图像旋转和尺度变换等方面存在出不太稳定的问题,而基于特征在各个方面均表现出较好的适应性,故而得到了广泛的研究和发展,成为了众多学者进行研究的主要方向。1999年Lowe首次提出SIFT(Scale Invariant Feature Transform)特征检测算法,并于2004年修正了此算法,使得此算法能够更好地适应尺度变化、拍摄角度变化以及曝光不同等情况,此算法抗噪声能力也很好[7-8]。但是该算法复杂度非常高、计算量大,导致在工程应用中很难达到实时性的要求。如果所拼接的图像的分辨率较低,SIFT算法会表现出较高的误匹配率[9-10]。文献[ 3]引入有向线段匹配的方法,该方法可以很好地剔除误匹配点,但是需以时间作为代价,无法满足工程应用中的实时性要求。文献[ 6]和[11]提出一种结合区域分块与SIFT的拼接方法,该方法在运行效率方面得到较大程度的提升。BRISK(Binary Robust Invariant Scalable Keypoints)算法是由学者Leutenegger等于2011年提出,该算法可以满足实时性要求,但是相比SIFT算法,BRISK在稳健性和精度方面表现较差[9,12-13]。文献[ 4]在BRISK算法中引入有向线段,使得误匹配率得到很好的控制,其算法平均运行时间为0.2397 s,相对常用的其他拼接算法而言,文献[ 4]中算法的运行时间已较低,但仍远未满足实时性要求。因此,在算法运行效率方面仍需要进行大量的研究,使其逐渐达到实时拼接的目标。
为了在保证拼接精度的前提下,极大程度地缩短BRISK图像拼接算法的运行时间,本文提出一种改进型算法,该算法充分考虑了实时性和精度的要求。实验结果表明,本文算法能够实现准确、稳定、高效的图像拼接。
2 图像拼接的总体框架
针对两幅图像分别做图像预处理,将不同质量的图像带来的干扰降低到最小;采用频域相位相关算法获得两幅图像间的相似区域,并对其做分块处理,通过计算图像块的标准差来筛选出两个分布在不同位置的图像块;对图像块采用BRISK算法进行特征点的检测和粗匹配,并利用检测到的粗匹配点对建立有向线段,进行邻近线段匹配,从而去除大部分误匹配点对;从两个不同图像块中分别随机选择两对匹配点对来计算投影变换矩阵,并计算其投影误差,筛选出符合要求的投影变换矩阵,用来融合两幅图像,获得拼接图像。图像拼接的详细步骤如
3 分块策略
本文在确定相似区域时采用的算法是频域相位相关算法[1],待相似区域确定之后,将其分别等分为
4 改进型BRISK算法
BRISK算法主要是使用FAST9-16(角点提取算法,在周围取16个像素点,若超过连续9个点与中心点差值大于阈值,则成为候选角点)进行特征点检测,通过构造图像金字塔来进行多尺度表达,解决了尺度不变性问题,其二值特征描述子是利用在局部图像区域内随机采样点对的灰度大小关系来建立的,计算其汉明距离,从而实现特征的匹配[13]。此算法具有良好的旋转不变性、尺度不变性和稳健性等特点。
4.1 建立有向线段
采用BRISK算法来检测两幅图像中的特征点,并获得粗匹配特征点对集合,分别记为
假设利用每幅图像检测到的特征点集构造出的有向线段数为
4.2 特征点匹配
经过上述步骤获得的匹配点对中的误匹配点对虽然已较少,但是,为了能够更好地排除误匹配点对,减少其对图像拼接结果的影响,采用随机采样的方式分别从两个图像块检测到的匹配点对集合中选取两个点对来求解投影变换矩阵
投影矩阵是指将一幅图像映射到另一幅图像的矩阵,有8个自由参数,其定义为
式中
对于理想的投影变换矩阵,两幅图像上检测到的匹配特征点对满足
式中特征点
根据(2)式可以计算出经过投影变换的实验坐标:
当误差阈值
式中
通过反复实验,最终确定将相似区域分割成
4.3 图像融合
因为不同图像的拍摄角度不同,图像的亮度也不相同,采用投影变换矩阵将两幅图像拼接到一起后,在拼接区域有明显的缝合痕迹,因此需要对其进行相应的融合处理,使得图像的拼接区域自然过渡,实现无缝拼接[14-16]。本文采用常用的加权算法对此区域进行处理,具体原理如下:
式中,
5 实验结果与分析
实验结果将从拼接速度和匹配正确率两方面来评价。其中,匹配正确率
式中
5.1 运行环境
算法运行环境如下:CPU为Intel core i5, 2.30 GHz,内存为8 GB,操作系统为64位Win7,MATLAB版本为MATLAB 7.10.0.499(R2010a)。
5.2 配准性能评价
图 3. 测试图像。(a1、a2)光照不同;(b1、b2)旋转角度不同;(c1、c2)分辨率不同;(d1、d2)尺度不同
Fig. 3. Test images under (a1) and (a2) different lighting, (b1) and (b2) different rotation angles, (c1) and (c2) different resolutions, and (d1) and (d2) different scales conditions
表 1. 不同算法的拼接时间对比
Table 1. Comparison of mosaic time using different algorithms
|
表 2. 不同算法的匹配正确率对比
Table 2. Comparison of matching correctness of different algorithms
|
在实际工程应用中,待拼接图像的相似区域仅占小部分,
图 4. 4组图像拼接结果。(a)光照不同;(b)旋转角度不同;(c)分辨率不同;(d)尺度不同
Fig. 4. Mosaic results of the four groups of images under (a) different lighting, (b) different rotation angles, (c) different resolutions, and (d) different scales conditions
图 5. 相似区域占比小的图像拼接结果。(a1、a2)测试图像;(b)拼接结果
Fig. 5. Mosaic result of images with a small proportion in similar area. (a1) and (a2) Test images; (b) mosaic result
6 结论
针对传统的图像拼接算法复杂度较高、运行速度低以及误匹配率较高的问题,本文提出一种结合区域分块的快速BRISK图像拼接算法。该算法为了降低误匹配率,提高匹配精度,引入有向线段匹配方法,使得误匹配率有明显改善。但是文献[ 4]的方法的运行时间仍然较长,因此,本文通过搜寻相似区域,并对相似区域进行分块,仅针对部分图像块进行特征点提取和匹配,使得算法的运行速度得到极大程度地改善,运行时间较文献[ 4]大约减少63.7%,虽然拼接精度较文献[ 4]略有降低,但是,从综合时间和精度两方面考虑,本文算法具有很好的优越性,在工程应用中表现出很高的应用价值。
[1] 赵岩, 陈月, 王世刚. 结合投影误差校正的快速SIFT图像拼接[J]. 光学精密工程, 2017, 25(6): 1645-1651.
Zhao Y, Chen Y, Wang S G. Fast SIFT image splicing with projection error correction[J]. Optical Precision Engineering, 2017, 25(6): 1645-1651.
[4] 董强, 刘晶红, 王超, 等. 基于改进BRISK的图像拼接算法[J]. 电子与信息学报, 2017, 39(2): 444-450.
Dong Q, Liu J H, Wang C, et al. Image splicing algorithm based on improved BRISK[J]. Journal of Electronics & Information Technology, 2017, 39(2): 444-450.
[6] 李玉峰, 李广泽, 谷绍湖, 等. 基于区域分块与尺度不变特征变换的图像拼接算法[J]. 光学精密工程, 2016, 24(5): 1197-1205.
Li Y F, Li G Z, Gu S H, et al. Image mosaic algorithm based on region block and scale invariant feature transformation[J]. Optical Precision Engineering, 2016, 24(5): 1197-1205.
[7] 于之靖, 王韶彬. 改进PCA-SIFT算法的立体匹配系统[J]. 激光与光电子学进展, 2016, 53(3): 031501.
[9] 周海洋, 朱鑫炎, 余飞鸿. 改进型高效三角形相似法及其在深空图像配准中的应用[J]. 光学学报, 2017, 37(4): 0410003.
[11] 杨飒, 夏明华, 郑志硕. 基于多项式确定性矩阵的SIFT医学图像配准算法[J]. 激光与光电子学进展, 2016, 53(8): 081002.
[12] CalonderM, LepetitV, StrechaC, et al. BRIEF: binary robust independent elementary features[C]. ECCV'10 Proceedings of the 11th European conference on Computer vision: Part IV, 2010: 778- 792.
[13] LeuteneggerS, ChliM, Siegwart RY. BRISK: binary robust invariant scalable keypoints[C]. IEEE International Conference on Computer Vision, 2011: 2548- 2555.
[14] 刘立, 彭复员, 赵坤, 等. 采用简化SIFT算法实现快速图像匹配[J]. 红外与激光工程, 2008, 37(1): 181-184.
[15] 陈思聪, 刘晶红, 何林阳, 等. 一种用于图像拼接的改进BRISK算法[J]. 液晶与显示, 2016, 31(3): 324-330.
[16] 何宾, 陶丹, 彭勃. 高实时性F-SIFT图像拼接算法[J]. 红外与激光工程, 2013, 42(S2): 440-444.
He B, Tao D, Peng B. High real-time F-SIFT image mosaic algorithm[J]. Infrared & Laser Engineering, 2013, 42(S2): 440-444.
Article Outline
赵婷, 康海林, 张正平. 结合区域分块的快速BRISK图像拼接算法[J]. 激光与光电子学进展, 2018, 55(3): 031005. Ting Zhao, Hailin Kang, Zhengping Zhang. Fast Image Mosaic Algorithm Based on Area Blocking and BRISK[J]. Laser & Optoelectronics Progress, 2018, 55(3): 031005.