评价指标
Endpoint error(EPE)
计算的是估计光流和groundtruth光流的欧氏距离:
E
P
E
=
(
(
u
e
s
t
−
u
g
t
)
2
+
(
v
e
s
t
−
v
g
t
)
2
)
EPE = \sqrt{((u_{est} - u_{gt})^2 + (v_{est} - v_{gt})^2)}
EPE=((uest−ugt)2+(vest−vgt)2)
这是一种比较普遍的评估指标,通常会用EPE的均值来评估光流估计的结果。
Angular error(AE)
计算的是光流向量之间的角度误差:(
(
u
0
,
v
0
,
1
)
(u_0, v_0, 1)
(u0,v0,1)表示一个列向量)
A
E
=
arccos
(
(
u
e
s
t
,
v
e
s
t
,
1
)
T
∗
(
u
g
t
,
v
g
t
,
1
)
1.0
+
u
e
s
t
∗
u
e
s
t
+
v
e
s
t
∗
v
e
s
t
1.0
+
u
g
t
∗
u
g
t
+
v
g
t
∗
v
g
t
)
AE = \arccos(\frac{(u_{est}, v_{est}, 1)^T * (u_{gt}, v_{gt}, 1)}{\sqrt{1.0 + u_{est} * u_{est} + v_{est} * v_{est}} \sqrt{1.0 + u_{gt} * u_{gt} + v_{gt} * v_{gt}}})
AE=arccos(1.0+uest∗uest+vest∗vest1.0+ugt∗ugt+vgt∗vgt(uest,vest,1)T∗(ugt,vgt,1))
Interpolation error(IE)
插值误差指的是真值图像和估计的插值图像颜色值的root-mean-square(RMS) diffenrence
I
E
=
1
N
∑
(
x
,
y
)
(
I
(
x
,
y
)
−
I
g
t
(
x
,
y
)
)
2
IE = \sqrt{\frac{1}{N} \sum_{(x,y)}(I(x,y) - I_{gt}(x,y))^2}
IE=N1(x,y)∑(I(x,y)−Igt(x,y))2
N是像素点的个数,对于RGB图像,取RGB颜色差别的L2 norm。
Normalized interpolation error(NE)
I
E
=
1
N
∑
(
x
,
y
)
(
I
(
x
,
y
)
−
I
g
t
(
x
,
y
)
)
2
∣
∣
▽
I
g
t
∣
∣
2
+
ϵ
IE = \sqrt{\frac{1}{N} \sum_{(x,y)} \frac{(I(x,y) - I_{gt}(x,y))^2}{||\bigtriangledown I_{gt}||^2 + \epsilon}}
IE=N1(x,y)∑∣∣▽Igt∣∣2+ϵ(I(x,y)−Igt(x,y))2
论文中取
ϵ
=
1.0
\epsilon=1.0
ϵ=1.0。 对于RGB图像,取向量差的L2 norm,并分别计算梯度。
得到插值图像的方法见论文的3.3.2
光流数据集
Middlebury Optical flow dataset 最经典
MPI Sintel Dataset
Robust Vision Challenge
KITTI Flow 2012 evaluation
KITTI Flow 2015 evaluation
Heidelberg HD1K Flow benchmark
参考:
论文 A Database and Evaluation Methodology for Optical Flow
https://vision.middlebury.edu/flow/eval/
https://stackoverflow.com/questions/49699739/what-is-endpoint-error-between-optical-flows
https://github.com/philferriere/tfoptflow/blob/master/README.md