Flow-Guided Feature Aggregation for Video Object Detection-ICCV 2017

Flow-Guided Feature Aggregation for Video Object Detection

从题目看到Feature Aggregation,就知道这篇工作是提高特征的表征能力的。在之前的DFF(deep feature flow)工作的基础上,作者进一步地对视频的每一帧特征做了aggregation的操作,在ImageNet VID 的比赛上,几乎都用到了这种方法。

Video Object Detection

box method: 这里指的是香港中文大学用tubulet 方法对video object 做box track的方法,那里面的算法很复杂,有空再总结。

video object detection 里面的存在的问题:(Image VID dataset里面的图片)

Flow-Guided Feature Aggregation for Video Object Detection-ICCV 2017

这时如果用单帧的图像检测器直接做的话就是在其他帧检测不准,因为没有充分地考虑temporal的信息,同一物体姿态多变,或者相机的运动导致的运动模糊,都会导致这种问题,但如果我们不是简单地关注当前帧而是关注前几帧和后几帧,就会识别正确,所以让model去学会适应temporal feature是这篇工作的核心。

Frame work

Flow-Guided Feature Aggregation for Video Object Detection-ICCV 2017

​ 大致想法是在计算每一帧的时候(当前帧),把每一帧都当中关键帧,然后把临近帧的feature map通过DFF的方法warp到当前帧,然后计算帧与帧之间similarity,在做feature map 的aggregation(加权求和)。

Inference

Flow-Guided Feature Aggregation for Video Object Detection-ICCV 2017

Notation和上述DFF一样,问题是如何去求解这个weights?

作者是用了embedding 的思想,每个feature map 计算similarity的时候先用一个小的CNN把这个feature map 映射到一个小的feature space,然后就用简单点积除以模的形式就是weight(最后再做一次归一化),简单的一句话就是把结果取softmax。

Experiment

1, 作者采用的R-FCN,也是Dai Jifeng的工作,很强大的检测器。

2,Feature network 和DFF一样用的resnet101, flow netwo用的是flownet-s

3,Embedding network是3层CNN,最后一层的输出为2048维度

4,为了便于分析,作者根据物体运动的快慢把VID dataset 划分成了slow,medium,fast motion的形式。(指标是帧和帧之间boxes的iou,iou越小说明物体运动的越快)

Flow-Guided Feature Aggregation for Video Object Detection-ICCV 2017
5,首先可以看出算法在对slow,fast物体都能兼顾。

Flow-Guided Feature Aggregation for Video Object Detection-ICCV 2017
并且对不同速度物体的weights进行了可视化,横坐标代表相对于当前帧的偏移量。

6,又是一大波实验


Flow-Guided Feature Aggregation for Video Object Detection-ICCV 2017

Flow-Guided Feature Aggregation for Video Object Detection-ICCV 2017
结果

从下图可以看出,这个算法框架却是很workFlow-Guided Feature Aggregation for Video Object Detection-ICCV 2017

最终的结果是state of art 的(当时)

Flow-Guided Feature Aggregation for Video Object Detection-ICCV 2017

不足:

1,每一帧都是key frame,计算量会增加很多,虽然用DFF加速,但是比起单帧做还是速度慢一点。

2,仍然需要去计算光流,额外的信息作为指导。