作者:国立台湾大学计算机科学与信息工程系 Yu-Sheng Chen and Yung-Yu Chuang
摘要
本文提出了一种将多幅图像拼接在一起的方法,使拼接后的图像看起来尽可能自然。我们的方法采用了局部变形模型,并指导每个图像的变形与网格。设计了一个目标函数,用于指定所需的经线特性。除了良好的对齐和最小的局部失真,我们在目标函数中添加了全局相似性先验。这个先验约束每个图像的扭曲,使得它作为一个整体类似于一个相似性变换。相似变换的选择对结果的自然性至关重要。我们提出了为每个图像选择适当的尺度和旋转的方法。所有图像的扭曲一起解决,以最大限度地减少失真的全局。综合评价表明,该方法始终优于几个研究组的最先进的方法,包括AutoStitch,APAP,SPHP和AANAP。
引言
图像拼接是将多个图像组合成具有更宽视野的更大图像的过程[17]。早期的方法专注于提高无缝拼接的对齐精度,例如找到全局参数扭曲以使图像对齐。全局扭曲是健壮的,但通常不够灵活。为了解决全局扭曲的模型不足并提高对齐质量,已经提出了几种局部扭曲模型,例如平滑变化仿射(SVA)扭曲[12]和尽可能投影(APAP)扭曲[20]。这些方法采用多个局部参数化扭曲以获得更好的对准精度。投影(仿射)正则化用于平滑地外推超出图像重叠的扭曲,并作为一个整体类似于全局变换。拼接的图像基本上是单视角的。因此,它们遭受形状/面积失真的问题,并且拼接图像的部分可能被严重地和不均匀地拉伸。当将多个图像拼接成非常宽的视角时,该问题甚至加剧。在这种情况下,失真累积,并且远离基础图像的图像通常被显著拉伸。因此,拼接图像的视场通常具有限制。圆柱形扭曲和球形扭曲通过将图像投影到圆柱体或球体上来解决透视扭曲的相当窄的视图的问题。不幸的是,这些扭曲通常会弯曲直线,并且只有在所有图像都在同一相机中心捕获时才有效。近年来,有几种方法试图解决拼接图像中的失真和有限视场的问题,同时保持良好的对准质量。由于具有宽视场的单视角图像不可避免地引入严重的形状/尺寸失真,因此这些方法提供了多视角拼接图像。Chang等人提出了保形半投影(SPHP)变形,它是投影变换和相似变换的空间组合[4]。SPHP将重叠区域的投影变换平滑地外推到非重叠区域的相似变换。投影变换在重叠区域保持了良好的对齐,而非重叠区域的相似性变换保持了图像的原始视角并减少了失真。除了投影变换,SPHP还可以与APAP结合使用,以获得更好的对齐质量。然而,SPHP翘曲有几个问题。(1)通过分析两幅图像之间的单应性形成SPHP翘曲。它继承了单应性的局限性,并遭受有限的视场的问题。因此,当拼接许多图像时,它经常失败。(2)如果图像之间的空间关系是1D的,则SPHP更好地处理失真。当空间关系是2D时,SPHP仍然可能受到失真的影响(图5为示例)。(3)正如Lin等人所指出的那样。[11],SPHP从单应性导出相似性变换。如果使用全局单应性,则导出的相似性变换可能会表现出不自然的旋转(图4(e)作为示例)。他们提出了自适应尽可能自然(AANAP)扭曲来解决不自然旋转的问题。AANAP扭曲将单应性线性化,并缓慢地将其改变为表示相机运动的估计的全局相似性变换。AANAP仍然存在一些问题。首先,当拼接多个图像时,仍然存在局部失真(图4(f),图5和图6)。其次,全局相似性变换的估计不稳健,并且仍然可能存在不自然的旋转和缩放(图1(b),图3和图5)。
我们提出了一种图像拼接方法来解决这些问题,并鲁棒地合成自然拼接图像。我们的方法采用局部翘曲模型。每个图像的扭曲由网格网格引导。设计了一个目标函数,用于指定所需的经线特性。所有图像的扭曲都被一起求解以获得最优解。优化导致稀疏的线性系统,可以有效地解决。其关键思想是添加一个全局相似性项,要求每个图像的变形类似于一个整体的相似性变换。以前的方法已经表明,相似变换对于减少失真是有效的[4,11],但它们通常是局部施加的。与此相反,我们提出了一个全局相似性之前,为每幅图像,其中适当的选择的规模和旋转是至关重要的自然拼接图像。从我们的观察,旋转选择是必不可少的自然。很少有人关注图像拼接中的旋转选择问题。AutoStitch假设用户很少相对于地平线扭曲相机,并且可以通过计算向上向量[2]来拉直波浪形的马赛克。AANAP使用特征匹配来确定最佳相似性变换[11]。然而,这些算法不够稳健。我们提出了强大的方法来选择适当的规模和旋转为每个图像。
我们的方法具有以下优点。首先,它不存在视野有限的问题,这是APAP和SPHP共同的问题。其次,通过对所有图像一起求解翘曲,我们的方法将全局失真最小化。最后,它为每个图像指定适当的比例和旋转,使拼接的图像看起来比以前的方法更自然。简而言之,我们的方法达到了以下目标:准确的配准,减少形状失真,自然度和不受视野限制。我们在42组图像上对所提出的方法进行了评估,结果表明该方法的性能一致优于AutoStitch、APAP、SPHP和AANAP。图1展示了以前方法的常见问题。在图1(A)中,APAP+BA(束调整)[21]通过将图像投影到圆柱体上来克服视场有限的问题。然而,它使用了错误的比例和旋转,结果在图像上显示出不均匀的扭曲。AANAP未正确选择旋转和缩放。在图1(B)中,误差累积并将拼接结果显著地弯曲。我们的结果(图1©)看起来更自然,因为它正确地选择了比例和旋转。我们的方法还可以结合地平线检测,结果可以进一步改进(图1(D))。
2.相关工作
Szeliski对图像拼接有一个全面的调查[17]。图像拼接技术通常利用参数变换来全局或局部地对齐图像。早期的方法使用全局参数扭曲,如相似变换、仿射变换和投影变换。一些人认为相机运动只包含3D旋转。执行投影以将观察球映射到用于获得2D合成图像的图像平面。一个著名的例子是Brown等人提出的AutoStitch方法。[1]。高等人。针对包含两个优势面的场景,提出了双单应翘曲算法[5]。翘曲函数由具有空间变化的权重的两个单应函数的线性组合定义。由于它们的扭曲是基于投影变换的,因此产生的图像会遭受投影失真(拉伸和放大区域)。
局部扭曲模型采用多个局部参数扭曲,以获得更好的对准精度。Lin等人的研究。通过使用平滑变化的仿射拼接场,提出了图像拼接的局部翘曲模型[12]。它们的扭曲是全局仿射的,同时允许局部变形。Zaragoza等人。提出了作为射影的尽可能弯曲,它是全局射影的,同时允许局部偏差以获得更好的对齐[20]。
有几种方法不是关注对齐质量,而是解决拼接图像中的失真问题。Chang等人提出了保形半投影变形,它是投影变换和相似变换的空间组合[4]。投影变换在重叠区域保持了良好的对齐,而非重叠区域的相似性变换保持了图像的原始视角并减少了失真。这种方法有时会导致不自然的旋转。Lin等人提出了自适应尽可能自然(AANAP)扭曲,用于解决不自然旋转的问题[11]。
已经提出了一些投影模型来减少由于投影引起的视觉失真。Zelnik-Manor等人使用多平面投影作为圆柱投影的替代方案[22]。Kopf等人提出了局部自适应投影,即全局圆柱而局部透视[9]。卡罗尔等人提出了用于减少广角图像失真的内容保持投影[3]。当不满足这些模型的基本假设时,会发生不对准,并且后处理方法(例如,消重影和混合)可以用来隐藏它。
3.方法
我们的方法采用局部翘曲模型,包括以下步骤:
1.特征检测与匹配
2.图像匹配图验证[2]
3.通过APAP生成匹配点[20]
4.焦距和3D旋转估计
5.缩放和旋转选择
6.网格优化
7.基于纹理映射的结果合成
输入是一组N个图像I1,I2,…,IN.不失一般性,我们使用I0作为参考图像。我们首先通过SIFT检测每个图像中的特征及其匹配[13]。步骤2确定图像之间的相邻性。在成对比对的质量方面,APAP表现最好。因此,步骤3对每对相邻图像应用APAP,并使用对准结果来生成匹配点。详情见第3.1节。我们的方法通过网格变形拼接图像。第3.2节描述了能量函数的设计。为了使拼接尽可能自然,我们添加了一个全局相似性项,要求每个变形的图像进行相似性变换。为了确定每个图像的相似性变换,我们的方法估计每个图像的焦距和3D旋转(步骤4),然后选择最佳的缩放和旋转(步骤5)。第4节描述了这两个步骤的细节。最后,通过步骤6和7合成结果。
3.1 通过APAP生成匹配点
令J表示由步骤2检测到的相邻图像对的集合。对于J中的一对相邻图像Ii和Ij,我们应用APAP来使用步骤1中的特征和匹配来对齐它们。请注意,APAP是一种基于网格的方法,每个图像都有一个用于对齐的网格。我们在Ii和Ij的重叠中收集Ii的网格顶点作为匹配点的集合Mij。对于Mij中的每个匹配点,我们知道它在Ij中的对应关系,因为Ii和Ij已经通过APAP对齐。类似地,我们有Ij的一组匹配点Mji。
图2给出了匹配点的示例。给定图2(a)中的特征和匹配,我们使用APAP来对齐两个图像。对齐后,对于左侧图像,我们有一组匹配点,这些匹配点只是APAP对齐后重叠区域中的网格点。对于这些匹配点,我们在右图中有它们的对应关系。在进一步的步骤中,我们使用匹配点代替特征点,因为匹配点分布更均匀。
3.2 通过网格变形拼接
我们的拼接方法是基于网格为基础的图像变形。对于每幅图像,我们使用网格网格来引导图像变形。令Vi和Ei表示图像Ii的网格网格中的顶点和边的集合。V表示所有顶点的集合。我们的拼接算法试图找到一组变形的顶点位置V,使得能量函数(V)最小化。良好缝合的标准可能因应用程序而异。在我们的例子中,我们将多个图像拼接到一个全局平面上,并希望拼接后的图像看起来像原始图像一样自然。关于自然度的定义,我们假设原始图像对用户来说是自然的。因此,在局部,我们的方法尽可能地保留了每个图像的原始视角。与此同时,在全球范围内,它试图通过为图像找到适当的尺度和旋转来保持良好的结构。两者都有助于缝合的自然性。因此,我们的能量函数由三个项组成:对齐项α a,局部相似性项α l和全局相似性项α g。校准术语“校准”a。该术语通过保持匹配点与它们的对应对齐来确保变形后的对齐质量。它被定义为:
ψ
a
(
V
)
=
∑
i
=
1
N
∑
(
i
,
j
)
∈
J
∑
p
k
i
j
∈
M
i
j
∥
v
~
(
p
k
i
j
)
−
v
~
(
Φ
(
p
k
i
j
)
)
∥
2
(1)
{\psi _a}\left( V \right) = {\sum\limits_{i = 1}^N {\sum\limits_{\left( {i,j} \right) \in J} {\sum\limits_{p_k^{ij} \in {M^{ij}}} {\left\| {\tilde v\left( {p_k^{ij}} \right) - \tilde v\left( {\Phi \left( {p_k^{ij}} \right)} \right)} \right\|} } } ^2}\tag{1}
ψa(V)=i=1∑N(i,j)∈J∑pkij∈Mij∑
v~(pkij)−v~(Φ(pkij))
2(1)
Φ
(
p
)
\Phi(p)
Φ(p)返回的是匹配点p之间的对应关系。函数
v
~
(
p
)
\tilde v (p)
v~(p)将p的位置表示为四个顶点位置的线性组合。
∑
i
=
1
4
α
i
v
~
i
\sum\nolimits_{i = 1}^4 {{\alpha _i}{{\tilde v}_i}}
∑i=14αiv~i中
v
~
i
{\tilde v}_i
v~i表示p所在的四边形的四个角,
α
i
\alpha_i
αi是相应的双线性权重。
局部相似项 ψ l {\psi _l} ψl
该项用于正则化,并将对齐约束从重叠区域传播到非重叠区域。我们选择这个术语是为了确保每个四边形都经历了相似性变换,这样形状就不会扭曲太多。
ψ
l
(
V
)
=
∑
i
=
1
N
∑
(
j
,
k
)
∈
E
i
∥
(
v
~
k
i
−
v
~
j
i
)
−
S
j
k
i
(
v
k
i
−
v
j
i
)
∥
2
(2)
{\psi _l}\left( V \right) = {\sum\limits_{i = 1}^N {\sum\limits_{\left( {j,k} \right) \in {E_i}} {\left\| {\left( {\tilde v_k^i - \tilde v_j^i} \right) - S_{jk}^i\left( {v_k^i - v_j^i} \right)} \right\|} } ^2}\tag{2}
ψl(V)=i=1∑N(j,k)∈Ei∑
(v~ki−v~ji)−Sjki(vki−vji)
2(2)
其中,
v
j
i
v_j^i
vji是原始顶点的位置,
v
~
j
i
\tilde v_j^i
v~ji是变形后顶点的位置,
S
j
k
i
S_{jk}^i
Sjki是边缘
(
j
,
k
)
(j,k)
(j,k)的相似变换,,可以表示为:
KaTeX parse error: Unknown column alignment: * at position 34: …{\begin{array}{*̲{20}{c}} {c\lef…
系数
c
(
e
j
k
i
)
c\left( {e_{jk}^i} \right)
c(ejki)和
s
(
e
j
k
i
)
s\left( {e_{jk}^i} \right)
s(ejki)可以表示为顶点变量的线性组合。
全局相似项 ψ g {\psi _g} ψg
该项要求每个变形的图像尽可能地经历相似变换。它对拼接图像的自然度至关重要。简而言之,如果没有这项,结果可能是倾斜的和不均匀变形的,如AANAP和SPHP所示(图4和图5)。此外,它消除了平凡的解决方案,
v
j
i
=
0
v_j^i=0
vji=0。第4节描述了确定适当比例和旋转的过程。假设我们已经确定了图像
I
i
I_i
Ii的理想比例
s
i
s_i
si和旋转角度
θ
i
\theta _i
θi。全局相似项可以定义为:
ψ
g
(
V
)
=
∑
i
=
1
N
∑
e
j
i
∈
E
i
w
(
e
j
i
)
2
[
(
c
(
e
j
i
)
−
s
i
cos
θ
i
)
2
+
(
s
(
e
j
i
)
−
s
i
sin
θ
i
)
2
]
(4)
{\psi _g}\left( V \right) = {\sum\limits_{i = 1}^N {\sum\limits_{e_j^i \in {E_i}} {w\left( {e_j^i} \right)} } ^2}\left[ {{{\left( {c\left( {e_j^i} \right) - {s_i}\cos {\theta _i}} \right)}^2} + {{\left( {s\left( {e_j^i} \right) - {s_i}\sin {\theta _i}} \right)}^2}} \right]\tag{4}
ψg(V)=i=1∑Neji∈Ei∑w(eji)2[(c(eji)−sicosθi)2+(s(eji)−sisinθi)2](4)
这需要对
I
i
I_i
Ii中的每个边缘
e
j
i
e_j^i
eji进行相似变换,以使其与我们确定的
I
i
I_i
Ii的相似变换相似。
如等式3所述,函数
c
(
e
)
c(e)
c(e)和
s
(
e
)
s(e)
s(e)返回输入边缘
e
e
e的相似性变换系数的表达式。权重函数
w
(
e
j
i
)
w(e_j^i)
w(eji)给距离重叠区域更远的边缘分配更多的权重。对于重叠区域中的四边形而言,对齐是更加重要的,另一方面,对于远离重叠区域的边缘而言,相似性先验是更重要的,因为那里没有对齐约束。(相似性先验是什么?)
w
(
e
j
i
)
=
β
+
γ
∣
Q
(
e
j
i
)
∣
∑
q
k
∈
Q
(
e
j
i
)
d
(
q
k
,
M
i
)
R
i
2
+
C
i
2
(5)
w\left( {e_j^i} \right) = \beta + \frac{\gamma }{{\left| {Q\left( {e_j^i} \right)} \right|}}\sum\limits_{{q_k} \in Q\left( {e_j^i} \right)} {\frac{{d\left( {{q_k},{M^i}} \right)}}{{\sqrt {R_i^2 + C_i^2} }}} \tag{5}
w(eji)=β+
Q(eji)
γqk∈Q(eji)∑Ri2+Ci2d(qk,Mi)(5)
β
\beta
β和
γ
\gamma
γ是控制项重要性的常数,
Q
(
e
j
i
)
Q(e_j^i)
Q(eji)是共享边
e
j
i
e_j^i
eji四边形的集合,(1或2个四边形,取决于边是否在网格的边界上。)
M
i
M^i
Mi表示图像
I
i
I_i
Ii重叠区域的集合;函数
d
(
q
k
,
M
i
)
d(q_k,M^i)
d(qk,Mi)返回四边形
q
k
q_k
qk到网格空间冲的重叠区域的四边形的距离。
R
i
R_i
Ri和
C
i
C_i
Ci表示
I
i
I_i
Ii中重叠区域四边形网格的行数和列数。在高层次上,这个高层次是什么意思边的权重与边缘到网格空间中重叠区域的归一化距离成正比。
网格的最佳变形由以下式子确定:
V
~
=
arg
min
V
~
ψ
a
(
V
)
+
λ
l
ψ
l
(
V
)
+
ψ
g
(
V
)
(6)
\tilde V = \arg \mathop {\min }\limits_{\tilde V} {\psi _a}\left( V \right) + {\lambda _l}{\psi _l}(V) + {\psi _g}(V)\tag{6}
V~=argV~minψa(V)+λlψl(V)+ψg(V)(6)
在
ψ
g
\psi _g
ψg中有两个参数需要注意,
β
\beta
β和
γ
\gamma
γ,用于控制全局相似性项的相对重要性。一般设置为:
λ
l
=
0.56
\lambda_l=0.56
λl=0.56,
β
=
6
\beta=6
β=6,
γ
=
20
\gamma=20
γ=20。通过稀疏线性求解可以高效地解决线性问题。
4 比例和旋转选择
本节介绍每个图像 I i I_i Ii的最佳比例 s i s_i si和旋转 θ i \theta_i θi,这是保证拼接结果自然性的关键。
4.1 焦距和3D旋转的估计
我们通过改进AutoStitch[2]提出的束调整方法来估计每幅图像的焦距和3D旋转。我们从两个方面对他们的方法进行了改进:更好的初始化和更好的点匹配。较好的初始化提高了该方法的收敛速度。
从两个图像之间的单应性,我们可以估计两个图像的焦距[17,16,18]。在执行APAP之后,我们为网格的每个四边形都有一个单应性。因此,每个四边形给我们一个估计的焦距的图像。我们将这些估计的中值作为焦距的初始化,并形成
I
i
I_i
Ii的初始矩阵
K
i
K_i
Ki。一旦我们有了
K
i
K_i
Ki,我们就通过最小化以下投影误差来获得
I
i
I_i
Ii和
I
j
I_j
Ij之间的3D旋转
R
i
j
R_{ij}
Rij的初始估值:
R
i
j
=
arg
min
R
∑
p
k
i
j
∈
M
i
j
∥
K
j
R
K
i
−
1
p
k
i
j
−
Φ
(
p
k
i
j
)
∥
2
(7)
{R_{ij}} = \arg \mathop {\min }\limits_R {\sum\limits_{p_k^{ij} \in {M^{ij}}} {\left\| {{K_j}RK_i^{ - 1}p_k^{ij} - \Phi \left( {p_k^{ij}} \right)} \right\|} ^2}\tag{7}
Rij=argRminpkij∈Mij∑
KjRKi−1pkij−Φ(pkij)
2(7)
这可以通过SVD(奇异值分解)来解决。 请注意,AutoStich使用特征及其匹配来估计两个图像之间的3D旋转。特征的问题在于它们在图像空间中不是均匀分布的,这可能会产生不利的影响。我们使用匹配点而不是特征点来估计3D旋转。(匹配点和特征点的区别是什么)
在较好地初始化
K
i
K_i
Ki和
R
i
j
R_{ij}
Rij的情况下,执行束调整以获得每个图像
I
i
I_i
Ii的焦距
f
i
f_i
fi和3D旋转
R
i
R_i
Ri。公式4中
I
i
I_i
Ii的刻度
s
i
s_i
si可以设置为:
s
i
=
f
0
/
f
i
(8)
s_i=f_0/f_i\tag{8}
si=f0/fi(8)
4.2 旋转选择
如第1节所述,虽然旋转的选择对自然度至关重要,但很少有人注意到它。AutoStitch假设用户很少相对于地平线扭曲相机,并且可以通过计算向上矢量来拉直波浪形的马赛克[2]。AANAP使用特征匹配来确定最佳相似性变换[11]。如图3所示,启发式算法不够鲁棒。
旋转选择的目标是为每个图像
I
i
I_i
Ii分配旋转角度
θ
i
\theta_i
θi。我们提出了两个方法来确定旋转,一个2D的方法和一个3D的方法。在描述这些方法之前,我们首先定义几个术语。
相对旋转范围:给定一对相邻图像
I
i
I_i
Ii和
I
j
I_j
Ij,它们的每对匹配点唯一地确定相对旋转。假设第k对匹配点给出了相对旋转角
θ
k
i
j
\theta_k^{ij}
θkij。我们将
I
i
I_i
Ii和
I
j
I_j
Ij之间的相对旋转范围Θij定义为:
θ
i
j
=
[
θ
min
i
j
,
θ
max
i
j
]
(9)
{\theta ^{ij}} = \left[ {\theta _{\min }^{ij},\theta _{\max }^{ij}} \right]\tag{9}
θij=[θminij,θmaxij](9)
其中,
θ
min
i
j
=
min
k
θ
k
i
j
\theta _{\min }^{ij} = {\min _k}\theta _k^{ij}
θminij=minkθkij,
θ
max
i
j
=
max
k
θ
k
i
j
\theta _{\max }^{ij} = {\max _k}\theta _k^{ij}
θmaxij=maxkθkij。
最小线失真旋转
人对线条比较敏感。因此,我们提出了一个程序,用于找到两个相邻的图像之间的最佳相对旋转相对于线对齐。我们首先使用LSD检测器检测线[6]。通过APAP给出的对齐,我们可以找到两个相邻图像
I
i
I_i
Ii和
I
j
I_j
Ij之间的直线对应关系。每对对应的线唯一地确定相对旋转。我们使用RANSAC作为一个强大的投票机制,以确定
I
i
I_i
Ii和
I
j
I_j
Ij之间的相对旋转。每条线的投票权取决于其长度和宽度的乘积。最终的相对旋转取为所有内点旋转角度的平均值。我们将
ϕ
i
j
\phi ^{ij}
ϕij表示为由MLDR确定的
I
i
I_i
Ii和
I
j
I_j
Ij之间的相对旋转角。
给定由MLDR估计的所有相对旋转角
ϕ
i
j
\phi ^{ij}
ϕij,我们可以找到一组旋转角
{
ϕ
i
}
\{ {\phi ^i}\}
{ϕi}以尽可能地满足MLDR成对旋转关系。我们将
ϕ
i
{\phi ^i}
ϕi表示为单位2D向量
(
u
i
,
v
i
)
(u_i,v_i)
(ui,vi),并用公式表示以下能量函数:
KaTeX parse error: Unknown column alignment: * at position 118: …{\begin{array}{*̲{20}{c}} {{u_i}…
其中
R
(
ϕ
i
j
)
R\left( {{\phi ^{ij}}} \right)
R(ϕij)是由
ϕ
i
j
\phi ^{ij}
ϕij指定的2D旋转矩阵。通过最小化EMLDR,我们找到一组旋转角
θ
i
\theta_i
θi,以尽可能满足MLDR成对旋转约束。为了避免平凡的解决方案,我们需要至少一个以上的约束求解方程10。我们提出了两种方法来获得额外的约束。
旋转选择(2D方法)
在这种方法中,我们与Brown等人做了类似的假设。[2]假设用户很少相对于地平线旋转相机。也就是说,如果可能的话,我们更喜欢
θ
i
=
0
∘
{\theta _i} = {0^ \circ }
θi=0∘。首先,我们需要确定一张图像的旋转角度。在不损失一般性的情况下,将参考图像的角度设为
0
∘
{0^ \circ }
0∘,即,
θ
i
=
0
∘
{\theta _i} = {0^ \circ }
θi=0∘。一旦我们有了某个图像
I
i
I_i
Ii的旋转角
θ
i
\theta_i
θi,我们就可以通过
Θ
j
=
Θ
i
j
+
θ
i
{\Theta _j} = {\Theta ^{ij}} + {\theta _i}
Θj=Θij+θi来确定与
I
i
I_i
Ii相邻的图像
I
j
I_j
Ij的旋转范围。如果
0
∘
{0^ \circ }
0∘在
θ
j
\theta_j
θj的范围内,则意味着不旋转是合理的,我们应该设置
θ
j
=
0
\theta_j=0
θj=0。通过使用边界函数沿邻接图传播旋转范围,我们可以找到一组旋转为
0
∘
{0^ \circ }
0∘的图像。补充材料中给出了详细过程的伪代码。设Ω为旋转角度等于
0
∘
{0^ \circ }
0∘的图像集。
我们通过最小化下列式子来找到
θ
i
\theta_i
θi
E
M
L
D
R
+
λ
z
E
Z
E
R
O
(11)
E_{MLDR}+\lambda_z E_{ZERO}\tag{11}
EMLDR+λzEZERO(11)
其中:
KaTeX parse error: Unknown column alignment: * at position 71: …{\begin{array}{*̲{20}{c}} {{u_i}…
λ
z
=
1000
\lambda_z=1000
λz=1000,因此
Ω
\Omega
Ω中的图像就可能被分派到0旋转。
旋转选择(3D方法)
在该方法中,我们利用在本节开始时估计的3D旋转矩阵
R
i
R_i
Ri。我们首先分解3D旋转矩阵
R
i
R_i
Ri以获得相对于z轴的旋转角
α
i
\alpha_i
αi。两个相邻图像
I
i
I_i
Ii和
I
j
I_j
Ij之间的相对旋转可以确定为
α
i
j
=
α
j
−
α
i
\alpha^{ij}=\alpha_j-\alpha_i
αij=αj−αi。如果
α
i
j
∈
Θ
i
j
\alpha^{ij}\in{\Theta ^{ij}}
αij∈Θij,则说明估计是合理的,可以使用。否则,我们应该使用MLDR的相对旋转
ϕ
i
j
{{\phi ^{ij}}}
ϕij。设
Ω
\Omega
Ω是使用
ϕ
i
j
\phi^{ij}
ϕij和
Ω
ˉ
=
J
−
Ω
\bar \Omega = J - \Omega
Ωˉ=J−Ω的对的集合。通过最小化以下公式确定旋转角度:
KaTeX parse error: Unknown column alignment: * at position 111: …{\begin{array}{*̲{20}{c}} {{u_i}…
我们设置
λ
r
=
10
\lambda_r=10
λr=10以给予3D旋转更多权重。
实验和结果
我们将我们的方法(2D和3D版本)与四种方法进行比较,AutoStitch [2],APAP [20],SPHP [4]和AANAP [11]。实验在配备2.8GHz CPU和16GB RAM的MacBook Pro上进行。使用VLFeat [19]提取SIFT特征。对于基于网格的方法,网格大小为40×40。我们在42组图像上测试了这六种方法(3个来自[11],6个来自[4],4个来自[20],7个来自[14],3个来自[5],19个是我们自己收集的)。所有的比较都可以在补充材料中找到。图像的数量范围从2到35。我们收集的测试集比现有的测试集更具挑战性。我们将发布我们所有的代码和数据,以便于进一步的比较。1不考虑特征检测和匹配,对于800 × 600的分辨率,我们的方法拼接两张图像需要0.1s(图4),拼接35张图像需要8s(图6)。
图4比较了拼接两个图像的所有方法。图4(a)显示了AutoStitch的结果。请注意,存在明显的未对准。我们的方法可以用来授权与APAP的对齐能力的其他方法。图4(B)示出了其中失准已被大部分消除的结果。虽然具有良好的对准质量,但APAP遭受透视失真的问题(图4(c))。可以将APAP的透视模型改为ASAP的相似性模型,这与Schaefer等人的方法类似。[15]。图4(d)显示了ASAP的结果。虽然相似性在减少失真方面表现良好,但对于良好的对齐(特写)并不有效。此外,结果会显示出伪影和不均匀变形。SPHP存在不自然旋转的问题(图4(e))。AANAP在这个例子中给出了一个合理的结果(图4(f)),但是地板上的线条稍微扭曲,如特写中更清楚地显示的那样。在这个例子中,我们的方法具有最好的拼接质量(图4(g))。
图1呈现了用于通过拼接18个图像来获得全景的示例。SPHP在这个例子中失败了,因为它的视野有限。APAP+BA通过将图像投影到圆柱体上克服了这个问题[21]。然而,由于不正确的尺度和旋转估计,结果在图像上表现出不均匀的失真(图1(a))。AANAP未正确选择旋转和缩放。如图1(B)所示,误差累积并使拼接结果显著弯曲。注意,这个问题不能通过矩形化全景方法[7]来解决,因为它会尽可能地保持输入全景的原始方向,而不参考原始图像。全景可以变成矩形,但场景仍然是弯曲的。我们的结果(图1(c))看起来更自然,因为它正确地选择了尺度和旋转。我们的方法是灵活的,可以扩展到遵守一些额外的约束。在这个例子中,我们使用消失点检测方法[10]来检测一个图像的地平线。有了这个额外的约束,拼接图像更好地与地平线对齐,以获得更自然的结果(图1(d))。
在图5中拼接六个图像的示例中,AutoStitch由于其球形投影(左上)而引入了明显的失真。SPHP无法处理图像之间的2D拓扑结构,并且存在失真(左下)。AANAP的结果显示出不自然的旋转和形状扭曲(右上)。我们的结果看起来是所有结果中最自然的(右下)。图6的输入包含35个图像。AutoStitch会受到球形投影(左上)引起的变形的影响。AANAP在整个图像(右上角)都有失真。我们的两种方法给予更自然的结果。2D方法可以更好地保持每个图像的透视(左下),而3D方法可以更好地保持原始场景的3D透视(右下)。
总之,虽然ASAP,AANAP,SPHP和我们的方法都使用相似性,我们的方法给出了更好的结果。差异来自于如何利用相似性。SPHP试图减少透视失真,但当视野较宽(图1)和图像之间的空间关系为2D(图5)时,它会失败。AANAP试图解决不自然的旋转,但它不够强大,经常失败(图1(b),图3和图5)。此外,AANAP不优化形状失真,一次只能拼接两张图像。当拼接多个图像时,可能存在局部失真(图4(f)、图5和图6)。我们的方法比以前的方法更好地解决了所有这些问题。
6.结论
本文提出了一种图像拼接方法,合成自然的结果。我们的方法采用局部翘曲模型。通过增加全局相似性先验,我们的方法可以减少失真,同时保持良好的对齐。更重要的是,使用我们的缩放和旋转选择方法,全局相似性先验导致更自然的拼接图像。
本文提出了两个主要贡献。首先,提出了一种结合APAP的对齐精度和相似性的小失真的方法。虽然可以探索单个组件,但我们以不同的方式使用它们。该方法还自然地处理多个图像的对准。其次,它提出了鲁棒估计适当的图像相似性变换的方法。它们有两个目的:进一步加强局部相似性和强加一个良好的全局结构。实验证明了该方法的有效性和鲁棒性。