论文链接:https://arxiv.org/abs/1703.10025
代码链接:https://github.com/msracver/Flow-Guided-Feature-Aggregation
这篇是MSRA发表在ICCV2017上的VID方面的论文,算是之前的工作Deep Feature Flow的一个延续。这篇文章的亮点在于利用了前后帧的信息加强当前帧的特征,从而得到较好的识别精度。但是速度上会比较慢。那我们开始吧。

1.Abstract

视频中的物体检测会受到诸如运动模糊、视频散焦、奇特姿态等的影响。现有的工作尝试从box-level使用temporal信息,但是这种方法不能端到端地进行训练。我们提出了FGFA,在frame-level使用temporal信息。它将相邻帧在motion paths上的特征聚合到当前帧的特征中,因此提高了视频识别的精度。我们的方法极大地提升了ImageNet VID上的single-frame baselines。特别是在识别快速移动的物体方面,此方法和Deep feature flow一起赢得了ImageNet 2017

2.Introduction

物体检测一般都是二阶段结构,首先CNN提取feature map,然后检测特定的网络用于从feature maps 中生成检测结果。
这些方法对于still image效果很好,但是直接用到vedio上效果会恶化很多,例如state-of-the-art RFCN+ResNet-101在对快速运动中的物体进行识别的时候效果恶化得很厉害
然后,视频中拥有丰富的对于单个物体实例的信息,通常会在一小段时间中的多个snapshots看到,这些时间信息用在现有的视频物体检测的方法中,则表现为:首先用物体检测器在单帧上进行检测,然后通过专用的后处理方法将这些bbox组合起来,后处理通常是通过现在的motion estimation的方法,例如光流,物体跟踪等。这些方法不会提高检测质量,性能的提升是来自启发式的后处理而不是有原则的学习过程。对于这类方法没有端到端的学习过程。我们把这些方法叫做box level methods
我们希望能够利用时间信息提升检测或识别的质量,以一种有原则的方式。受图像识别的启发,特征很重要,因此我们利用时间域的聚合提升单帧特征的学习。注意,同一物体的特征用于视频运动的原因,在不同帧是空间不对齐的。盲目的特征聚合可能会使性能变差,这说明在学习过程中对运动进行良好的建模很重要。
在此工作中,我们提出了FGFA,如图1所示,特征提取的网络在单帧上提取单帧的feature maps,然后为了加强当前帧的特征,一个光流网络用于估计相邻帧和当前帧的运动。相邻帧的feature maps再根据光流运动中warp到当前帧,warp后的feature map以及它自己的feature map一起通过适应权重网络进行聚合。(在当前帧)然后聚合得到的feature map再被送到检测网络中输出当前帧的检测结果。所有模块,包括特征提取,光流估计,特征聚合,检测都是端到端进行训练的,对于快速运动中的物体,普通的方法效果很差,但我们的方法有效地利用了不同snapshot间的丰富表现信息,这也是我们的方法取得VID冠军的致胜点(对于快速运动物体识别好)

3.Flow Guided Feature Aggregation

3.1 Baseline and Motivation

给定输入的视频帧{Ii
},我们的目标是输出所有帧上的物体框{Yi
}。Baseline就是在每帧上单独使用现有的物体检测器。
现有的CNN-based物体检测器结构相似,输入图片I,CNN提取特征得到Nfeat(I
)=f feature maps,然后一个专用于detection的子网络用于生成检测结果y
=Ndet(f
)。
视频帧会有很剧烈的表现变化,如图2所示,当画面很差的时候,单帧的检测结果很不稳定,易出错。图1给出了一个例子,在t
时刻,由于运动模糊,猫这个类的特征响应会很低。这导致单帧检测的失败,观察到邻近的帧t
-10和t
+10有比较高的响应,它们的特征可以被传递给当前的t
帧,当t
帧的特征加强后,检测成功。

特征传递和加强需要两个模块实现:(1)motion-guided spatial warping.在帧间估计运动然后将feature map进行warp。(2)feature aggregation module.它用于正确地将不同帧的特征进行融合,再加上特征提取和检测网络,共同组成了我们方法的四个模块。

3.2 Model Design

Flow-guided warping.给定一帧{Ii
}和其相邻帧{Ij
}光流场Mi>j
=F(Ii
,Ij
)可以通过光流网络F参加FlowNet[8]估计。
相邻帧的feature maps被warp到当前帧,根据光流warping function定义为:
fj>i
=W(fj
,Mi>j
)=W(fj
,Mi>j
)
其中W是一个双线性的warping function,用于feature maps上所有位置的每个channel,fj>i
表示从j
warp到i
帧的feature map。
Feature aggregation.做完feature warping以后,当前帧从相邻帧累积feature map。这些feature map提供了物体实例的不同信息,例如光照、视角、姿态、非刚体变形等。聚合特征是,我们在不同空间位置使用不同的权重,并且让所有特征通道共享此空间权重,这一2D权重map定义为Wj>i
。则聚合后的特征为

其中k
表示相邻帧的数量,默认k
=10。上式和attention模型的公式很像,不用的权重用于memory buffer中的不同特征。
聚合后的特征最后被送到检测子网络中得到最终的结果:yi
=Ndet()。
和baseline以及box-line method相比,我们的方法在输入到最后的检测之前就进行了多帧信息聚合。
Adaptive weight.权重用于表示所有buffer frames[Iik
,…,Ii+k
]对于Ii
在每个空间位置上的重要程度。
特别地,在位置P
,如果warped features fj>i(P)
fi(P)
很相近,则它会被赋予一个大的权重,反之则相反这里我们使用余弦相近矩阵来衡量warped features和从当前帧得到的features之间的相似度。另外,我们不直接使用卷积特征Nfeat(I
),而是使用一个小的全卷积网络,将特征f(i)
fj>i
映射到新的embedding进行相似度度量。
我们估计权重为:

其中fe
=表示相似度度量的embedding features。权重Wj>i
对于所有空间位置P
,在相似帧做了归一化,=1。估计权重的过程可以看做是利用embedding features计算余弦相似度的过程。

3.3 Training and Inference

Inference.算法1归纳了inference的过程。

Training.整个FGFA结构是可微的,可以端到端地进行训练。唯一需要注意的地方是特征warping的模块是通过双线性插值得到的,也是可微的,对于feature maps和光流场都是可微的。
*Temporal dropout.在SGD训练中,聚合范围K受到内存的限制,我们在inference的时候使用一个大的K,而在训练的时候用小的K(默认为2),这是没关系的,因为adaptive weight可以在许梿和推理的时候分别进行正确的归一化。注意在训练时,相邻帧是从一个大的range中随机采样的,这个大range等于推理时用的range,这就相当于在时域上用了个dropout,用table 3可以看出,temporal dropout效果不错。

3.4 Network Architecture

Flow network.我们用了在flying chairs数据集上预训练的Flownet(简易版)。它被使用到一半分辨率的图片上。输出stride=4。由于feature network的输出stride=16(下文有解释)。flow field再次下采样得到和feature map一样的分辨率。
Feature network.我们使用Resnet-50,Resnet-101。Inception-Resnet作为feature network。初始的Inception-Resnet是用于图像识别的,为了解决特征不一致的问题,使其能够正确运用到物体检测中,我们使用一个modified的版本叫做Aligned-Inception Resnet[6]、Resnet50,Resnet101,Aligned-Inception-Resnet都是在ImageNet分类上预测训练的。
预测训练的模型用于FGFA的feature network。我们稍微调整了一下这三个模型的结构用于物体检测。我们将最后的average pooling和fc层去掉,保留其他卷积层。为了提高特征分辨率,根据[4,5]的实践,将最后一个block的stride从32改为16,特别地,在最后一个block的开始(conv5),stride从2变为1。为了保持感受野的大小。最后一个block的卷积层的dilation(kernel size>1)设为2。最后随机初始化3*3卷积用在最后将特征维度降为1024。
Embedding network.有三层,1*1*512 conv,3*3*512 conv,1*1*2048 conv,随机初始化。
Detection network.我们使用R-FCN,并且按照[49]的设计,在1024-d feature maps的后面。RPN sub-network和R-FCN sub-network分别接前512和后512维,RPN使用9个anchor(3 scale, 3 aspect)。每张图产生300个proposals,R-FCN中的position-sensitive score maps是7*7group。

4.Experiment

4.1 Experiment Setup

**ImageNet VID dataset.**3862个video snippets用于训练,555个snippets用于验证,这些snippets全部标注好。每个视频的frame rates在25和30左右。共有30个物体分类,是ImageNet DET数据集的子类别。
slow,medium和fast运动中分别测试了不同运动速度的map。
Implementation Details.在训练时,和[18,23]一样,ImageNet DET和VID训练集都用于训练。两阶段的训练:第一阶段:特征网络和检测网络在ImageNet DET上进行训练,使用和VID一样的30个类,SGD,每个batch一张图进行训练,4GPU,120K iterations。lr在前80K和后40K iters分别为103
104
。第二阶段,整个FGFA模型在VID上进行训练,4GPU,60K iter。lr在前40K和后20K iters分别是103
104
。在训练和推理中,图片都被resize到短边600用于feature network,resize到短边300用于flow network。

4.2 Ablation Study

Table 1比较了单帧baseline 和FGFA以及其变种figure 6是单帧方法和FGFA的直观对比。

【论文笔记】视频物体检测(VID)系列 FGFA:Flow-Guided Feature Aggregation for Video Object Detection相关推荐

  1. 视频目标检测--Flow-Guided Feature Aggregation for Video Object Detection

    Flow-Guided Feature Aggregation for Video Object Detection https://arxiv.org/abs/1703.10025 Our fram ...

  2. 【论文笔记_目标检测_2022】Proper Reuse of Image Classification Features Improves Object Detection

    图像分类特征的适当重用改善了目标检测 摘要 迁移学习中的一个常见做法是通过对数据丰富的上游任务进行预训练来初始化下游模型权重.具体而言,在对象检测中,特征主干通常用ImageNet分类器权重来初始化, ...

  3. ICCV 2017 《Flow-Guided Feature Aggregation for Video Object Detection》论文笔记

    本学弱喜欢在本子上记笔记,但字迹又丑. 望看不懂我的字的大佬不要喷我,看得懂的大佬批评指正.

  4. 【视频目标检测论文阅读笔记】Optimizing Video Object Detection via a Scale-Time Lattice

    1.1 论文信息 标题 Optimizing Video Object Detection via a Scale-Time Lattice 会议 CVPR 2018 原文链接 Optimizing ...

  5. 判断图像局部过暗_CVPR 2020丨基于记忆增强的全局局部整合网络:更准确的视频物体检测方法...

    编者按:在视频物体检测任务中,由于相机失焦.物体遮挡等问题,仅基于图像的目标检测器很可能达不到令人满意的效果.针对此类问题,微软亚洲研究院提出了基于记忆增强的全局-局部整合网络(Memory Enha ...

  6. 论文笔记,物体六自由度位姿估计,DenseFusion: 6D Object Pose Estimation by Iterative Dense Fusion

    论文笔记,物体六自由度位姿估计,DenseFusion: 6D Object Pose Estimation by Iterative Dense Fusion 链接 摘要 1,引言 2,模型 2.1 ...

  7. Towards High Performance Video Object Detection论文笔记

    这篇文章可以说是很牛逼的又快有准的文章,对比之前的这个团队的deep feature fow(快)和Flow-guided feature aggregation(准),这篇文章可以说是又快又准.但是 ...

  8. 《Feature Pyramid Networks for Object Detection》论文阅读笔记

    FPN 很多论文中都会采用含有FPN的backbone进行特征提取,因为FPN使用特征金字塔结构,将low-level的特征和high-level的特征进行融合,能提取更加准确的位置等特征信息. 所以 ...

  9. 深度学习论文阅读目标检测篇(一):R-CNN《Rich feature hierarchies for accurate object detection and semantic...》

    深度学习论文阅读目标检测篇(一):R-CNN<Rich feature hierarchies for accurate object detection and semantic segmen ...

  10. 目标检测经典论文——R-CNN论文翻译:Rich feature hierarchies for accurate object detection and semantic segmentation

    Rich feature hierarchies for accurate object detection and semantic segmentation--Tech report (v5) 用 ...

最新文章

  1. TM1810-3, TM1810-2 LED恒流驱动IC
  2. 机器人学会对自己下手了,螺丝松了自己拧
  3. 建立自己的git账户并保存资料的重要性
  4. API网关如何实现对服务下线实时感知
  5. GROUP BY,WHERE,HAVING之间的差别和使用方法
  6. ios 控件徽章_一行代码给你的控件加上徽章(Badge)
  7. delphi7连接oracle,delphi7.0连接oracle数据库的.doc
  8. zend studio php 运行,Zend Studio使用教程:使用PHP 7进行开发(一)
  9. 公司计算机程序员英语怎么说,计算机程序员英文求职信范文模板
  10. python 字符串时间带有月份简写 星期简写 时区, 格式化为其他样式
  11. java apktool if_apktool使用教程
  12. 如何查看一个人发表的SCI数量
  13. 神奇的Navigator对象
  14. 通过获取图片中的EXIF信息来定位拍摄地点
  15. 界面(1):对话框和菜单 打印和按钮等杂项
  16. 教妹学Java(一):什么是Java?
  17. node-rsa 加减密与java rsa加减密 互调 相互加减密
  18. WORD中编号问题的解决
  19. Navicat链接linux上的mysql出现 1577 Cannot proceed because system tables used by Event Scheduler where foun
  20. JSP运行原理及运行过程

热门文章

  1. 学习前端——仿写哔哩哔哩直播部分
  2. 详解Excel中最常用的查找公式Vlookup及Sumifs
  3. 我是路人甲,请你为我祝福
  4. [通信技术]Iub接口协议——专用传输信道(DCH)的用户平面协议
  5. Android OTG U盘相关
  6. LiveNVR监控流媒体Onvif/RTSP功能-Onvif 发现以及探测通过ONVIF添加摄像头监控直播及云台控制
  7. 关于怎么测试网站页面打开速度?有什么工具能实现么?
  8. 笔试题??智商题??
  9. 给定一个初始为空的队列和一系列入队、出队操作,请编写程序输出每次出队的元素。队列的元素值均为整数。
  10. apk+html启动页,案例——APP启动页