三维视觉论文阅读:FlowNet2.0双目光流
作者:互联网
论文
FlowNet 2.0: Evolution of Optical Flow Estimation with Deep Networks
摘要
FlowNet1.0取得了不错的效果,但是在实际应用时效果还并不是特别好。针对这些问题,FlowNet2.0做了一些改进,显著的提升了光流质量。
方法
整体而言,FlowNet2.0这篇论文更像是一篇炼丹学,非常详细的介绍了在做光流匹配的时候需要注意的一些问题,以及作者经过大量实验总结出来的一些技巧。因此,也就不存在所谓的网络模型这些概念。
1. 训练技巧–learning rate&dataset
作者提出了三种learning rate方式,分别是
S
s
h
o
r
t
S_{short}
Sshort、
S
l
o
n
g
S_{long}
Slong和
S
f
i
n
e
S_{fine}
Sfine,分别对应下图:
另外作者使用了两个数据集,FlyingChairs和FlyingThings3D,其中FlyingChairs相对简单,而FlyingThings3D相对复杂;那么在训练的时候作者向导一共有四种方法:分别单独使用一个数据集,混合两个数据集,或者两个数据集按照一定的顺序使用。
最终作者经过一定程度的炼丹,得到了一下结果;对应的结论是,无论是FlowNetC或者FlowNetS,都先用
S
l
o
n
g
S_{long}
Slong在FlyingChairs数据上训练,然后再用
S
f
i
n
e
S_{fine}
Sfine在FlyingThings3D上训练,可以得到最好的效果。另外,作者还发现FlowNetC比FlowNetS好一些,这个本篇文章的意思是FlowNet1.0的实验做错了。
2.两个网络拼接
其实FlowNetS和FlowNetC各有优势,这篇文章想也许将多个网络拼接起来可以得到非常不错的效果。所以考虑到这个,作者先做了一些拼接的实验,结果如下。
- 下图中Net1对应FlowNetS,Net2对应FlowNetC。Warping Included对应的是,利用第一个网络预测的光流对第二个网络的输入图片进行变形。Warping Gradient Included意思是在Warping Included基础上,给第二个网络的输入加上梯度。训练时,只使用了FlyingChairs和FlyingThings3D;因此EPE on Chairs越好,表示网络越过拟合;EPE on Sintel越好,表示网络泛化能力越强。
- 结论就是多个网络拼接在一起时可以得到更好的效果,但是前提是要加上Warping。
- 多个网络拼接在一起训练时,要分别有自己的loss,否则就应该固定该部分的网络参数,不进行训练。最好的效果是固定网络1,只训练网络2。
3.多个网络拼接
最后作者尝试了拼接多个网络,结果如下,其中
c
c
c和
s
s
s对应的是简化后的网络(由于后文没用,所以不过多介绍)。实验结果表明,
F
l
o
w
N
e
t
−
C
S
S
FlowNet-CSS
FlowNet−CSS取得了最好的效果。
后文作者还有一些其他的操作,但是感觉到了这里基本上已经
S
T
O
A
STOA
STOA了,也不做介绍了。
结论
整体而言,FlowNet2这篇文章介绍了非常多有用的东西,其提出的网络也非常有的意义,泛化能力是比较好的。
标签:Warping,训练,FlyingThings3D,三维,网络,FlowNet2.0,拼接,作者,视觉 来源: https://blog.csdn.net/u012348774/article/details/111106067