abstract

deep feature flow是一个针对视频目标识别快速且准确的框架,只在稀疏的关键帧上运行卷积子网络,并通过flow field 把它们的特征图传播到其他帧。

introduce

因为图像内容的变化比视频内容的变化要慢很多,所以冗余且连续的数据可以被用于减少额外的计算。

基于CNN的方法有一个通用的结构——多数层都是卷积层。有大量的计算;中间的卷积特征图有着与输入图像同样大小的空间范围(通常是低分辨率的,如16×16或更小)。该方法保留了低级图像内容和中到高级语义信息的空间对应关系,就像光流(optical flow)一样,这些关系提供了通过空间warp在邻近帧之间cheaply传播特征的方法

DFF是在稀疏关键帧上运行图像识别网络,通过flow field在关键帧和其他帧之间传递深度特征图。因为流估计和特征传播比卷积计算要快很多,所以DFF的速度提升了很多,DFF整个都是被端到端的进行训练,图像识别和flow网络都为检测任务而被优化,所以在速度和检测准确率都有了大幅提升。

DFF是第一个联合训练flow和视频识别任务的深度学习框架,与单帧的方法相比,速度提升了10倍但准确率只有少量的损失

relate work

  1. 对网络加速: Fast R-CNN和Accelerating very deep convolutional networks for classification and detection把大型网络层分解为多个小型的layer以达到加速的目的。有些方法是对网络的权重进行量化以实现加速的目的。

  2. optical flow光流:optical flow最近开始利用深度学习和语义信息——FlowNet首先使用CNN直接估计运动并实现了较好的效果;有些方法是使用语义分割信息来帮助进行optical flow 估计。optical flow信息现已被使用来进行视频任务,如姿势估计等。

  3. 在视频检测任务中利用时间信息:TCNN从tubelet融合时间和上下文信息。dense 3D CRF提出长范围的语义时空正则化。STFCN提出为语义视频分割而设计的时空FCN。以上的方法虽然提升了识别准确率,但是增加了大量的计算量。DFF通过利用视频中的时间一致性减少了大量的计算。

  4. slow feature analysis:高级语义内容的变化比低级图像在视频中出现的要慢,因此深度特征在连续视频帧可以平滑的变化,这一点已被用于对视频特征学习进行正则化。

  5. clockwork convnets:它可以禁用视频帧中某些网络中的layer且可以复用之前的特征。关于速度,clockwork只保留某些帧中1/3或2/3的计算,而DFF在大部分帧中的大部分layer应用了这一点,所以速度更快。关于准确率,clockwork只是重新安排了现有网络的计算,没有进行微调和预训练,准确率有微量的下降,且clockwork只能用于FCN进行语义分割操作。

DFF

把一个正向反馈的深度卷积网络拆分成两个连续子网络,第一个子网络被称为feature network特征网络,是一个全卷积网络且输出大量中间特征图。第二个子网络被称为task network任务网络,有着处理task的特殊结构,可以在特征图上执行识别任务。

因为连续视频帧之间具有相似性,在编码高级语义内容的特征图中,相似性显现的更加强烈,所以利用相似性来减少计算。

特征网络只在稀疏关键帧上运行,非关键帧的特征图通过它之前的关键帧传播。卷积层上的特征编码语义内容,且对应图像中的空间位置。这种空间对应使得可以利用空间warp来廉价的传播特征图。

特征的warp通过双线性插值实现(计算起来速度很快,因为其中只有几项是非零的):

其中 δ \delta δp = Mi→k(P),Mi→k是一个二维flow field,是一个为了传播而从双线性resize到相同空间分辨率的特征图,把当前帧i的位置p反向投射到关键帧k的位置p+ δ \delta δp,且Mi→k = F(Ik,Ii),F是类似FlowNet的flow估计方法。c是特征图上的一个channel,G(·)是双线性插值核,被分为两个一维核:

其中g(a, b)=max( 0 , 1 - |a - b|)。

空间warp因为flow估计的错误、目标被遮挡等原因而不够准确,使用scale field Si→k(与特征图有着相同的空间大小和通道维数)来缓解其准确率的波动,其中Si→k = S(Ik,Ii)。

最后特征的传播为

DFF的训练

flow函数最初是用来获取低级像素间的对应关系,速度快但是准确率不足以满足识别任务的需要,因为高级特征图的变化一般情况下比像素变化慢。

为了应对高级特征图的多种变化,使用CNN来估计flow field和scale field,从而使得全部的组成模块都可以端到端的进行训练。

  1. 使用随机梯度下降(SGD)进行训练,在每个小批量中,一组邻近帧(关键帧Ik,非关键帧Ii)被随机采样(0<= i - k <=9);

  2. 在前向传播中,在关键帧Ik使用特征网络进行处理得到特征fk

  3. 使用flow网络处理关键帧Ik、非关键帧Ii,通过估计得到flow field和scale field。当i>k时,fk被传到fi(关键帧的特征传播到非关键帧的特征中);

  4. 任务网络处理fi得到结果yi及其导致的损失,该损失的误差梯度被反向传播以更新全部组件。

    值得注意的是,当i=k时,只使用per-frame network进行训练。

flow网络的速度比特征网络要快很多,通过在最后一个卷积层上适当的添加多个channels实现在flow网络最后一层添加一个scale函数S作为一个滑动输出的目的,调整后的flow网络被微调为右图。

该方法因为只需要对稀疏帧进行标记,所以训练速度很快。per-frame 网络只能使用被标记的数据,DFF可以在帧Ii被标记的情况下使用所有的数据。

关于关键帧的划定——在固定长度的l个连续帧内必有一个关键帧。但是视频内容的变化要求提供一个可变的l来权衡速度和准确率,所以必须在图像内容发生剧烈变化时产生一个新的关键帧,具体方法留在以后研究,本文未讲明。

network architecture网络架构

  1. FLow Network:把标准的FlowNet的结构作为默认,并提出两个变形以减少复杂度——①FlowNet Half减少了FlowNet每层一半的卷积核使得复杂度减为原本的1/4;②FlowNet Inception使用Inception结构且减为原本的1/8。三种flow network都在Flying Chairs进行预训练,输出stride为4,输入的图像是half-size,flow field的分辨率为原始分率的1/8,因为特征网络的特征stride为16,所以通过双线性插值将flow field和scale field尺寸缩小一半以适应特征图的分辨率。
  2. Feature Network:把在ImageNet上预训练的ResNet-50和ResNet-100作为默认。特征的stride由32减为16来生成更加密集的特征图,conv5的第一个模块的stride改为1,在conv5的所有3×3卷积核上应用holing 算法(dilation=2)以保持视野。在conv5附加一个随机初始化的3×3卷积来把特征的channel减少为1024,并使用holing算法(dilation=6)。得到的1024维的特征图是后续步骤的中间特征图。
  3. Semantic Segmentation:使用随机初始化的1×1的卷积层处理中间特征图生成C+1分数图(C个类别+背景),然后使用softmax生成每个像素的概率,所以task网络只有一个可学习权重layer。
  4. Object Detection:使用R-FCN作为默认。两个部分全卷积网络为了生成候选区域的子任务和检测任务,分别在前512维和后512维的中间特征图上应用。①在生成后续区域的分支,使用RPN。使用9个anchor,两个1×1的滑动卷积生成18维的客观分数和36维的边框回归值,使用NMS在每个proposal生成300个候选区域,IoU的阈值设置为0.7 。②在检测任务分支,两个1×1的滑动卷积生成位置敏感分数图和边框回归图,它们的维度分别为(C+1)×K²和4K²(K是分类器/回归器的数量)。在得到的特征图上使用ROI池化分别得到每个区域的分类分数和边框回归值,最后,在IoU阈值为0.3的情况下,用NMS生成检测结果。

DFF存在的不足之处:

  1. 关键帧是通过每l帧选取一个关键帧的方法得到的,l是一个固定值。然而当视频内目标对象的appearance发生剧烈变化时,l的长度也应该随之变化。
  2. 因为非关键帧的特征不是经过CNN计算得到的,而是通过关键帧的特征warp后赋予的,所以非关键帧特征的representation不如CNN计算得到的特征,其检测效果也不如CNN得到的特征。

DFF(deep feature flow for video recognition)论文详读相关推荐

  1. 视频检测分割--Deep Feature Flow for Video Recognition

    Deep Feature Flow for Video Recognition CVPR2017 Code: https://github.com/msracver/Deep-Feature-Flow ...

  2. CVPR 2017 《Deep Feature Flow for Video Recognition》论文笔记

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

  3. Multi-Task GANs for View-Specific Feature Learning in Gait Recognition论文翻译以及理解

    Multi-Task GANs for View-Specific Feature Learning in Gait Recognition论文翻译以及理解 今天想尝试一下翻译一篇自己读的论文.写的不 ...

  4. Representation Flow for Action Recognition论文解读

    Representation Flow for Action Recognition论文解读 1 简介 这是2019 CVPR视频动作识别领域的最新论文,出自印第安纳大学的AJ Piergiovann ...

  5. TAM: Temporal Adaptive Module for Video Recognition论文学习

    Abstract 时域建模在视频动作识别任务中,对于时空结构的获取非常重要.由于各种因素,如相机移动.速度差异,视频数据在时间维度上非常复杂.为了有效获取这些运动的模式,本文提出了一个新的时域自适应模 ...

  6. A Survey on Deep Learning for Named Entity Recognition论文笔记

    前言:研究课题定为特定领域的命名实体识别,所以先阅读一篇综述,在此简单记录阅读过程. 摘要 在文章中,首先介绍现有的NER资源,包括标记的NER语料库及现成的NER工具,然后对现有的工作进行了分类:输 ...

  7. X3D: Expanding Architectures for Efficient Video Recognition 论文学习

    Abstract 本文提出的 X3D 是一组高效率的视频网络,沿着网络的空间.时间.宽度和深度维度来对较小的2D图像分类结构进行扩展.受到机器学习中特征选择方法的启发,本文使用了一个简单的.逐步的网络 ...

  8. Motion Guided Attention for Video Salient Object Detection论文详读

    abstract 视频显著目标检测的主要目的是检测出视频中视觉上最突出.最独特的目标,现有的方法没有获取和使用视频中的运动线索,或忽略了光流图像中的空间上下文. 本文的方法使用两个子网络分别实现两个子 ...

  9. Semi-Supervised Video Salient Object Detection Using Pseudo-Labels 论文详读

    Semi-Supervised Video Salient Object Detection Using Pseudo-Labels --使用伪标签的半监督式的重要目标(显著目标)检测. abstra ...

最新文章

  1. labelme3.16.5 标注工具的安装与下载
  2. 2017年7月27日 老大传授的知识
  3. python中parse.add_argument()简单用法
  4. 将你一张表的值覆盖_精准度可达亚米级,山东“北斗一张网”向社会免费开放...
  5. Ubuntu 安装开源微信(源码安装+release快速安装)
  6. 为什么自己编写的页面总是在那里抖动_SEO排名,为什么旧页面比新内容排名高?...
  7. Python的Request请求跳过认证及禁用警告
  8. 1024当当限量优惠码!花150买400的书,花220买600的书!
  9. 从maya中 导入物体 到Uniyt3D 规范 整理
  10. Android内存泄露测试
  11. JavaScript cookie js cookie设置
  12. 粒子群算法matlab实现(新版)
  13. s7-200plc编程及应用_西门子S7200PLC编程应用15个为什么
  14. RHCA红帽认证架构师考试分享
  15. Linux网络抓包分析工具(tcpdump、wireshark)
  16. “朝抵抗力最大的路径上走”
  17. 计算机无法识别ipad,ipad连接电脑没反应怎么办 ipad air连接电脑无法识别解决办法...
  18. html框架集frame是啥意思,HTML框架frame与iframe详解
  19. 广东省计算机二级ps操作题题库,广东省计算机二级考试ps选择题.doc
  20. 微信公众号文章中的图片处理有哪些技巧?看这篇就够了。

热门文章

  1. FLIR E95 在8层楼看马路上行驶的CAR的热成像形态?
  2. 51单片机的串口通信原理
  3. 用shell脚本给mysql插入数据_shell脚本向mysql表批量插入数据
  4. .mypage打破传统html文档结构
  5. C语言用矩形法求定积分的通用函数,分别求 sinx, cosx,e^x
  6. USBISP与USBASP
  7. 智合同丨建设工程合同的审查技巧和方法
  8. 阿里开源抓包神器LightProxy 和 其他代理 工具一起使用
  9. 谷歌官方推荐《Android开发入门精编》,极致经典,堪称Android入门教程的天花板
  10. 华为云学习笔记-弹性云服务器