SEAGULL: Seam-Guided Local Alignment for Parallax-Tolerant Image Stitching
简介
图像拼接中的大视差是一个具有挑战性的问题。全局对齐通常会引入明显的伪影。常见的策略是进行部分对齐,以便更容易寻找用于拼接的良好缝隙。与现有方法不同的是,我们明确地使用估计的缝隙来引导优化局部对齐的过程,从而使缝隙质量在每次迭代中得到改进。此外,我们引入了一种新颖的保持结构的变形方法,用于在变形过程中保留显著的曲线和直线结构。这些措施显著提高了我们的方法在处理大视差下的各种具有挑战性的图像时的效果。
1.整体流程
第一步:
使用基于超像素分割的方法分割图像,然后用本文设计的迭代生长方法生成一系列的超像素组,使用每个超像素组进行单应变换,从而形成多个粗对齐(图中alignement hypothesis)
第二步:
1.对于每个alignement hypothesis使用文献【15】的方法生成接缝
2.根据当前对齐误差
和匹配点与当前估计接缝的距离
对当前的alignement hypothesis进行加权(获得一个权重
ω
\omega
ω,用在后续的Structure-preserving warp中,作为其中一个优化项的系数)
第三步:
对于每个alignement hypothesis结合前面获得的
ω
\omega
ω,进行Structure-preserving warp(精对齐),多次迭代,当网格顶点位置与前一次迭代相比变化不大(平均变化小于1个像素)或迭代次数超过5时,迭代终止。选取最终seam评分最高的精对齐,作为最终的拼接结果
2.Alignment Hypotheses Generation(粗对齐)
文章考虑到还是在重叠区域进行局部对齐
,采取的是基于超像素的特征分组方法
具体步骤如下:
-
特征匹配:使用SIFT算法获取初始的特征匹配。
-
超像素分割:按照文献[1]中方法对目标图像进行超像素过分割。
-
去除异常:使用RANSAC剔除每个超像素中的异常特征点
-
特征分组:只使用包含特征点的超像素,一开始所有超像素被标记为:未分组
-
生长过程:从未分组的超像素中选择具有
最多特征
的超像素,作为初始化超像素组。然后,逐个检查其相邻未分组
超像素,如果加入到该组后的单应性拟合误差小于阈值(通常为5个像素),则将其添加到该组中。重复这个过程直到不能再添加相邻超像素。 -
合并过程:对超像素组进行合并,从具有
最多特征
的组开始,依次尝试将其他组合并到该组,合并后的组的单应性拟合误差应小于阈值。 -
局部对齐:对每个超像素组进行局部单应性变换,将目标图像进行变形,得到不同的局部对齐假设。通过这种方式,论文得到了一系列局部对齐假设。
-
丰富假设:为了避免仅生成局部单应性假设,还通过将
不同的超像素组合
并产生额外的对齐假设
,进一步丰富了假设集合。
3.Structure-preserving warp(精对齐)
本文的Seam-Guided Local Alignment 通过迭代以下三个步骤来优化每个alignement
hypothesis。
首先,根据特征匹配的当前对齐误差和当前估计接缝的距离对特征匹配进行加权。
然后,采用一种新的保持结构的变形方法对目标图像进行变形。
最后,基于“彩色边缘图像”估计拼接接缝【15】。当网格顶点位置与前一次迭代相比变化不大(平均变化小于1个像素)或迭代次数超过5时,迭代终止。对于一个相当好的对齐假设,这个过程通常在2
~ 3次迭代中结束。否则,我们将通过设置运行时效率的硬限制5次迭代来提前终止那些糟糕的情况。在迭代终止时,记录最终的拼接接缝质量。
w
=
λ
(
e
−
d
m
2
2
σ
m
2
+
ϵ
)
w=\lambda\left(e^{-\frac{d_m^2}{2 \sigma_m^2}}+\epsilon\right)
w=λ(e−2σm2dm2+ϵ)
其中括号中的项
取决于特征当前的对齐误差
,
λ
λ
λ取决于特征到当前接缝的距离。
d
m
d_m
dm为目标图像经过变形后的图中
的特征点与参考图像中对应特征之间的距离。
ϵ
\epsilon
ϵ=0.01和
σ
m
σ_m
σm =10是常数。当
d
s
d_s
ds≤20 (ds是从特征到当前接缝的最短距离)时,λ设为1.5,否则设为0.1。在第一次迭代中,当seam没有被估计时,所有
d
s
d_s
ds都被设为0。
本文Structure-preserving warp定义的优化项和Parallax-tolerant Image Stitching中的基本一样除了下面这一项:
E
f
(
V
^
)
=
∑
i
w
i
∥
∑
k
=
1
4
c
k
V
^
k
−
p
i
′
∥
2
E_f(\hat{V})=\sum_i w_i\left\|\sum_{k=1}^4 c_k \hat{V}_k-p_i^{\prime}\right\|^2
Ef(V^)=i∑wi
k=1∑4ckV^k−pi′
2
Parallax-tolerant Image Stitching中是没有
ω
\omega
ω这一项的
具体的可以看我另外一篇博客https://blog.csdn.net/zhangzhao147/article/details/132066783
4. 总结
可以看出,和Parallax-tolerant Image Stitching一样,本文也是采用粗对齐+精对齐
的框架,Parallax-tolerant Image Stitching 的设计了随机算法,利用迭代生长的特征点组,形成生成了一个局部对齐
,然后在边缘图
上设计了一个接缝生成
方法,通过比较不同alignement hypothesis的成本值来确认最终的粗对齐,而后采用Structure-preserving warp(本质上是网格优化方法)进行精对齐
本文则是采用超像素分割,也是利用叠代生长的超像素组进行单应变换,从而获得一个粗对齐,每个粗对齐(alignement hypothesis)都会生成一个接缝
与Parallax-tolerant Image Stitching不同的是,本文一开始先不筛选出最佳粗对齐,而是将多个粗对齐都使用Structure-preserving warp进行多次迭代,最后评估每个精对齐的接缝的评分,从而确认最终的拼接结果
该方法在Parallax-tolerant Image Stitching的基础上,根据距离候选缝线的距离,通过调整不同特征的权重来优化接缝驱动方法。此外,还在,轮廓和线检测的基础上,添加曲线和线约束来保持相应的结构(这就是Parallax-tolerant Image Stitching的优化项),可以在相对较高的计算代价下获得较好的拼接结果
所以总的来说本文的主要贡献:
1.设计了基于超像素的图像局部对齐方法
2.利用接缝使用Structure-preserving warp进行迭代的框架
3.为Parallax-tolerant Image Stitching这篇文章中的Structure-preserving warp步骤中的Local alignment term这个优化项中,添加了一个自适应系数
ω
\omega
ω
reference
【15】Kwatra, V., Sch¨odl, A., Essa, I., Turk, G., Bobick, A.: Graphcut textures: image
and video synthesis using graph cuts. ACM Trans. Graph. 22(3), 277–286 (2003)