图像拼接系列相关论文精读
- Seam Carving for Content-Aware Image Resizing
- As-Rigid-As-Possible Shape Manipulation
- Adaptive As-Natural-As-Possible Image Stitching
- Shape-Preserving Half-Projective Warps for Image Stitching
- Seam-Driven Image Stitching
- Parallax-tolerant Image Stitching
文章目录
论文题目:基于非常灵活扭曲的大视差图像拼接算法
论文地址:Parallax-Tolerant Image Stitching Based on Robust Elastic Warping
论文源码:https://github.com/gain2217/Robust_Elastic_Warping
# 摘要 图像拼接旨在生成高质量低运算成本的全景图。本文,我们提出一个基于鲁棒性灵活扭曲的解决大视差问题的图像拼接算法,它在完成精确配准的同时也有很高的效率。给定一组图片间的匹配点,用一个分析的扭曲函数消除视差错误。然后,输入图像被扭曲,根据计算图像的网格形变。无缝的全景图通过直接重投影扭曲图片生成。作为该方法的重要部分,特征细化的贝叶斯模型用于提出错误的局部匹配。和现有的方法相比,这使得配准更具鲁棒性。而且,我们的扭曲可以和其他不同的变换类型高度共存。它和全局相似变换结合,这种灵活的策零作为一个例子提供。文本提出的方法的表现使用几个有挑战性的例子展现。
关键词:图像拼接,图像配准,零或扭曲,特征优化,计算效率,计算机视觉。
1.介绍
在计算机视觉领域,有视差的图像拼接依然是个有挑战性的工作。生成高分辨率的全景图和视频是至关重要的,它在现在的多媒体技术的应用中扮演重要角色,例如监视,沉浸式交流,虚拟现实。传统的拼接方式通常在每张图片上计算一个最优全局变换。一个有代表性的例子就是自动拼接。全局方法在理想情况下效果很好,理想情况指的是相机移动可以忽略或者场景近乎在同一个平面。然而,对于有视差的情况,例如图1中的输入图片,伪影会出现在结果全景图中。
为了获得更好的拼接质量,主流方式通常构建一个基于图片间对应点的局部拼接场。虽然全局变化不能满足这些需要,但是几个空间变化变换模型提出,其中APAP最具代表性。APAP计算每个图片块局部单应矩阵,以此完成高准确度的局部配准。然而,这种单应模型可能在非重叠区域产生投影损失。为了解决这个问题,引入全局相似变换,产生了看起来更自然的图像拼接结果。借鉴内容保护扭曲CPW,研究者提出一系列直接扭曲方式,原图像分成一个独立的网格,网格被平滑拉伸,以减少目标图像的不连续性。和接缝裁剪结合,大视差问题可以得到很好的解决。
和基于网格的模型不同,我们已经研究了非刚性网格变换方法,在整个图像平面直接计算损失函数,例如光流,结构化变形,薄板样条差值(TPS)。给定计算出的全局变换,这些方法把局部配准看作一个常规的带有平滑限制的匹配问题。光流场的计算包括图像内容的稠密匹配,这是一个旷日持久的工作。而且,在不对等条件变得更大时,光流变得更不可靠。因此,它很少直接用于图像拼接中处理视差。对于结果变形和TPS,配准是基于几个锚点的。因此,扭曲非常容易产生匹配错误。换句话说,匹配数据中已存在的内点会导致严重的扭曲失真。然而,正如我们知道的,在图像弹性配准方面,罕有研究关注内点删除。由于这些缺点对于图像自然拼接来说,变形函数的应用有很大的限制。
本文中,我们既关注图像配准的准确度也关注效率。基于鲁棒弹性扭曲的视差容忍图像拼接算法由此提出。我们方法的基本数学框架是建立在TPS模型之上的。我们首先介绍TPS的基本理论和给出一组匹配点的弹性扭曲模型。其次,通过分析扭曲参数的统计规律,我们提出一个特征优化的贝叶斯模型,它用来适当剔除匹配数据中的局部内点。在重叠区域配准完成后,通过在非重叠区域使用线性降低变形函数,我们逐渐改变局部扭曲直到全局变换。这样,全局投影就被保护了。得益于我们扭曲的高兼容性,我们也提出一个灵活且高效的策略,将其和全局相似变换结合。该方法可以扩展到多图拼接,而且我们也提出整个扩展的工作流程和一些重要的准则。
该扭曲方式可以看作基于网格的模型和直接变形策略的结合。正如图2(a)中展示的,特征点的投影偏差首先使用全局相似变换计算。然后整个图片的偏差使用变形函数插值运算。为了加速运算,我们在整个图像构建网格,但仅在网格点计算函数值,正如图2(b)中展示的那样。
其他像素点的变形直接通过双线性插值获得。保护配准准确度的同时计算效率增强。图2(c)展示了扭曲图像中的特征点间的投影偏差。最后,全景图通过重投影扭曲图像构成。正如图1中展示的那样。文本其余章节安排如下:第2单元重现重要的相关工作。第3单元介绍算法细节。第四单元扩展方法到多图拼接上。实验结果和其他算法比较在第五单元。第六单元结论。
2.相关工作
写的挺好值得学习,还有其他方法的总结。此处先略。
3.强弹性局部配准
A.弹性局部配准
给定两个有重叠区域的图片
I
p
,
I
q
I_p,I_q
Ip,Iq,它们的匹配点为
p
i
=
(
x
i
,
y
i
)
T
,
q
i
=
(
u
i
,
v
i
)
T
,
i
=
1
,
.
.
.
,
n
\mathbf p_i = (x_i,y_i)^T,\mathbf q_i = (u_i,v_i)^T,i=1,...,n
pi=(xi,yi)T,qi=(ui,vi)T,i=1,...,n,两张图片的全局变换使用DLT或者其他代表性的方法计算如自动拼接:
x
^
′
∼
H
x
^
(1)
\mathbf {\hat x}' \sim \mathbf H\mathbf {\hat x} \tag1
x^′∼Hx^(1)
浪线代表对应尺度相等,H是全局单应矩阵,x和x‘代表两张图片在单应坐标内的一对匹配点。我们使用
p
i
′
=
(
x
i
′
,
y
i
′
)
T
\mathbf p_i' = (x_i',y_i')^T
pi′=(xi′,yi′)T表示
I
q
I_q
Iq中通过公式(1)计算的
p
i
\mathbf p_i
pi的投影。正如图2(a)中展示的,
p
i
′
\mathbf p_i'
pi′处的视差误差通过投影偏移
g
i
=
p
i
′
−
q
i
=
(
g
i
,
h
i
)
T
\mathbf g_i = \mathbf p_i' - \mathbf q_i = (g_i,h_i)^T
gi=pi′−qi=(gi,hi)T表示,对于有视差的输入图片,
g
i
≠
0
g_i \not = 0
gi=0和局部适当配准方法用来消除这些误差。
起初,弹性扭曲用于解决匹配医学图像,不同参数的扭曲方法变体用来适配具体的应用需求。径向基函数(RBFs)在给定锚点的图像扭曲中已经是很有用的工具。我们选择带有一个简单RBF类型的TPS去规划图形变形,因为它在配准质量和效率上都有很好的表现。
具体地,整张图片
I
q
I_q
Iq的变形可以用
g
(
x
,
y
)
=
(
g
(
x
,
y
)
,
h
(
x
,
y
)
)
T
\mathbf {g}(x,y) = (g(x,y),h(x,y))^T
g(x,y)=(g(x,y),h(x,y))T表示,
g
(
x
,
y
)
,
h
(
x
,
y
)
g(x,y),h(x,y)
g(x,y),h(x,y)是x,y方向上的变形。下面简单分析,我们使用
g
(
x
,
y
)
g(x,y)
g(x,y)代替
g
(
x
,
y
)
\mathbf {g}(x,y)
g(x,y),因为
g
(
x
,
y
)
,
h
(
x
,
y
)
g(x,y),h(x,y)
g(x,y),h(x,y)是总体同一且相互独立的。最有扭曲能量函数包含以下两项:配准项
J
D
J_D
JD和平滑项
J
S
J_S
JS
J
D
=
∑
i
=
1
n
(
g
(
x
i
′
,
y
i
′
)
−
g
i
)
2
(2)
J_D = \sum_{i=1}^n(g(x_i',y_i')-g_i)^2\tag2
JD=i=1∑n(g(xi′,yi′)−gi)2(2)
J
s
=
∬
(
x
,
y
)
∈
Ω
∣
∇
2
g
∣
2
d
x
d
y
(3)
J_s = \iint_{(x,y)\in \Omega}\big\lvert\nabla^2g\big\lvert^2dxdy\tag3
Js=∬(x,y)∈Ω∣∣∇2g∣∣2dxdy(3)
整个式子最小化:
J
λ
=
J
D
+
λ
J
S
(4)
J_\lambda = J_D + \lambda J_S\tag4
Jλ=JD+λJS(4)
其中,
λ
\lambda
λ是权重参数,用于平衡两项。根据TPS的偏移理论,最小化的最优解可以表示为:
g
(
x
,
y
)
=
∑
i
=
1
n
ω
i
ϕ
i
(
x
)
+
α
1
x
+
α
2
y
+
α
3
(5)
g(x,y) = \sum_{i=1}^n \omega_i \phi_i(\mathbf x) + \alpha_1x+\alpha_2y+\alpha_3 \tag5
g(x,y)=i=1∑nωiϕi(x)+α1x+α2y+α3(5)
其中,
ϕ
i
(
x
)
=
∣
x
−
p
i
′
∣
2
l
n
∣
x
−
p
i
′
∣
\phi_i(\mathbf x) = |\mathbf x - \mathbf p_i'|^2ln |\mathbf x - \mathbf p_i'|
ϕi(x)=∣x−pi′∣2ln∣x−pi′∣是RBF。系数
w
=
(
ω
1
,
.
.
.
ω
n
)
T
\mathbf w = (\omega_1,...\omega_n)^T
w=(ω1,...ωn)T和
a
=
(
α
1
,
α
2
,
α
3
)
T
\mathbf a = (\alpha_1,\alpha_2,\alpha_3)^T
a=(α1,α2,α3)T可以通过解下面的线性方程组得到:
(
K
+
λ
C
2
,
2
I
P
P
T
0
3
×
3
)
(
w
a
)
=
(
f
0
3
×
1
)
(6)
\left( \begin{matrix} \mathbf {K} +\lambda C_{2,2} \mathbf I & \mathbf P \\ \mathbf P^{\mathbf T} & \mathbf 0_{3×3} \end{matrix} \right)\left( \begin{matrix} \mathbf w\\ \mathbf a \end{matrix} \right) = \left( \begin{matrix} \mathbf f\\ \mathbf 0_{3×1} \end{matrix} \right)\tag6
(K+λC2,2IPTP03×3)(wa)=(f03×1)(6)
其中,
C
2
,
2
=
8
π
C_{2,2} = 8\pi
C2,2=8π是一个常数,
K
=
(
ϕ
i
(
p
j
′
)
)
∈
R
n
×
n
,
P
=
(
p
^
1
′
,
.
.
.
,
p
^
n
′
)
T
∈
R
n
×
3
,
f
=
(
g
1
,
.
.
.
,
g
n
)
T
\mathbf K =(\phi_i(\mathbf p_j'))\in \mathbb{R}_{n×n},\mathbf P = (\mathbf {\hat p_1'},...,\mathbf {\hat p_n'})^T \in \mathbb{R_{n×3}},\mathbf f=(g_1,...,g_n)^T
K=(ϕi(pj′))∈Rn×n,P=(p^1′,...,p^n′)T∈Rn×3,f=(g1,...,gn)T。如果匹配数量n≥4,公式(5)有唯一解。源图上任意位置
(
x
,
y
)
T
(x,y)^T
(x,y)T的变形可以通过公式(5)中输入的
w
\mathbf w
w和
a
\mathbf a
a得到。
为了加速运算,
C
x
×
C
y
C_x × C_y
Cx×Cy大小的网格构建在图像平面上。扭曲首先计算网格点,然后线性插值到所有其他像素。对于图1中展示的输入图片,计算扭曲函数展示在图3。
基于计算的变形
g
(
x
,
y
)
\mathbf g(x,y)
g(x,y),
I
q
I_q
Iq可以扭曲消除和
I
p
I_p
Ip的为配准。网格扭曲场的例子画在图2(b)中。我们把
I
~
q
\widetilde I_q
I
q记为扭曲后的图片。对于
I
q
I_q
Iq中的任意点
q
0
=
(
x
0
,
y
0
)
T
\mathbf q_0 = (x0,y0)^T
q0=(x0,y0)T和
I
~
q
\widetilde I_q
I
q中的对应点
q
=
(
x
,
y
)
T
\mathbf q = (x,y)^T
q=(x,y)T,有
{
x
0
=
x
−
g
(
x
,
y
)
y
0
=
y
−
h
(
x
,
y
)
(7)
\begin{cases} x_0 = x - g(x,y) \\ y_0 = y - h(x,y) \end{cases}\tag7
{x0=x−g(x,y)y0=y−h(x,y)(7)
扭曲通过唤醒逆双线性插值映射完成。图2(a)中的扭曲图像展示在2©中。实际上,扭曲可以附在LUTs(转换查找表)变换上,作为一个中间步骤。因此
I
~
q
\widetilde I_q
I
q不需要明确生成。无缝拼接的全景图通过重投影和融合配准图生成。
B.特征匹配贝叶斯特征细化模型
在特征选择和特征匹配时,对于自然图片来说,位置错误和误匹配问题几乎是不可避免的。为了正确配准,有必要剔除错误匹配。大多数的主流方法用RANSAC去除匹配数据中的异常值。从计算效率考虑,在计算局部扭曲之前,全局变换通常作为提供RANSAC的最小值。然后,全局RANSAC和局部适应模型的矛盾出现了。这会导致两个不好的结果:
1)如果投影偏移比阈值大,正常点可能也被剔除;
2)如果投影便宜小于阈值,异常点可能未被剔除。
图4展示了大视差的情况。
(a)是用全局RANSAC剔除异常点的结果,地面上一些正确的特征点被错误的移除了,但几个异常点被保留了。在这种情况下很难配准。(b)展示了APAP的结果,但有明显的重影。
正如我们所知的,很少有研究关注图像配准的局部异常点剔除上。局部DLT方法移除异常值在他们很广泛的基准图像拼接方法之上的。单应矩阵用每个特征点计算,通过在整个R像素的邻居上应用DLT。如果差值误差少于阈值 γ \gamma γ,就认为是正确匹配。局部DLT方式对于纹理区域是有效的,但对于没有足够特征的区域是失败的。具体地,如果匹配点在与它相邻的特征数量少于4,不能计算机该位置的一个可靠单应矩阵。图4©展示了局部DLT的异常值剔除结果,通过作者原文将参数设置为 R = 50 , γ = 5 R=50,\gamma = 5 R=50,γ=5。一些正常值被错误地剔除了,因为他们周围没有足够的特征点去支撑判断它们到底是正常值还是异常值。APAP结合局部DLT的结果展示在图4(b)中。
通过分析x方向上的权重 w i w_i wi的分布和y方向上的权重 v i v_i vi的分布,两个权重附带在RBF ϕ i ( x ) \phi_i(\mathbf x) ϕi(x),我们提出一个鲁棒性特征细化模型。作为松散全局RANSAC后的一步,它可以适当移除局部异常值。尽管 w i w_i wi, v i v_i vi是全局计算的,我们的模型不会有不满足足够匹配的情况。模型的特征细化结果见图4(e),比a和c更好。值得注意的是,特征细化模型上面A中提到的权重计算操作。因此,它是一个很好的弹性局部配准模型。
为了便于定量分析,关于匹配数据的两个理想化假设首先提出。
假设1:两个相邻像素间的投影偏移变换是独立同分布的。
假设2:通过足够多的像素,每个锚点都与其他锚点分离。
上面假设中的像素不是真实的图像像素,而是一个抽象概念,它代表图像平面中场景点的投影。因此,一个理想的图像应该是包含无限多的这样的像素。在假设1和2的条件下,一个有趣的推论可以通过中心极限定理得到:
偏移
g
i
\mathbf g_i
gi和
g
j
,
j
≠
i
\mathbf g_j,j\not = i
gj,j=i服从正太分布
根据TPS的性质,权重
(
ω
i
,
v
i
)
(\omega_i,v_i)
(ωi,vi)与
g
i
\mathbf g_i
gi同
p
i
′
\mathbf p_i'
pi′周围其他锚点投影偏移的差值是成比例的。根据推论,
ω
i
,
v
i
\omega_i,v_i
ωi,vi的值也大概服从正态分布。具体地,
ω
i
∼
N
(
0
,
σ
w
)
,
v
i
∼
N
(
0
,
σ
v
)
,
σ
w
,
σ
v
\omega_i \sim N(0,\sigma_w),v_i \sim N(0,\sigma_v),\sigma_w,\sigma_v
ωi∼N(0,σw),vi∼N(0,σv),σw,σv是对应的标准偏置由于公式(6)的下面一行使
∑
i
=
1
n
w
i
=
0
\sum_{i=1}^nw_i=0
∑i=1nwi=0,
w
i
w_i
wi的均值也为0。
v
i
v_i
vi也是一样。
给定一对匹配点
{
p
i
,
q
i
}
\{\mathbf p_i,\mathbf q_i\}
{pi,qi},匹配点是否正确用一个二值
τ
i
∈
{
0
,
1
}
\tau_i \in \{0,1\}
τi∈{0,1}表示。用
p
1
p_1
p1表示所有匹配点中正确匹配点的概率,则
p
(
τ
i
=
1
)
=
p
1
,
p
(
τ
i
=
0
)
=
1
−
p
1
p(\tau_i=1)=p_1,p(\tau_i=0)=1-p_1
p(τi=1)=p1,p(τi=0)=1−p1。考虑事件
A
i
=
{
∣
w
i
∣
>
t
σ
ω
}
A_i = \{|w_i|>t\sigma_{\omega}\}
Ai={∣wi∣>tσω},我们有
p
(
A
i
∣
τ
i
=
1
)
=
2
(
1
−
Φ
(
t
)
)
p(A_i |\tau_i=1)=2(1-\Phi(t))
p(Ai∣τi=1)=2(1−Φ(t)),其中
Φ
(
⋅
)
\Phi(\cdot)
Φ(⋅)表示标准正态分布。
A
i
A_i
Ai的概率为:
p
(
A
i
)
=
1
−
(
2
Φ
(
t
)
−
1
)
p
1
(8)
p(A_i) = 1-(2\Phi(t)-1)p_1\tag8
p(Ai)=1−(2Φ(t)−1)p1(8)
在条件
∣
w
i
∣
>
t
σ
ω
|w_i|>t\sigma_{\omega}
∣wi∣>tσω下,
τ
i
=
0
\tau_i=0
τi=0的后验概率可以通过贝叶斯规则计算:
p
(
τ
i
=
0
∣
A
i
)
=
p
(
τ
i
=
0
)
p
(
A
i
)
≥
1
−
p
1
1
−
(
2
Φ
(
t
)
−
1
)
p
1
(9)
p(\tau_i=0|A_i) = \frac{p(\tau_i=0)}{p(A_i)}\geq \frac{1-p_1}{1-(2\Phi(t)-1)p_1}\tag9
p(τi=0∣Ai)=p(Ai)p(τi=0)≥1−(2Φ(t)−1)p11−p1(9)
我们和三simga原则一致将t置为3,以至于 Φ ( t ) = 0.9987 \Phi(t)=0.9987 Φ(t)=0.9987。如果 p 1 ∈ [ 0 , 0.9973 ] , 则 p ( τ i = 0 ∣ A i ) ≥ 0.5 p_1 \in [0,0.9973],则p(\tau_i=0|A_i)\geq0.5 p1∈[0,0.9973],则p(τi=0∣Ai)≥0.5。这意味着匹配点 { p i , q i } \{\mathbf p_i,\mathbf q_i\} {pi,qi}更可能是不正确的匹配,如果事件 A i = { ∣ w i ∣ > 3 σ w } A_i = \{|w_i|>3 \sigma_w \} Ai={∣wi∣>3σw}发生。
根据以上分析,权重w和v的分布服从于剔除异常点的标准。在 p 1 ∈ [ 0 , 0.9973 ] , i f ∣ w i ∣ > 3 σ w o r ∣ v i ∣ > 3 σ v p_1 \in [0,0.9973],if |w_i|> 3 \sigma_w \ or \ |v_i|> 3\sigma_v p1∈[0,0.9973],if∣wi∣>3σw or ∣vi∣>3σv,我们将 { p i , q i } \{\mathbf p_i,\mathbf q_i\} {pi,qi}看作异常点,并从匹配数据中去除。几何学上可以这样解释:如果它的投影偏移和其他相邻匹配有显著不同,那么这个匹配很可能是错误的。尽管有一些正确匹配点可能会因为概率模型本身被误去除,配准质量不会受到影响。图4(f)展示了细化匹配点之后的拼接结果。
实际上,参数
σ
w
\sigma_w
σw和
σ
v
\sigma_v
σv是未知的。我们使用所有正确匹配的标准差
σ
~
w
\tilde \sigma_w
σ~w和
σ
~
v
\tilde \sigma_v
σ~v来近似计算它们。通过迭代算法1将误配准点去除。特征细化之后,图4(e)中的权重分布w和v对应图5.
在我们的实验中,大多数情况下,虽然细化工作都在10轮内完成,我们也把最大循环次数设置为L = 10。这样也防止极端条件下过多移除正确匹配点,与假设不符。
算法1:
C.全局变换平滑过渡
前面部分介绍了鲁棒弹性扭曲模型配准重叠区域。然而,直接外推扭曲到非重叠区域会有过拟合问题。这种不好的情况可以在图3中见到。我们想通过平滑地把局部扭曲改变为计算全局变换,尤其是全局单应矩阵H,以此减少这种情况。在非重叠区域逐渐将变形函数
g
(
x
,
y
)
\mathbf g(x,y)
g(x,y)减少到0就可以简单地做到这一点。限制形变函数:
g
s
(
x
,
y
)
=
η
g
(
x
,
y
)
(10)
\mathbf {g}_s(x,y) = \eta \mathbf g (x,y) \tag{10}
gs(x,y)=ηg(x,y)(10)
随着点(x,y)远离重叠区域,参数
η
\eta
η逐渐从1降到0。
η
=
1
−
m
a
x
(
0
,
x
−
x
u
,
x
l
−
x
,
y
−
y
u
,
y
l
−
y
)
d
s
(11)
\eta = 1 - \frac{max(0,x-x_u,x_l-x,y-y_u,y_l-y)}{d_s}\tag{11}
η=1−dsmax(0,x−xu,xl−x,y−yu,yl−y)(11)
其中,
[
x
l
,
x
u
]
[x_l,x_u]
[xl,xu]和
[
y
l
,
y
u
]
[y_l,y_u]
[yl,yu]分别是重叠区域在x和y方向上的边界。
d
s
d_s
ds是像素的平滑过渡宽度,它直接赋值为最大偏移概率。具体为:
d
s
=
K
×
m
a
x
{
∣
g
1
∣
,
.
.
.
,
∣
g
n
∣
,
∣
h
1
∣
,
.
.
.
,
∣
h
n
∣
}
(12)
d_s = K × max\{|g_1|,...,|g_n|,|h_1|,...,|h_n|\}\tag{12}
ds=K×max{∣g1∣,...,∣gn∣,∣h1∣,...,∣hn∣}(12)
K是一个比例系数。在过渡区域之外,限制变形函数
g
s
(
x
,
y
)
\mathbf {g}_s(x,y)
gs(x,y)变为0,非重叠区域的全局投影被很好的保护。
D.和全局相似变换结合
提到的扭曲仅涵盖图像内容操作,和变换类型无关。我们使用全局单应矩阵,因为它在重叠区域是局部投影的近似。然而,当拼接广视野的图片时,全局单应矩阵在非重叠区域可能导致投影损失。正如图6(a)中寺庙数据集中展示的那样。
一些主流方法使用相似变换因为它有很好的性能可以减少投影损失。一个全面的有着高配准率和看起来自然投影的空间变化拼接场通过结合两种变换已经建立起来,正如(b)中展示的那样。和(a)比看起来更自然。不同于已有的局部模型,我们在重投影它们之前就扭曲输入图片,这一就能在变换前消除误配准。然后,后续的拼接程序可以解释为在无视差图片上操作,这意味着任意全局变换都可以使用,同时对配准准确率没有任何影响。因此,该扭曲模型是和变换类型高度兼容的。
细化来自3-B章节中的方法被认为是标准的配准点
{
p
i
,
q
i
}
,
i
=
1
,
.
.
.
,
n
r
\{\mathbf p_i,\mathbf q_i\},i=1,...,n_r
{pi,qi},i=1,...,nr之后,我们计算全局相似变换
S
S
S通过最小化
J
A
=
∑
i
=
1
n
r
∣
∣
S
p
^
i
−
q
i
∣
∣
2
(13)
J_A = \sum_{i=1}^{n_r}||\mathbf{S\hat{p}}_i-\mathbf{q}{_i}||^2\tag{13}
JA=i=1∑nr∣∣Sp^i−qi∣∣2(13)
其中,
S
=
(
c
−
s
t
x
s
c
t
y
)
\mathbf S =\left( \begin{matrix} c &-s & t_x \\ s & c & t_y \end{matrix} \right)
S=(cs−sctxty)。直线线性变换DLT用于计算最优S。我们混合ANAP中使用的单应矩阵和相似变换。
H
q
=
μ
h
H
+
μ
s
H
s
(14)
\mathbf H_q = \mu_h\mathbf H+\mu_s\mathbf H_s\tag{14}
Hq=μhH+μsHs(14)
其中,
H
s
\mathbf H_s
Hs通过在
S
\mathbf S
S下面添加行(0,0,1)得到,
μ
h
,
μ
s
\mu_h,\mu_s
μh,μs是权重系数,它们的和为1。在整张图
I
q
上
I_q上
Iq上,
μ
h
\mu_h
μh从1到0线性变化,和ANAP中的设置一致。目标图片
I
p
I_p
Ip也跟这变换:
H
p
=
H
q
H
−
1
(15)
\mathbf H_p = \mathbf H_q \mathbf H^{-1}\tag{15}
Hp=HqH−1(15)
整个流程图7展示。
如果当最小化公式(14)时,令s=0,S仅包含缩放和偏移(没有旋转)。结果全景图展示在图6(b)中。
不同于ANAP和其他方式如SPHP应用局部单应矩阵,我们的方法仅依靠全局单应矩阵H和全局相似矩阵S。当结合它们时,这种特点展示出相对更高效的性能。
笔者注:这里说的相对弱一些。。。其实但从肉眼的视觉效果上来看跟AANAP差不多。好在本文实验充足,从下面的SSIM指标中可以一览究竟。
E.复杂性与效率分析
笔者注:第一次看见有分析图像拼接算法复杂性的,好评!
至此,两张图片拼接算法以及展示完了。总结一下:3-A中弹性局部配准,基于特征的变形函数用来消除图像间的未对齐。函数的参数通过TPS理论中解线性方程组计算。对于重叠区域有n个匹配点的两张图片,解n维等式的计算复杂性是
O
(
n
3
)
O(n^3)
O(n3)。为了确保配准可靠,概率特征细化策略在3-B中提出。通过RBFs中的计算权重概率分布,迭代去除误匹配点。因此,参数计算的复杂性是
O
(
L
n
3
)
O(Ln^3)
O(Ln3),最大迭代次数是L。整张图的变形通过加权RBFs的求和得到。对于输入大小是X*Y的图片来说,变形计算的计算复杂性是
O
(
n
X
Y
)
O(nXY)
O(nXY)。为了不牺牲配准质量,我们构建
C
x
×
C
y
C_x×C_y
Cx×Cy大小的图像网格加速计算,降低计算复杂性到
O
(
n
C
x
C
y
+
X
Y
)
O(nC_xC_y+XY)
O(nCxCy+XY)。3-C中,局部扭曲平滑被改变成全局变换通过线性减少变形函数到0在非重叠区域。而且,得益于我们算法的高兼容性,全局变化不会限制计算单应矩阵。3-D中全局相似变换结合的扭曲是一个灵活的策略。网格函数缩放操作和全局相似变换过渡操作都有
O
(
X
Y
)
O(XY)
O(XY)的复杂性。
总之,我们整个算法的复杂性为
O
(
L
n
3
+
n
C
x
C
y
+
X
Y
)
O(Ln^3+nC_xC_y+XY)
O(Ln3+nCxCy+XY)。第五部分的实验结果证明了我们的方法比其他局部适配拼接方法更快。
笔者注:通过分析计算复杂性来总结算法流程,真的是不错的行文思路,妙啊!
4.多图拼接
本文提出的扭曲方法很容易延伸到多图拼接。通过直接同时移动每对偏移特征点产生弹性形变,它与投影模型是无关的。在这种方法下,全局优化技术簇调整不适合这种情况。实际上,在3-C中提出的全局投影保护方法的帮助下,这种附加的拼接方案足可以提供满意的结果。具体地,输入图片增加了配准和在全局图平面混合。在配准时,两个额外的问题应该考虑:
(i) 匹配的同时进行。图像的特征点可能与不止一张图选择的特征点匹配。即使匹配的是当前图片,这些匹配也必须作为一个整体控制。对于待配准图
I
i
I_i
Ii,
P
i
,
P
i
′
P_i,P_i'
Pi,Pi′是一堆待聚类的匹配点。我们使用
I
j
I_j
Ij表示与
I
i
I_i
Ii有重叠区域的配准图。
{
p
,
q
}
\{\mathbf{p,q}\}
{p,q}是
I
I
,
I
j
I_I,I_j
II,Ij间的一对匹配点。
I
j
I_j
Ij中的点p使用全局变换投影到
I
i
I_i
Ii,然后投影点
p
′
\mathbf p'
p′被包含在
P
i
′
P_i'
Pi′中。与此同时,它的匹配点q包含在
P
i
P_i
Pi中。在所有的配准图都遍历一遍一致,点集
P
i
,
P
i
′
P_i,P_i'
Pi,Pi′建立了,它就包含了
I
i
I_i
Ii和配准图片之间的所有匹配点。然后,这些匹配点同时优化建立
I
i
I_i
Ii的弹性扭曲模型。
(ii) 更新特征定位。配准图扭曲会导致匹配点有轻微的变化。在进一步处理与当前配准图有重叠部分的其他图片序列之前,特征位置必须更新。不像3-A中用到的逆映射那样,特征位置更新应该是一个正映射,因此新的位置不能直接从LUT中读取。在这种情况下, q = ( x , y ) T \mathbf q = (x,y)^T q=(x,y)T变成了未知,与公式(7)中的初始位置 q 0 = ( x 0 , y 0 ) T \mathbf q_0 = (x_0,y_0)^T q0=(x0,y0)T不同,非线性的。然而,注意形变函数 g ( x , y ) = ( g ( x , y ) , h ( x , y ) ) T \mathbf{g}(x,y) = (g(x,y),h(x,y))^T g(x,y)=(g(x,y),h(x,y))T是利普希兹连续的,对于有限制大小的图片(这种观点的证明超过了本文的研究范围,就是证明不重要,略),并且在大多数情况下,利普希兹连续远小于1, p = ( x , y ) T \mathbf p = (x,y)^T p=(x,y)T依然可以通过应用公式(7)中的混合点迭代来计算。
给定N,输入图片为I1~IN,图像 { p i , j , k , q i , j , k } , i = 1 , . . . , N − 1 , j = i + 1 , . . . , N , k = 1 , . . . , n i , j \{\mathbf p_{i,j,k},\mathbf q_{i,j,k}\},i=1,...,N-1,j=i+1,...,N,k=1,...,n_{i,j} {pi,j,k,qi,j,k},i=1,...,N−1,j=i+1,...,N,k=1,...,ni,j匹配点,多图拼接的工作流见算法2。没有特殊说明的情况下,第一张图作为参照图。
5.实验
我们完成了我们的算法并用一组实验评估它的性能。(源码见本文开头)包括:1)和现存方法比较拼接质量;2)测试和不同类型全局变换结合时的灵活性;3)和主流方式比较计算效率;4)多图拼接结果。待比较的方法有全局单应,自动拼接,APAP,SPHP,SPHP+APAP,ANAP,前两种时全局变换模型,其他的是局部适配拼接场。在我们的实验中,使用SIFT检测和匹配点。所有测试方法都用相同的匹配数据。
参数设置。比较方法的参数设置遵循其文章中的需求和最好结果的参数,如果提供了值得范围。对于我们的方法,权重参数 λ \lambda λ设置为图像大小X×Y的0.1%,缩放参数K设置为5乘最大偏移。在公平性能评估的前提下,所有的全景图拼接结果通过不同方式生成,它使用一个连续的10×10像素单元构建,并且重叠区域简单设置为重投影的图像平均。
A.比较拼接质量
前面的章节中,我们已经展示了轨道、十字路口、和寺庙数据集的拼接结果。我们的方法可以精确配准所有的数据集。图8展示了一个有挑战性的例子,其中包含了一些不好的区域和重复纹理(马赛克确实是个体现重复纹理的好例子)。
不同方法的结果按行展示,3个有代表性的区域已经放大展示。第一行展示的是作为基准的全局单应。显著的伪影出现在三个放大区域。第2行到第4行展示APAP,SPHP+APAP,ANAP的结果,它们包含相似局部变换,拼接质量更好。第5行展示我们3-A中提到的弹性局部配准模型结果。所有四个局部适配方法使用全局RANSAC去除匹配数据中的错误点。由于全局RANSAC的限制,一些错误点没有成功去除。在单色区域的空间偏移匹配可能导致相邻图片内容的误配准,重复结构的误匹配导致严重的损失。因此,APAP,SPHP+APAP,ANAP,ELA由于单应矩阵,但依然有显著的伪影。我们的ELA模型在弹性局部扭曲中用了平滑手段,ELA的结果比其他三种更稳定。
第6行到第8行展示了使用局部错误点移除技术的结果。第6行展示APAP+local DLT的结果,比使用全局RANSAC误配准更好的消除了。第7行展示了我们的ELA模型和局部DLT结合起来的结果,仅有一点轻微的伪影。正如在3-B中分析的那样,贝叶斯特征细化比局部DLT更有鲁棒性。用贝叶斯特征细化的整体鲁棒ELA展示在第8行。三个放大区域匹配很准,不存在视觉伪影。
我们使用SSIM(结构化相似性)指标去定量评估不同方法的配准质量。测试图片可以从公共数据集中收集或我们自己采集。每对输入图片的重叠区域通过配准后计算对应SSIM获取。表1展示了8个测试方法的计算分数,其中5个用的全局错误点提出和3个局部错误点剔除。对于上面的11个有小视差或大视差的例子,所有的7个局部适配方法完成了可满足的拼接结果,因此分数非常接近。
我们的两个方法(ELA和鲁棒ELA)相比而言总分都高于其他方法。下面9个例子的输入图片是若纹理或重复纹理区域,可能导致匹配错误和影响配准准确率。和全局RANSAC相比,局部错误点去除技术可以更有效地消除这些配准错误,因此获得显著的高分。在所有的8个测试方法中,鲁棒ELA连续获得高分在9个难的例子中。所有实验数据列表的拼接结果可以在附录找到。
B.灵活性评估
正如我们在3-D中分析的,我们的扭曲模型比其他整体变换类型更灵活。更广泛的评估展示在图9.
它是我们的扭曲结合单应,等距柱状投影,和两种相似变换。图9(a)(b)(c)展示全局单应,SPHP,自动拼接的配准结果。自动拼接用等距柱状投影形成全局变换,SPHP混合全局单应和全局相似变换。红圈中的事件伪影出现在仅使用全局变换的三个结果上。(d)中展示了我么的方法在等距柱状投影上的结果。没有伪影,比©好。(e)(f)展示了透视投影中的精确配准,通过APAP和我们的方法。通过应用3-D中提到的结合策略,重叠区域的扭曲逐渐改变乘一个精确计算的相似变换。图9(h)展示全局拼接结果,与图9(g)SPHP+APAP有相同的结果。如果当计算相似变换时,我们限制旋转角度为0,即仅有缩放和偏移,我们的结果可以比肩ANAP,正如图9(i)(j)中展示的。我们方法的灵活性和其他现有的方法比更灵活。
C.计算效率比较
扭曲是直接来自于匹配点,可以有效计算的是网格化的拼接场。计算复杂性细节分析在3-E。这里,我们进一步评估在不同数据集上的计算效率,并和其他主流局部适配拼接方法比较,如APAP,SPHP+APAP,ANAP。所有的方法在相同的环境下进行,2G-HZ cpu,16GB RAM。为了更广泛的比较,我们使用两个不同的网格分辨率评估:
1)10×10像素连续网格;2)100×100。计算花费的时间成本展示在表2和表3。
在特征匹配之后时间开始,在重投影前结束。对于两种情况,和其他方法相比,我们的时间花费的更低。注意,根据APAP作者提供的几个预实现的部分去加速,加速的APAP的花费时间也展示在了两个表中。它依然比我们花费的时间更多。实验结果画在图10中,数据集通过它们的分辨率递增排序。可以简单地看到我们的方法和其他所有方法比效率更高。
D.多图拼接
为了展示我们方法多图拼接的性能,图11展示了四个输入图片的数据,11(a)(b)分别是使用全局匹配和我们的方式配准的结果。
5个放大区域展示了配准质量细节。(a)中的未对齐现象在(b)中消除了。11(b)保护了全局投影,12展示了其他例子,包含24张360°全景图照片。使用我们的方法没有视差错误。而且,在等距柱面投影中展示全景图,左右边界是空间相连的。
我们的方法可以满足左右边界的一致性,而这是其他局部配准方法很少考虑到的。作为计算拼接过程的最后一步,金字塔融合用于两张图的平滑过渡区域,12(c)展示了融合的全景图。
E.局限和失败案例
弹性扭曲将场景看作一个连续表面。因此,我们的方式不能配准严格封闭的配准图。图13展示了两个失败案例,有重影出现在前景目标上。
我们方法另一个限制就是正确匹配点应该是匹配数据的主导,以此支撑概率特征细化。
6.总结
一个有效且高效的基于鲁棒弹性扭曲的图像拼接方法在本文提出。首先,弹性扭曲模型是为了消除视差而建。没有牺牲配准的准确度,统一的网格单应设置在图像平面上,以此提高变形函数的计算效率。扭曲模型直接源于匹配点,然后应用于初始输入图像。因此,它整体可以看作一个全局模型。通过直接重投影扭曲图像获得全景图。其次,特征细化的贝叶斯模型用于适当去除匹配点集中的部分错误匹配点。这是扭曲模型中重要的一环,它可以使该方法比其他的方法更具鲁棒性配准。然后,我们提出了与全局相似变换结合的策略,提高了灵活性。最后,我们提出多图拼接的一整套工作流,还有一些重要的准则。拼接质量,灵活性和计算效率通过一系列严谨的对比实验得到验证。我们未来的工作将关注于更具鲁棒性的闭塞图片处理和视频拼接。
全文翻译结束
个人总结
- 想透彻了解本文算法,首先要理解DLT,TPS,RBFs,LUTs,SSIM等概念。
- 尤其是RANSAC流程,因为本文方法能超过其他方法的关键就是改进了RANSAC,避免了剔除匹配特征点错误的问题。
- 非常好的思路是在变换trans之前warp,即图像先变形后变换,这样变换的时候就不会有视差问题。
- 多图拼接360全景首尾能很好的相连。
- 本文方法不能处理闭环问题,两张图左右对称,或者位置只改变少许角度,其实这样的两张图实际没有必须拼在一起。。。
- 实验做的很丰满,而且还分析了复杂性。
附一些想法
- 并不是基于seam-cutting的方法,与Parallax-Tolerant Image Stitching完全不一样,它是基于网格的,虽然名字很像。
- 源码调试时,发现每次RANSAC都不一样,因为本来就是随机采样,但只要保证错误的匹配点尽量都被去除就能有好的效果,正确的匹配点被出去一些也不是很影响结果。
- 数据集可以在论文[7]-[9],[11],[12],[32]找到,也就是那几个常用的方法里。