目标检测二十年间那些事儿:加速与优化

深兰科技

    
    在上一章中我们简短回顾了目标检测在过去的二十年中如何从传统滑窗算法到基于深度神经网络的全新领域,点击回顾。这次,我们来分享一些近年涌现的各类优化技术,正是这些技术让目标检测一再提速,从而能在工程上应用到各类设备中。
    
    好快!比高铁加速还快!
    目标检测的加速技术
    目标检测速度的提升一直是一个重要而又具有挑战性的问题。在过去的20年里,目标检测领域已经发展了许多复杂的加速技术。接下来我们简要介绍“轻量化网络设计”、“数值加速”、“特征检测优化”、“语义分割”等重要优化方法。
    轻量网络设计
    基于 CNN 检测器的轻量化方法是直接设计一个轻量级的网络,而不是使用现成的检测引擎。研究人员长期以来一直在探索网络的正确配置,以便在有限的时间成本下获得准确性。一个通用的设计原则是“更少的通道,更多的层(fewer channels and more layers)”[1]。
    此外,近年来也有一些新的技术,见下图:
    分解卷积
    群卷积
    深度可分离卷积
    瓶颈设计
    神经结构搜索
    
    分解卷积
    分解卷积是构建轻量级CNN模型最简单、最直接的方法,有两类分解方法。
    第一类方法是将一个大的卷积滤波器分解成一组空间维数较小的卷积滤波器[2],如上图(b)所示。例如,可以将一个7x7过滤器分解为三个3x3过滤器,它们共享相同的接收域,但是后者效率更高。另一个例子是将 k×k 滤波器分解为k×1滤波器和1×k滤波器,这对于非常大的滤波器来说可能更有效,比如15x15。该思想最近被用于目标检测。
    第二类方法是将一大组卷积分解为信道维数较小的两组[3],如上图(c)所示。例如,可以用 d个滤波器近似卷积层,用d'个滤波器 + 一个非线性激活 + 另外d个滤波器 (d'<d)近似有c个通道的特征图。在这种情况下,原始层的复杂度
    
    可以降低到
    
    。
    
    
    1  2  3  下一页>