-
图像拼接是将在相同场景下拍摄的存在一定重合部分的图像融合为一幅完整图像的方法[1]。对于广视角、宽视野的场景,使用普通相机已经难以满足需求,但是高档广角相机成本昂贵,而使用图像拼接技术则可以利用普通相机获取广视角图像,是计算机视觉、图像处理以及计算机图形学领域的研究热点之一。视频监控、医学、测绘、航空、航天等重要领域对先进图像拼接技术具有广泛而迫切的应用需求[2-3]。
基于特征点的图像拼接由于具有鲁棒性强、计算量小、运算速度快等优点成为现在图像拼接研究的主要方向和关注重点。该方法的核心是基于特征点的图像配准,具体来说是根据待拼接图像的特征点之间的匹配关系建立图像之间的变换模型,其主要步骤包括特征提取、特征匹配、坐标变换3个部分[4]。
文献[5]提出了具有尺度旋转仿射不变性的局部特征描述符(scale-invariant feature transform, SIFT)。文献[6]基于SIFT提出了SURF(speeded up robust features)特征检测算法,使用积分图和Haar小波降低计算量,使计算效率和特征描述子维度大大降低。文献[7]提出了一种FAST(features from accelerated segment test)角点检测算法。上述方法存在的不足在于,当待拼接图像中存在一定视差时,可能出现物体错位、虚影等结果。针对这一不足,专家学者们也进行了研究。
文献[8]利用3D重构思想,提出一种可以应用于任何场景和任何相机运动图像拼接方法。文献[9]提出一种平滑变化的仿射变换拼接模型来处理视差。文献[10]基于平滑变化的仿射变换做出了改进,采用非局部均值(non-local means)滤波求解各点的偏移量。文献[11]提出了一种as-projective-as-possible变换方法。文献[12-13]提出采用混合对齐的方法,先用单应矩阵对图像进行预对齐,再用内容保留变换方法进行修正。对于有视差图像的拼接,基于3D重构的拼接方法复杂度较高且对视差鲁棒性较差,而基于局部变换的拼接方法对参数设置比较敏感。
图像配准的结果对图像拼接的效果有着决定性影响,基于特征点匹配的方法[14]传统上会通过基于单应矩阵的RANSAC(random sample consensus)方法对特征点匹配对进行建模并筛选,但是这一过程可能会错误地筛去部分正确的特征点匹配对,从而影响最终得到的图像变换模型。这种情况主要由于RANSAC算法一般只能用来计算单个模型,对于多个不同平面的场景,视角有差异的图像之间会存在视差,使处于不同平面的特征点匹配对各自对应不同的模型,可能会筛去部分正确的特征点匹配对。即使通过循环多次使用RANSAC的方法,也容易使其遭遇随机初始点选取不恰当、内部迭代次数参数的选择等情况而导致求解不稳定、计算效率不高等问题。
因此,对于具有视差的拼接图像,本文提出了基于特征点匹配对平面相似度的拼接方法。通过来自于不同图像的匹配对信息定义彼此之间的平面相似度,根据平面相似度筛选出属于不同平面的特征点匹配对。本文方法有效地降低了特征点匹配对筛选的漏检率,规避了随机性选取样本导致计算结果偏差的风险,同时也避免了需要提高内部迭代次数才能获得较好的结果。
HTML
-
下面将本文方法对特征点筛选的性能进行验证,将其与目前广泛采用的基于单应矩阵的RANSAC算法进行对比。针对两幅待拼接图像,先进行SURF特征点提取与匹配,然后分别采用上述两种方法进行匹配对筛选,统计最终的匹配点对数目、误匹配对数目、误检率和漏检率。
实验参数配置如下:RANSAC的置信度设为0.995,算法的终止条件设为筛选出的特征点匹配对数量或剩余的特征点匹配对数量小于10。同时也进行了多次循环RANSAC的对比实验,单次RANSAC内迭代次数设置为2 000。在相同的硬件配置下:AMD Core 3.8 GHZ和8 GB RAM,本文方法耗时2.58 s,循环RANSAC耗时3.28 s。
本文测试了4组不同场景的图像,由于篇幅原因,只展示两组结果,更多定量比较结果如表 1所示。
实验
图像初始匹配
对个数错误匹配
对个数RANSAC算法 本文算法 匹配对个数 误匹配对个数 误检率/% 漏检率/% 匹配对个数 误匹配对个数 误检率/% 漏检率/% 山地组 124 0 117 0 0 5.65 120 0 0 3.23 楼房组 445 30 259 0 0 37.59 317 1 0.22 23.61 凉亭组 219 0 63 0 0 71.23 205 0 0 6.40 船舶组 244 1 110 0 0 54.92 222 0 0 9.02 实验对比结果如图 1和图 2所示。为了更好地对实验结果进行观察,在图 1中使用不同灰度的线条分别连接初始特征点匹配对和使用RANSAC方法计算后的特征点匹配对,而对使用本文算法的计算结果,利用相同灰度的线条连接空间中共面的特征点匹配对。从图 1的对比结果中,可以看出RANSAC算法的处理结果,对部分离镜头相对较远的正确特征点匹配对予以保留,去除了部分匹配不正确的特征点匹配对,但是也去除了一些离镜头相对较近的位于凉亭主体部位的正确特征点匹配对。对于这种情况,本文提出的方法在去除匹配不正确的特征点匹配对的基础上,对位于凉亭主体上的大部分正确匹配对予以保留。同时,使用循环RANSAC与本文方法进行对比,如图 2所示。属于同一平面的特征点匹配对用同一种灰度进行标识。从对比结果可以发现,循环RANSAC(图 2b)认为初始的特征点匹配对只分布在两个平面上就中止迭代了,而实际上可以观察到有大量的匹配对存在于地面、狮子、大门、墙面以及琉璃屋顶等不同的平面。基于本文提出的特征点匹配对筛选方法(图 2c)大致将这些特征点匹配对划分在7个空间中不同平面上,这一结果相对更加符合实验图像所在的实际场景,有利于优化计算单应矩阵的准确度。
由表 1的4组实验结果定量对比分析可知,本文提出的特征点筛选算法,不但对绝大部分的匹配正确的特征点匹配对予以保留,而且去除了匹配错误的特征点匹配对,算法的漏检率相对RANSAC算法有了明显降低。
为了验证本文方法的有效性,将本文算法与APAP[11](as projective as possible image stitching with moving DLT)、Autostitch[12]拼接算法进行对比。其中Autostitch是根据文献[12]中提出的算法实现的拼接程序,经常被选择成为图像拼接算法的对比方法。考虑4种情况,对比实验结果分别如图 3~图 5所示,其中,图 3a、图 4a、图 5a和图 3b、图 4b、图 5b分别是两幅待拼接图像;图 3c、图 3d、图 3e,图 4c、图 4d、图 4e和图 5c、图 5d、图 5e分别展示了上述3种方法的对比拼接结果和局部区域的放大图。
1) 楼房组:该图像组两个视点的图像尺寸均为1 000×662,图 3为拼接结果。
在图 3中,两幅不同视点的图像拍摄于不同时间,视点1图像存在汽车,视点2图像中则没有汽车。可以在3种方法的拼接结果中发现,Autostitch方法的处理结果中出现了汽车的虚影,而APAP算法也出现了类似的问题,同时拼接的缝隙相对明显。使用本文方法的拼接结果,由于使用融合方法的特性,没有出现拼接虚影,拼接缝隙也得到了较好的处理,观察起来不明显。
2) 凉亭组:该图像组两个视点的图像尺寸均为1 000×662,图 4为拼接结果。
在图 4的拼接结果对比中,可以看出,Autostitch方法在处理凉亭的顶端和飞檐时出现了重影的情况。而APAP算法的处理结果中,凉亭顶部、凉亭飞檐、多根凉亭立柱均出现重影或明显弯曲。本文方法进行拼接后,在上述部位均未出现重影或弯曲,拼接效果相对较好。
3) 船舶组:该图像组两个视点的图像尺寸均为1 000×662,图 5为拼接结果。
通过对图 5的观察,可以发现,对于船舶组图像,Autostitch方法在处理近处的金属三角架以及远处的山体森林时有一定程度虚影产生。APAP算法的处理结果中,近处的金属架以及远处的吊车横臂都有重影现象存在。而使用本文方法进行拼接,融合区域没有出现物体错位或虚影,也没有出现明显的拼接缝,拼接结果相对上述两种方法更好。