何永洁,陈孝威
(贵州大学计算机科学与信息学院,贵州贵阳550025)
近年来,图像拼接已成为计算机图形图像处理、计算机视觉等领域众多学者研究的热点[1],并且在数字视频、运动分析、虚拟现实技术、医学图像分析、遥感图像处理等领域得到广泛应用[2]。图像拼接技术主要是利用计算机进行自动匹配将两幅或者两幅以上具有重叠区域的图像进行无缝拼接,从而得到一副较宽视野的高分辨率图像[3]。
现有的图像拼接方法通常根据采用的图像匹配算法,分为基于区域的拼接方法和基于特征的拼接方法两种。基于特征的拼接方法,拼接过程包括图像预处理,特征提取与匹配,图像配准和图像融合等步骤,其中特征提取与匹配最为关键,对图像拼接精度有着直接的影响[4]。SIFT(scale invariant feature transform)算法是由David G Lowe于2004年提出并完善的一种能够抵抗旋转、平移、尺度以及部分光照和部分仿射变换的图像匹配算法[6]。该算法应用于图像拼接中,可以实现对差异较大的复杂序列图像的拼接[7]。
然而,当采集的原始图像重叠度过低,两幅图像会产生明显的视角差异,且两者的共有特征点减少,同时非重叠部分的大量图像信息对图像匹配进行干扰,从而使匹配结果不理想,无法得到满意的拼接结果。为了改善低重叠度图像的拼接效果,本文提出了一种基于ASIFT(Affine Scale Invariant Feature Transform)图像匹配算法[8-9]的低重叠度图像拼接方法。
基于ASIFT的低重叠度图像拼接方法采用ASIFT算法进行特征点检测与匹配,采用RANSAC(RANdom SAmple Consensus)算法、LM(Levenberg-Marquardt)算法[10]求解求精变换矩阵,最后采用基于最佳缝合线的多分辨率融合[11],实现低重叠度条件下的无缝图像拼接。
该方法流程如图1所示。其中,矩形表示相关的操作,实线表示流程的走向。具体描述如下:
(1)采集低重叠度的图像序列作为输入;
(2)采用ASIFT图像匹配算法进行特征点检测与匹配,得到匹配点;
(3)匹配点作为输入数据,采用RANSAC算法估算初始变换矩阵;
(4)采用LM算法求精初始变换矩阵;
(5)使用变换矩阵将图像序列投影到同一坐标系下,得到一幅配准后的图像;
(6)在配准后图像的重叠区域寻找一条最佳缝合线,最佳缝合线直接将重叠区分割成两部分,其每一部分都是从一幅图像上选取[12],从而得到缝合后的图像;
(7)对重叠部分构建高斯和拉普拉斯金字塔[11],进行多分辨率融合。
图1 基于ASIFT的低重叠度图像拼接方法流程
本文以下主要简述图像配准中的ASIFT图像匹配算法,及RANSAC算法。
目前,图像拼接通常采用SIFT图像匹配算法,但当采集的原始图像重叠度过低时,无法得到满意的拼接结果。
ASIFT算法首先对图像进行仿射变换,然后在得到的模拟图像上搜索特征点,因此,它进一步完善了SIFT算法,应用于低重叠度图像拼接中,能够在严苛的条件下,检测出更丰富更精确的特征点,为求解变换矩阵,实现图像配准,奠定了良好的基础。
ASIFT图像匹配算法是由Jean-Michel Morel于2008年提出[8],其算法原理及流程如下。
如文献[8]所述,利用相机将空间景物平面投影成为数字图像的过程属于透视投影。其投影模型可用下式描述
当拍摄景物距离相机光心的距离远大于相机焦距时,可将拍摄景物所在位置看作一个平面。因此,式 (1)中μ0表示景物平面;T和R分别表示由相机运动引起的图像的平移和旋转变换;A表示对景物平面的透视投影;G表示高斯卷积,用来模拟光学模糊;S表示标准的采样操作;μ表示最终所得数字图像。
对以上模型进一步简化,可以将A简化为仿射变换。通过以上模型可知:相机位置的改变能够引起任意的行列式为正的仿射变换。由此,可以将相机运动方式与仿射变换形式联系起来,得到以下定理。
其中λ>0,λt是A的行列式;Ri表示旋转矩阵表示倾斜,是对角矩阵,第一个特征值t>1,第二个特征值等于1。该公式也遵循奇异值分解原则(SVD)[10]。其几何解释如图2(a)所示。
图2 ASIFT图像匹配算法原理
图2 (a)中,坐标系Xμ0Y表示景物平面坐标系,μ0为坐标系的原点;其上方的三个平行四边形的坐标系分别为xO3y、xO1y和xO2y,它们表示不同位置下的相机坐标系; 和表示相机位于O2位置时,光轴的经度和纬度,它们共同决定了相机的光轴方向,即视角;ψ表示相机绕光轴O2μ0的自转角度;λ表示尺度参数。由此可知,当相机位于O1位置时,相机正对景物平面,相机坐标系xO1y平行于景物平面坐标系Xμ0Y,此时,各参数值为:λ=1,t=1, =θ=ψ=0。当相机移动,位置发生改变,将引起仿射变换A的参数发生变化,从而使得到的数字图像产生很大的差异。
假设图2(a)中平面μ0表示两幅图像的重叠区域,则光轴O2μ0和O1μ0可代表两次拍摄的光轴方向。因此,当夹角θ过大,或者 不为0时,不仅会造成两幅图像重叠度低,并且重叠部分还会存在严重的仿射变换。图2(b)为低重叠度图像的重叠部分,图中标注部分显示出明显的仿射变换。对于这种情况,SIFT图像匹配算法已无法得到可实现良好拼接的匹配结果,ASIFT算法依靠其较高的匹配精度,则依然能够取得较好的拼接结果。
ASIFT算法过程如下:
(1)获取仿射变换参数 和θ
其操作是对经度 和纬度θ进行采样。首先,对纬度θ按以下等比数列采样:1,a,a2,…,an,其中a>1。通常取此时采样的精确度和稀疏度可达到一个平衡。由于对纬度θ采样等同对倾斜参数t进行采样,当n 5时,光轴的倾斜t可达到32以上。然后,对每一个纬度采样样本,在其经度 上,按以下算术序列采样:其中为取得采样精确度和稀疏度的平衡,取b72°,k为满足条件的最后一个整数。
(2)产生仿射变换后的模拟图像
利用采样得到的参数序列,根据式 (1)和式 (2),对待匹配的两幅图像进行仿射变换,得到原图像在所有可能的仿射变换情况下的模拟图像。
(3)特征点检测与匹配
采用SIFT图像匹配算法对所有可能的仿射变换情况下得到的两幅模拟图像进行特征点检测与匹配。
相机运动会使得到的关于同一场景的数字图像有很大差异,这种差异在具有重叠的图像序列上表现尤为明显。在这些图像的重叠部分一般存在坐标系统不一致的问题[13]。图1的图像配准中,采用以下方法解决该问题。
为了实现将待匹配图像变换到参考图像的坐标系中,利用齐次坐标,建立图像之间的关系模型的表达式为[14]
第三,推广现代农耕技术,提高太阳能的转化效率,充分利用绿色植物的光合作用,加速物质流和能量流在生态系统中的运动过程,提高农业生产力。
式中:p'(x',y',1)——参考图像坐标系中的点,p(x,y,1)——待匹配图像坐标系中的点,H——投影变换矩阵。构成H的h2——水平方向位移;h5——垂直方向位移;h0、h1、h3、h4——尺度和旋转量;h6和 h7——水平和垂直方向的变形量。由此可知,图像配准问题其实就是研究在某种摄像机运动下拍摄的不同图像的图像模型参数求解问题[15],即求解投影变换矩阵H。
1对匹配点可以得到2个方程式,为了求解出H中的8个参数,需要至少4对匹配点,构造如下方程组
式 (4)中,超定方程的最小二乘解,可以利用SVD分解得到一个较稳定的计算结果。因此,变换矩阵的精确度主要取决于选择的匹配点的精确度。
RANSAC(random sample consensus)方法是由Fischler和Bollers于1981年所引入的鲁棒方法[10],将其应用于变换矩阵求解中,可以达到剔除错误匹配点,选择出质量好的匹配点来计算变换矩阵的目的。RANSAC算法步骤如下:
(1)在所有匹配点集合P中,随机选取n对匹配点(n 4),由式 (4),计算得到变换矩阵H';
(2)采用式 (3),计算集合P中其余匹配点在变换矩阵H'下的投影变换结果,再计算该结果与其在P中对应的匹配点的误差,并统计误差值小于某一阈值t的点数,这些点被称为内点,其构成的集合p,是当前变换矩阵H'的一致集;
(3)如果一致集p中匹配点数目大于某一阈值T,则保留该一致集,否则返回步骤 (1);
由此可知,想要估算出正确的变换矩阵,匹配点集合P中的最大一致集必须存在,并且由正确匹配点构成。如果集合P中的错误匹配点过多,则采用RANSAC算法随机选取n对匹配点时,会增大选取错误匹配点的概率,降低估算出正确变换矩阵H的概率,从而使实现图像配准变得困难。在低重叠度条件下,ASIFT算法相较于SIFT算法的匹配结果,其误匹配率更低,这为采用RANSAC算法估算出正确的初始变换矩阵奠定了基础。
图像获取是实现图像拼接的前提条件[16]。本文通过手持相机旋转采集同一场景的不同重叠度的图像序列进行实验。原图像大小为640×360像素,图3(a)和图3(b)为SIFT算法和ASIFT算法的一组匹配结果对比图,其重叠区域为110×300像素,重叠区域宽度占图像总宽度的17%左右;图3(c)和图3(d)为SIFT算法和ASIFT算法的另一组匹配结果对比图,其重叠区域为40×290像素,重叠区域宽度占图像总宽度的6%左右。图3中矩形标注部分表示匹配点集合P中的一致集,它包含了大部分的正确匹配点。
图3 不同重叠度下SIFT和ASIFT算法匹配结果对比
可以看出,图3(a)和图3(c)中,SIFT算法在图像重叠度较低情况下,由于两幅图像的共有信息较少,非重叠部分的大量信息对图像匹配造成干扰,出现了很多明显的错误匹配点,误匹配率很高。过高的误匹配率,使得采用RANSAC算法随机选取n对匹配点时,选取到错误匹配点的概率升高,求解出正确变换矩阵的概率变低。假设误匹配率为50%,在至少选择4对匹配点的情况下,每次随机抽样,全部选中正确匹配点计算出正确的变换矩阵的概率仅剩6.25%。图3(b)和图3(d)中,明显的误匹配点极少,检测出的匹配点多为正确的,这为求解正确的变换矩阵奠定了基础。
表1 不同重叠度SIFT与ASIFT算法匹配结果比较
表1为在不同重叠度下SIFT和ASIFT算法匹配点数的比较。结合图3与表1可知:当图像重叠度较大时,ASIFT算法较SIFT算法能够检测出更多的匹配点,且误匹配率更低;当图像重叠区域过小时,SIFT算法的误匹配率升高,ASIFT算法依然能够保持其匹配的正确率。
图4为拼接结果对比图,其中四边形标注部分表示两幅图像融合后的重叠区域。图4(a)和图4(b)是以SIFT算法和ASIFT算法的匹配结果为基础的拼接结果对比图,其重叠区域为110×300像素。以图3(a)中SIFT算法的匹配结果为基础,求解变换矩阵,固定阈值t为2.5像素,则阈值T设置超过总匹配点数的77%时,便很难找到满足条件的一致集。实验过程中,尝试增加抽样次数,增长寻找时间,依然无法解出变换矩阵,然而通过减小阈值T或增大阈值t的方法解出的变换矩阵,则出现了严重的错误,如图4(a)所示。在同样的重叠度下,ASIFT算法检测出的匹配点多达636个,且精度高,阈值T设置为总匹配点数的95%时,也能够找到满足条件的一致集,得到正确的变换矩阵,最终得到一个良好的拼接结果,如图4(b)所示。
图4 不同重叠度下SIFT和ASIFT算法匹配结果对比
当重叠区域减小到40×290像素时,以图3(c)中SIFT匹配结果为基础进行图像拼接,如果固定阈值t不变,则阈值T需降至总匹配点数的45%,才能够勉强求解出变换矩阵,且该变换矩阵还存在严重错误,其拼接结果如图4(c)所示。此外,使用微软公司设计的图像合成编辑器Microsoft ICE进行拼接实验,由于重叠度过低,该软件无法得到拼接结果。图4(d)为重叠区域大小在40×290像素时,以ASIFT匹配结果为基础的拼接结果,其拼接效果良好。
本文提出了一种基于ASIFT的低重叠度图像拼接方法。该方法采用ASIFT图像匹配算法进行特征点检测与匹配,相较于传统采用的SIFT算法,该算法能够检测出更丰富的匹配点,且在低重叠度下依然能够保持其匹配精度,仅保留精确的匹配点,从而为求解变换矩阵奠定了良好的基础,为图像配准创造了更好的条件。实验证明,本文方法在处理低重叠度图像拼接上存在显著优势,具有更好的实用价值。
[1]ZHANG Hua.Key techniques study on scene image mosaic[D].Tianjin:Tianjin University,2008(in Chinese).[张桦.场景图像拼接关键技术研究 [D].天津:天津大学,2008.]
[2]HE Ying,WANG Ling.Image stitching algorithm based on feature block and wavelet transform [J].Computer Engineering and Design,2011,31(9):1958-1975(in Chinese).[何颖,王玲.基于特征块和小波变换的图像拼接算法[J].计算机工程与设计,2011,31(9):1958-1975.]
[3]LAIYufeng,CHENGLianglun.PCB image mosaicsalgorithm based on wavelet transformation and phase correlation[J].Application Research of Computers,2009,26(9):3572-3574(in Chinese).[赖宇锋,程良伦.基于小波变换与相位相关的PCB图像拼接算法 [J].计算机应用研究,2009,26(9):3572-3574.]
[4]LIJun,WU Jieming.Simulation research on improved image mosaic algorithm [J].Computer Simulation,2012,29(2):273-313(in Chinese).[李军,吴洁明.一种改进图像拼接算法的仿真研究 [J].计算机仿真,2012,29(2):273-313.]
[5]Lowe D.Distinctive image features from scale-invariant keypoints[J].International Journal on Computer Vision,2004,60(2):91-110.
[6]WANG Juan,SHI Jun,WU Xianxian.Survey of image mosaics techniques[J].Application Research of Computers,2008,25(7):1941-1947(in Chinese).[王娟,师军,吴宪祥.图像拼接技术综述 [J].计算机应用研究,2008,25(7):1941-1947.]
[7]WU Ming,LIN Jinguo,MEI Xue.Algorithm study of feature extraction for image stitch [J].Computer Engineering and Design,2009,30(2):440-442(in Chinese).[吴铭,林锦国,梅雪.用于图像拼接的特征提取算法研究 [J].计算机工程与设计,2009,30(2):440-442.]
[8]MORE Jean-michel,YU Guoshen.ASIF:A new framework for fully affine invariant image comparison [J].SIAM Journal on Imaging Sciences,2009,2(2):438-469.
[9]MORE Jean-michel,YU Guoshen.Is SIFT scale invariant? [J].Inverse Problems and Imaging,2011,5(1):1-22.
[10]WU Fuchao.Mathematical methods in computer vision[M].Beijing:Science Press,2008:338-343(in Chinese).[吴福朝.计算机视觉中的计算方法[M].北京:科学出版社,2008:338-343.]
[11]LUO Ruwei.Research on panorama techniques[D].Guizhou:Guizhou University,2010(in Chinese).[罗如为.全景图技术研究 [D].贵州:贵州大学,2010.]
[12]FANG Xianyong,ZHANG Mingmin,PAN Zhigeng,et al.Research of image mosaic based on graph cut[J].Journal of Image and Graphics,2007,12(12):2050-2056(in Chinese).[方贤勇,张明敏,潘志庚,等.基于图切割的图像拼接技术研究 [J].中国图像图形学报,2007,12(12):2050-2056.]
[13]YANG Yanwei.Research on image mosaics techniques based on SIFT feature point[D].Xi'an:Xidian University,2009(in Chinese).[杨艳伟.基于SIFT特征点的图像拼接技术研究[D].西安:西安电子科技大学,2009.]
[14]ZHENG Hui.Research on panoramic image mosaics algorithms based on SIFT features[D].Wuhan:Wuhan University Of Technology,2010(in Chinese).[郑辉.基于 SIFT特征的全景图像拼接算法研究 [D].武汉:武汉科技大学,2010.]
[15]YANG Zhanlong.Research on image registration and mosaic based on feature point[D].Xi'an:Xidian University,2008(in Chinese).[杨占龙.基于特征点的图像配准与拼接技术研究[D].西安:西安电子科技大学,2008.]
[16]LI Han,NIU Jizhen,GUO He.Automatic seamless image mosaic method based on feature points[J].Computer Engineering and Design,2007,28(9):2083-2085(in Chinese).[李寒,牛纪桢,郭禾.基于特征点的全自动无缝图像拼接方法 [J].计算机工程与设计,2007,28(9):2083-2085.]