madobet / webooru

Web Danbooru
32 stars 6 forks source link

Fast YOLO: A Fast You Only Look Once System for Real-time Embedded Object Detection in Video 学习笔记 - Rainbow2015 - 博客园 #230

Open madobet opened 4 years ago

madobet commented 4 years ago

  为了应对这一挑战,我们提出了一个名为 Fast YOLO 的新框架,该框架通过两个关键策略加速 YOLOv2 在嵌入式设备视频中的实时目标检测。首先,由 ShafiEe 等证明的结果,我们利用进化深度智能框架的方法来进化 YOLOv2 网络架构,并产生一个优化的架构(在这里称为 O-YOLOv2),它具有明显更少的参数,同时保持强大的检测性能。其次,在所提出的 Fast YOLO 框架中引入了运动自适应推理方法,以减少基于时间运动特征的 O-YOLOv2 深度推理的频率。这两种策略的结合产生了一种对象检测框架,不仅提高了视频的实时嵌入式目标检测的速度,使其在有限的计算能力,内存和功耗的嵌入式设备上能够运行。本文的结构如下。在第 2 节中,详细介绍了 Fast YOLO 背后的方法。展示快速 YOLO 效率的实验结果在第 3 节中给出,并在第 4 节中得出结论。

  所提出的 Fast YOLO 框架分为两个主要组件:i)优化的 YOLOv2 架构,以及 ii)运动自适应推理(见 Figure 1)。 对于视频每一帧,由视频帧与参考帧组成的图像栈被传递到 1×1 卷积层。 卷积层的结果是运动概率映射,然后将其馈送到运动自适应推断模块以确定是否需要深度推断来计算更新的类别概率映射。 正如 Introduction 中提到的,主要目标是引入视频中的对象检测框架,可以在嵌入式设备上更快地执行操作,同时减少资源使用,进而显着降低功耗。 通过利用这种运动自适应推理方法,深度推断的频率大大降低,并且仅在必要时才执行。

  

2.1 Optimized Network Architecture

  深度神经网络的主要挑战之一,尤其是在将它们用于嵌入式场景时,主要体现在网络架构设计中。设计过程通常由人类专家来完成,他探索大量的网络配置,从而在建模精度和参数数量方面为特定任务寻找最佳架构。目前通常将寻找优化网络架构作为超参数优化问题来解决,但这种解决该问题的方法非常耗时且大多数方法对于大型网络架构而言在计算上难以处理,或者导致次优解决方案不足以应用到嵌入式系统中。例如,超参数优化的常用方法是网格搜索,其中检查大范围的不同网络配置,然后选择最佳配置作为最终网络架构。然而,为了视频中的对象检测而设计的深度神经网络(例如 YOLOv2)具有大量的参数,因此在计算上不易搜索整个参数空间以找到最优解。因此,我们不是利用超参数优化方法来获得基于 YOLOv2 的最佳网络架构,而是利用专门设计的用于提高网络效率的网络优化策略。特别是,我们利用进化深度智能框架来优化网络架构,以合成一个满足嵌入式设备内存和计算能力限制的深度神经网络。

  在进化深度智能框架中,深层神经网络的建筑特征通过概率遗传编码建模策略建模。具体而言,以这种方式产生的概率 “DNA” 编码在网络架构内存在所有可能的突触的概率。然后利用祖先网络(模仿遗传)的概率 “DNA” 以及环境因素以随机方式(模仿自然选择和随机突变)合成新的后代深度神经网络。这种编码和合成过程是一代一代重复的,随着时间的推移会产生越来越有效的深度神经网络。这种方法的一个关键优势是,与超参数优化方法不同,需要评估大量可能的解决方案,这是显着减少的,因此显着降低了寻找最佳网络架构的计算复杂性。

  为了利用演化深度智能框架获得基于 YOLOv2 的优化网络体系结构,以实现视频嵌入式对象检测,我们考虑到计算能力和可用内存在嵌入式设备上受到很大限制的事实。 因此,我们配置网络合成过程中使用的环境因素,使得网络结构中的参数数量在每一代都大大减少,因为参数的数量是深度神经网络计算和存储要求的主要因素。

  使用这种方法,我们可以自动找到基于 YOLOv2(我们将称之为 O-YOLOv2)的优化网络体系结构,该体系结构与原始 YOLOv2 网络体系结构相比,包含的参数少了约 2.8 倍。 运行这种优化的深度神经网络不仅大大降低了计算和内存的需求,而且还降低了处理器单元的功耗,这对于嵌入式设备非常重要。

2.2 Motion-adaptive Inference

  为了进一步降低视频中嵌入对象检测的处理器单元的功耗,我们利用并非所有捕获的视频帧都包含唯一信息这一事实,因此不需要在所有帧上执行深入推理。 因此,我们引入运动自适应推理方法来确定特定视频帧是否需要深度推断。 通过在必要时使用前面章节中介绍的 O-YOLOv2 网络进行深入推理,该运动自适应推理技术可以帮助框架减少对计算资源的需求,从而显着降低系统的功耗以及 处理速度的提高。

运动自适应推理过程可以在 Figure 1 中看到。每个帧与参考帧 Iref 堆叠在一起形成一个图像堆栈。 然后在图像堆栈上执行 1×1 卷积层以产生运动概率图。 运动概率映射连同框架 It 一起被传递到运动自适应推理模块,该模块确定框架与参考框架相比是否足够独特,以确保深度推理计算新的类别概率图。 如果模块确定需要进行深度推理,则使用 O-YOLOv2 网络来计算更新的类别概率图,然后将它和更新的图分别存储为 Iref 和参考概率图。 在运动自适应推理模块确定帧 It 不需要深度推断的情况下,所存储的参考类概率图被直接使用而不在帧 It 上执行 O-YOLOv2。

  通过利用这个简单而有效的过程,只有需要深度推理的帧才能被处理,这不仅降低了功耗,而且还减少了每帧的平均运行时间,并且可以为静止的或频繁发生微小变化的环境提供更快的框架。

  对提出的 Fast-YOLO 框架使用两种不同的策略进行评估。 首先,我们评估优化的 YOLOv2(即 O-YOLOv2)网络架构在 Pascal VOC 2007 数据集上的原始 YOLOv2 网络架构的建模精度和性能,以演示网络架构优化过程的有效性。 Table 1 显示了 O-YOLOv2 与 Pascal VOC 数据集上原始 YOLOv2 之间的架构和性能比较。 可以观察到,与原始 YOLOv2 相比,O-YOLO 网络架构小 2.8 倍,IOU 仅下降 2%,这对真实世界的基于视频的对象检测应用几乎没有影响。

  

  其次,提出的 Fast YOLO 框架,O-YOLOv2 和原始 YOLOv2 是根据的视频在 Nvidia Jetson TX1 嵌入式系统上的平均运行时间来评估的。 从 Table 2 可以看出,所提出的快速 YOLO 框架可以将深度推断的数量平均减少 68.5%,从而导致平均运行时间为 56ms,而原始 YOLOv2 实现的运行时间为 184ms(速度约 3.3x 以上)。

  

  在本文中,我们介绍了 Fast YOLO,这是一个用于视频中实时嵌入对象检测的新框架。 虽然 YOLOv2 被认为是在强大的 GPU 上实时推断的最先进的框架,但它不可能在嵌入式设备上实时使用它。 在这里,我们利用进化深度智能框架,基于 YOLOv2 生成优化的网络架构。 优化的网络架构被用于运动自适应推理框架内,以加速检测过程并降低嵌入式设备的能耗。 实验结果表明,所提出的 Fast YOLO 框架的平均运行时间比原来的 YOLOv2 快 3.3 倍,平均可以减少 38.13%的深层推理,并且具有约小 2.8x 的网络结构。

https://www.cnblogs.com/Rainbow2015/p/8734016.html