激光与光电子学进展, 2018, 55 (3): 031005, 网络出版: 2018-09-10   

结合区域分块的快速BRISK图像拼接算法 下载: 1101次

Fast Image Mosaic Algorithm Based on Area Blocking and BRISK
作者单位
贵州大学大数据与信息工程学院, 贵州 贵阳 550025
摘要
为了解决传统图像拼接算法匹配率低以及拼接速度慢的问题,提出一种结合区域分块的快速BRISK图像拼接算法。采用频域相位相关算法寻找两幅图像间的相似部分,将其均匀划分成N×N'的图像块,计算各图像块的标准差,选择标准差较大且分布在不同位置的两个图像块,用BRISK算法进行特征点粗匹配。获得匹配点对后,构造有向线段并进行邻近线段匹配。通过随机选择的匹配点对计算投影变换矩阵,进行投影误差校正,最后进行加权融合和亮度均衡化完成图像拼接。实验结果表明:该算法能够保证图像拼接的正确率大于90%,并且拼接速度提升63.7%。
Abstract
In order to solve the problems of the low matching rate and the low mosaic efficiency of the traditional image mosaic algorithms, we propose a fast image mosaic algorithm based on area blocking and binary robust invariant scalable keypoints (BRISK). Firstly, we use the frequency domain phase correlation algorithm to find the similar areas between the two images. Secondly, we divide the similar areas into N×N' image blocks evenly and calculate the standard deviation of each image block. Thirdly, selecting two image blocks with large standard deviations in different positions, we coarsely match the feature points by BRISK algorithm. Fourthly, we construct the directed line segments and match the adjacent line segments after obtaining the matching points. Finally, we calculate the projection transformation matrix by the randomly matching point pairs to correct the projection error, and accomplish the image mosaic by weighted fusion and luminance equalization. The experimental results show that the matching correctness of the proposed algorithm is more than 90%, and the mosaic speed is increased by 63.7%.

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算法进行特征点的检测和粗匹配,并利用检测到的粗匹配点对建立有向线段,进行邻近线段匹配,从而去除大部分误匹配点对;从两个不同图像块中分别随机选择两对匹配点对来计算投影变换矩阵,并计算其投影误差,筛选出符合要求的投影变换矩阵,用来融合两幅图像,获得拼接图像。图像拼接的详细步骤如图1所示。

图 1. 图像拼接流程图

Fig. 1. Flow chart of image mosaic

下载图片 查看所有图片

3 分块策略

本文在确定相似区域时采用的算法是频域相位相关算法[1],待相似区域确定之后,将其分别等分为N×N'的图像块。NN'的取值需通过实验来确定,应大小适中,这样既可以达到减少特征点数量的目的,又可以保证最终的匹配精度较好。通过实验,本文最终选取N=11,N'=6。选择此分块策略的原因是相似区域一般为长方形区域,而实验中所用图像的相似区域通常高度大于长度。此外,当分块数量大于此数值时,图像块所占面积小,使得检测到的匹配点数量少,故而无法选择并计算出满足要求的投影变换矩阵;当分块数量小于此数值时,图像块所占面积较大,使得特征点检测和匹配所用时间延长。在图像块的选择方面采用的方法是分别计算每个图像块的标准差,通过比较选择标准差较大且所在位置不一样的两个图像块,对其采用BRISK算法来获取特征点和粗匹配点对。具体检测方案如图2所示,其中方格所在区域表示两幅图片的相似区域,灰色方格区域表示用于检测并筛选出特征点的区域。

图 2. 特征点检测示意图

Fig. 2. Feature points detection diagram

下载图片 查看所有图片

4 改进型BRISK算法

BRISK算法主要是使用FAST9-16(角点提取算法,在周围取16个像素点,若超过连续9个点与中心点差值大于阈值,则成为候选角点)进行特征点检测,通过构造图像金字塔来进行多尺度表达,解决了尺度不变性问题,其二值特征描述子是利用在局部图像区域内随机采样点对的灰度大小关系来建立的,计算其汉明距离,从而实现特征的匹配[13]。此算法具有良好的旋转不变性、尺度不变性和稳健性等特点。

4.1 建立有向线段

采用BRISK算法来检测两幅图像中的特征点,并获得粗匹配特征点对集合,分别记为A={p1,p2,…,pn}和A'={p'1,p'2,…,p'n}。利用这些粗匹配点集来建立有向线段端点集,分别记为B={(pi,pj),i<j}和B'={(p'i,p'j),i<j},其中下角标为i的点为有向线段起点,下角标为j的点为终点。分别使用有向线段的两个端点和中点作为采样点来建立BRISK特征描述,记作S=(s1,s2,s3)。

假设利用每幅图像检测到的特征点集构造出的有向线段数为m条,分别记为L={l1,l2,…,lm}和L'={l'1,l'2,…,l'm},用SiS'i分别表示对应角标有向线段的特征描述。采用矩阵的F-范数来进行邻近线段的匹配,其计算公式为d(li-l'i)= Si-S'iF,可以获得包含m个元素的向量d,对其进行归一化计算处理,记邻近线段匹配的阈值为TF,本文对其取值为0.4。如果两条线段对应的归一化范数值小于阈值,那么可以认为这两条有向线段邻近,其对应匹配点对保留,反之剔除。

4.2 特征点匹配

经过上述步骤获得的匹配点对中的误匹配点对虽然已较少,但是,为了能够更好地排除误匹配点对,减少其对图像拼接结果的影响,采用随机采样的方式分别从两个图像块检测到的匹配点对集合中选取两个点对来求解投影变换矩阵H,并计算其投影误差。如果误差大于设定阈值,则重新随机选择匹配点,并计算变换矩阵,直到投影误差小于设定阈值或重复次数超过设定次数。如果出现后者情况,则需要选择其他图像块并重复执行上述步骤。

投影矩阵是指将一幅图像映射到另一幅图像的矩阵,有8个自由参数,其定义为

H=h11h12h13h21h22h23h31h321,(1)

式中h11h12h21h22表示旋转量和尺度变化量,h13表示水平方向位移量,h23表示垂直方向位移量,h31h32表示水平和垂直方向的形变量[1]

对于理想的投影变换矩阵,两幅图像上检测到的匹配特征点对满足

xiyi1=h11h12h13h21h22h23h31h321x'iy'i1,(2)

式中特征点P(xi,yi)和P'(x'i,y'i)分别表示两幅图像上的特征匹配点对。

根据(2)式可以计算出经过投影变换的实验坐标:

x^i=h11x'i+h12y'i+h13h31x'i+h32y'i+1,(3)y^i=h21x'i+h22y'i+h23h31x'i+h32y'i+1(4)

当误差阈值ε为1 pixel时,投影变换矩阵的投影误差可表示为

E(H)=1Mi=1M(x^i-xi)2+(y^i-yi)2,(5)

式中M为前文所得的全部匹配点对数。

通过反复实验,最终确定将相似区域分割成N×N'(其中N=11、N'=6)图像块,且仅需使用两个图像块就可以实现精确的拼接,因为在这种条件下检测出的特征点对的数量和正确率已经足以满足实验要求,投影误差校验重复的次数也适中,一般重复4次左右即可选择出满足误差要求的变换矩阵。

4.3 图像融合

因为不同图像的拍摄角度不同,图像的亮度也不相同,采用投影变换矩阵将两幅图像拼接到一起后,在拼接区域有明显的缝合痕迹,因此需要对其进行相应的融合处理,使得图像的拼接区域自然过渡,实现无缝拼接[14-16]。本文采用常用的加权算法对此区域进行处理,具体原理如下:

I(x,y)=I1(x,y),(x,y)I1I2(x,y),(x,y)I2A(x,y)(1-μ)+B(x,y)μ,(x,y)(I1I2),(6)

式中,I表示拼接后的图像,I1表示待拼接图像1,I2表示待拼接图像2;A(x,y)和B(x,y)表示图像相似区域的像素点;μ表示加权系数,融合的过程中,当图像点自左向右的过渡时,μ在[0,1]内均匀变化。

5 实验结果与分析

实验结果将从拼接速度和匹配正确率两方面来评价。其中,匹配正确率η表示为

η=McMn,(7)

式中Mc表示正确匹配点对数。

5.1 运行环境

算法运行环境如下:CPU为Intel core i5, 2.30 GHz,内存为8 GB,操作系统为64位Win7,MATLAB版本为MATLAB 7.10.0.499(R2010a)。

5.2 配准性能评价

图3为4组不同状态的实验图像(图像大小:807 pixel×605 pixel),分别对本文算法的抗光照、抗旋转、分辨率低及抗尺度变化性能进行测试,并且与BRISK算法和文献[ 4]算法进行对比。

图 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为BRISK、文献[ 4]以及本文三种算法在拼接运行时间方面的对比。从表1中可以得出本文算法的拼接时间较BRISK有所延长,但是相对文献[ 4]而言,本文算法的运行速度有较大改善。

表 1. 不同算法的拼接时间对比

Table 1. Comparison of mosaic time using different algorithms

Fig.Mosaic time /s
BRISKRef. [4]Proposed algorithm
3(a1,a2)0.08530.38610.1326
3(b1,b2)0.07490.51970.1715
3(c1,c2)0.17210.16020.0663
3(d1,d2)0.06440.26960.0987

查看所有表

表2为BRISK、文献[ 4]以及本文算法在特征点匹配正确率方面的对比。从表2中可以看出,虽然本文算法在匹配正确率方面较文献[ 4]略差,但是相对BRISK算法有较大提升。

图4分别为图3中4组图像的实验效果图,可以证明本文算法在抗光照强度、旋转、分辨率和尺度变化方面均表现出较强的稳健性,拼接结果没有出现错位问题,经过接缝加权融合后,图像过渡自然,实现了无缝拼接。

表 2. 不同算法的匹配正确率对比

Table 2. Comparison of matching correctness of different algorithms

Fig.Matching correctness /%
BRISKRef. [4]Proposed algorithm
3(a1,a2)92.7297.6096.29
3(b1,b2)91.8798.5292.59
3(c1,c2)88.2594.1694.74
3(d1,d2)93.5896.5695.45

查看所有表

在实际工程应用中,待拼接图像的相似区域仅占小部分,图5为在保持当前分块策略不变的条件下,相似区域所占图像比例减小后的原图像和拼接结果,如果相似区域占比更小,那么,需要对分块策略进行调整。从图5(b)可以看出,本文算法在相似区域减少后仍然能够获得较高精度的拼接图像,证明本文算法具有较高的实用价值。

图 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.

[2] Ge P, Lan C Y, Wang H. An improvement of image registration based on phase correlation[J]. Optik-International Journal for Light and Electron Optics, 2014, 125(22): 6709-6712.

[3] Kashif M, Deserno T M, Haak D, et al. Feature description with SIFT, SURF, BRIEF, BRISK, or FREAK A general question answered for bone age assessment[J]. Computers in Biology & Medicine, 2016, 68(1): 67-75.

[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.

[5] Su M S, Hwang W L, Cheng K Y. Analysis on multiresolution mosaic images[J]. IEEE Transactions on Image Processing, 2004, 13(7): 952-959.

[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.

    Yu Z J, Wang S B. Study on improved matching system of PCA-SIFT algorithm[J]. Laser & Optoelectronics Progress, 2016, 53(3): 031501.

[8] Zhu J, Ren M W. Image mosaic method based on SIFT features of line segment[J]. Computational and Mathematical Methods in Medicine, 2014, 926312.

[9] 周海洋, 朱鑫炎, 余飞鸿. 改进型高效三角形相似法及其在深空图像配准中的应用[J]. 光学学报, 2017, 37(4): 0410003.

    Zhou H Y, Zhu X Y, Yu F H. Improved efficiency triangle similarity method in deep space and image registration application[J]. Acta Optica Sinica, 2017, 37(4): 0410003.

[10] Zhao C Y, Zhao H, Lv J, et al. Multimodal image matching based on Multimodality Robust Line Segment Descriptor[J]. Neurocomputing, 2016, 177(2): 290-303.

[11] 杨飒, 夏明华, 郑志硕. 基于多项式确定性矩阵的SIFT医学图像配准算法[J]. 激光与光电子学进展, 2016, 53(8): 081002.

    Yang S, Xia M H, Zheng Z S. Medical image registration algorithm based on polynomial deterministic matrix and SIFT transform[J]. Laser & Optoelectronics Progress, 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.

    Liu L, Peng F Y, Zhao K, et al. Fast image matching using simplified SIFT algorithm[J]. Infrared and Laser Engineering, 2008, 37(1): 181-184.

[15] 陈思聪, 刘晶红, 何林阳, 等. 一种用于图像拼接的改进BRISK算法[J]. 液晶与显示, 2016, 31(3): 324-330.

    Chen S C, Liu J H, He L Y, et al. Improved BRISK algorithm used in image mosaic[J]. Chinese Journal of Liquid Crystals and Displays, 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.

赵婷, 康海林, 张正平. 结合区域分块的快速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.

本文已被 9 篇论文引用
被引统计数据来源于中国光学期刊网
引用该论文: TXT   |   EndNote

相关论文

加载中...

关于本站 Cookie 的使用提示

中国光学期刊网使用基于 cookie 的技术来更好地为您提供各项服务,点击此处了解我们的隐私策略。 如您需继续使用本网站,请您授权我们使用本地 cookie 来保存部分信息。
全站搜索
您最值得信赖的光电行业旗舰网络服务平台!