图像拼接——Parallax-tolerant Image Stitching
简介
本文贡献:
1.首先开发了一种高效的随机算法,用于寻找不完全精确的局部对齐(只采用了部分重叠区域的特征点)的单应性变换(粗对齐)
在这个过程中,通过从粗略对齐的图像中找到一个合理的缝隙(seam),并使用缝隙的代价来评分单应性变换。
2.还开发了一种基于图割的缝隙查找方法,它可以从仅粗略对齐的图像中估计出合理的缝隙,同时考虑几何对齐和图像内容。
3.一旦找到了最佳的单应性变换,我们将其用于预先对齐输入图像,然后再使用内容保持变形来细化对齐效果。(这一步所谓内容保持变形的本质上是定义了三个优化项,来对网格进行优化)
Motivation
我们的观察是,我们不需要在整个重叠区域完美地对齐图像。实际上,对于具有大视差的图像,要完美对齐它们是非常困难的,甚至是不可能的。我们的目标是在局部区域对齐图像,以便我们可以找到一个缝隙将它们拼接在一起
1.整体流程

第一步:检测和匹配SIFT特征,同时,还估计输入图像的边缘图。
第二步随机选择种子特征点:
以下是该算法的步骤:
随机选择一个种子特征点:算法首先从所有的特征点中随机选择一个特征点作为种子点。
逐步选择空间上最近的邻居:从种子点开始,算法逐步选择与当前特征点空间上最近的邻居特征点,直到无法通过一个预定义的阈值用单应性矩阵将这些选定的特征点对齐。也就是说,这一组选定的特征点应该能够通过一个单应性变换,使得它们在拼接后的图像中保持对齐。
维护特征点的惩罚值:在整个迭代的过程中,对每个特征点维护一个惩罚值(penalty value),用于记录该特征点在迭代过程中被选中的次数。当一个特征点被选中时,它的惩罚值增加一。
选择有效的种子特征点:在每次迭代中,为了成为一个有效的种子特征点,该特征点必须满足两个条件:一是它之前不能被选为种子点,即确保不重复选取;二是它的惩罚值应该低于所有特征点的平均惩罚值。这样可以确保在迭代过程中,选择的种子特征点具有一定的多样性,并且没有过多地重复选择某个特征点。
通过这样的随机算法,不断地选择特征点,并利用单应性矩阵将它们对齐,最终可以得到一组选定的特征点,用于后续的局部对齐和图像拼接操作。这样的选择过程可以有效地提高图像对齐的准确性和鲁棒性。
由此可以找到一个最佳拟合单应性矩阵
第三步评估最佳拟合单应性矩阵:使用在步骤2中找到的最佳拟合单应性矩阵,进行粗对齐,用本文的方法生成接缝。获得这个接缝的同时会根据公式(1)生成一个成本值,这个值也就是粗对齐模型的评分。如果评分足预定义的质量阈值,执行步骤4。否则返回步骤2,重新获取最佳拟合单应矩阵再执行步骤三。
第四步使用content-preserving warping进行精对齐。
2.粗对齐以及接缝查找
2.1对齐模型选择
主要有两种对齐模型:
global homography :能较好的地保持整体形状,但是应对视差能力差
content-preserving warping:应对视差能力好
本文考虑将这两种对齐模型结合起来,以在尽可能大的共同区域内对齐图像并尽量减少失真。在粗对齐阶段采用global homography,查找到最优接缝后,后续的精对齐再采用content-preserving warping
给定一个种子特征点,我们的方法逐步将其邻近的特征点组合起来拟合一个2D变换(默认为单应性变换)。在这里,我们使用稍大的适应度阈值,以便尽可能多地组合特征点,尽管这样做会使得单应性无法完全拟合这些特征对应关系。通过后续应用内容保持变形,可以弥补单应性的适应度损失,因为内容保持变形非常适合用于局部变形的细化,而不会引入明显的失真。
2.2 粗对齐模型评估
在图像拼接中,显著的图像特征,例如边缘,应该对齐良好,而像天空这样的图像区域则不一定需要完美对齐。
我们通过从局部粗略对齐(全局单应变换)的图像中找到一个合理的接缝,利用这个接缝成本(公式(1))对粗对齐的结果进行评分。
具体步骤如下:
降采样:首先对输入图像进行降采样,以提高算法的处理速度并容忍小的对齐误差。降采样可以减少图像的尺寸,从而加快后续计算的速度。
计算边缘图:对降采样后的输入图像使用
Canny边缘检测方法 [1],得到输入图像的边缘图。边缘图是一幅仅包含图像边缘的二值图像。低通滤波:对边缘图进行低通滤波,以容忍小的对齐误差。低通滤波可以平滑边缘图,减少细微的边缘变化,从而降低对齐的要求。
全局透视投影与差异计算:对每幅输入图像,首先使用预先估计的
单应性变换(或其他全局2D变换)将其变形。然后,计算变形后的图像的边缘图与参考图像的边缘图之间的差异,得到差异图E d E_d Ed。(这一步实现了粗对齐)查找合理缝隙:本文扩展了文献[2]的图割缝隙查找方法 ,来找到合理的缝隙。
具体而言,将重叠区域内的每个像素视为一个图节点,定义相邻节点之间的边缘代价,通过最小割算法找到一条分割线,即缝隙,一个合理的接缝应该避免通过差异图中具有较大值的像素,以实现无缝拼接。简而言之,我们将重叠区域中的每个像素视为图形节点。我们如下定义两个相邻节点 s s s 和 t t t 之间的边成本:
e ( s , t ) = f c ( s ) ∣ E d ( s ) ∣ + f c ( t ) ∣ E d ( t ) ∣ ( 1 ) e(s, t)=f_c(s)\left|E_d(s)\right|+f_c(t)\left|E_d(t)\right| (1) e(s,t)=fc(s)∣Ed(s)∣+fc(t)∣Ed(t)∣(1)
使用对齐置信度函数 f c ( s ) f_c(s) fc(s) 来加权边缘代价。 f c ( s ) f_c(s) fc(s) 用于进一步考虑单应性变换只能粗略对齐图像,并且需要使用内容保持变形来进行对齐细化的情况。具体而言,如果一个局部区域具有一个SIFT特征点,那么在该区域的对齐很可能可以通过内容保持变形来改善,因此只使用单应性变换带来的对齐误差应该被降低。
当局部区域内有SIFT特征点时,我们认为对齐置信度应该较高,因此 f c ( s ) f_c(s) fc(s)取值较小;
而当局部区域内没有SIFT特征点时,对齐置信度较低, f c ( s ) f_c(s) fc(s)取值较大
f c ( s ) = 1 ∑ P i g ( ∥ P s − P i ∥ ) + δ f_c(s)=\frac{1}{\sum_{P_i} g\left(\left\|P_s-P_i\right\|\right)+\delta} fc(s)=∑Pig(∥Ps−P<

文章介绍了一种改进的图像拼接技术,通过随机选择特征点进行局部对齐,结合全局单应性和内容保持变形,有效处理大视差场景。算法包括粗对齐、接缝查找和内容保持变形等步骤,以提高图像拼接的准确性和鲁棒性。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



