具有几何约束的SURF 算法图像拼接
2021-03-19张露
张露
(铜陵职业技术学院 电气工程系,安徽 铜陵 244000)
某些情况下单个图像传感器不能一次采集一幅完整的图像,而是经过多次采集,然后对多次采集图像的重合部分进行拼接和融合后得到一幅完整图像;或者在同一时刻使用不同的图像传感器采集不同角度的图像,然后再进行图像拼接获得完整图像。图像拼接的应用领域非常广泛,比如医学、智能交通、虚拟现实等。图像拼接融合主要有图像配准、图像拼接和融合两部分组成[1],而图像配准目前主要有灰度信息配准[2]、特征配准[3]和变换域配准[4]三种方法。特征匹配法具有较快的计算速度和较高的鲁棒性,还具有较大的适用范围[1]。其中SIFT 算法[5]是特征点匹配算法中的经典算法,但由于SIFT 采用DOG 进行特征提取,所以增加了相应运算时间,降低了运行效率[6]。SURF 算法是H.Bay 等人提出,SURF 保持了SIFT 算法优良性能,主要改进了特征点提取和降低了特征向量描述维数,使计算速度得到提高。文献[7-10]利用SURF 及其改进算法应用于图像拼接,其中文献[7]针对航拍图像的拼接,文献[8]是针对文物碎片图像的拼接。文献[9,10]通过对由SURF 算法提取出的特征点匹配算法进行改进,提高匹配精度,减少时间。
需要拼接的两幅图像间的重合部分提取出的特征点在几何关系上应该是匹配特征点对所在的直线间是平行或近似平行关系,两点间的距离相等或近似相等[11],几乎不存在旋转或缩放的变换,所以利用这种特性,本文提出具有几何约束的SURF 的图像拼接方法。
1 SURF 算法原理分析
1.1 特征点提取
SURF 采用的是Hessian 矩阵行列式近似值图像。在尺度σ 上,图像某个像素点 ( , )P x y 的Hessian 矩阵定义为
其中, Lxx, Lxy,Lyy为高斯滤波后图像g (σ )在各个方向的二阶导数。为了找出图像中的特征点,需要对原图进行变换,该变换图就是由原图每个像素的 Hessian 矩阵行列式的近似值构成的。行列式值为:det( H ) = LxxLyy- L2xy,Bay 等人提出二阶高斯滤波由方框滤波来近似代替,用积分图像来加速卷积以提高效率[10]。 Lxx, Lxy,Lyy由方框滤波器表示后,记为 Dxx, Dyy,Dxy,则Hessian 矩阵行列式为
det( H ) = DxxDyy- (0.9 Dxy)2
将经过Hessian 矩阵处理过的每个像素点与其三维领域的26 个点进行大小比较,保留这26 个点中的最大值或者作为初步特征点。
1.2 特征点描述与匹配
通过统计haar 小波特征,来确定特征点主方向。σ 为特征点所在尺度,找到以特征点为圆心,以6σ为半径的圆内60°扇形内的所有点,对这些点在x 和y 方向上的haar 小波特征和做统计。以一定步长旋转60°扇形,统计扇形内haar 小波特征值,找到最大值所在扇形方向,即为特征点主方向。
最后进行特征点匹配,SURF 的匹配度通过特征点间的欧式距离来确定,距离越小匹配度越好。
2 具有几何约束的改进算法
获得两幅待拼接图像匹配特征点,还要经过RANSAC 算法去除误匹配点,而线内点和原始数据量之间的比例决定着RANSAC 的迭代时间,若两者之间的比率降低时会使得迭代次数明显增加,所以使算法的整体效率受到严重影响。因此根据待拼接的两幅图像间的确定几何关系建立几何约束,对检测到的匹配特征点如果满足几何约束则保留否则剔除,然后再经过RANSAC 算法进一步消除匹配和求解变换矩阵[11]。
假设待拼接的两幅图像I1(x,y)和I2(x,y)的初匹配特征点集分别为
P1={P1[i]|i=1,2,…,n}和P2={P2[j]|j=1,2,…,n}
当i=j 时P1[i]和P2[j]是对应的匹配点对。两幅图像的几何约束关系如下[11]:
(1)两幅待拼接图像对应的匹配点对所在直线的斜率应该相对或近似相等;
(2)两幅待拼接图像对应匹配点对之间的欧式距离应该相对或近似相等。
考虑到斜率和距离近似相等的情况,在实际计算过程中,设置斜率基准值和距离基准值,分别为k 和d。当满足斜率基准值与ki差的绝对值小于其阈值 Δk ,且距离基准值与 di差的绝对值小于其阈值 Δ d时,保留该匹配的特征点对,否则剔除。约束条件用表达式表示为: C = (|k - ki|≤ Δ k )&&(|d - di|≤ Δ d),( i = 1,2, ⋅⋅⋅, n)。对于基准值的确定,使用计算得到的斜率和距离值的中间值,所以先将计算的值按升序排列,考虑到特征点可能是奇数也可能是偶数,具体表达式如下所示:
距离基准值的确定与斜率一致。阈值 kΔ 和 dΔ 根据文献[11]和多次实验的结果取值分别为0.1 和10。图像拼接的整个算法流程如图1 所示。
图1 算法流程框图
3 图像融合
根据求出的特征点对两幅图像进行拼接,但由于图像之间的光照和几何矫正等出现的差异可能导致融合会出现明显的拼接接缝。为了拼接后的图像在边界部分拼接痕迹不明显且能够过度自然,本文采用文献[1,12]提到的渐入渐出融合算法,该算法具有较好的消除拼接接缝,使图像过度更加自然。与传统加权融合算法比较,该融合算法的权重d 与像素点位置的变化成线性关系,权重d 的关系式如下所示:
其中,j, L, R 分别表示像素点列数、重叠区域左右边界。两幅拼接图像 f1( x , y ) 和 f2( x , y),融合后的图像为f ( x , y ),其表示为
其中, d1,d2表示权重,d1由式(1)求出,且满足关系 d1+ d2= 1和 d1, d2∈ (0,1),由此可消除拼接接缝。
4 实验与结果分析
计算机CPU 主频为2.2 GHz,内存为4 G,WIN10 操作系统,实验软件为Matlab R2015b。选择手机拍摄的100 组待拼接融合的图像,图像大小均为像素600×450,统计这100 组待拼接融合图像采用原算法和改进算法后的正确率。由于受篇幅的限制选择5 组统计两种算法进入RANSAC 算法之前的特征点对数,以及剔除误匹配特征点前后RANSAC 的运行时间,5 组待拼接图像如图2(a)~(e)所示。由于实际每次运行时间存在一定差别,所以对每组拼接图像运行5 次求平均值,每组统计情况如表1 所示。对100 组待拼接图像处理结果为改进前正确拼接为79 组,改进后正确拼接为91 组,即正确率分别为79%和91%。从正确率来看改进后的算法明显高于改进前。从表1 看出,改进后的算法特征点个数比改进前大幅减少,RANSAC 算法运行时间也因匹配特征点的减少而减少,提高了图像拼接融合的效率。5组拼接后的图像如图3(a)~(e)所示。
表1 算法改进前后统计对比
图3 拼接结果
5 结束语
采用配准法对两幅图像进行拼接,配准的特征点采用SURF 提取。利用待拼接的两幅图像的重叠部分匹配的特征点对所在直线的斜率、及各特征点对之间的距离相等或近似相等的特点。本文对由SURF 算法得到的特征点对利用上述约束关系,剔除掉误匹配点。特征点对的减少,使后续RASAC 算法执行时间缩短,且提高了算法的拼接正确率。最后对拼接的图像使用渐入渐出融合算法消除拼接接缝。最后通过实验验证了改进算法不仅提高了执行效率,还提高拼接正确率。