Multi-Viewpoint Panorama Construction With Wide-Baseline Images Images
简介
文章源自IEEE TRANSACTIONS ON IMAGE PROCESSING
在这篇论文中,我们提出了一种用于广角基线图像的拼接方法。我们的主要贡献是采用基于网格的框架,结合各种项来优化图像对齐。引入了一种新颖的尺度保持项,使得对齐几乎平行于图像平面,同时仍允许进行局部透视校正。一种新的接缝切割模型减少了由于难以处理传统接缝切割算法[8],[9]中的误对齐而引起的视觉伪影。图1展示了一个具有挑战性的城市场景示例,其中包含了14张在不同位置拍摄的图像。我们生成的全景图具有视觉吸引力。
1.主要工作
1.特征匹配后离群点剔除
2.网格优化,设计了新的约束项
3.接缝生成,在传统的色差的基础上添加了对准误差作为约束项
2.离群点剔除
对于每个特征点,我们假设在它的局部区域
有一个平面,所以所有的邻居都近似在同一个平面上
。对于任意两个特征点,当其距离小于
r
r
r时,我们将其视为相邻点。我们使用DLT[29]
对所有相邻特征对应拟合一个单应性,并计算残差。如果误差小于阈值γ,我们将其标记为内线。在我们的实验中,我们一般设
R
R
R = 50,
γ
γ
γ = 5。
3.网格优化
target图进行网格化,顶点索引:
V
=
[
x
1
y
1
x
2
y
2
…
x
m
y
m
]
⊤
V=\left[\begin{array}{lllllll} x_1 & y_1 & x_2 & y_2 & \ldots & x_m & y_m \end{array}\right]^{\top}
V=[x1y1x2y2…xmym]⊤
总的能量函数如下:
E
(
V
)
=
E
A
(
V
)
+
λ
R
E
R
(
V
)
+
λ
S
E
S
(
V
)
+
E
X
(
V
)
E(V)=E_A(V)+\lambda_R E_R(V)+\lambda_S E_S(V)+E_X(V)
E(V)=EA(V)+λRER(V)+λSES(V)+EX(V)
其中
E
A
(
V
)
E_A(V)
EA(V)为对齐项,强制相应的特征点被弯曲到相同的位置。
E
R
(
V
)
E_R(V)
ER(V)是正则化项,鼓励相邻的顶点进行相似的变换。
E
S
(
V
)
E_S(V)
ES(V)为尺度项,防止图像尺度变化较大。
λ
R
λ_R
λR和
λ
S
λ_S
λS是权值,在我们的系统中通常设为1。
E
X
(
V
)
E_X(V)
EX(V)是一个可选的额外约束,用于更强的正则化。
3.1 Feature Alignment —— E A ( V ) E_A(V) EA(V)
将每个特征点表示为
四个外围控制顶点
的加权和,并使所有特征点的对齐误差最小化。与[16]类似,我们使用双线性插值计算原始网格上
的权值,相当于重心表示。
表达式如下: w 1 = ( v 3 x − p x ) ( v 3 y − p y ) , w 2 = ( p x − v 4 x ) ( v 4 y − p y ) , w 3 = ( p x − v 1 x ) ( p y − v 1 y ) , w 4 = ( v 2 x − p x ) ( p y − v 2 y ) . \begin{aligned} & w_1=\left(v_{3 x}-p_x\right)\left(v_{3 y}-p_y\right), \\ & w_2=\left(p_x-v_{4 x}\right)\left(v_{4 y}-p_y\right), \\ & w_3=\left(p_x-v_{1 x}\right)\left(p_y-v_{1 y}\right), \\ & w_4=\left(v_{2 x}-p_x\right)\left(p_y-v_{2 y}\right) . \end{aligned} w1=(v3x−px)(v3y−py),w2=(px−v4x)(v4y−py),w3=(px−v1x)(py−v1y),w4=(v2x−px)(py−v2y).
这里我们基于这样一个假设:当网格较小时,对其进行透视投影变换时,可以近似看作仿射变换,即前面提到的权重是不变的。
对于target图上的点
p
i
p_i
pi,以及reference图上与之匹配的点
p
j
p_j
pj,在经过网格变形后这一对匹配点将投影到同一画布上得到
p
i
∗
p_i^*
pi∗和
q
i
∗
q_i^*
qi∗,我们希望的是他们两尽量重合,所以有了下面约束项:
E
A
(
V
)
=
∑
(
p
i
,
p
j
)
∈
C
1
N
p
i
,
p
j
∥
p
i
∗
−
q
i
∗
∥
2
=
∑
(
p
i
,
p
j
)
∈
C
1
N
p
i
,
p
j
∥
W
i
V
−
W
j
V
∥
2
\begin{aligned} E_A(V) & =\sum_{\left(p_i, p_j\right) \in C} \frac{1}{N_{p_i, p_j}}\left\|p_i^*-q_i^*\right\|^2 \\ & =\sum_{\left(p_i, p_j\right) \in C} \frac{1}{N_{p_i, p_j}}\left\|W_i V-W_j V\right\|^2 \end{aligned}
EA(V)=(pi,pj)∈C∑Npi,pj1∥pi∗−qi∗∥2=(pi,pj)∈C∑Npi,pj1∥WiV−WjV∥2
其中
C
C
C是所有匹配对的集合
W
i
W_i
Wi是
p
i
p_i
pi的一个2m×2权值矩阵:
[
…
w
1
0
…
w
2
0
…
w
3
0
…
w
4
0
…
…
0
w
1
…
0
w
2
…
0
w
3
…
0
w
4
…
]
\left[\begin{array}{ccccccccccccc} \ldots & w_1 & 0 & \ldots & w_2 & 0 & \ldots & w_3 & 0 & \ldots & w_4 & 0 & \ldots \\ \ldots & 0 & w_1 & \ldots & 0 & w_2 & \ldots & 0 & w_3 & \ldots & 0 & w_4 & \ldots \end{array}\right]
[……w100w1……w200w2……w300w3……w400w4……]
W
i
T
V
W _i^T V
WiTV则是
p
i
∗
p_i^*
pi∗的坐标
[
x
,
y
]
T
[x,y]^T
[x,y]T
N
p
i
,
p
j
N_{p_i,p_j}
Npi,pj是包含
p
i
,
p
j
p_i,p_j
pi,pj两个特征点的单元格所包含的特征点的总和。用于对不同区域的对齐误差进行归一化处理,防止特征丰富的网格支配对齐项。
3.2 Regularization—— E R ( V ) E_R(V) ER(V)
对齐项只影响有特征点的网格。我们需要一个正则化项来将变换传播到其他区域。在[15]、[20]和[22]中,使用一个相似项来保持每个网格网格的形状。然而,这在我们的案例中并不奏效。对于全景拼接,强制相似性约束是不合理的,因为通常需要透视校正。在局部平面假设下,我们更倾向于使局部邻域具有相似同形性。
如图6所示,对于每个顶点
V
1
V_1
V1,我们用它的四个邻居
V
1
,
V
2
,
V
3
,
V
4
V_1,V_2,V_3,V_4
V1,V2,V3,V4 以及它们的扭曲位置
V
1
∗
,
V
2
∗
,
V
3
∗
,
V
4
∗
V_1^*,V_2^*,V_3^*,V_4^*
V1∗,V2∗,V3∗,V4∗来估计一个局部单应性H。然后我们在顶点
V
V
V上应用
H
H
H来得到常规位置
V
′
V^{'}
V′。我们最小化
V
′
V^{'}
V′与真实位置
V
∗
V^∗
V∗之间的欧几里德距离来定义优化项。
但这里有个问题,就是逐个去求H,精度较低,时间代价也较高。所以这里我们再次使用仿射变换(affine transformation)近似H,即
A
V
=
V
′
AV=V^{'}
AV=V′,我们不去求A,将其表示为邻居的加权和,即
(
v
1
∗
+
v
2
∗
+
v
3
∗
+
v
4
∗
)
−
4
v
′
\left(v_1^*+v_2^*+v_3^*+v_4^*\right)-4 v^{\prime}
(v1∗+v2∗+v3∗+v4∗)−4v′,所以优化项定义为:
E
R
(
V
)
=
∑
v
∥
W
v
V
−
1
∣
N
v
∣
∑
v
i
∈
N
v
W
v
i
V
∥
2
E_R(V)=\sum_v\left\|W_v V-\frac{1}{\left|N_v\right|} \sum_{v_i \in N_v} W_{v_i} V\right\|^2
ER(V)=v∑
WvV−∣Nv∣1vi∈Nv∑WviV
2
N
v
N_v
Nv是
v
v
v周围的四个邻居,
W
v
and
W
v
i
W_v \text { and } W_{v_i}
Wv and Wvi定义为:
[
0
…
1
0
…
0
0
…
0
1
…
0
]
\left[\begin{array}{llllll} 0 & \ldots & 1 & 0 & \ldots & 0 \\ 0 & \ldots & 0 & 1 & \ldots & 0 \end{array}\right]
[00……1001……00]
3.3 Scale Preservation—— E S ( V ) E_S(V) ES(V)
当需要拼接较多图像
时,选取一张图像作为参考视图可能会导致某些远离参考图像
的图像在拼接过程中出现明显的尺度变化
或扭曲,如图7所示。这是因为拼接算法倾向于优化对齐误差
,可能会对某些图像进行较大的变换,以便让它们与参考图像更好地对齐。
对于匹配的图像对
(
I
i
,
I
j
)
(I_i, I_j)
(Ii,Ij),我们在来自Ii的特征点上建立一个凸多边形
P
i
P_i
Pi,并在图像
I
j
I_j
Ij上找到其对应的多边形
P
j
P_j
Pj。然后利定义了相对尺度因子
γ
i
j
γ_{ij}
γij:
γ
i
j
=
e
P
i
e
P
j
\gamma_{i j}=\frac{e_{P_i}}{e_{P_j}}
γij=ePjePi
其中
e
P
j
e_{P_j}
ePj是凸多边形的周长。
这里多讲一句如何获取凸多边形:
寻找凸多边形的一种常见方法是使用特征点的凸包(Convex Hull)
算法。凸包是一个凸多边形,它包围着给定点集中的所有点,并且没有凹陷部分。在图像处理和计算机视觉中,凸包经常用于寻找特征点集的最小凸多边形。
通过下面方式求解每幅图像的绝对比例因子:
arg
min
s
∑
(
i
,
j
)
∈
C
I
∣
γ
i
j
s
j
−
s
i
∣
2
,
s.t.
∑
i
∈
I
s
i
=
N
I
,
\begin{aligned} & \arg \min _s \sum_{(i, j) \in C_I}\left|\gamma_{i j} s_j-s_i\right|^2, \\ & \text { s.t. } \sum_{i \in I} s_i=N_I, \end{aligned}
argsmin(i,j)∈CI∑∣γijsj−si∣2, s.t. i∈I∑si=NI,
其中
N
I
N_I
NI表示图像个数,
C
I
C_I
CI表示匹配的图像对集合
获得比例因子后,优化项可以如下定义:
E
S
(
V
)
=
∑
I
i
∈
I
∥
S
(
I
i
∗
)
−
s
i
S
(
I
i
)
∥
2
,
S
(
I
i
)
=
[
∥
B
t
∥
+
∥
B
b
∥
∥
B
l
∥
+
∥
B
r
∥
]
,
\begin{aligned} E_S(V) & =\sum_{I_i \in I}\left\|S\left(I_i^*\right)-s_i S\left(I_i\right)\right\|^2, \\ S\left(I_i\right) & =\left[\begin{array}{l} \left\|B_t\right\|+\left\|B_b\right\| \\ \left\|B_l\right\|+\left\|B_r\right\| \end{array}\right], \end{aligned}
ES(V)S(Ii)=Ii∈I∑∥S(Ii∗)−siS(Ii)∥2,=[∥Bt∥+∥Bb∥∥Bl∥+∥Br∥],
S是定义为二维矢量的图像的比例测量。
B
t
、
B
b
、
B
l
、
B
r
B_t、B_b、B_l、B_r
Bt、Bb、Bl、Br分别为图像
I
i
I_i
Ii的上、下、左、右边缘,可以用顶点
V
V
V表示。例如,边的长度
B
t
B_t
Bt是V的非线性函数,为:
∥
B
t
∥
=
(
W
t
l
V
−
W
t
r
V
)
⊤
(
W
t
l
V
−
W
t
r
V
)
\left\|B_t\right\|=\sqrt{\left(W_{t l} V-W_{t r} V\right)^{\top}\left(W_{t l} V-W_{t r} V\right)}
∥Bt∥=(WtlV−WtrV)⊤(WtlV−WtrV)
其中
W
t
l
W_tl
Wtl和
W
t
r
W_tr
Wtr是左上角和右上方顶点的索引矩阵。
3.4 Extra Constraints
我们的基于网格的模型允许方便地合并额外的约束。(意思是可以针对自己的场景添加不同的优化项)
对于城市场景和闭路摄像机运动的特殊情况,我们加入以下一个或多个先验:
(a)Line preserving constraint
为了进一步减少变形,我们引入了一种防止线段弯曲的保线项。我们使用[30]的方法自动提取线段,并将线段的集合表示为
L
L
L。对于
L
L
L中的线段
l
l
l,我们均匀采样几个点{p1, p2,…, pn},使每个网格至少包含一个点。为了使
l
l
l笔直,直线上的所有线段都具有相同的方向,从而得到能量函数:
E
line
(
V
)
=
λ
line
∑
l
∈
L
∑
i
=
1
n
−
1
(
[
a
l
,
b
l
]
⊥
⋅
(
W
p
i
V
−
W
p
i
+
1
V
)
)
E_{\text {line }}(V)=\lambda_{\text {line }} \sum_{l \in L} \sum_{i=1}^{n-1}\left(\left[a_l, b_l\right]_{\perp} \cdot\left(W_{p_i} V-W_{p_{i+1}} V\right)\right)
Eline (V)=λline l∈L∑i=1∑n−1([al,bl]⊥⋅(WpiV−Wpi+1V))
其中
[
a
l
,
b
l
]
[a_l, b_l]
[al,bl]是
l
l
l的正交方向,
p
i
p_i
pi的坐标是由外接顶点的线性插值形成的,如
E
A
(
V
)
E_A(V)
EA(V)公式的方法。
λ
l
i
n
e
λ_line
λline是一个权重,在我们的实验中通常设为1。我们在优化过程中不断更新。图9显示了检测到的线段。加入保线项后,拼接结果得到改善,如图8(b)所示。
(b)Orientation constraint
城市场景通常包含一些消失的线,它们要么是垂直的,要么是水平的。在加强它们的直线性的同时,我们也限制了它们的方向。检测线段后,我们将线段分为垂直和水平两类LV和LH(图9分别用绿色和黄色表示)
p和q分别是线段两端点
E
O
(
V
)
=
λ
O
(
∑
l
∈
L
V
∣
(
W
p
x
−
W
q
x
)
V
∣
2
+
∑
l
∈
L
H
∣
(
W
p
y
−
W
q
y
)
V
∣
2
)
\begin{aligned} & E_O(V)=\lambda_O\left(\sum_{l \in L_V}\left|\left(W_{p_x}-W_{q_x}\right) V\right|^2\right. \\ & \left.+\sum_{l \in L_H}\left|\left(W_{p_y}-W_{q_y}\right) V\right|^2\right) \\ & \end{aligned}
EO(V)=λO(l∈LV∑∣(Wpx−Wqx)V∣2+l∈LH∑
(Wpy−Wqy)V
2)
其中
W
p
x
W_{px}
Wpx 和
W
p
y
W_{py}
Wpy 分别是
p
p
p 在
x
x
x 和
y
y
y 坐标下的插值权向量。
λ
O
λ_O
λO在实验中是一个值为1的权值
4.能量网格优化的能量函数优化
由于 E ( V ) E(V) E(V)中定义的能量函数不是quadratic(二次函数),我们提出了一种迭代方法来优化它。(其实就是 E S E_S ES 和 E l i n e E_{line} Eline这两项的问题),使用这两项的线性近似去代替
4.1 Linear Approximation
(a) E S ( V ) E_S(V) ES(V)
回顾3.3:
E
S
E_S
ES是非线性的,因为尺度函数S需要计算边的长度
∥
B
t
∥
=
(
W
t
l
V
−
W
t
r
V
)
⊤
(
W
t
l
V
−
W
t
r
V
)
\left\|B_t\right\|=\sqrt{\left(W_{t l} V-W_{t r} V\right)^{\top}\left(W_{t l} V-W_{t r} V\right)}
∥Bt∥=(WtlV−WtrV)⊤(WtlV−WtrV)
假设
B
t
∗
B_t^*
Bt∗是
B
t
B_t
Bt的方向向量,在迭代过程中基本不变,那么可以得到:
E
S
1
(
V
)
=
∑
I
i
∈
I
(
∣
B
t
∗
⊤
B
t
+
B
b
∗
⊤
B
b
−
2
s
i
W
∣
2
+
∣
B
l
∗
⊤
B
l
+
B
r
∗
⊤
B
r
−
2
s
i
H
∣
2
)
\begin{aligned} E_{S 1}(V)=\sum_{I_i \in I}\left(\mid B_t^{* \top}\right. & B_t+B_b^{*^{\top}} B_b-\left.2 s_i W\right|^2 \\ & \left.+\left|B_l^{*^{\top}} B_l+B_r^{* \top} B_r-2 s_i H\right|^2\right)\end{aligned}
ES1(V)=Ii∈I∑(∣Bt∗⊤Bt+Bb∗⊤Bb−2siW∣2+
Bl∗⊤Bl+Br∗⊤Br−2siH
2)
其中W和H分别为图像宽和高
由于我们假设边缘方向变化不大,我们通过引入下列式子来正则化它:
E
S
2
(
V
)
=
∑
i
∈
I
(
∣
B
t
′
⊤
B
t
∣
2
+
∣
B
b
′
⊤
B
b
∣
2
+
∣
B
l
′
⊤
B
l
∣
2
+
∣
B
r
′
⊤
B
r
∣
2
)
,
\begin{gathered}E_{S 2}(V)=\sum_{i \in I}\left(\left|B_t^{\prime \top} B_t\right|^2+\left|B_b^{\prime \top} B_b\right|^2+\left|B_l^{\prime \top} B_l\right|^2\right. \\ \left.+\left|B_r^{\prime \top} B_r\right|^2\right),\end{gathered}
ES2(V)=i∈I∑(
Bt′⊤Bt
2+
Bb′⊤Bb
2+
Bl′⊤Bl
2+
Br′⊤Br
2),
B
t
′
,
B
b
′
,
B
l
′
B_t^{\prime}, B_b^{\prime}, B_l^{\prime}
Bt′,Bb′,Bl′, and
B
r
′
B_r^{\prime}
Br′是
B
t
∗
,
B
b
∗
,
B
l
∗
B_t^*, B_b^*, B_l^*
Bt∗,Bb∗,Bl∗, and
B
r
∗
B_r^*
Br∗的orthogonally normalized vectors(正交归一化向量)
正则化(regularization)方法。正则化是一种用于限制或约束模型或参数的技术,以避免过度拟合和提高模型的稳定性。
那么:
E
S
′
(
V
)
=
E
S
1
(
V
)
+
λ
E
S
2
(
V
)
E_S^{\prime}(V)=E_{S 1}(V)+\lambda E_{S 2}(V)
ES′(V)=ES1(V)+λES2(V)
λ
\lambda
λ=0.1~0.5
(b) E l i n e E_{line} Eline
类似地,线条保持项 Eline 不是二次的,因为方向向量 [al , bl] 是未知的。我们通过假设线条变化平滑来进行线性近似。在每次迭代中,我们基于当前解来估计方向。通过在公式 (6) 中固定 al 和 bl,Eline 对我们来说变成一个二次函数,以便我们可以进行迭代优化和更新。
4.2 Efficient Optimization
线性近似后,就可以有效地按下面式子优化
E
V
E_V
EV
[
A
A
A
R
A
S
A
X
]
V
=
[
0
0
b
S
b
X
]
\left[\begin{array}{c}A_A \\ A_R \\ A_S \\ A_X\end{array}\right] V=\left[\begin{array}{c}0 \\ 0 \\ b_S \\ b_X\end{array}\right]
AAARASAX
V=
00bSbX
其中,
A
A
、
A
R
、
A
S
、
A
X
A_A、A_R、A_S、A_X
AA、AR、AS、AXare Jacobian matrices
0
,
0
、
b
、
b
X
0,0、b、b_X
0,0、b、bX are residual errors of the alignment
, regularization
, scale preserving
, and extra terms
respectively.
矩阵可以转为下列求和格式:
(
A
A
T
A
A
+
…
+
A
X
T
A
X
)
V
=
A
S
T
b
S
+
A
X
T
b
X
\left(A_A^T A_A+\ldots+A_X^T A_X\right) V=A_S^T b_S+A_X^T b_X
(AATAA+…+AXTAX)V=ASTbS+AXTbX
除尺度和保线项外,其他项均为二次项,故其雅可比矩阵和残差均为常数。我们在每次迭代中更新AS、b、Aline和bline。对于包含14张图像的“Urban1”示例,在每次迭代中初始化矩阵需要2.30秒,更新矩阵需要0.21秒。整个优化过程共经过3次迭代,耗时15.4秒。我们用Cholesky分解
来解析解线性系统。如果我们使用共轭梯度算法
在每次迭代中迭代更新解,优化速度会更快。
5. SEAMLESS COMPOSITION
在以往的处理方法中,通常以色差
作为参考。在我们的宽基线
情况下,对齐误差
可能很大,未对齐的像素可能有相似的颜色。我们提出将对准误差
和色差
相结合来产生一个更好的条件。
5.1 Alignment Score
在[8]中使用了图割来查找图像之间的接缝,这样接缝两侧的像素是一致的。
我们测量所有匹配的特征点的对齐误差,并通过高斯的方式将其映射到[0,1]使用高斯函数将对齐误差映射到
[
0
,
1
]
[0,1]
[0,1],得到feature alignment scores(注意这是针对所有特征点对的评分):
s
p
,
q
=
exp
(
−
∥
Ψ
i
(
p
)
−
Ψ
j
(
q
)
∥
2
σ
1
2
)
s_{p, q}=\exp \left(-\frac{\left\|\Psi_i(p)-\Psi_j(q)\right\|^2}{\sigma_1^2}\right)
sp,q=exp(−σ12∥Ψi(p)−Ψj(q)∥2)
( p , q ) (p, q) (p,q)分别为来自图 I i I_i Ii和 I j I_j Ij的一对匹配地特征点。 Ψ i \Psi_i Ψi and
Ψ j \Psi_j Ψj分别是图 I i I_i Ii和 I j I_j Ij对应的warping functions。
σ 1 σ_1 σ1设置为0.003D,其中D为图像对角线长度。对于比对误差 ∥ Ψ i ( p ) − Ψ j ( q ) ∥ \left\|\Psi_i(p)-\Psi_j(q)\right\| ∥Ψi(p)−Ψj(q)∥大于0.01D的特征,我们认为其不可靠,在后续处理中忽略。
在图
I
i
I_i
Ii 上,特征点
p
p
p 对像素
x
x
x 的贡献(这里定义了一个权重)取决于p到x的距离为:
w
p
,
x
=
exp
(
−
∥
p
−
x
∥
2
σ
2
2
)
w_{p, x}=\exp \left(-\frac{\|p-x\|^2}{\sigma_2^2}\right)
wp,x=exp(−σ22∥p−x∥2)
其中
σ
2
σ_2
σ2 设置为
0.4
D
⋅
s
p
,
q
0.4D · s_{p,q}
0.4D⋅sp,q
这样我们就可以在图
I
i
I_i
Ii 上得到一个alignment score map:
S
I
i
(
x
)
=
∑
p
w
p
,
x
2
s
p
,
q
∑
p
w
p
,
x
S_{I_i}(x)=\frac{\sum_p w_{p, x}^2 s_{p, q}}{\sum_p w_{p, x}}
SIi(x)=∑pwp,x∑pwp,x2sp,q
I
j
I_j
Ij 同理
然后warp the score maps according to the optimized mesh作者不直接相求和,而是warp后再相加,得到最终的score maps:
S
align
=
1
2
(
Ψ
i
(
S
I
i
)
+
Ψ
j
(
S
I
j
)
)
S_{\text {align }}=\frac{1}{2}\left(\Psi_i\left(S_{I_i}\right)+\Psi_j\left(S_{I_j}\right)\right)
Salign =21(Ψi(SIi)+Ψj(SIj))
5.2 Color Score
S
color
(
x
)
=
exp
(
−
∣
Ψ
(
I
i
)
(
x
)
−
Ψ
(
I
j
)
(
x
)
−
μ
∣
2
σ
2
)
S_{\text {color }}(x)=\exp \left(-\frac{\left|\Psi\left(I_i\right)(x)-\Psi\left(I_j\right)(x)-\mu\right|^2}{\sigma^2}\right)
Scolor (x)=exp(−σ2∣Ψ(Ii)(x)−Ψ(Ij)(x)−μ∣2)
μ
μ
μ和
σ
σ
σ是L2距离的均值
和标准差
,是根据重叠区域
估计的。
可以通过梯度域融合[23]解决全局色差问题。
5.3 Graph-Cuts Optimization
将5.1和5.2中定义的alignment score and color score 组合成一个能量函数:
E
(
i
,
j
)
(
x
)
=
max
(
0
,
min
(
1.5
−
S
align
−
S
color
,
1
)
)
E_{(i, j)}(x)=\max \left(0, \min \left(1.5-S_{\text {align }}-S_{\text {color }}, 1\right)\right)
E(i,j)(x)=max(0,min(1.5−Salign −Scolor ,1))
与前面的方法类似,我们通过图切割[31]来优化函数:
E
c
u
t
(
p
,
L
)
=
∑
p
E
d
(
p
,
L
p
)
+
λ
s
∑
(
p
,
q
)
∈
N
E
s
(
p
,
q
,
L
p
,
L
q
)
E_{c u t}(p, L)=\sum_p E_d\left(p, L_p\right)+\lambda_s \sum_{(p, q) \in N} E_s\left(p, q, L_p, L_q\right)
Ecut(p,L)=p∑Ed(p,Lp)+λs(p,q)∈N∑Es(p,q,Lp,Lq)
E
d
E_d
Ed是由availability of pixels定义的数据项,
E
s
E_s
Es是preferring well aligned regions的平滑项,
N
N
N 是相邻像素的集合。
λ
s
λ_s
λs是光滑权值在我们的实验中设为256。
E
d
(
p
,
L
p
)
=
{
0
,
x
∈
I
^
L
p
η
,
otherwise
E_d\left(p, L_p\right)= \begin{cases}0, & x \in \hat{I}_{L_p} \\ \eta, & \text { otherwise }\end{cases}
Ed(p,Lp)={0,η,x∈I^Lp otherwise
其中
I
^
L
p
\hat{I}_{L_p}
I^Lp是
L
p
L_p
Lp的图像的warped mask。如果a pixel is available in the warped
L
p
−
t
h
L p-th
Lp−th image,它的代价是0,否则它被设置为一个非常大的
η
η
η惩罚,以避免被标记为
L
p
L _p
Lp。
E
s
(
p
,
q
,
L
p
,
L
q
)
=
E
(
L
p
,
L
q
)
(
p
)
+
E
(
L
p
,
L
q
)
(
q
)
E_s\left(p, q, L_p, L_q\right)=E_{\left(L_p, L_q\right)}(p)+E_{\left(L_p, L_q\right)}(q)
Es(p,q,Lp,Lq)=E(Lp,Lq)(p)+E(Lp,Lq)(q)
最后的标记问题是通过最小化能量来解决的。我们利用图割[31]来高效求解,然后应用梯度域融合[23]。
6.总结
对于每幅图像,如果使用保线约束,提取线段的时间约为0.2秒
从图10可以看出虽然作者声称文章产生了较好的接缝,但实际上,效果并未比传统的图割法好多少,接缝仍然从物体穿过而非背景。
不过加入保线约束和方向约束后,图片中的直线扭曲的现象确实得到了改善。
reference
[8]V. Kwatra, A. Schödl, I. Essa, G. Turk, and A. Bobick, “Graphcut
textures: Image and video synthesis using graph cuts,” ACM Trans.
Graph., vol. 22, no. 3, pp. 277–286, 2003.
[31]Y. Boykov, O. Veksler, and R. Zabih, “Fast approximate energy min-
imization via graph cuts,” IEEE Trans. Pattern Anal. Mach. Intell.,
vol. 23, no. 11, pp. 1222–1239, Nov. 2001.