文章:
Chang, C. H., C. K. Liang and Y. Y. J. I. T. o. M. Chuang (2011). “Content-Aware Display Adaptation and Interactive Editing for Stereoscopic Images.” 13(4): 589-601.
摘要:
我们提出了一种内容感知的立体图像显示自适应方法,该方法同时将双目图像调整为目标分辨率,并根据显示器的舒适区域调整其深度,同时保持突出对象的感知形状。该方法不需要深度信息或密集对应。在给定目标显示规格和稀疏对应集的情况下,该方法通过求解最小二乘能量最小化问题,有效地对输入的立体图像进行变形以适应显示。这可以用来调整立体图像,以适应不同的显示器,宽高比和舒适区。此外,只要对能量函数稍作修改,我们的方法允许用户交互地调整所选对象的大小、位置和深度,从而为用户提供深度感知的美学控制。用户研究表明,该方法在编辑深度和减少复视和失真方面是有效的。
提出的方法:
我们基于翘曲的图像处理方法,开发了基于内容感知的双目图像显示自适应算法,具有两个立体约束:
- 垂直对齐
- 水平视差一致性
上图说明了我们方法的概述:
(a)为左右视图原图
(b)为通过GBVS方法计算得到的显著性图
(c)中的结果,是将每幅图像表示为网格,并通过平均和归一化每一像素显著性来获得每一个四边形单元的显著性
(d)中使用特征提取和匹配来获得左、右图像之间的稀疏匹配对
(e)在给定重定目标参数的情况下,通过优化能量函数,得到网格顶点上的翘曲函数
(f)使用双线性插值对整个翘曲场和最终输出进行插值
每一步的具体细节如下:
-
给定双目图像对 { I L , I R } \{I^L,I^R\} {IL,IR},通过GBVS方法估计出显著性图 { Φ L , Φ R } \{\Phi^L,\Phi^R\} {ΦL,ΦR}
-
为了建立立体约束,我们必须提取 I L I^L IL 和 I R I^R IR 之间的对应关系:
A.能量最小化
这个章节介绍用于获得翘曲场的能量最小化方法。
我们标记n个匹配特征的集合为 F = { ( f i L , f i R ) ∣ i = 1.. n } F=\{(f_i^L,f_i^R)|i=1..n\} F={(fiL,fiR)∣i=1..n}
与其他基于翘曲的方法类似,我们使用均匀网格来引导图像变形。
令 { V L , E L , Q L } 和 { V R , E R , Q R } \{V^L, E^L, Q^L\}和\{V^R,E^R,Q^R\} {VL,EL,QL}和{VR,ER,QR} 为两张视图的网格,其中 V , E , Q V,E,Q V,E,Q 分别代表顶点集,边集和四边平面集。
作者的内容感知自适应显示算法目标在于,找出左右图的两个变换顶点位置的集合 V ~ L = { v ~ i L } 和 V ~ R = { v ~ i R } \tilde V^L = \{\tilde v_i^L\}和 \tilde V^R = \{\tilde v_i^R\} V~L={v~iL}和V~R={v~iR}, 使得能量函数 Ψ ( V ~ L , V ~ R ) \Psi (\tilde V^L,\tilde V^R) Ψ(V~L,V~R)最小化。
能量函数包括四个部分:
- 失真能量 Ψ d \Psi _d Ψd
- 直线弯曲能量 Ψ b \Psi _b Ψb
- 对齐能量 Ψ a \Psi _a Ψa
- 视差一致能量 Ψ c \Psi _c Ψc
1)失真能量
这一能量项的定义与工作 4相似, 它可以防止重要四边形的缩放不均匀。
对于带有四条边
E
(
q
)
E(q)
E(q) 的四方形
q
q
q, 四边形的失真能量定义为:
Ψ
q
(
q
)
=
∑
(
i
,
j
)
∈
E
(
q
)
∣
∣
(
v
~
i
−
v
~
j
)
−
s
q
(
v
~
i
−
v
~
j
)
∣
∣
2
\Psi_q(q) = \sum_{(i,j)\in E(q)}||(\tilde v_i-\tilde v_j)-s_q(\tilde v_i-\tilde v_j)||^2
Ψq(q)=(i,j)∈E(q)∑∣∣(v~i−v~j)−sq(v~i−v~j)∣∣2
其中
s
q
s_q
sq 是由
v
~
i
\tilde v_i
v~i和
v
i
v_i
vi 定义的缩放因子。总的失真能量是两个视图的所有网格的失真的加权和,定义为:
Ψ
d
=
∑
q
∈
Q
L
w
ˉ
(
q
)
Ψ
q
(
q
)
+
∑
q
∈
Q
R
w
ˉ
(
q
)
Ψ
q
(
q
)
\Psi _d = \sum_{q\in Q^L}\bar w(q)\Psi_q(q)+\sum_{q\in Q^R }\bar w(q)\Psi_q(q)
Ψd=q∈QL∑wˉ(q)Ψq(q)+q∈QR∑wˉ(q)Ψq(q)
其中的
w
ˉ
(
q
)
\bar w(q)
wˉ(q)就是q的网格重要度。
我们初始化 w ˉ ( q ) \bar w(q) wˉ(q)为q中所有像素的平均显著性值并将其归一化到 [ ε , 1 ] [\varepsilon ,1] [ε,1]之间,其中 ε \varepsilon ε 是一个很小的常数,我们设置为 0.05.
2)直线弯曲能量
这个能量项目的是最小化网格边缘的弯曲程度,即我们希望原始边缘 e 和 变换后的边缘 e ~ \tilde e e~之间的角度尽可能地小。这里作者提出了新的线性直线弯曲能量。
考虑边缘 e e e中有两个顶点 v i , v j v_i,v_j vi,vj, 而它的变换版本 e ~ = ( v ~ i , v ~ j ) \tilde e=(\tilde v_i,\tilde v_j) e~=(v~i,v~j),定义向量 e ⃗ = v i − v j , e ~ ⃗ = v ~ i − v ~ j \vec{e}=v_i-v_j, \vec{\tilde e}=\tilde v_i-\tilde v_j e=vi−vj,e~=v~i−v~j;
我们使用如下计算项表示
e
和
e
~
e 和 \tilde e
e和e~之间的近似角度:
Δ
(
e
~
)
=
∣
∣
s
e
e
−
e
~
∣
∣
2
−
−
−
−
−
−
−
−
−
−
−
−
−
−
−
(
9
)
\Delta(\tilde e)=||s_e e-\tilde e||^2---------------(9)
Δ(e~)=∣∣see−e~∣∣2−−−−−−−−−−−−−−−(9)
其中
s
e
s_e
se是一个我们希望去优化的一个缩放参数。
取关于
s
e
s_e
se的偏导数
Δ
\Delta
Δ, 我们得到优化的
s
e
∗
s_e^*
se∗:
s
e
∗
=
(
e
T
e
)
−
1
e
T
e
~
−
−
−
−
−
−
−
−
−
−
−
−
−
−
−
−
(
10
)
s_e^* = (e^Te)^{-1}e^T\tilde e----------------(10)
se∗=(eTe)−1eTe~−−−−−−−−−−−−−−−−(10)
将
s
e
∗
s_e^*
se∗带入公式(9)可以得到一个关于
e
~
\tilde e
e~的函数:
Δ
(
e
~
)
=
∣
∣
s
e
e
−
e
~
∣
∣
2
=
∣
∣
e
(
e
T
e
)
−
1
e
T
e
~
−
e
~
∣
∣
2
=
∣
∣
C
e
~
∣
∣
2
−
−
−
−
−
−
−
−
−
(
11
)
\begin{aligned} \Delta(\tilde e) & = ||s_ee-\tilde e||^2\\ &=||e(e^Te)^{-1}e^T\tilde e-\tilde e||^2\\ &=||C\tilde e||^2 \end{aligned}---------(11)
Δ(e~)=∣∣see−e~∣∣2=∣∣e(eTe)−1eTe~−e~∣∣2=∣∣Ce~∣∣2−−−−−−−−−(11)
其中,
C
=
e
(
e
T
e
)
−
1
e
T
−
I
C=e(e^Te)^{-1}e^T-I
C=e(eTe)−1eT−I
I
I
I 是单位矩阵。式子(11)可以进一步写成
v
~
i
和
v
~
j
\tilde v_i 和\tilde v_j
v~i和v~j的函数:
Δ
(
v
~
i
,
v
~
j
)
=
∥
C
[
1
0
−
1
0
0
1
0
−
1
]
[
v
~
i
v
~
j
]
∥
2
−
−
−
−
−
−
−
(
12
)
\Delta(\tilde v_i,\tilde v_j) = \left \| C\begin{bmatrix} 1 & 0 & -1 &0 \\ 0 & 1 & 0 & -1 \end{bmatrix} \begin{bmatrix} \tilde v_i\\ \tilde v_j\end{bmatrix}\right \|^2-------(12)
Δ(v~i,v~j)=∥∥∥∥C[1001−100−1][v~iv~j]∥∥∥∥2−−−−−−−(12)
最后总的直线弯曲能量定义为:
Ψ
b
=
∑
(
i
,
j
)
∈
E
L
Δ
(
v
~
i
L
,
v
~
j
L
)
+
∑
(
i
,
j
)
∈
E
R
Δ
(
v
~
i
R
,
v
~
j
R
)
−
−
−
−
−
−
(
13
)
\Psi_b = \sum_{(i,j)\in E^L}\Delta(\tilde v_i^L,\tilde v_j^L)+\sum_{(i,j)\in E^R}\Delta(\tilde v_i^R,\tilde v_j^R)------(13)
Ψb=(i,j)∈EL∑Δ(v~iL,v~jL)+(i,j)∈ER∑Δ(v~iR,v~jR)−−−−−−(13)
如上图所示,我们的公式(9)本质上计算的就是从点A到直线 e 的最短距离 AB。
用直线AB来近似弧线AC ,可以消除能量函数中的非线性项。
只有当弧AC较大时,近似值才会显著偏离,当翘曲结果不理想且毫无用处时。
3)对齐能量
这一能量项用于保证变换后特征垂直方向的对齐,从而避免双眼不对称问题。
能量
Ψ
a
\Psi_a
Ψa定义为:
Ψ
a
=
1
n
∑
i
=
1
n
(
f
~
i
L
[
y
]
−
f
~
i
R
[
y
]
)
2
−
−
−
−
−
−
−
−
(
14
)
\Psi_a = \frac{1}{n}\sum_{i=1}^n(\tilde f_i^L[y]-\tilde f_i^R[y])^2--------(14)
Ψa=n1i=1∑n(f~iL[y]−f~iR[y])2−−−−−−−−(14)
其中的标记
v
[
y
]
v[y]
v[y]表示向量 v的 y坐标,同样地,
v
[
x
]
v[x]
v[x]表示x坐标。
请注意,重新定位的特征 f ~ \tilde f f~ 可以表示为变形后的 v ~ i \tilde v_i v~i 使用重心坐标的顶点的线性组合。
假设在变形之前,特征 f f f 与它所在的四边形的顶点相关的关系: f = ∑ i = 1 4 β i v i f = \sum_{i=1}^4\beta_iv_i f=∑i=14βivi, 其中 β i \beta_i βi是重心坐标。则重定位后的特征 f ~ \tilde f f~能够写成变换后的顶点的线性组合: f ~ = ∑ i = 1 4 β i v ~ i \tilde f=\sum_{i=1}^4\beta_i\tilde v_i f~=∑i=14βiv~i,因此,公式(14)可以写成关于翘曲顶点 v ~ i \tilde v_i v~i的函数。
4) 视差一致能量
这一能量项用于保证特征的视差以一种一致的方式被修改,从而避免感知深度的失真。
我们提出两种不同的视差一致能量,每一个对不同的应用起作用。
第一种能量试图保持感知视差与变换之前相同。这对于图像大小在查看配置相同的情况下发生更改非常有用。在这种情况下,我们希望保持相同的视差,以便感知到的深度是尺寸调整后的图像。对于该选项,离散一致性能量定义为
Ψ
c
=
1
n
∑
i
=
1
n
(
d
i
−
d
~
i
)
2
\Psi_c = \frac{1}{n}\sum_{i=1}^n(d_i-\tilde d_i)^2
Ψc=n1i=1∑n(di−d~i)2
其中
d
i
=
f
i
R
[
x
]
−
f
i
L
[
x
]
,
d
~
i
=
f
~
i
R
[
x
]
−
f
~
i
L
[
x
]
d_i =f_i^R[x]-f_i^L[x],\tilde d_i=\tilde f_i^R[x]-\tilde f_i^L[x]
di=fiR[x]−fiL[x],d~i=f~iR[x]−f~iL[x]分别是变换之前和之后的,像素域里的视差值。
在观看配置改变的情况下,视差值应相应地缩放和移位。
因此,对于第二种方法,我们试图通过寻找深度的单调递增映射来保持输入图像中特征点的相对深度。
这样,对象的深度顺序得以保留,但其绝对深度是灵活的。
一个简单的选择就是找到合适的深度一维相似变换来保持相对深度。然而,这使得能量项对变形特征是非线性的。
因此我们寻找合适的视差一维相似变换,以保持相对深度:
Ψ
c
=
1
n
∑
i
=
1
n
(
(
s
d
d
i
+
t
d
)
−
d
~
i
)
2
−
−
−
−
−
−
−
(
16
)
\Psi_c = \frac{1}{n}\sum_{i=1}^n((s_dd_i+t_d)-\tilde d_i)^2-------(16)
Ψc=n1i=1∑n((sddi+td)−d~i)2−−−−−−−(16)
其中
s
d
s_d
sd代表视差的全局缩放因子,
t
d
t_d
td 代表位移。
与获得优化的
s
e
∗
s_e^*
se∗的方法一样,我们消除式子(16)中的
s
d
,
t
d
s_d,t_d
sd,td并将它写成关于变换特征的函数,并且每一个都是变换顶点的线性组合,定义:
E
=
[
d
1
1
d
2
1
.
.
.
.
d
n
1
]
,
E
~
=
[
d
~
1
d
~
2
.
.
d
~
n
]
E = \begin{bmatrix} d_1 & 1\\ d_2 & 1 \\ .&.\\ .&.\\ d_n&1 \end{bmatrix},\tilde E=\begin{bmatrix} \tilde d_1 \\ \tilde d_2\\ .\\ .\\ \tilde d_n \end{bmatrix}
E=⎣⎢⎢⎢⎢⎡d1d2..dn11..1⎦⎥⎥⎥⎥⎤,E~=⎣⎢⎢⎢⎢⎡d~1d~2..d~n⎦⎥⎥⎥⎥⎤
则公式(16)写成
Ψ
c
=
1
n
∥
E
[
s
d
t
d
]
−
E
~
∥
2
−
−
−
−
−
−
−
(
17
)
\Psi_c = \frac{1}{n}\left\|E\begin{bmatrix}s_d\\t_d\end{bmatrix}-\tilde E\right\|^2-------(17)
Ψc=n1∥∥∥∥E[sdtd]−E~∥∥∥∥2−−−−−−−(17)
而优化的
s
d
∗
,
t
d
∗
s_d^*,t_d^*
sd∗,td∗为:
[
s
d
∗
t
d
∗
]
=
(
E
T
E
)
−
1
E
T
E
~
−
−
−
−
−
−
−
−
−
(
18
)
\begin{bmatrix} s_d^*\\t_d^* \end{bmatrix}=(E^TE)^{-1}E^T\tilde E---------(18)
[sd∗td∗]=(ETE)−1ETE~−−−−−−−−−(18)
将以上的
s
d
∗
,
t
d
∗
s_d^*,t_d^*
sd∗,td∗代入回(17),能量
Ψ
c
\Psi_c
Ψc可以写成变换特征的函数:
Ψ
c
=
1
n
∥
B
A
f
~
∥
2
\Psi_c=\frac{1}{n}\left\|BA\tilde f\right\|^2
Ψc=n1∥∥∥BAf~∥∥∥2
其中
B
=
E
(
E
T
E
)
−
1
E
T
−
I
,
A
=
[
−
I
∣
I
]
B=E(E^TE)^{-1}E^T-I, A = [-I|I]
B=E(ETE)−1ET−I,A=[−I∣I]
f
~
=
[
f
~
1
L
[
x
]
.
.
f
~
n
L
[
x
]
f
~
1
R
[
x
]
.
.
f
~
n
R
[
x
]
]
\tilde f = \begin{bmatrix} \tilde f_1^L[x]\\.\\.\\\tilde f_n^L[x]\\\tilde f_1^R[x]\\.\\.\\\tilde f_n^R[x] \end{bmatrix}
f~=⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎡f~1L[x]..f~nL[x]f~1R[x]..f~nR[x]⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎤
注意到优化尺寸和位移可以整合到能量函数中并通过优化自动计算出来。
最后的能量
Ψ
\Psi
Ψ 是四个定义的能量项的总和:
Ψ
=
Ψ
d
+
λ
b
Ψ
b
+
λ
a
Ψ
a
+
λ
c
Ψ
c
−
−
−
−
−
−
(
20
)
\Psi=\Psi_d+\lambda_b\Psi_b+\lambda_a\Psi_a+\lambda_c\Psi_c------(20)
Ψ=Ψd+λbΨb+λaΨa+λcΨc−−−−−−(20)
在我们的实验中,我们设置
λ
b
=
1
,
λ
a
=
10
,
λ
c
=
500
\lambda_b=1,\lambda_a=10,\lambda_c=500
λb=1,λa=10,λc=500
我们的能量函数是二维形状保持和深度保持之间的相互作用。
注意到,这些能量项都是变换网格顶点 v ~ i L , v ~ i R \tilde v_i^L,\tilde v_i^R v~iL,v~iR 的函数. 最小化 Ψ \Psi Ψ 相当于解最小二乘问题,使得线性系统只涉及 v ~ i L 和 v ~ i R \tilde v_i^L和\tilde v_i^R v~iL和v~iR.
通过寻找能够最小化 Ψ \Psi Ψ并且满足边界条件的变换顶点的集合 V ~ L 和 V ~ R \tilde V^L和 \tilde V^R V~L和V~R, 作者将两个视图的图像翘曲到目标分辨率,同时保持了重要物体的3D形状。
D. Lowe, “Distinctive image features from scale-invariant keypoints,” Int. J. Comput. Vis., vol. 60, pp. 91–110, 2004. ↩︎
R. Hartley and A. Zisserman, Multiple View Geometry in Computer Vision, 2nd ed. Cambridge, U.K.: Cambridge Univ., 2004. ↩︎
M. Brown, R. Szeliski, and S. Winder, “Multi-image matching using multi-scale oriented patches,” in Proc. IEEE Comput. Soc. Conf. Comput. Vis. Pattern Recognit., 2005, vol. 1, pp. 510–517. ↩︎
Y.-S. Wang, C.-L. Tai, O. Sorkine, and T.-Y. Lee, “Optimized scale-and-stretch for image resizing,” ACM Trans. Graph., vol. 27, no. 5,2008, paper 118. ↩︎