目录
新型事件相机有关的论文解读之:
Single Image Optical Flow Estimationwith an Event Camera
关于事件相机:
事件相机是一个新型的类脑相机,是一个待开发的大领域。希望通过我的分享,能够有更多人来研究并将它更好地运用在我们的生活中~
对于事件相机还不了解的朋友们可以看我这一系列的另一篇博客:事件相机(Event Camera)及相关研究简介——新一代相机?新的计算机视觉领域?
本篇论文地址:https://arxiv.org/abs/2004.00347
本篇论文是发表在2020CVPR上的一篇论文,使用事件相机来做光流估计。
简介
总的来说,这是一篇运用经典方法估计光流的文章。
大致思路是:
- 通过变分法设置一个去模糊图片作为隐变量。
- 导出四个待优化函数。(包括事件的亮度恒定)
- 分别优化光流和去模糊图片。
变分方法&符号定义
在估计时需要用到隐变量,这里设为
L
L
L,代表去模糊后的灰度图,那么传统的从时间f到时间t的亮度不变可以表示为:
L
(
x
⃗
,
f
)
=
L
(
x
⃗
+
u
⃗
(
x
⃗
)
,
t
)
(1)
L(\vec x,f)=L(\vec x+\vec u(\vec x),t)\tag1
L(x,f)=L(x+u(x),t)(1)
其中
x
⃗
=
(
x
,
y
)
T
\vec x=(x,y)^T
x=(x,y)T是坐标,
u
⃗
(
x
⃗
)
=
(
u
x
,
v
x
)
T
\vec u(\vec x)=(u_x,v_x)^T
u(x)=(ux,vx)T是光流。
可见
u
⃗
∈
R
H
∗
W
∗
2
\vec u\in \mathbb{R}^{H*W*2}
u∈RH∗W∗2,
L
∈
R
H
∗
W
L\in \mathbb{R}^{H*W}
L∈RH∗W
在前人的方法中,利用这样变分法的优化函数可以表示如下:
min u ∫ Ω ∣ ∣ ∇ u ⃗ ( x ⃗ ) ∣ ∣ 2 d x + ∫ Ω ( L ( x ⃗ , f ) − L ( x ⃗ + u ⃗ ( x ⃗ ) , t ) ) 2 d x (2) \min_u \int_\Omega ||\nabla \vec u(\vec x)||^2dx+\int_\Omega (L(\vec x,f)-L(\vec x+\vec u(\vec x),t))^2dx\tag2 umin∫Ω∣∣∇u(x)∣∣2dx+∫Ω(L(x,f)−L(x+u(x),t))2dx(2)
其中 Ω \Omega Ω代表整个图片域,而 ∇ u ⃗ ( x ⃗ ) ∈ R H ∗ W ∗ 4 \nabla \vec u(\vec x)\in \mathbb{R}^{H*W*4} ∇u(x)∈RH∗W∗4,其定义如下:
∇ u ⃗ ( x ⃗ ) = ( ∂ u ⃗ ( x ⃗ ) ∂ x , ∂ u ⃗ ( x ⃗ ) ∂ y , ∂ v ⃗ ( x ⃗ ) ∂ x , ∂ v ⃗ ( x ⃗ ) ∂ y ) T \nabla \vec u(\vec x)=(\frac{\partial \vec u(\vec x)}{\partial x},\frac{\partial \vec u(\vec x)}{\partial y},\frac{\partial \vec v(\vec x)}{\partial x},\frac{\partial \vec v(\vec x)}{\partial y})^T ∇u(x)=(∂x∂u(x),∂y∂u(x),∂x∂v(x),∂y∂v(x))T
即,第一项是由于估计的光流图应该是光滑的而添加的正则项。第二项是传统的亮度恒定。
本文方法
直接上公式:
min
L
,
u
⃗
μ
1
ϕ
e
v
e
(
L
,
u
⃗
)
+
μ
2
ϕ
b
l
u
r
(
L
,
u
⃗
)
+
ϕ
f
l
o
w
(
∇
u
⃗
)
+
ϕ
i
m
(
∇
L
)
(3)
\min_{L,\vec u} \mu_1\phi_{eve}(L,\vec u)+\mu_2\phi_{blur}(L,\vec u)+\phi_{flow}(\nabla \vec u)+\phi_{im}(\nabla L)\tag3
L,uminμ1ϕeve(L,u)+μ2ϕblur(L,u)+ϕflow(∇u)+ϕim(∇L)(3)
其中
ϕ
e
v
e
\phi_{eve}
ϕeve保证亮度不变,
ϕ
b
l
u
r
\phi_{blur}
ϕblur是去模糊过程,
ϕ
f
l
o
w
\phi_{flow}
ϕflow和
ϕ
i
m
\phi_{im}
ϕim是类似于之前的光滑正则项。
文章的方法就是分步优化两个变量,L和u,根据上述优化公式,前两项对两个变量都起作用,而第三项相当于u的光滑正则项,第四项相当于L的光滑正则项,下面分别介绍四个损失。
亮度不变 ϕ e v e \phi_{eve} ϕeve
我们知道,事件产生的条件是:
∣
l
o
g
(
L
(
x
⃗
,
t
)
)
−
l
o
g
(
L
(
x
⃗
,
t
r
e
f
)
)
∣
≥
c
|log(L(\vec x,t))-log(L(\vec x,t_{ref}))|\ge c
∣log(L(x,t))−log(L(x,tref))∣≥c
其中c为阈值。
故从f时刻到t时刻,带入得:
L
(
x
⃗
,
t
)
=
L
(
x
⃗
,
f
)
e
x
p
(
c
E
(
x
⃗
,
t
)
)
L(\vec x,t)=L(\vec x,f)exp(cE(\vec x,t))
L(x,t)=L(x,f)exp(cE(x,t))
其中
x
⃗
\vec x
x为这段时间中的事件极性的积分。
故假设
Δ
t
\Delta t
Δt很小,那么可以将亮度不变约束泰勒展开:
L
(
x
⃗
+
u
⃗
(
x
⃗
)
,
f
+
Δ
t
)
≈
L
(
x
,
f
)
+
u
x
L
(
x
,
f
)
(
x
)
+
v
x
L
(
x
,
f
)
(
y
)
+
Δ
t
L
(
x
,
f
)
(
t
)
=
u
x
L
(
x
,
f
)
(
x
)
+
v
x
L
(
x
,
f
)
(
y
)
+
L
(
x
,
t
)
L(\vec x+\vec u(\vec x),f+\Delta t)\approx L(x,f)+u_xL(x,f)^{(x)}+v_xL(x,f)^{(y)}+\Delta tL(x,f)^{(t)}\\ =u_xL(x,f)^{(x)}+v_xL(x,f)^{(y)}+L(x,t)
L(x+u(x),f+Δt)≈L(x,f)+uxL(x,f)(x)+vxL(x,f)(y)+ΔtL(x,f)(t)=uxL(x,f)(x)+vxL(x,f)(y)+L(x,t)
由亮度不变,则应该使得:
L
(
x
,
f
)
−
(
u
x
L
(
x
,
f
)
(
x
)
+
v
x
L
(
x
,
f
)
(
y
)
+
L
(
x
,
t
)
)
=
L
(
x
,
f
)
(
e
x
p
(
c
E
(
x
,
t
)
)
−
1
)
+
[
u
x
,
v
x
]
T
∇
L
(
x
,
f
)
L(x,f)-(u_xL(x,f)^{(x)}+v_xL(x,f)^{(y)}+L(x,t))\\ =L(x,f)(exp(cE(x,t))-1)+[u_x,v_x]^T\nabla L(x,f)
L(x,f)−(uxL(x,f)(x)+vxL(x,f)(y)+L(x,t))=L(x,f)(exp(cE(x,t))−1)+[ux,vx]T∇L(x,f)
这里令
∇
L
(
x
,
f
)
=
(
L
(
x
,
f
)
(
x
)
,
L
(
x
,
f
)
(
y
)
)
T
\nabla L(x,f)=(L(x,f)^{(x)},L(x,f)^{(y)})^T
∇L(x,f)=(L(x,f)(x),L(x,f)(y))T
故该损失表示为:
ϕ
e
v
e
(
L
,
u
)
=
∑
x
∈
Ω
∣
∣
L
(
x
,
f
)
(
e
x
p
(
c
E
(
x
,
t
)
)
−
1
)
+
[
u
x
,
v
x
]
T
∇
L
(
x
,
f
)
∣
∣
1
\phi_{eve}(L,u)=\sum_{x\in \Omega}||L(x,f)(exp(cE(x,t))-1)+[u_x,v_x]^T\nabla L(x,f)||_1
ϕeve(L,u)=x∈Ω∑∣∣L(x,f)(exp(cE(x,t))−1)+[ux,vx]T∇L(x,f)∣∣1
图片模糊方程 ϕ b l u r \phi_{blur} ϕblur
传统模糊就是一个卷积,而在动态环境中时,我们把卷积核大小缩减为1,即一个逐点的卷积:
B
=
k
(
x
)
⊗
L
(
x
)
B=k(x)\otimes L(x)
B=k(x)⊗L(x)
其中k为卷积核,L为去模糊的图片,B为模糊图片。
B
∈
R
H
∗
W
B\in \mathbb{R}^{H*W}
B∈RH∗W
卷积展开为:
B
(
x
)
=
∑
y
∈
Ω
k
(
x
)
L
(
x
−
y
)
=
∑
y
∈
Ω
k
u
′
(
x
)
(
y
)
L
(
x
−
y
)
B(x)=\sum_{y\in \Omega}k(x)L(x-y)\\=\sum_{y\in \Omega}k_{u'(x)}(y)L(x-y)
B(x)=y∈Ω∑k(x)L(x−y)=y∈Ω∑ku′(x)(y)L(x−y)
这里
x
,
y
∈
Ω
x,y\in\Omega
x,y∈Ω,
k
u
′
(
x
)
∈
R
H
∗
W
k_{u'(x)}\in \mathbb{R}^{H*W}
ku′(x)∈RH∗W就是每个像素的卷积核。
可以用下图来理解:
最终模糊损失定义为:
ϕ
b
l
u
r
(
L
,
u
)
=
∑
x
,
y
∈
Ω
∣
∣
k
u
′
(
x
)
(
y
)
L
(
x
−
y
)
−
B
(
x
)
∣
∣
2
\phi_{blur}(L,u)=\sum_{x,y\in \Omega}||k_{u'(x)}(y)L(x-y)-B(x)||^2
ϕblur(L,u)=x,y∈Ω∑∣∣ku′(x)(y)L(x−y)−B(x)∣∣2
正则项 ϕ f l o w ϕ i m \phi_{flow}\phi_{im} ϕflowϕim
1、
ϕ
f
l
o
w
\phi_{flow}
ϕflow光流的正则项
按照传统方法,应该使
∇
u
\nabla u
∇u尽可能小,设定x、y方向的系数w(x),最小化量变为:
w
(
x
)
∇
u
⃗
(
x
)
=
(
w
X
x
u
X
(
x
)
,
w
X
y
u
X
(
y
)
,
w
X
x
v
X
(
x
)
,
w
X
y
v
X
(
y
)
)
T
w(x)\nabla \vec u(x)=(w_X^xu_X^{(x)},w_X^yu_X^{(y)},w_X^xv_X^{(x)},w_X^yv_X^{(y)})^T
w(x)∇u(x)=(wXxuX(x),wXyuX(y),wXxvX(x),wXyvX(y))T
则:
ϕ
f
l
o
w
(
∇
u
)
=
∣
∣
w
∇
u
∣
∣
1
,
2
=
∑
x
∈
Ω
∣
∣
w
(
x
)
∇
u
(
x
)
∣
∣
\phi_{flow}(\nabla u)=||w\nabla u||_{1,2}=\sum_{x\in \Omega}||w(x)\nabla u(x)||
ϕflow(∇u)=∣∣w∇u∣∣1,2=x∈Ω∑∣∣w(x)∇u(x)∣∣
这里的系数由下面的公式得到:
w
x
=
μ
3
e
x
p
(
−
(
L
^
(
x
)
μ
4
)
2
)
w^x=\mu_3exp(-(\frac{\hat L^{(x)}}{\mu_4})^2)
wx=μ3exp(−(μ4L^(x))2)
w
y
=
μ
3
e
x
p
(
−
(
L
^
(
y
)
μ
4
)
2
)
w^y=\mu_3exp(-(\frac{\hat L^{(y)}}{\mu_4})^2)
wy=μ3exp(−(μ4L^(y))2)
其中
L
^
\hat L
L^为原灰度图,也就是说,在原图亮度变化较大的地方系数小一些,亮度变化小的地方系数大一些。
2、
ϕ
i
m
\phi_{im}
ϕim去模糊图的正则项
直接将其梯度的一范数作为正则项。
ϕ
i
m
(
∇
L
)
=
∑
x
∈
Ω
∣
∣
∇
L
(
x
)
∣
∣
1
\phi_{im}(\nabla L)=\sum_{x\in\Omega}||\nabla L(x)||_1
ϕim(∇L)=x∈Ω∑∣∣∇L(x)∣∣1
优化
由于要优化两个变量,采取分步优化的方式。
优化光流
在优化光流时,固定隐变量L,令
L
=
L
^
L=\hat L
L=L^。优化函数变为:
G(u)为是凸的,F(Ku)是非凸的。
令:
K
u
=
w
∇
u
Ku=w\nabla u
Ku=w∇u,
u
∈
X
=
R
2
N
u\in X=\mathbb{R}^{2N}
u∈X=R2N,
∇
u
∈
Y
=
R
4
N
\nabla u\in Y=\mathbb{R}^{4N}
∇u∈Y=R4N,所以:
G
:
X
→
R
,
F
:
Y
→
R
G:X\rightarrow \mathbb{R},F:Y\rightarrow \mathbb{R}
G:X→R,F:Y→R
使用对偶法求解,对F取两次共轭:
min
u
∈
X
(
G
(
u
)
+
max
p
∈
Y
<
K
u
,
p
>
X
−
F
∗
(
p
)
)
F
∗
(
q
)
=
sup
p
∈
Y
(
<
p
,
q
>
−
F
(
p
)
)
\min_{u\in X}(G(u)+\max_{p\in Y}<Ku,p>_X-F^*(p))\\ F^*(q)=\sup_{p\in Y}(<p,q>-F(p))
u∈Xmin(G(u)+p∈Ymax<Ku,p>X−F∗(p))F∗(q)=p∈Ysup(<p,q>−F(p))
得到优化公式:
p
n
+
1
=
P
F
∗
(
p
n
+
σ
K
u
ˉ
n
)
u
n
+
1
=
P
G
(
u
n
−
τ
K
∗
p
n
+
1
)
u
ˉ
n
+
1
=
u
n
+
1
+
θ
(
u
n
+
1
−
u
n
)
p^{n+1}=\mathcal{P}_{F^*}(p^n+\sigma K\bar u^n)\\ u^{n+1}=\mathcal{P}_G(u^n-\tau K^*p^{n+1})\\ \bar u^{n+1}=u^{n+1}+\theta(u^{n+1}-u^n)
pn+1=PF∗(pn+σKuˉn)un+1=PG(un−τK∗pn+1)uˉn+1=un+1+θ(un+1−un)
其中:
P
g
(
x
)
=
a
r
g
min
y
(
2
g
(
y
)
+
∣
∣
y
−
x
∣
∣
2
)
\mathcal{P}_g(x)=arg\min_y(2g(y)+||y-x||^2)
Pg(x)=argymin(2g(y)+∣∣y−x∣∣2)
代表在离散集合中找到使函数值最小且距离x最近的点。
优化去模糊图
此时固定光流,优化函数为: