[论文阅读] CVPR2017|DFF:Deep Feature Flow for Video Recognition

题目:Deep Feature Flow for Video Recognition
作者:Xizhou Zhu Yuwen Xiong Jifeng Dai Lu Yuan Yichen Wei

Motivation:
作者认为视频目标检测每一帧上用CNN计算特征太慢了,两个相邻帧有相似的feature map,就想用光流算法来做中间的帧。于是DFF就出来了。

Methods:
[论文阅读] CVPR2017|DFF:Deep Feature Flow for Video Recognition
这里作者通过可视化resnet101最后一个卷积层里面的两个卷积核输出的特征来进行了验证。可以看到中间的特征图上**的汽车特征的位置和原始图片上汽车的位置是对应的,而这种对应性能够提供使用空间warp,将临近帧的特征进行轻量传播,以此来避免在每一帧上都进行特征提取。这里作者使用了光流信息进行特征传播。

warp最开始是用在对图片像素点进行对齐的操作。光流本质就是记录了某帧图片上的像素点到另一帧的运动场,光流图上每一个点对应着图片上该点的二位运动矢量。假设我们知道第t帧中的点P会运动到第t+1帧,这样就得到了运动矢量。这时如果我们已知第t帧的像素值和第t+1帧每个像素点的运动矢量,则可倒推出t+1帧上的点在第t帧的位置,则可以通过双线性插值来得到对应的点的像素值。由于光流值通常不是整数值,因此用双线性插值。

文章中将目标检测或者语义分割网络分解成两个连续的子网络,Nfeat是特征网络,一般用resnet,Ntask是任务网络,在特征图上进行语义分割或者目标检测任务。图中的F是光流估计网络,这里用的是改造过的flownet,输入相邻的两帧图片,得到和feature map大小一样的特征光流图,flownet已经在光流估计的数据集上预训练过。DFF在一段视频帧里面以固定间隔选取关键帧,其他的帧为非关键帧。对于关键帧,DFF用一个特征提取网络去提取feature map,进而任务网络以这些特征为输入得到结果;对于非关键帧,DFF先经过光流网络计算该非关键帧与此之前最近的关键帧的特征光流图,然后利用得到的光流图和关键帧的feature map进行warp操作,从而将关键帧的特征对齐并传播到该非关键帧,然后任务网络基于此特征输出该非关键帧的任务结果。

[论文阅读] CVPR2017|DFF:Deep Feature Flow for Video Recognition
[论文阅读] CVPR2017|DFF:Deep Feature Flow for Video Recognition
DFF利用相对轻量的光流网络和warp操作代替原来的特征提取网络来得到相应的特征,达到节省计算量来加速的目的。

Experiments:
[论文阅读] CVPR2017|DFF:Deep Feature Flow for Video Recognition
我是在想如果关键帧没有检测准确,就完蛋了?
【完】