Looking Fast and Slow: Memory-Guided Mobile Video Object Detection||论文阅读

 

元学习论文总结||小样本学习论文总结

2017-2019年计算机视觉顶会文章收录 AAAI2017-2019 CVPR2017-2019 ECCV2018 ICCV2017-2019 ICLR2017-2019 NIPS2017-2019

 


 

摘要

添加记忆单元,能提升视频目标检测准确率以及时效性。

介绍

根据人识别场景的特点,能更具记忆先验,快速识别当前环境并提取少量特征。作者提出:一个系统需要多个特征提取器——一个精确的提取器初始化和维护内存,而另一个快速提取代表新图像要点的特征。

作者介绍了一个新的交叉框架,其中两个具有截然不同的速度和识别能力的特征提取器运行在不同的帧上。如下图

这些提取器用ConvLSTM提取特征并维持视觉记忆,并通过融合前一帧的上下文和当前帧的gist生成检测。作者还证明了内存和gist的组合包含了决定何时必须更新内存所需的信息(时序组合对遗忘门有影响?)通过将任务描述为一个增强学习问题,我们学习了何时运行每个特征提取器的交错策略。


综上所述,本文的贡献如下:
•我们提出了一个内存引导的交叉框架,其中多个特征提取器运行在不同的帧上,以减少冗余计算,它们的输出使用一个公共内存模块进行融合。(LSTM元状态?)
•我们引入了一种自适应交叉策略,使用Q-learning策略可以学习执行特征提取器的顺序
,这导致了速度/精度的优越权衡。
•我们在设备上演示了迄今为止已知的最快的高精度移动视频检测模型。

相关工作

我们的工作也适用于移动装置,但是通过交叉使用专门的特征提取器而不是使用流来传播特征,我们消除了对光流的依赖,因此需要光流训练数据和额外的光流训练前阶段。

我们的方法还从每个帧提取特性,而不是完全从关键帧传播结果,这允许访问更多的信息。

在视频目标检测中,自适应关键帧选择的研究较少。我们提出了一个不同的公式来构建一个学习自适应策略,利用我们的内存模块中包含的信息,创建一个完整的和有原则的检测管道。

研究方法

3.1、交叉模型

本文研究了视频目标检测问题。对于这个任务,我们必须生成帧级别的边界框,并对视频的每个帧进行类预测。在检测第k帧时希望之前的所有帧都可用。

本文的主要贡献是一个交错的模型框架,其中多个特征提取器按顺序或同时运行。然后使用内存机制聚合和细化这些框架级特性。最后,我们将ssd风格的[24]检测应用到细化的特征上,生成边界框结果。

SSD探测器将细化的特征映射到最终的检测锚点预测。

使用多个特征提取器有几个优点。不同的特征提取器可以专门针对不同的图像特征,创建一个时间的整体效果。由于我们关注的是移动装置,所以我们研究的情况是,特征提取器具有截然不同的计算成本,这极大地降低了模型的运行时间。

定义了一个快慢特征提取器数量的比例超参数T。

第0个特征提取器f0是MobileNetV2,深度乘法器为1.4,输入分辨率为320×320。f1深度乘法器为0.35,输入分辨率降低为160×160

上图τ= 2

3.2、记忆模块

我们的方法需要一个内存模块来跨时间步聚合来自两个提取器的特性,特别是使用以前的时间上下文来增强来自小网络的特性。我们的内存模块还可以用于融合来自不同特征提取器和特征空间的特征我们要求这个机制非常快,因为它必须在所有帧上执行。为此,我们修改了LSTM单元可以更快更好地保存长期依赖关系。

为了提高标准LSTM的速度,我们做了三个修改。我们采用了[22]中提出的bottlenecking【防止特征被破坏】,在bottleneck和输出之间增加了一个跳跃连接,使bottleneck成为输出的一部分。

我们还将LSTM状态分成组,并使用分组卷积分别处理每个状态。给定上一时刻状态h_t-1以及当前输入x_t,将h_t-1分成G等分。每一等分都与x_t连接,分别计算bt, ft, it, ot。更新后的LSTM状态g ct和g ht也是用同样的方法计算的,但现在只是最终更新状态的切片。最后,将切片按通道连接起来,得到ct、ht和Mt。如上图所示。分组卷积通过稀疏化层连接提供了加速功能,而跳过连接允许在不存储在内存中的情况下在输出中包含较少的与时间相关的特性。这减少了内存的负担,并允许我们缩小状态维度,而如果状态太小,其他LSTM变体的精度会显著下降[22]。在我们的模型中,我们选择G = 4并使用320通道状态。表1详细说明了我们修改后的LSTM的速度优势。

我们还注意到,LSTM的一个固有弱点是它无法在实际更新期间完全保持其状态。输入和遗忘门的sigmoid激活很少完全饱和,导致长期依赖项逐渐丢失的缓慢状态衰减。如果不重新运行f0,那么使用f1的预测将会降低。我们提出了一个简单的解决方案,即在运行f1时跳过状态更新,即总是重用上一次运行f0时的输出状态。这极大地提高了LSTM跨长序列传播时间信息的能力,即使只运行f1几十步,也不会造成很大的精度损失。

3.3、模型训练

我们的培训程序包括两个阶段。首先,我们在不启用检测层的情况下对交叉模型进行预训练.为了适应网络的分类,我们删除了检测层d,并在LSTM之后立即添加一个平均池和全连接层,后面跟着一个softmax分类器。在训练过程中,我们将每帧复制三次,并将LSTM展开为三个步骤。在每个步骤中,我们一致地选择一个随机的特征提取器来运行。

接下来,我们进行SSD检测训练。同样,我们将LSTM展开到六个步骤,并在每个步骤中均匀地选择一个随机的特征提取器。我们训练混合的视频和图像数据。对于图像数据,我们通过在每一步裁剪一个特定的区域,并在每一步之间移动裁剪来模拟平移和缩放,以帮助模型学习运动和盒子位移之间的关系。否则,培训过程类似于标准SSD[24]。我们使用的批大小为12。学习速率为0.002,使用余弦衰减。

3.4、自适应交叉政策(训练比例T)

虽然我们证明了一个简单的交织策略已经取得了竞争的结果,但一个自然的问题是,是否有可能优化交织策略来进一步提高结果。提出了一种利用强化学习学习自适应交叉策略的新方法。关键的观察是,为了有效地辅助较小的网络,内存模块必须包含一些检测置信度度量,我们可以将其作为交错策略的一部分加以利用。因此,我们构建一个政策网络π检查LSTM器运行状态和输出下一功能,如图4所示。然后,利用Double-Q-learning (DDQN)对策略网络进行训练。

我们的奖励功能必须反映出我们的目标,即在尽可能频繁地跑f1的同时保持准确性。因此,我们将奖励定义为速度奖励和准确度奖励的总和。对于速度奖励,我们简单地定义一个正的常数
γ和γ奖励当f1运行。为了获得精度奖励,我们计算了运行每个特征提取器后的检测损失,并取最小损失特征提取器与所选特征提取器之间的损失差。最终的奖励可以表示为:公式(2).

我们的策略网络是一个轻量级的卷积神经网络,它预测每个状态动作的q值。我们首先使用S中的四个特征图中的每一个作为单独的组来执行分组卷积。然后,我们执行一个深度可分离卷积和使用最大池删除空间维度。最后,我们将动作特征向量连接起来,并应用一个完全连接的层来获得m个输出,即每个状态动作对的q值。体系结构如图4所示。

为了训练策略网络,我们生成了批量(St, a, St+1, Rt)例子,在推理模式下运行交错网络。虽然整个系统可能是端到端训练的,但是我们通过对基本交织模型使用预训练的权重,并冻结策略网络之外的所有权重,简化了训练过程。在获得批量实例后,我们使用标准方法DDQN与经验重播中描述的[34]。训练过程详见算法1。

3.5模型推理预测

我们探索了两个针对实际应用的额外优化,这两个优化使我们的方法的帧率提高了三倍,同时保持了准确性和易于部署。

异步推理

基于关键帧的检测方法的一个问题是,它们只考虑平摊运行时。然而,由于这些方法在关键帧上执行大部分计算,因此帧之间的延迟非常不一致。在考虑单帧时,这些方法并不比单帧方法快,限制了它们在实际设置中的适用性。

交错框架自然地提出了异步推理方法,消除了平摊运行时和最坏情况运行时之间的差距,允许我们的方法在移动设备上实时平稳地运行。

当同步运行交错模型时,每个时间步运行一个特征提取器,因此最大潜在延迟取决于f0。然而,通过在单独的线程中运行特性提取器(我们称之为异步模式),这个过程很容易并行化。在异步模式下,f1在每个步骤上运行,并且只用于生成检测,而f0则继续在每个步骤上运行。当它完成时τ帧并更新记忆。轻量级特性提取器在每一步都使用最新可用内存,不再需要等待较大的特性提取器运行。如图5所示。

量化算法

依赖多个特征提取器而不是光流的另一个好处是,标准的推理优化方法可以在最小的变化下应用。特别地,我们证明了我们的交叉框架可以使用[13]中的模拟量化训练过程来量化。的Tensorflow[1]量化库用于MobileNet和SSDLite层的开箱即用。

对于LSTM,在所有数学运算之后插入伪量化运算(加法、乘法、乙级和ReLU6算法1在[13]中。激活后的范围对于sigmoid固定为[0,1],对于ReLU6固定为[0,6],以确保0是完全可表示的。我们还确保连接操作的所有输入的范围是相同的,以消除重新排序的需要(如A.3所述)。[13])。我们最后的量化异步模型在a上以72.3 FPS的速度运行Pixel 3手机,超过三倍的帧率,我们的模型。

 

论文:https://arxiv.org/pdf/1903.10172.pdf

convLSTM的原理与实现:https://blog.csdn.net/sinat_26917383/article/details/71817742

文章介绍:https://mp.weixin.qq.com/s/pKSrokV_j8Repa-JMloUHg

相关github项目:

https://github.com/viorik/ConvLSTM 
https://github.com/carlthome/tensorflow-convlstm-cell

 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值