参考代码(official):PWC-Net
参考代码(pytorch convert):pytorch-pwc
1. 概述
导读:这篇文章给出了一种使用CNN网络实现光流估计的方法,在该方法中采用了经典的特征金字塔结构作为特征提取网络。之后在金字塔的某个层级上使用上一级的光流作为warp引导,第二幅图像的特征将被warp。进而使用第二幅图像warp之后的特征和第一幅图像的特征构建一个cost volume。在此基础之上,添加一个估计网络从而实现当前金字塔层的光流估计。文章的方法简单明了,在模型的体积上和infer时间上分别比FlowNet2小了17倍和2倍,并且相比FlowNet2繁琐的训练过程文章的方法训练起来更加容易。
将文章的方法与之前的一些光流估计网络进行infer时间与参数量上的比较:
2. 方法设计
2.1 网络结构
文章方法的网络结构见上图的右图所示,其输入的图像表示为 I 1 , I 2 I_1,I_2 I1,I2,经过共享权重的CNN网络进行特征抽取(生成的特征描述为 f e a t = [ c t 1 , c t 2 , c t 3 , c t 4 , c t 5 , c t 6 ] feat=[c_t^1,c_t^2,c_t^3,c_t^4,c_t^5,c_t^6] feat=[ct1,ct2,ct3,ct4,ct5,ct6],其中 t t t为图像的索引值),之后在 s t r i d e = [ 2 , 4 , 8 , 16 , 32 , 64 ] stride=[2,4,8,16,32,64] stride=[2,4,8,16,32,