一种快速鲁棒性的视差图像拼接方法
2024-03-05张望成杨建永
张望成,杨建永,胡 炎,2*
(1.中国电子科技集团公司第五十四研究所,河北 石家庄 050081;2.北京航空航天大学 自动化科学与电气工程学院,北京 100083)
0 引言
图像拼接[1]是计算机视觉领域的一项基础研究,其将从不同位置和方向捕获的多个图像组合成一个具有更广视野的全景图。这项技术被广泛应用于辅助驾驶、增强现实、视频监控[2]、移动娱乐以及其他实际应用中。目前基于全局单应性的拼接算法已经相对成熟,相关的商业产品也应运而生,如Adobe Photoshop PhotoMerge、Microsoft Image Composite Editor、PTGUI和AutoStitch[3]。图像拼接的一般过程包括以下几个步骤:首先进行特征点检测和匹配,使用尺度不变特征转换(Scale-Invariant Feature Transform,SIFT)[4]或加速稳健特征(Speeded-Up Robust Features,SURF)[5]等特征点检测器提取参考图和目标图的特征点集,通过最近邻匹配方法完成特征点的配准,并使用RANSAC方法过滤错误匹配,得到提纯后的特征点匹配对;其次进行投影关系估计,采用直接线性变换(Direct Linear Transformation,DLT)算法[6]估计匹配点对之间的投影关系,并将目标图像投影到参考图像坐标系下,获得投影图;最后进行无缝融合,通常采用加权融合方法对参考图和投影图进行无缝融合。加权融合方法根据像素在重叠区域中的重要性进行像素值的加权平均,以获得自然、无缝的拼接结果。
然而,在实际拼接场景中,由于相机抖动、短基线、相机的相对运动、光照变化和光学畸变等因素的影响,拼接场景往往不是平面的。当场景中的物体深度差异较大时,基于全局单应性的扭曲模型可能导致全景图中出现伪影。因此,实现一个没有伪影的自然全景图在实践中是一个具有挑战性的任务。用于克服伪影问题的方法可分为以下3类。
第1类是基于多波段融合的方法,将图像分成多个频段,每个频段使用不同融合权重。由Brown等[3]提出的AutoStitch是最经典的一种图像拼接算法,利用SIFT特征匹配关系计算图像的初始变换参数,并使用光照补偿和多波段融合实现无缝拼接。该算法要求待拼接图像的内容近似处于一个平面,否则会产生伪影,因此具有一定的局限性。Gao等[7]在AutoStitch框架的基础上,将图像内容分为前景和背景并分别计算投影矩阵,通过加权融合得到了具有一定的视差处理能力的改进算法。然而,当图像无法进行前景和背景划分时,该方法会失效。
第2类方法是在图像融合之前选择最佳的拼接缝,通常与多频带融合方法或局部单应性方法相结合。Gao等[8]提出了一种拼接缝损失的衡量方法,用于评估变形图像与参考图像之间的不连续性。使用RANSAC估计多个单应性矩阵,并选择具有最小拼接缝损失的单应性矩阵来缝合变形图像和参考图像。Zhang等[9]提出了估计局部单应性矩阵的方法,仅对图像的特定区域进行对齐,并应用内容保持变形来进一步改善对齐。Lin等[10]改进了拼接性能,通过使用迭代变形和拼接缝估计的方法。基于最佳拼接缝的方法通常仅对特定局部图像区域进行对齐,以提供视觉上令人满意的拼接结果,但可能在整个图像区域上没有几何上的准确性。
第3类是基于局部自适应变形的方法,利用整个目标图像上的平滑拼接场来进行更精细的调整。Zaragoza等[11]提出了APAP算法,通过移动直线变换(Moving Direct Linear Transformation,MDLT)方法求解平滑投影场,并被广泛应用[12-17]。Lin等[12]提出了AANAP(Adaptive As-Natural-As-Possible),使用局部单应性和全局相似性变换的组合,通过线性化单应性并慢慢将其更改为全局相似性来减轻非重叠区域中的透视失真。Lee等[13]首先估计多个单应性,然后找到2个图像之间的内在特征匹配,利用形变残差评估每个特征匹配,并对输入图像进行超像素划分,通过最小化由形变残差加权的特征匹配误差自适应地形变每个超像素以减轻视差伪影。Herrmann等[14]提出将重叠区域划分成多个子区域,分别进行局部形变建模。赵光远[15]提出了一种改进MDLT的图像配准和最佳缝合线融合的新方法,通过引入特征点聚类方式对图像内的特征点进行聚类分析,并改进了基于图割的最佳缝合线搜索算法中能量函数所包含的参数项,提高了局部形变的拼接质量。崔志远[16]通过SIFT和LSD算法检测匹配点和直线段,对图像划分规则网格,基于薄板样条估计网格的最终形变位置,提高局部形变拼接算法的直线保持能力。Li等[18]提出了健壮视差容忍图像拼接算法REW,采用贝叶斯特征细化模型自适应去除不正确的局部匹配,并构造解析变形函数消除视差错误。然而,大多数局部变形拼接模型存在计算效率不高的问题,比如AANAP使用CPU拼接2幅800 pixel×600 pixel的图像通常需要20~30 s。
为了解决当前局部形变拼接方法效率低的问题,提出了一种新颖的快速鲁棒性的视差图像拼接方法,可通过GPU并行计算框架大幅度提高计算效率,同时确保重叠区域到非重叠区域过渡的平滑性和自然性。
1 MDLT方法回顾
DLT用于估计图像IM×N和JM×N之间的K个匹配特征点对之间的最优全局扭曲变换H的矩阵参数。如果存在匹配点对x=[x,y, 1]T∈I,x′= [x′,y′, 1]T∈J,则有:
(1)
由x′与Hx之间叉积为0,可得:
(2)
式中:h=[h0h1h2h3h4h5h6h7h8]T。根据式(2)可得优化目标:
(3)
基于DLT的全局扭曲变换与基于MDLT的“网格化”局部扭曲变换如图1所示。
“网格化”形变场建模是一种经典的局部自适应形变方法,利用稠密投影来构建视差图像之间的几何关系,并采用MDLT方法来求解每个小网格的投影矩阵参数。MDLT方法将平面划分成密集网格,以i个网格左上角点为中心点Oi,计算所有特征点p到Oi的空间距离作为权重,并对式(3)进行适应性改造,得到:
(4)
式中:
(5)
wi,k为Oi与第k个特征点之间的距离权重,σ为距离方差,γ为常数,表示最小取值。由式(4)和式(5)可以看出,MDLT在构建超定方程时考虑了所有特征点贡献的大小,距离网格顶点越近,特征点的贡献越大;反之亦然。
2 提出的方法
针对当前局部变形拼接计算效率低的问题,提出一种快速鲁棒性的视差图像拼接算法,算法框架如图2所示。所提出的算法包括匹配对获取、局部形变场建模和图像融合拼接3个环节。
2.1 匹配对提取
SURF是一种快速且具有鲁棒性的特征点检测和描述算法,2006年由Bay等[5]提出,是一种对尺度和旋转变化具有不变性的特征点算法,在实时或大规模图像处理中具有较高的效率。RANSAC是一种基于随机采样的迭代算法,用于拟合数据中的模型并过滤掉外点[17]。RANSAC能够有效处理带有噪声和异常值的数据集,广泛应用于计算机视觉、几何估计和数据拟合等领域。当小型旋翼无人机在超低空飞行时,由于相机视点过低,导致3D场景中物体的投影不再符合同一2D投影模型,从不同位置和不同视角拍摄的2幅图像中会存在多种投影关系,称为多几何结构。由于RANSAC拟合的模型为全局投影模型,因此在处理多几何结构场景时会失效。
针对超低空场景图像存在多几何结构问题,文献[19]已经进行了深入研究,并提出了一种适用于多几何结构图像的深度稠密投影(Deep Dense Projection, Deep-DP)估计器。Deep-DP是基于仿射变换构建,由23个级联层组成,包括13个降采样随机抽样层、7个随机/半随机抽样层、1个异常匹配过滤层和2个结构视差抑制层。为配合级联估计器的高效执行需求,设计了一个GPU并行计算框架,确保Deep-DP在鲁棒性、准确性、实时性和故障率方面实现更出色的表现,如图3所示。
在匹配对提取环节主要采用SURF检测器进行特征点提取,然后采用Deep-DP获取提纯点对。相关算法流程,本文不再赘述。下面将重点阐述基于Deep-DP的局部形变场建模和基于局部形变场的图像融合拼接。
2.2 局部形变场建模
(6)
式(6)为代入法求解仿射变换的参数表达式,其本质上是由3对点求得局部仿射变换模型的一个特殊解。由于特征点对中存在噪声和视差,特解会使形变场不光滑,甚至产生较大的畸变。针对上述问题,提出一种半随机抽样一致性(Semi-RANSAC)方法来克服形变场不光滑的问题。借鉴MDLT工作原理,一方面,采用目标点周围16邻域点,而非全部特征点。MDLT与提出算法构造距离权值的原理如图4所示。
图4 MDLT与提出算法构造距离权值的原理Fig.4 Principles of constructing distance weights of MDLT and the proposed method
MDLT构造的距离权值矩阵是采用指数函数构造,当距离较远时,特征点的贡献很小。又因特征点是稀疏分布的,16邻域以外的特征点对计算目标点处的形变参数贡献已非常小。因此,采用目标周围16邻域点对计算局部投影参数的精度损失很小,可以有效加速计算。另一方面,采取半随机抽样计算目标点处的形变模型参数,具体描述如下。
令pk表示目标点,C16(pk)表示pk的16邻域。每次选定pk作为固定点,然后从C16(pk)中随机抽取2个点,带入式(6)得到一个特殊解hl。重复L次半随机抽样,可以得到一组候选模型解集φ(pk)={hl|l=1,2,3,…,L}。在φ(pk)中每一个hl都满足式(1),但仍可能存在噪声,需要对φ(pk)集合进行去噪处理。令hG表示全局估计模型,hG可以利用式(3)求得。定义模型偏差:
(7)
如果ξ(hl) >σ,则表示hl为噪声。其中,σ表示模型偏差阈值,ξ(hl)表示旋转缩放参数的偏差,σ根据经验可以取3。滤除噪声后,φ(pk)元素数量记为C,可以得到pk点处的局部平滑解h*(pk),表达式如下:
(8)
令xi表示图像I中任意一个像素点,构建距离权值函数wik,表示第i个像素点到第k个特征点之间的距离权重:
(9)
则图像I的形变场表示为:
(10)
式(8)中,h*(pk)是建立在解集φ(pk)上的计算结果,因此,h*(pk)可以保持精确性;另一方面采用加权计算可以保持h*(pk)的平滑性。式(10)在计算投影场时,也采用了局部加权平滑策略,由此可以确保最终投影场的平滑性,如图5所示。
图5 形变场示意Fig.5 Schematic diagram of warp field
此外,式(6)~式(8)的计算过程对每个特征点是完全独立的,式(9)和式(10)的计算过程对每个像素点是也完全独立的。因此,在设计GPU并行计算框架时,可以取K×R个GPU线程执行式(6)~式(8)的计算,R表示半随机抽样的次数;同理,可以取M×N个GPU线程执行式(9)、式(10)的计算过程。获取图像形变场后,利用形变场逐像素对原图进行坐标转换,获得转换图像后再与底图进行融合以获得最终的拼接图。
图5将每个像素点处的变换矩阵的旋转参数hl2以热力图形式展现出来,可以反映出大视差场景下“旋转”的渐变情况。可以看出,远处立体建筑和铁路线铺设区域出现了明显的分区,说明局部投影场准确地拟合了图像立体内容和平面内容,克服了传统全局投影在非平面场景下失效的缺陷;重叠区域内部颜色变化波动较大,说明局部投影场建模精度高,对细节拟合准确;重叠区域边缘颜色呈渐变过渡,说明局部投影场形变过渡平滑。
2.3 图像融合
首先将目标图像素按照投影场进行逐像素投影,得到:
(11)
3 实验和分析
本文算法与AutoStitching算法拼接效果对比试验如图6所示。在火车站场景中,2幅图像存在拍摄角度差异、图像远近分辨率变化、图像细节复杂。采用当前手机等移动设备广泛使用的AutoStitching算法进行对比测试。可以看出,图中红色框内AutoStitching算法出现了严重的畸变失真,而本文算法实现了精准无缝拼接。
图6 本文算法与AutoStitching算法拼接效果对比试验Fig 6 Comparative experiment of the stitching effect between the proposed algorithm and the Auto- Stitching algorithm
此外,采用结构相似性(Structural Similarity Index Measure,SSIM)[18]指标进行了图像对齐的定量比较,如图7所示。SSIM是一种用于评估图像质量的指标,它测量了2幅图像在结构上的相似性。SSIM指标的取值为0~1,数值越大表示结构相似度越高。APAP[11]、AANAP[12]和REW(Robust Elastic Warp)[21]是近期较为先进的3种局部投影拼接方法。数据集来自文献[11-12,18],共计27对,分辨率从500 pixel×375 pixel到2 160 pixel×1 440 pixel的升序排列。
(a)SSIM
(b)运行时间
从图7(a)可以看出,REW、APAP和AANAP的平均SSIM分别为0.727、0.678和0.671。所提出的算法的平均SSIM得分为0.667,但该得分与APAP和AANAP非常接近。图7(b)显示了4种算法的主循环消耗的时间,从特征匹配后立即开始,直到图像融合之前结束。REW、APAP、AANAP的平均运行时间分别为1.187、1.367、2.660 s。然而,所提出的算法实现了最低的平均运行时间0.203 s,显著优于其他算法。
4 结束语
本文提出了一种适用于GPU高效计算的平滑形变场计算框架,极大地提高了平滑形变场建模的计算效率。使用半随机抽样策略结合加权平均来估计局部最优模型,可以兼顾投影场的平滑度和局部形变模型的精度。由于本文的去噪策略采用的是常数阈值模型,自适应能力较弱。由SSIM对比实验可以看出,该方法在对齐精度方面有一定的提高空间。此外,当图像中出现较大的结构视差时,比如静态物体因视角变化出现视觉错位,在图像融合时必须借助拼接缝来隐藏伪影。在未来的研究中,将继续开展优化工作,在GPU高效计算框架中融合自适应滤波模块、拼接缝查找模块,进一步提高算法的实时性和拼接质量。