13’ Seam-Driven Image Stitching
paper:https://yu-li.github.io/paper/eg13_stitching.pdf
1、传统图像拼接存在问题
传统 Image stitching 对齐方式对 target image 和 reference image 有两点假设:
- 图像采集场景足够远,可以认为两幅图像的场景来自同一平面。
- 相机绕投影中心旋转采集图像,避免存在较大视差。
2、作者方法
2.1、实现方式
- 上半图是传统方式:特征检测、特征匹配,估计得到鲁棒最佳的 H H H,然后对target 和 reference image 作 warp 变换,最后seam-cut 得到拼接结果。
- 下半图是本文方式:本文对RANSAC算法作出修改,得到一组有差异的 待选 H H H;逐个 H H H作图像变换,并seam-cut得到拼接结果,选出其中最佳的拼接结果。
2.2、得到 Homography candidates
- 传统RANSAC方式难以对图片中所有的匹配特征点对进行穷举采样,通常是类似背景的主导平面的特征点被大量采样。
- 作者提出的RANSAC修改版:
1、首先实施原始RANSAC算法,迭代次数n设置为较大的500次,用于拟合图像中的dominant(主)平面。
2、除dominant(主)平面的中的样本点,以迭代次数n为50的情况下进行一系列RANSAC步骤得到一些不同的 H H H矩阵。
作者认为这样可以得到能够拟合一些更小的平面结构,这些结构对于拼接结果感官较为重要。
2.3、计算拼缝(seam-cut)
计算方式参考文献:Interactive Digital Photomontage
能量函数:
where:
E
d
E_d
Ed是反应像素显著性的数据损耗能量。平滑能量
E
s
E_s
Es是衡量相邻像素
p
p
p和
q
q
q 的不连续性,定义在一个4连通的邻域N上。
-
E d E_d Ed图像梯度
where: l p l_p lp决定 在像素 p p p位置,使用 I 1 I_1 I1的图像梯度还是 I 2 I_2 I2的图像梯度。 -
E s E_s Es平滑损失,像素 p p p和 q q q之间
公式(3)表明了每对相邻像素间的不连续性。- if l p = l q l_p = l_q lp=lq,则 E s = 0 E_s= 0 Es=0 ;(两个像素点在同一个平面上)
- if
l
p
≠
l
q
l_p \neq l_q
lp=lq, 则
E
s
=
0
E_s= 0
Es=0被定义为重叠区域像素的差异
D
D
D
其中: α = 2 \alpha =2 α=2- 基于Graphcut的方式得到在上述损失定义下达到最小损失的拼缝,Graphcut优化方法参考文献:Fast approximate energy minimization via graph cuts