一篇高效视频行为检测的论文
原论文链接:https://arxiv.org/abs/2104.13400
代码:https://github.com/Qualcomm-AI-research/FrameExit

摘要

  在本文中,我们提出了一种用于视频识别的条件提前退出的框架。虽然现有工作侧重于选择显着帧的子集以降低计算成本,但本文将简单的采样策略与条件提前退出相结合,实现了高效的识别。本文的模型会自动学习更为简单的视频处理用更少的帧,为复杂的视频处理用更多的帧。为了实现这一点,本文采用了级联的门控模块来自动确定推理中足够可靠的最早点。并生成对门的即时监督信号,以在准确性和计算成本之间提供动态权衡。本文提出的模型在三个大规模视频基准测试中的表现优于竞争方法。特别是,在 ActivityNet1.3 和 mini-kinetics 上,我们分别以 1.3 倍和 2.1 倍的 GFLOP 减少了最先进的高效视频识别方法。此外,本文的方法为 HVU 基准上的高效视频理解设置了新的技术水平。

1 引言

  为了解决视频行为识别能够应用在资源有限的硬件平台上,现阶段研究者主要集中在三个思路:
  (1)设计高效和轻量级的模型架构,这些模型具有静态计算图。无论视频识别起来有多复杂或多容易,都一视同仁地对待所有视频,缺点:对于简单视频和复杂视频的行为识别所需要的计算量是不同的。
  (2)选择显着帧的子集来高效处理视频。 当前帧选择的方法依赖于学习一个策略函数,通过策略函数确定选择哪些帧去做哪些任务。
  缺点:使用策略梯度方法的情况下需要仔细选择奖励函数。 采样器网络可能会给模型带来额外的计算开销。
  (3)使用提前退出的条件计算,具体地讲,通过在整个网络中插入一连串中间分类器来探索图像分类任务的早期退出,模型根据输入的难度调整计算量,以显着降低计算要求。
  本文是第(3)种思路以实现高效视频行为检测。具体地, FrameExit是一个有条件的早期退出框架,具有学习的门控单元,当推理足够可靠时,它决定停止计算。FrameExit 有T个分类器以及T个关联的门,这些门在不同的时间步长连接以允许提前退出。 门以自我监督的方式学习,以控制模型精度和总计算成本之间的权衡。使用识别损失来生成动态伪标签来训练门。 此外,与简单、确定性的采样策略相结合,消除了对复杂采样策略函数的需求,同时实现了出色的识别性能。同时提出了一个累积特征池模块来生成视频表示,使模型能够进行更可靠的预测。

  贡献
   a. 提出了一种方法,该方法采用简单的、确定性的帧采样策略,并结合累积特征池模块来获得准确的动作识别结果。
   b. 提出了一个有条件的早期退出框架,用于有效的视频识别。 使用级联的门控模块来确定何时停止对视频的进一步处理。 门根据输入视频的难度调整计算量,从而显着降低计算成本。
   c. 在三个大型数据集上展示了最先进的性能。 在所有情况下,我们都以更好或相同的识别精度度大大提高了推理效率。 特别是,在 HVU 据集上,本文提出的方法使得计算成本降低了 5 倍,同时提高了最先进方法的识别精度。

2 相关工作

2.1 高效视频识别

  有两种方法用于高效视频识别,第一种方法是提出一种新的轻量化的视频架构,比如3D 卷积分解为单独的 2D 空间卷积和 1D 卷积。第二种方法是通过使用神经网络参数化的策略函数(CNN 或 RNN)选择显着帧/剪辑来节省计算。

2.2 通过提前退出进行条件计算

  神经网络中的条件计算旨在动态分配模型的组件,比如,每个输入的基础上。 BlockDrop利用残差网络 (ResNets) 的鲁棒性来分层丢弃并激活或停用以输入为条件的完整残差块,以节省计算。
  BlockDrop:更深的 CNN 效果更好,但参数量较大。BlockDrop 就是学习如何在不降低预测精度的基础下动态地选择减少 CNN 中的部分数量减少计算。基础是预训练的 ResNet-101,用强化学习方法在线决定去除剩余的块。


图2:FrameExit 概述。 给定一个视频,在每个时间步长 t,使用确定性策略函数 π 从视频中采样一帧。 每个帧都由特征提取网络 Φ 独立表示,并使用累积特征池模块(对于 t > 1)聚合先前时间步长的特征。 门控模块 (gt) 被训练以允许网络根据推断的输入视频的复杂性自动确定最早的退出点。 门控模块的架构如图右下角所示。 请注意,g1 仅接收 z1 作为输入。

3 FrameExit

  目的:给一段视频和其对应的标签 { v i , y i } i = 1 D \lbrace v_i,y_i \rbrace^D_{i=1} {vi​,yi​}i=1D​,使用最少的帧去对每个视频进行识别。
  组成
  如图2主要由四个部分组成
  ( i i i) 帧采样策略 π \pi π;
  ( i i ii ii) 一个特征提取网络 Φ \Phi Φ;
  ( i i i iii iii)一个累计特征池化模块;
  ( i v iv iv) T T T个分类器和相关联的门 g t g_{t} gt​, T T T是分类器的数量。
  从一段输入视频中采样 t t t时间的视频帧 x 1 : t x_{1:t} x1:t​,采样的策略为 π \pi π,其数学表达式为:

x 1 : t = [ x 1 : t − 1 ; x t ] , x t = v π ( t ) x_{1:t}=[x_{1:t-1};x_{t}],x_{t}=v_{\pi(t)} x1:t​=[x1:t−1​;xt​],xt​=vπ(t)​

   x 1 : t − 1 x_{1:t-1} x1:t−1​表示时间长度为 t − 1 t-1 t−1采样视频帧,使用特征提取网络 Φ \Phi Φ 为每个帧 x t x_{t} xt​生成独立的表示,然后使用累积特征池模块聚合这些表示。
  为什么门 g t g_{t} gt​将接收聚合 z t 和 z t − 1 z_{t}和z_{t-1} zt​和zt−1​作为输入
是因为这允许门通过考虑时间特征之间的一致性来做出更明智的决定。其中 g t g_{t} gt​的数学表达式为: g t : ( z t − 1 , z t ) ⟶ { 0 , 1 } g_{t}:(z_{t-1},z_{t})\longrightarrow\lbrace 0, 1 \rbrace gt​:(zt−1​,zt​)⟶{0,1},例如:当前帧的聚合特征表示 z t z_{t} zt​造成了一个不正确的退出预测,则使用聚合特征 z t − 1 z_{t-1} zt−1​可以减轻这个当前 z t z_{t} zt​的高置信退出预测。视频识别预测的数学表达式为:
y = f t ( x t ) , w h e r e t = a r g m i n { t ∣ g t = 1 } y=f_{t}(x_{t}),where \quad t=argmin\lbrace t|g_{t}=1 \rbrace y=ft​(xt​),wheret=argmin{t∣gt​=1}
  其中 t t t是满足门条件的最早帧。 如果没有门预测停止信号,则最后一个分类器将对示例进行分类。

3.1 Frame Sample Policy

  采样函数 π \pi π遵循从粗到细的时间维度采样原则。它从粗略的时间尺度开始采样,并逐渐采样更多帧以向时间结构添加更精细的细节。 具体来说,我们分别从视频的中间、开头和结尾采样第一帧,然后重复采样帧。
  优点:按时间顺序采样相比,这种策略允许模型在每个时间戳访问更广泛的时间范围,这个方法向前和向后跳跃以寻找未来的信息并重新检查过去的信息。图3为采样函数 Φ \Phi Φ的算法;

图3 采样函数的算法流程

3.2 特征提取网络

  特征提取网络 Φ ( x i ; θ Φ ) \Phi(x_{i};\theta_{\Phi}) Φ(xi​;θΦ​)提取输入帧 x i x_{i} xi​的特征,模型的参数为 θ Φ \theta_{\Phi} θΦ​,本文中使用了ResNet-50, EfficientNet-b3和X3D-S。

3.3 累计特征池化

  目的:创建视频帧 x 1 : t x_{1:t} x1:t​的特征表示;为了将计算成本限制在新采样的帧上,当前采样帧表示被增量更新。 其数学表达式为:
z t = Ψ ( z t − 1 , Φ ( x i ; θ ) ) z_{t}=\Psi(z_{t-1},\Phi(x_{i};\theta)) zt​=Ψ(zt−1​,Φ(xi​;θ))
   Ψ \Psi Ψ是一个时间聚合函数,可以通过统计池化方法实现,例如平均/最大池化、LSTM或自注意力。

3.3 提前退出

  有条件提前退出模型具有 T T T分类器以及它们相关的提前退出门,这些门在不同的时间步长连接以允许提前退出。每个分类器 f t f_{t} ft​接收剪辑表示 z t z_t zt​作为输入,并对视频的标签进行预测。在训练期间,使用以下损失函数优化特征提取器网络和分类器的参数。
L c l s = 1 T ∑ t = 0 t = T l c l s ( f t ( z t ; θ f ) , y ) L_{cls} = \frac{1}{T}\sum_{t=0}^{t=T}l_{cls}(f_{t}(z_{t};\theta_{f}),y) Lcls​=T1​t=0∑t=T​lcls​(ft​(zt​;θf​),y)
  在本文中,对单标签视频数据集使用标准交叉熵损失,对多标签视频数据集使用二进制交叉熵损失。
  退出门 g t g_{t} gt​参数化是一个多层感知器,预测部分观察到的视频帧 x 1 : t x_{1:t} x1:t​是否足以准确地对整个视频进行为识别。 每个门 g t g_{t} gt​ 接收聚合表示 z t z_{t} zt​ 和 z t − 1 z_{t-1} zt−1​作为输入(如图 2-右下角)。每一个输入首先独立地传递给具有 64 个神经元的两层 MLP(两个流之间共享权重)。 然后将生成的特征串联并线性投影并馈送到 sigmoid 函数。(MLP的连接方式是全连接,由输入层,隐藏层和输出层组成)

3.4 门的训练和损失函数

  由于在训练的时,为了保证最大的识别准确度,门会推迟启动,以便在最后一个分类器上进行分类。为了解决这个问题,最小化预测门控输出和伪标签之间的二元交叉熵,门控参数 θ g \theta_{g} θg​以一种自我监督的方式学习,其损失函数为:
L g a t e = 1 T ∑ t = 0 t = T B C E ( g t ( z t − 1 , z t ; θ g ) , y t g ) L_{gate}= \frac{1}{T}\sum_{t=0}^{t=T}BCE(g_{t}(z_{t-1},z_{t};\theta_{g}),y_{t}^g) Lgate​=T1​t=0∑t=T​BCE(gt​(zt−1​,zt​;θg​),ytg​)
y = { 1 l c l s ( f t ( z t ) , y ) ≤ ϵ 0 x ≥ 1 y = \begin{cases} 1 & l_{cls}(f_{t}(z_t),y)\leq \epsilon\\ 0 & x \geq 1 \\ \end{cases} y={10​lcls​(ft​(zt​),y)≤ϵx≥1​
   ϵ \epsilon ϵ代表满足 f t f_{t} ft​退出最小的损失。 ϵ \epsilon ϵ用来控制模型准确性和计算成本之间的权衡。 β \beta β为超参数,定义如下:
ϵ t = β e x p ( t 2 ) \epsilon_{t}=\beta exp(\frac{t}{2}) ϵt​=βexp(2t​)
  模型总体的损失函数如下,分类损失和门损失是共享权重的;
L = E v , y ∼ D t r a i n [ L c l s + L g a t e ] L=E_{v,y}\sim D_{train}[L_{cls}+L_{gate}] L=Ev,y​∼Dtrain​[Lcls​+Lgate​]

4 实验

  分析了 β \beta β的取值对与模型准确性和计算成本的影响,以及实验数据集,模型评估指标(mAP, GFLOPS),还有一些训练和测试的实施细节,以及在两个任务上的表现(行为识别和整体视频理解,Holistic understanding),并做了一些消融对比实验。

图6 准确性和效率的曲线(行为识别ActivityNet)   表2 整体的视频理解,FrameExit在节省计算量的同时,显著改进了HVU数据集上的mAP。*表示一个输入片段的GFLOPs。

5 结论

  本文提出了一种有效的视频识别的条件提前退出方法FrameExit。提出的方法使用门控模块,经过训练,允许网络根据输入视频的推断复杂性自动确定最早的退出点。为了使门做出可靠的决策,使用了一种有效的视频表示,通过累积特征池获得。证明了早期退出机制与一个简单的、确定性的抽样策略相结合,避免了对复杂抽样策略技术的需要。提出的方法与模型无关,可以用于各种网络架构。综合实验表明,本文的方法在平衡准确性和效率的基础上主要用于行动识别和整体视频理解任务。

FrameExit:Conditional Early Exiting for Efficient Video Recognition相关推荐

  1. 精读《X3D: Expanding Architectures for Efficient Video Recognition》论文

    文章目录 1 背景说明 2 之前方法存在的问题 3 文章要解决的核心问题 4 文章的贡献 5 结论 6 X3D Networks 6.1 Basis instantiation 6.2 Expansi ...

  2. 【X3D: Expanding Architectures for Efficient Video Recognition】

    X3D: Expanding Architectures for Efficient Video Recognition 一.综述 二.网络结构 三.结论 一.综述   Feichtenhofer受机 ...

  3. 12【mmaction2 行为识别商用级别】X3D复现 demo实现 检测自己的视频 Expanding Architecturesfor Efficient Video Recognition

    github(新版):https://github.com/Whiffe/mmaction2_YF 码云(新版):https://gitee.com/YFwinston/mmaction2_YF.gi ...

  4. 【论文翻译】X3D: Expanding Architectures for Efficient Video Recognition

    参考 X3D: Expanding Architectures for Efficient Video Recognition个人论文笔记 X3D: Expanding Architectures f ...

  5. 【视频理解论文】——TSM:Temporal Shift Module for Efficient Video Understanding

    TSM: Temporal Shift Module for Efficient Video Understanding(ICCV2019) 这是一篇关于视频理解的文章,主要介绍了一种可以达到3DCN ...

  6. 《X3D: Expanding Architectures for Efficient Video Recognition》论文详解

    论文地址:https://arxiv.org/abs/2004.04730 代码地址:https://github.com/facebookresearch/SlowFast 该篇文章也是Facebo ...

  7. 行为识别 - X3D: Expanding Architectures for Efficient Video Recognition

    文章目录 0. 前言 1. 要解决什么问题 2. 用了什么方法 3. 效果如何 4. 还存在什么问题 0. 前言 相关资料: arxiv github,mmaction2 中也放上了 论文解读 论文基 ...

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

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

  9. X3D: Expanding Architectures for Efficient Video Recognition个人论文笔记

    https://zhuanlan.zhihu.com/p/129279351 这篇X3D的解读写的比我早,写的挺好的,但有些细节没写上,所以由于强迫症写了这篇个人笔记 X3D为一系列的高效视频分类网络 ...

最新文章

  1. WMI Series :管理对象的信息查询和方法访问
  2. 一个三非渣本的Java校招秋招之路,搞懂这些直接来阿里入职
  3. Google搜索技巧-从入门到精通(从此学习进步、工作顺心)
  4. Android Stdio使用技巧
  5. 恶补各种知识(操作系统篇)
  6. 与众不同 windows phone (15) - Media(媒体)之后台播放音频
  7. 新闻发布项目——实体类(comment)
  8. c++服务器websocket支持
  9. POJ2750 Potted Flower (线段树+动态规划)
  10. html5 加上魔法,简单易懂的React魔法(28):是时候添加一些CSS样式了
  11. 《商务与经济统计》学习笔记(三)
  12. 基于MyScript的C#版本手写板 准确的识别中文
  13. Go语言圣经 - 前言
  14. Flash player 必要的系统组件未能正常运行,请修复Adobe Flash Player
  15. linux进程家族树,Linux内核 | 进程管理
  16. 批处理命令更改Windows鼠标滑轮滚动方向
  17. 小白学Python ——day7
  18. numpy.array和python列表的转换
  19. 第12章 Stata非线性回归分析
  20. 选择偏好(Selectional Preference)概念解释及其相关研究

热门文章

  1. 冰蝎Behinder_v4.0
  2. 如何让ffplay或者ffmpeg支持H265编码的rtmp/http-flv 实时直播流
  3. 用 Python 分析《长安十二时辰》
  4. c++实现maxpooling+利用OpenMP、SIMD优化代码
  5. Linux系统下强制关闭程序
  6. 关于主机连wife 虚拟机linux系统上网问题解决(基于centos7)
  7. WAIC直击:商汤科技展示AI应用落地最新成果
  8. 合肥家政市场推出佣高级保姆月薪达7000元-菲佣-家政-保姆
  9. 【Linux记录】Linux 可以telnet通localhost,不能telnet ip,telnet localhost正常,telnet ip失败。
  10. vue页面详情页返回列表页_vue列表页进入详情页,返回列表项不刷新