php网站开发推荐书籍,网上电子商城系统,微信网站开发教程视频,dede 招生网站源码文章目录 摘要IntroductionRevisiting Video Object Detection BaselinePractice for Mobiles Model Architecture for MobilesLight Flow 摘要
尽管在桌面GPU上取得了视频目标检测的最近成功#xff0c;但其架构对于移动设备来说仍然过于沉重。目前尚不清楚在非常有限的计算… 文章目录 摘要IntroductionRevisiting Video Object Detection BaselinePractice for Mobiles Model Architecture for MobilesLight Flow 摘要
尽管在桌面GPU上取得了视频目标检测的最近成功但其架构对于移动设备来说仍然过于沉重。目前尚不清楚在非常有限的计算资源下稀疏特征传播和多帧特征聚合的关键原则是否适用。在本文中我们提出了一种适用于移动设备的轻量级视频目标检测网络架构。我们在稀疏关键帧上应用了轻量级图像目标检测器。设计了一个非常小的网络名为Light Flow用于在帧之间建立对应关系。我们还设计了一个流引导的GRU模块以有效地聚合关键帧上的特征。
对于非关键帧进行了稀疏特征传播。整个网络可以端到端地进行训练。所提出的系统在移动设备上例如华为Mate 8以25.6 fps的速度在ImageNet VID验证集上实现了60.2的mAP分数。 Introduction
近年来利用深度神经网络进行目标检测取得了显著的进展[1]。一般趋势是构建更深、更复杂的目标检测网络[2,3,4,5,6,7,8,9,10,11]以达到更高的准确性。然而这些提高准确性的进展未必能使网络在尺寸和速度方面更加高效。在许多实际应用中如机器人、自动驾驶汽车、增强现实和移动手机等目标检测任务需要在计算资源有限的平台上实时执行。
最近越来越多的人开始关注构建非常小、低延迟的模型以便轻松适应移动和嵌入式视觉应用的设计要求例如SqueezeNet [12]、MobileNet [13] 和ShuffleNet [14]。这些结构是通用的但并非专门为目标检测任务设计。为此已经探索了一些适用于静态图像目标检测的小型深度神经网络架构如YOLO [15]、YOLOv2 [11]、Tiny YOLO [16] 和Tiny SSD [17]。然而直接将这些检测器应用于视频面临新的挑战。首先在所有视频帧上应用深度网络会带来无法承受的计算成本。其次识别准确度会受到视频中很少在静止图像中观察到的恶化外观的影响如运动模糊、视频散焦、罕见的姿势等。
为了解决这些问题当前的最佳实践[19,20,21]利用了时间信息来加速和提高视频的检测准确性。一方面在[19,21]中使用稀疏特征传播来节省大部分帧上昂贵的特征计算。在这些帧上的特征从稀疏的关键帧传播而来。另一方面在[20,21]中进行了多帧特征聚合以提高特征质量和检测准确性。
基于这两个原则最新的工作[21]在桌面GPU上实现了很好的速度-准确性权衡。然而该架构对于移动设备来说并不友好。例如作为特征传播和聚合的关键和共同组成部分流估计在移动设备上的实时计算需求仍然远远不够。具有长期依赖性的聚合也受到移动设备有限运行时内存的限制。
本文描述了一种适用于移动设备的轻量级视频目标检测网络架构。它主要基于两个原则——在大多数非关键帧上传播特征同时在稀疏的关键帧上计算和聚合特征。然而我们需要仔细重新设计这两个结构以考虑速度、尺寸和准确性。在所有帧上我们提出了Light Flow一个非常小的深度神经网络用于估计特征流可在移动设备上立即使用。在稀疏关键帧上我们提出了基于流引导的门控循环单元GRU特征聚合这是在内存有限的平台上的有效聚合。此外我们还利用了轻量级图像目标检测器来在关键帧上计算特征其中使用了先进而高效的技术如深度可分离卷积 [22] 和Light-Head R-CNN [23]。
所提出的技术统一为一个端到端的学习系统。全面的实验表明该模型稳步推进了性能速度-准确性权衡的界限朝着在移动设备上实现高性能的视频目标检测前进。例如我们在移动设备上例如华为Mate 8以25.6帧每秒的速度在ImageNet VID验证集上实现了60.2%的mAP分数。它比先前在快速目标检测方面的最佳努力速度快一个数量级并且准确性相当见图1。据我们所知我们首次在移动设备上实现了具有合理准确性的实时视频目标检测。
Revisiting Video Object Detection Baseline
在静态图像中的目标检测在近年来利用深度卷积神经网络CNN取得了显著的进展[1]。最先进的检测器共享相似的网络架构包括两个概念步骤。第一个步骤是特征网络它通过一个完全卷积的主干网络[24,25,26,27,28,29,30,13,14]从输入图像I中提取一组卷积特征图F表示为Nf eat(I) F。第二个步骤是检测网络它通过在特征图F上执行区域分类和边界框回归使用多分支子网络生成检测结果y可以是针对稀疏物体提案[2,3,4,5,6,7,8,9]或密集滑动窗口[10,15,11,31]即Ndet(F) y。
它是随机初始化并与Nf eat一起进行训练。
将这些检测器直接应用于视频目标检测面临两个方面的挑战。就速度而言将单一图像检测器应用于所有视频帧并不高效因为主干网络Nf eat通常较深且较慢。
就准确性而言检测准确性会受到视频中很少在静态图像中观察到的恶化外观的影响如运动模糊、视频散焦、罕见的姿势。
目前的最佳实践[19,20,21]通过稀疏特征传播和多帧特征聚合分别利用时间信息来解决速度和准确性问题。
稀疏特征传播 由于连续帧之间的内容之间存在很强的关联性不必在大多数帧上进行详尽的特征提取计算。深度特征流[19]提供了一种高效的方法它仅在稀疏的关键帧例如每10帧上计算昂贵的特征网络并将关键帧特征图传播到大多数非关键帧从而实现了5倍的速度提升但准确性略微降低。
在推断过程中任何非关键帧i上的特征图都是通过从其前面的关键帧k传播而来的即 多帧特征聚合 为了提高检测准确性流导引特征聚合FGFA[20]从附近的帧中聚合特征图这些特征图通过估计的光流进行了很好的对齐。
在帧i上的聚合特征图 ˆFi 是通过加权平均附近帧的特征图得到的其表达式为 为了避免在所有帧上进行密集的聚合[21] 提出了稀疏递归特征聚合仅在稀疏的关键帧上操作。这种方法保留了聚合的特征质量同时降低了计算成本。
具体而言在连续的两个关键帧 k 和 k0 上帧 k0 上的聚合特征被计算为 Practice for Mobiles
由于稀疏特征传播和多帧特征聚合这两个原则在桌面GPU上产生了最佳实践以实现高性能速度和准确性的权衡的视频目标检测[21]。然而在移动设备上的计算能力和运行时内存非常有限因此需要探索适用于移动设备的原则。
特征提取和聚合仅在稀疏的关键帧上操作而在大多数非关键帧上执行轻量级特征传播。流估计是特征传播和聚合的关键。然而在[19、20、21]中使用的流网络Nf low在移动实时处理方面仍然远远不够。具体而言FlowNet [32] 在相同的输入分辨率下是MobileNet [13] 的11.8倍FLOPs。即使在[19]中使用的最小的FlowNet Inception也多了1.6倍的FLOPs。因此需要更加轻量级的Nf low。特征聚合应该在根据光流对齐的特征图上进行操作。否则由于大目标运动引起的位移会导致聚合严重错误。聚合中的长期依赖也是受欢迎的因为可以融合更多的时间信息以获得更好的特征质量。单张图像检测器的主干网络应尽可能小因为我们需要它来计算稀疏关键帧上的特征。
Model Architecture for Mobiles
基于上述原则我们设计了一个更小的移动视频目标检测网络架构。推理管道如图2所示。 接下来我们将介绍两种专门为移动设备设计的新技术包括Light Flow一种更有效的移动设备流量网络以及一种基于流导向GRU的特征聚合用于更好地建模长期依赖关系从而获得更好的质量和准确性。
Light Flow
FlowNet [32]最初是为像素级光流估计而提出的。它设计为编码-解码模式后面是多分辨率光流预测器。两个输入的RGB帧被连接在一起形成一个6通道的输入。在编码器中通过一系列卷积层输入被转换成在空间维度上缩小到输入大小的1/64的特征图束。在解码器中特征图被馈送到多个反卷积层以实现高分辨率的光流预测。在每个反卷积层之后特征图与编码器中的最后特征图连接在一起它们具有相同的空间分辨率和上采样的粗糙光流预测。每个解码器中连接的特征图后面跟随多个光流预测器。对每个预测器应用损失函数但在推断过程中仅使用最精细的预测。
为了极大地加速流网络Nf low我们提出了Light Flow它是一个基于FlowNet [32]进行若干有意设计的轻量级流网络。它在准确性方面只会带来轻微的降低端点误差增加了15%但在理论上速度提高了近65倍见表2。 在编码器部分卷积始终是计算的瓶颈。受MobileNet [13]的启发我们将所有的卷积替换为3×3的深度可分离卷积[22]每个3×3的深度可分离卷积后面跟着一个1×1的点卷积。与标准的3×3卷积相比3×3深度可分离卷积的计算成本减少了89倍而准确性略有降低[13]。
在解码器部分每个反卷积操作都被最近邻上采样和随后的深度可分离卷积所取代。[33]用最近邻上采样代替了反卷积然后是标准卷积以解决反卷积引起的棋盘状伪影。相比之下我们借鉴了这个想法进一步将标准卷积替换为深度可分离卷积以减少计算成本。
最后我们采用了一种简单有效的方式来考虑多分辨率的预测。这受到了FCN [34]的启发FCN在明确的求和方式下融合了多分辨率的语义分割预测作为最终预测。
与[32]不同我们在推断过程中不仅使用最精细的光流预测作为最终预测。相反多分辨率的预测被上采样到与最精细预测相同的空间分辨率然后求平均作为最终预测。此外在训练期间仅对平均光流预测应用单个损失函数而不是在每个预测之后应用多个损失函数。这种方法可以将端点误差减少近10%。
Light Flow的网络架构和实现在表1中进行了说明。每个卷积操作之后都跟随批量归一化[35]和Leaky ReLU非线性变换[36]斜率固定为0.1。与[32,37]类似Light Flow在Flying Chairs数据集上进行了预训练。在训练Light Flow时使用Adam [38]作为优化方法权重衰减为0.00004。在4个GPU上进行了70k次迭代每个GPU持有64个图像对。
采用了热身学习率策略首先训练学习率为0.001的模型进行10k次迭代。然后使用学习率为0.01进行20k次迭代并在每10k次迭代后将学习率除以2。
在将Light Flow应用于我们的方法时为了进一步提速进行了两个修改。首先与[19,20,21]一样Light Flow应用于输入分辨率为特征网络的一半并且输出步幅为4的图像。由于特征网络的输出步幅为16流场被下采样以匹配特征图的分辨率。其次由于Light Flow非常小计算量与检测网络Ndet相当因此在检测网络的中间特征图上应用稀疏特征传播参见第3.3节RPN [5]中的256维特征图和Light-Head R-CNN [23]中的490维特征图以进一步减少非关键帧的计算量。
后面略