【读点论文】FemtoDet: An Object Detection Baseline for Energy Versus Performance Tradeoffs

FemtoDet: An Object Detection Baseline for Energy Versus Performance Tradeoffs

Abstract

  • 边缘设备的高效检测器通常针对参数或速度指标进行优化,这些参数或速度计数指标与检测器的能量保持弱相关。然而,卷积神经网络的一些视觉应用,如始终在线的监控摄像头,对能量限制至关重要。

  • 本文旨在通过设计检测器作为基线,从两个角度实现能量和性能之间的权衡:

    • 1)广泛分析各种cnn以识别低能量架构,包括选择激活函数,卷积算子和颈部特征融合结构。这些过去工作中未被重视的细节严重影响了探测器的能量消耗;

    • 2)为了突破能量性能两难问题,我们利用已发现的 low-energy 元件,提出了一种能量驱动的平衡探测器,命名为FemtoDet。除了新的结构外,我们还通过考虑卷积和训练策略优化来改进FemtoDet。

  • 具体而言,开发了一种新的实例边界增强(IBE)模块用于卷积优化,以克服cnn有限容量与不同空间表示下检测任务之间的矛盾,并提出了一种递归热重新启动(RecWR)算法用于优化训练策略,以避免轻量级检测器的子优化,考虑到流行增强中产生的数据移位。因此,只有68.77k个参数的FemtoDet在PASCAL VOC上获得了46.3 AP50的竞争分数,在高通骁龙865 CPU平台上获得了1.11 W和64.47 FPS的竞争分数。在COCO和TJUDHD数据集上进行的大量实验表明,该方法在不同场景下都取得了较好的效果。

  • 文章首先分析了各种卷积神经网络,以找出低能耗的架构。这包括选择激活函数卷积运算符特征融合结构。作者认为这些在过去的工作中被忽视的细节严重影响了检测器的能耗。

  • FemtoDet 特别适用于层次化的智能芯片,可以实现快速的响应和警报。例如,它在 TJU-DHD 数据集的行人检测中表现出 85.8 的 AR20 和 76.3 的 AP20,同时在中大型物体检测上表现出色。同时,FemtoDet 在 AP50或AP20 和中等难度的数据场景(例如VOC)上表现良好,均能在一定成都反映其应用能力。

  • 论文地址:[2301.06719] FemtoDet: An Object Detection Baseline for Energy Versus Performance Tradeoffs (arxiv.org)

  • 作者主页:Peng Tu (yh-pengtu.github.io)

Introduction

  • 高效卷积神经网络(cnn)的部署使边缘设备的视觉检测器取得了巨大的进步[Ssd,YOLOV1234X,PP-YOLOE],其中它们不断减少参数和速度计数以提高准确性。然而,就能源而言,这些指标与模型的效率并没有很好地相关。评估指标(如参数)没有考虑模型的能量成本,从而对检测器的能量成本产生重大影响。

  • 与相同架构相比,模型的参数与其能量成本呈正相关关系(如下表所示),

    • 在这里插入图片描述

    • MobileNetV2 0.75和ResNet18中能量相关指标的比较。这两个cnn可以表示两种典型的卷积算子:香草卷积和深度可分离卷积。在相同的卷积算子上比较不同核大小的卷积算子。在这里,♣,和 ♦表示3×3和5×5两个内核大小。在这个实验中,我们还通过在ImageNet上训练模型来评估模型。

  • 而在模型参数相等的情况下,其能量消耗可能与模型参数呈负相关甚至不相关关系(如下表所示)。考虑到各种激活函数、卷积算子和特征融合结构可能不会增加模型参数,反而会产生更多的能量成本

    • 在这里插入图片描述

    • MobileNetV2 0.25 (MBV2)中能量相关指标的比较使用不同的激活函数。我们在ImageNet上训练了一个分类器来评估相关指标。

  • 同样,速度计数也不能很好地与能量相关,因为它可以通过并行度来优化。当定制的高效探测器被部署在像永远在线的监控摄像头这样的严重能源限制下时,这种断开将使它们无法使用。

  • 本文旨在降低高效目标检测器的能量成本,同时通过实现能量与性能的权衡来提高其性能。具体来说,这些瓶颈分为以下几类:

    • 1)未知能量的探测器组件。目前大多数目标检测方法要么集中在面向延迟的,要么集中在面向精度的上。对探测器组件能量成本的研究非常有限,这是设计能量性能平衡探测器的第一个障碍。为了确定探测器的节能组件,遵循[Ecc: Platformindependent energy-constrained deep neural network compression via a bilinear regression model]从三种类型的结构(即激活函数、卷积算子和探测器颈部)对其能量指标进行基准测试。得到以下发现:首先,一些激活函数得到了广泛的应用,因为它们能够在不增加更多参数的情况下改进模型。它们增加了成本,但得到的关注却非常有限。如上表所示,我们将基于ReLU的模型设置为基线。当用GELU取代ReLU时,性能提高了4.40%,但能量成本增加了12.50%,平均能量与性能权衡(Eq. 1)的对应系数下降了7.16%

    • m E P T = ( 1 N ∑ i N P ) / ( P o w e r ) , ( 1 ) s . t .   P o w e r = 1 T t i m e ∑ i N ( η ( W , x i ) − η ( W ^ , x i ) ) , ( 2 ) mEPT=(\frac{1}{N}\sum_i^NP)/(Power),(1)\\ s.t. ~Power=\frac1{T_{time}}\sum^N_i(\eta(W,x_i)-\eta(\hat W,x_i)),(2) mEPT=(N1iNP)/(Power),(1)s.t. Power=Ttime1iN(η(W,xi)η(W^,xi)),(2)

    • 此外,虽然大的核卷积可以改进模型(上表),但增加的能量成本是不可接受的。配备大的内核卷积可以使模型的性能提高约1.87%,但与较小的内核卷积相比,其能量成本(16.20%)更高(如上表第二行所示)。最后,探测器中的标准FPN也会导致显著的能源成本。这种情况的发生是由于多特征融合路径遵循自底向上或自顶向下的方式,导致频繁读取内存中的数据以覆盖数据。然而,研究表明,多特征之间的上下融合可能是不必要的。如下表所示,我们提出了一个简单的SharedNeck来取代FPN,以降低约5.77%的能源成本,同时获得6.25%的性能提升。SharedNeck通过学习卷积在多个特征之间进行自适应融合,而不是像FPN那样使用从下到上或从上到下的特征融合。

      • 在这里插入图片描述

      • FemtoDet中不同颈部的能源相关指标的比较:FPN、PAN和我们提出的SharedNeck。检测器是用PASCAL VOC数据集训练的。

    • 基于这些分析,我们进一步构建了一个名为FemtoDet的低能探测器。令人惊讶的是,FemtoDet在平台上只有68.77k个参数和1.1W的功率。

    • 2)CNN的优化是另一个瓶颈,因为获得一个有利的检测器是非常具有挑战性的,特别是对于少量的参数。轻量级检测器受限于其有限的容量,这将导致感兴趣对象实例边界的特征映射出现混淆,如下图 (b)所示。

      • 在这里插入图片描述

      • 训练后的轻型检测器的特征可视化。(a)输入:来自PASCAL VOC的RGB图像;(b) FemtoDet *:经过训练的由纯深度可分离卷积组成的FemtoDet检测器;© FemtoDet:经过训练的FemtoDet探测器,使用IBE模块进行训练。

    • 特征上模糊的实例边界可能会增加模型中错误检测的风险。针对这一问题,我们提出了一种新的实例边界增强模块(IBE),该模块强调了对象边界信息的潜力:首先应用参数重用机制将局部描述符与卷积运算相结合,以实现鲁棒性和多样性的实例边界特征表示。但该操作会导致正常特征与集成特征之间的特征不对齐。然后,为了充分利用这两种类型的特征,我们在IBE中设计了双归一化,以重新排列特征。IBE采用共享卷积,但也采用独立的批归一化层进行单独的归一化。最后,我们在双归一化层后面添加了普通特征和集成特征。IBE提供了一种新的参数重用形式,从共享卷积算子生成新的局部描述符。该方法通过对学习到的卷积周围的梯度线索进行积分来获取目标边界信息。经过训练后,IBE模块可以折叠成简单的卷积算子,不再需要额外的计算;此外,数据增强是有效训练检测器的常用方法。使用设计良好的强增广有助于提高模型的泛化能力。

    • 然而,如何防止训练图像和验证图像之间的数据转移尚未探讨,而训练数据受到强烈的增强。研究发现,强增强所产生的数据偏移会阻碍轻量级检测器向全局最优方向移动。一种常见的观点是,强图像增强可以有效地鼓励网络学习不同的特征。但是对于轻量级检测器,这些不同的特征不能帮助模型在验证集中做出更好的概括。换句话说,由于容量有限,轻量级检测器更容易受到这些被忽略的数据移位的影响。此外,我们提出了一种有效的训练策略,即递归重新启动(RecWR),以适应这些不同的特征,以提高模型的泛化能力。RecWR基于多阶段训练,逐步削弱数据增强强度。该方法可以帮助有限容量检测器在高维多元特征的帮助下跳出局部最优。在PASCAL VOC数据集上对IBE和RecWR的有效性进行了评价。

    • 实验结果表明,与原始架构相比,IBE在不增加额外参数负担的情况下,可将FemtoDet性能提高7.72%;RecWR通过逐步削弱多阶段学习中的数据增强强度,使FemtoDet性能提高6.19%。通过与IBE和RecWR联合训练FemtoDet,本文提出的方法在使用相同水平参数的情况下,性能优于YOLOX 51.34%

  • 值得一提的是,FemtoDet是专门为分层智能芯片设计的,可实现始终在线的警报:始终在线的低功耗、高召回率和良好的准确性——在TJU-DHD上执行行人检测时,它达到了85.8 AR20和76.3 AP20。此外,FemtoDet对小物体的检测能力较差,但对他们更感兴趣的大中型物体的检测能力很好,在TJUDHD上的AR20-m为88.8,AP20-m为94.1,AR20-l为95.3,AP20-l为98.6。识别出可能感兴趣的对象后,可以将信息传递给其他模型,然后启动高精度鲁棒模型进行准确识别。永远在线的智能产品有广泛的应用,例如家庭监控或机器人。因此,宽松的指标(如AP50或AP20)和中等难度的数据场景(如VOC)可以很好地反映FemtoDet的应用能力。此外,在COCO数据集上的实验验证了该方法适用于多种场景,结果具有竞争性。

  • 这里还提出了一种名为实例边界增强Instance Boundary Enhancement,IBE)的模块,以优化卷积并解决 CNN 有限容量与检测任务在多样空间表示中的矛盾。此外,为了解决轻量级检测器由于数据增强产生的数据偏移问题,作者提出了一种递归启动Recursive Warm-restart,RecWR)的训练策略。这两种方法都在 PASCAL VOC 数据集上进行了评估,结果表明 IBE 可以在不增加额外参数的情况下提高 FemtoDet 约 7.72% 的性能,RecWR 则通过逐步减弱数据增强强度,在多阶段学习中可以提高 FemtoDet 约 6.19% 的性能。

Related Works

Object Detection

  • 物体检测是一项经典的计算机视觉任务,用于识别图像或视频中物体的类别和位置。现有的目标检测器可分为两类:两级检测器和一级检测器。两级检测器是基于锚定的设备,它从图像中生成区域建议,然后从这些建议中生成最终的预测框。此外,FPN通过融合多层次特征来改进两级检测器。尽管与一级检测器相比具有更高的准确性,但在部署在边缘设备上时,两级检测器仍然难以实现低延迟

  • 具体来说,有两种类型的单阶段检测器:基于锚点和无锚点,这取决于锚点先验注入到整个图像中,以实现盒回归。SSD是一种经典的基于锚点的一级检测器,它将边界框的输出空间离散为一组默认锚点,每个特征图位置具有不同的纵横比和尺度。这一操作有助于探测微小物体。另一种典型的基于锚点的探测器是YOLO系列。YOLOv2探索袋的免费赠品,以提高一级探测器的性能。YOLOv3提出了跨尺度特征和新颖的nms (Non-Maximum Suppression)来获得更有信心的预测。YOLOv4发现网络优化的重复梯度加重了检测器的延迟,因此设计了Cross-Stage-Partial-connection模块,在保持检测性能的同时降低检测器的延迟。无锚探测器旨在消除预定义的锚盒集。YOLO作为一种无锚的一级检测器,将图像划分为多个网格,并在靠近目标中心的网格上预测框。CornerNet将对象检测为一对关键点(通过边界框的左上角和右下角)。在CornerNet中利用单个卷积网络来预测同一对象类别实例的所有左上角的热图,所有右下角的热图,以及每个检测到的角的嵌入向量。的确,CornerNet是一个新的对象检测管道。FCOS通过提出一种全卷积的单级目标检测器来消除锚点设置,该检测器可以以逐像素预测的方式解决目标检测问题。无锚点检测器解决了基于锚点检测器存在的问题,降低了存储成本,提高了边界盒的精度

  • 单阶段和两阶段目标检测方法在许多具有挑战性的公共数据集上都取得了高性能,如COCO和TJU-DHD。这些方法提供了面向精度的检测器。然而,为边缘设备服务的检测器的关键问题是检测延迟及其功率。换句话说,探测器在具有挑战性的场景中获得更高的性能,这不是部署在边缘设备上的探测器的必要选项。对于检测延迟,人们已经投入了大量的努力来实现准确性和效率之间的平衡。

  • FastYOLO是一种从YOLOv2扩展而来的优化架构,参数更少,性能下降2%,这使得FastYOLO在Nvidia Jetson TX1嵌入式系统上以平均约18FPS的速度运行。YOLObite专注于通过压缩编译的方式设计冗余对象检测器,使其具有实时性。NanoDet使用ShuffleNetV2作为主干使模型更轻,并进一步使用ATSS和GFL来提高精度。

  • 值得注意的是,NanoDet在ARM CPU上也达到了~ 60FPS。这些轻量级检测器是面向延迟的。实际上,无论是面向精度的探测器还是面向延迟的探测器都没有考虑到它们的能量消耗。高能量成本探测器对部署在边缘的设备不友好

  • 本文旨在开发一种能够在能量和性能之间实现权衡的轻质探测器

Energy-Oriented Convolutional Neural Networks

  • 除了手工设计深度神经网络之外,人们还通过网络修剪、量化、架构搜索等方法来提高深度神经网络的有效性和效率。ECC提出了端到端的分类器训练框架,该框架通过加权稀疏投影和输入掩蔽提供定量的能耗保证。Zhang等人专门研究视频广播,并利用蒸馏技术通过近似视频帧数据来减少内存消耗。MIME是一种算法-硬件协同设计方法,它重用经过训练的父任务的权重参数,并学习特定于任务的阈值参数,以便在多个子任务上进行推断。然而,上述工作都是为图像分类服务的,我们可以观察到,在同一网络结构中,参数越少代表能耗越低。考虑到cnn有限的容量和不同的空间表示之间的冲突,边缘设备上的目标检测仍然是一个具有挑战性的课题。本文首次为面向能量的轻型探测器提供了系统化的解决方案

FemtoDet

  • 本节将分为两个小节来描述FemtoDet如何实现能源与性能之间的权衡。

    • 1)低能探测器的基准:我们提供了设计低能探测器的基准,包括激活函数、卷积算子和探测器颈部的探索。

    • 2)面向能量的FemtoDet:基于设计低能探测器的基准,提出了一种面向能量的轻型探测器FemtoDet,该探测器由深度可分离卷积(DSC)、BN和ReLU层叠加而成。FemtoDet在高通骁龙865 CPU平台上仅涉及68.77k参数和1.11W功耗。

  • 此外,FemtoDet可以通过两种设计进行优化:首先,使用实例边界增强(IBE)模块来改进FemtoDet中的DSC,克服轻量级模型表示优化的瓶颈(即模型由于容量有限会学习混淆特征,如上图(b)所示)。其次,RecWR训练策略是一个多阶段的递归温启动学习过程,能够克服强数据增广产生的数据迁移

Benchmarks for Low-energy Detectors’ Designing

Evaluation Metrics
  • top1 - acc (top1精度,用于图像分类)和AP(平均精度,用于目标检测)是广泛用于评估CNN性能的度量。除了常用的指标top1 - Acc和AP之外,我们还建议使用Power(能源成本)和mEPT(平均能源与性能权衡)来全面评估模型的能源成本及其实现能源与性能权衡的能力

  • 其中 T t i m e T_{time} Ttime 表示评估N张图像所需的总时间, ε ( W , x i ) ε(W, x_i) ε(W,xi) 表示能量成本,而模型使用训练参数W评估第 i 张图像 x i x_i xi ε ( W , x i ) ε(W, x_i) ε(W,xi) ε ( W ^ , x i ) ε(\hat W, x_i) ε(W^,xi) 相似。不同之处在于我们为每层通道设置了1的值,其中模型参数为 W ^ ⋅ ε ( W ^ , x i ) \hat W·ε(\hat W, x_i) W^ε(W^,xi) 表示模型为空状态。P 表示图像 x i x_i xi 中的模型性能(top1-Acc用于评估激活函数和卷积算子时的图像分类,AP50用于评估检测器颈部时的目标检测)。对于功率度量,期望该值尽可能小。对于mEPT度量,期望的结果越高越好。

Components to Be Evaluated
  • 为了识别探测器的低能组件,我们遵循从激活函数、卷积算子和探测器颈部三种结构中对其能量成本进行基准测试:激活功能。ReLU (Rectified Linear Unit,整流线性单元)、GELU、Swish、SiLU等因其参数少、flops少而被广泛用于目标检测。我们计算不同激活函数在同一架构下的能量成本,以探索哪种激活函数对设计面向能量的探测器更友好。

  • 卷积算子可以自动学习过滤器权重,而cnn被训练来总结有用的信息,包括图像中的水平、垂直、边缘、对角线等特征。Villa卷积(vanConv)、深度可分离卷积(DSC)及其大核尺寸版本被广泛使用。Ding等指出,当基于足够大的卷积核构建cnn时,其结果可以与Transformer相媲美。在此,我们在不同的网络结构(ResNet和MobileNetV2)上建立了不同卷积(vanCon和DSC)和多尺度卷积核大小(3×3和5×5)的能耗比较实验。重要的是,对于每个实验案例,卷积算子类型或核大小将是唯一的变量。

  • 探测器的瓶颈:特征金字塔网络(FPN)是两级或一级探测器的基本组成部分。基于fpn的检测器颈融合多个低分辨率和高分辨率特征输入以获得更好的表示,导致了一系列设计人工复杂融合方法的研究。然而,他们只提出了FPN带来的良好效果,而忽略了它的能源成本。在FemtoDet上进行了一系列实验,使用不同的颈部类型,例如FPN、PAN和我们提出的SharedNeck来研究相应的指标(包括能源成本、参数和PASCAL VOC的检测精度)变化。

  • 可以观察到DSC和ReLU比vanCon和其他激活函数更节能。此外,与FPN和PAN等检测器的颈部相比,本文提出的SharedNeck更适合于轻型检测器

Energy-Oriented FemtoDet

Building FemtoDet
  • backbone :FemtoDet的主干包含一个初始的全卷积层,有8个滤波器。我们使用ReLU作为非线性,使用BN作为批归一化。从第二层开始,所有的卷积算子都使用DSC。原因是我们遵循基准测试的结果来选择能源友好型组件。

  • 整个主干的描述见附录下表;颈部:我们为FemtoDet定制了一个颈部,以实现能量和性能之间更好的权衡。SharedNeck首先对骨架输入的尺度信息进行对齐,然后将这些对齐特征与元素添加进行合并。最后,DSC在合并的特征之间进行自适应多尺度信息融合。SharedNeck的实现细节,以及它与其他颈部的区别如下图所示;头部和训练损失:在这里,我们使用YOLOX的解耦头部作为我们提出的检测器的头部,其训练损失与YOLOX相同

    • 在这里插入图片描述

    • (a) FPN:自上而下的多尺度特征融合架构,输出多个预测;(b) SharedNeck:具有单一预测的简单自适应多尺度特征融合架构,实现了能量和性能之间的权衡;© PAN:基于FPN探索额外的自下而上多尺度特征融合,并进行大量预测。

Instance Boundary Enhancement Module
  • 众所周知,优化轻量级检测器是一个具有挑战性的问题。其原因是受检测器表征的限制,检测器学习到的特征是弥漫性的,如上图(b)所示。实例边界增强(Instance boundary enhancement, IBE)模块旨在改善FemtoDet中的DSC,从而克服轻量级模型表征优化的瓶颈。IBE类似于中引入的模块,不同之处在于我们的模块是为卷积层设计的,卷积层被分解为深度层和点向层。我们进一步引入了一种双归一化机制,使得IBE模块可以用于对象检测,而[Autoslim,Pixel difference networks for efficient edge detection,Mocopnet]中的模块只能用于低级任务。基于DSC块,IBE的基本块包括3×3深度卷积,然后是1×1卷积。IBE通过设计新的局部描述符、语义投影和双规格化层来增强DSC。

  • 具体来说,1×1局部描述符是一种参数重用机制,它是由围绕共享深度卷积的积分梯度线索的线性变换产生的。因此,目标边界信息可以在局部描述符中找到。以前,局部描述符被称为差分卷积,用于低级任务。

  • 虽然利用这些目标边界信息增强上述标准算子(如深度卷积)的噪声特征表示(如图 (b)所示)的思路很容易理解,但在实践中,原有的差分卷积架构无法服务于高级语义任务。我们观察到,差分卷积得到的特征与标准卷积得到的特征是不对齐的。一方面,差分卷积通过积分3×3周围的梯度线索或更大的卷积来捕获关于物体边界的各种信息。另一方面,高级任务鼓励标准卷积来总结图像的抽象语义信息。这就是经典差分卷积不能用于高级任务的原因。

  • 为了同时解决这个问题,我们提出了一个语义投影仪和一个双归一化层。语义投影是将深度卷积的线性变换转化为与语义信息提取相关的传递算子;双规范化层由两个独立的批规范化模块组成,专门用于对齐未对齐的特征。之后,我们从局部描述符和深度卷积之间的特征添加中合并对象边界线索,以指导模型学习实例的有效表示(细化结果如上图©所示)

  • IBE模块的描述见附录图3。对于kernel大小为3的深度卷积, C i n C_{in} Cin 表示输入通道维数, C o u t C_{out} Cout 表示输出通道维数,权值矩阵记为 W c o n v ∈ R 1 × C i n × 3 × 3 W_{conv}∈R^{1×C_{in}×3×3} WconvR1×Cin×3×3 ,bias表示为 b ∈ R D b∈R^D bRD。通过参数的重用,从深度卷积得到kernel大小为1的局部描述符。其权重矩阵记为 W d e s W_{des} Wdes,它是对 W c o n v W_{conv} Wconv 周围的梯度线索进行积分:

    • W d e s = − θ 1 ⋅ ∑ p n ∈ R W c o n v ( p n ) , ( 3 ) W_{des}=-\theta_1·\sum_{p_n\in R}W_{conv}(p_n),(3) Wdes=θ1pnRWconv(pn),(3)

    • 其中, W d e s ∈ R C o u t × C i n , θ 1 ∈ [ 0 , 1 ] , ∈ R 1 × 1 W_{des}∈R^{C_{out}×C_{in}}, θ_1∈[0,1],∈R^{1×1} WdesRCout×Cinθ1[0,1]R1×1 为可学习的参数投影因子。R表示Wconv中的3×3卷积,pn为n-权值。在 W c o n v W_{conv} Wconv 周围集成梯度线索可以帮助局部描述符有效地捕获目标边界信息。语义投影是由深度卷积生成的,通过可学习的线性变换可以得到多种语义表示,如下所示:

    • W p r o = θ 2 ⋅ W c o n v , W p r o ∈ R C o u t ∗ C i n ∗ 3 ∗ 3 , ( 4 ) W_{pro}=\theta_2·W_{conv},W_{pro}\in R^{C_{out}*C_{in}*3*3},(4) Wpro=θ2Wconv,WproRCoutCin33,(4)

    • 其中, θ 2 ∈ [ 0 , 1 ] , R 1 × 1 θ_2∈[0,1],R^{1×1} θ2[0,1]R1×1 是另一个可学习的参数作为投影因子。随后,在目标边界信息的指导下,IBE模块执行四个步骤来细化特征表示。1)将输入 x i n x_{in} xin 与得到的三个卷积算子进行卷积,对应的结果分别记为 x 22 、 x 21 、 x 23 x_{22}、x_{21}、x_{23} x22x21x23 ;2)在 x 22   x 21 x_{22} ~ x_{21} x22 x21 之间进行元素添加;3)双归一化层实现x21和x23上的特征分布归一化;4)双归一化层的两个输出可以相加;因此,上述添加的特征通过点向卷积进行卷积,作为IBE模块的最终输出

  • 此外,我们利用卷积的同质性和可加性,在推理阶段将IBM模块折叠成更简单的深度可分离卷积,而不会降低性能。详情见附录C。

Recursive Warm-restart Training Strategy

  • 强增强(Strong augmentation, SA)被广泛用于目标检测,[Yolox,YOLOV3]表明设计良好的强增强(Strong augmentation)可以有效地改进检测器。然而,我们发现设计良好的SA并不总是有利于轻量级检测器,因为当前的训练策略不能充分利用不同的训练表示来提高对真实验证数据的泛化能力。例如,YOLOX指出,MixUp会使YOLOX-nano的性能降低约5%。我们认为,有限容量检测器在训练过程中尽可能地拟合SA生成的各种数据,使得模块没有多余的能力来调整学习到的特征以提高模块对真实验证数据的泛化能力。换句话说,SA产生了与数据移位相等的不同表示,从而破坏了模块的泛化能力。我们还提出了一种有效的训练策略来调整这些不同的特征以提高泛化能力,即递归热重启(RecWR)

  • 如附录图5所示,整个训练过程可以分为四个阶段。从第1阶段到第4阶段,图像增强的强度逐渐降低。具体来说,在第一个训练阶段,一些SA类型将被组合,如MixUp, Mosaic和RandomAffine。从第2个训练阶段开始,上述SA类型在每个训练阶段逐渐卸载,直到第4个训练阶段。在最后一个训练阶段,只对训练数据进行随机翻转和随机缩放。此外,在开始每个训练阶段之前,等待的训练检测器加载前一个训练阶段的训练权值作为初始化。

  • 我们可以在附录D中看到,用RecWR训练FemtoDet后,MixUp也可以帮助这种极小的探测器获得更好的性能。也就是说,RecWR利用SA学习的多样性特征,使FemtoDet脱离子优化

Experiments

  • 我们使用VOC、COCO、TJU和ImageNet数据集进行实验并验证了所提出的方法。具体来说,整个实验可以分为两个部分,即识别提到的探测器的低能量组件,并验证我们设计的FemtoDet的有效性,其中在GTX 3090中测量了功率度量。

Benchmark to Find Low-energy Components

Activation Functions
  • 上表显示了在相同架构(MobileNetV2 0.25)下使用不同激活函数的能耗相关度量结果。我们观察到激活函数可以在没有额外参数(Param)的情况下显著改善模型。另一方面,这样的激活函数在一些不方便度量的度量上产生不可接受的开销。例如,Swish将基于relu的模型性能提高了4.93%,但产生了超过8.53%的能源成本。mEPT指标还表明,ReLU在能源与性能之间取得了最佳平衡。
Convolution Operators
  • 在ImageNet数据集上基于不同的卷积算子(vanCon ♣和DSC ♦)和不同的内核大小(3×3和5×5)训练图像分类器时,本节比较能量相关指标。1)在构建相同核大小的cnn时,mobilenetv2产生的能量成本远低于resnet18。换句话说,DSC在实现类似性能的同时,比vanConv更节能;2)当使用不同核大小和相同类型的算子构建cnn时,较小的核产生的能量成本远低于较大的核,如vanConv ♣和vanConv ♦ 上表所示。然而,大型内核带来的性能提升并不是那么令人印象深刻。
Necks of Detectors
  • 在这里,我们评估了不同颈部(包括FPN、PAN和SharedNeck)在FemtoDet中的作用。实验结果如上表所示,部分观察结果总结如下:

    • 1)FPN虽然使FemtoDet取得了较好的效果,但不仅能耗较大,而且参数开销较大;

    • 2)由于轻量级模型的代表性有限,PAN的自顶向下和自底向上特征融合较差;

    • 3)通过自适应特征融合,SharedNeck在参数、能量成本、目标检测性能、平均能量与性能权衡等指标上取得了最佳效果

Validating the Effectiveness of FemtoDet

  • 我们在三个数据集上验证了FemtoDet的有效性:PASCAL VOC, COCO和TJU-DHD,同时将输入大小调整为640×640进行训练,并将输入大小调整为416×416进行验证。两个数据集,PASCAL VOC和TJU-DHD两个数据集转换为COCO数据类型进行评估。

  • 此外,我们从TJU-DHD数据集中提取校园数据,以评估我们提出的极轻检测器(即FemtoDet)的行人检测性能。考虑到极轻的检测器难以拟合检测性能较差的复杂COCO数据集,我们将相应的结果拉到附录e中。此外,我们将FemtoDet的检测性能与YOLOX和NanoDet Plus进行了比较,其中它们处于相同的参数水平以确保公平性。所有的检测器骨干在ImageNet上预训练100 epoch,本节给出的mEPT度量在AP50和Power之间计算。

Results on PASCAL VOC
  • 实验结果如表4所示,其中显示了具有8个指标的轻型探测器:参数(Param)、能量成本(Power)、AP50、平均能量与性能权衡因子(mEPT)、mAP、小尺寸物体的mAP (mAP-s)、中等尺寸物体的mAP (mAPm)和大尺寸物体的mAP (mAP- 1)。

  • 我们可以看到,虽然YOLOX有大量的参数,但在许多指标上都比FemtoDet低得多。NanoDet Plus的参数与FemtoDet相当,但仅在mAP-s指标上优于FemtoDet。我们认为,对于这种极轻的探测器,它们在大尺度物体上的性能是最关键的。在map - 1指标上,FemtoDet也比YOLOX和NanoDet Plus表现出更好的结果。虽然用于评价性能和能量平衡的指标mEPT,但与其他两种模型相比,FemtoDet的平衡效果最好。

  • 此外,我们还在高通骁龙865 CPU平台上评估了训练后的检测器的推理速度(FPS)和功率。如下表所示,我们的FemtoDet在edge设备上也实现了最小的能量消耗和推理速度。

    • 在这里插入图片描述

    • 推理速度(FPS)和经过训练的探测器(YOLOX, NanoDet Plus,和FemtoDet在PASCAL VOC上训练)在高通Snapdragon 865 CPU平台上。

Results on TJU-DHD
  • 像FemtoDet这样的极轻探测器在监控场景中有着广阔的应用前景。因此,我们使用校园数据集TJU-DHD评估FemtoDet在行人检测方面的性能,并在不太严格的度量标准AP20上展示检测器的性能。下表表明,在常见的监控场景中,FemtoDet能够胜任行人检测:1)部署时,FemtoDet的能源成本较低,比YOLOX低29.74%;2) FemtoDet可以得到76.3%的AP20,而相同参数的YOLOX只能得到71.80%的AP20

    • 在这里插入图片描述

    • TJU-DHD行人检测结果与YOLOX,和FemtoDet。

    • 在这里插入图片描述

    • 使用YOLOX和FemtoDet进行TJU-DHD行人检测的松散度量。

Ablation Studies
  • 对PASCAL VOC进行了一系列消融研究,以证明我们的IBE模块和RecWR培训策略的有效性和效率。如下表所示:1)第二行和第三行表明,通过FemtoDet*的300和1200次epoch的训练,这样长的epoch并没有产生更好的收益。2)对FemtoDet*的第4行和第5行分别进行RecWR和300 epoch的IBE增强训练。结果表明,独立配置IBE和RecWR可以提高模型的性能。3)六行表明,IBE和RecWR联合使用使FemtoDet达到最佳性能。

    • 在这里插入图片描述

    • 我们的IBE模块和RecWR培训策略有效性的消融研究。其中,FemtoDet*表示FemtoDet由未经IBE增强的纯DSC组成,300e和1200e表示相同数据增强的探测器训练300或1200次

Conclusion

  • 本文提出了一个基线,以鼓励能量和性能平衡探测器的研究。我们的实验结果清楚地表明,提高性能也会导致能耗增长的问题。相反,像ReLU这样的简单组件适合建造面向能量的探测器。此外,我们还提出了一种新的IBE模块和RecWR训练策略,以克服极轻检测器的优化问题。与其他最先进的方法相比,在相同参数设置下,IBE和RecWR支持这些基线,在VOC, COCO和TJU-DHD数据集上实现最佳性能,同时消耗最少的能量。在未来,我们将继续在能量和性能的平衡上改进探测器。

Appendix

Architecture Details of the Backbone

  • 下表给出了FemtoDet主干的详细信息,它由1个香草卷积和13个深度可分离卷积(DSC)组成。

    • 在这里插入图片描述

    • FemtoDet的主干:每行描述一个或多个DSC层的序列,重复n次。每一层有c个输出通道。每个序列的第一层使用步幅s,其余层使用步幅1。所有空间卷积都使用3 × 3核。扩展因子t总是应用于输入尺寸。

Folding IBE to be DSC When Inferencing

  • 根据下图所示的IBE概述,我们将深度卷积、点向卷积、局部描述符和语义投影分别表示为Conv1、Conv4、Conv2和Conv3。 x o u t x_{out} xout 的输出特征可以由 x o u t = C o n v 4 ( B N 1 ( x 31 ) + B N 2 ( x 23 ) ) x_{out} = Conv_4(BN1(x_{31}) + BN2(x_{23})) xout=Conv4(BN1(x31)+BN2(x23)) 得到,其中 x 23 = C o n v 3 ( x i n ) , x 31 = x 21 − S i g m o i d ( θ ) ∗ x 22 = C o n v 1 ( x i n ) − S i g m o i d ( θ ) ∗ C o n v 2 ( x i n ) x_{23} = Conv_3(x_{in}), x_{31} = x_{21} - Sigmoid(θ)∗x_{22} = Conv_1(x_{in}) - Sigmoid(θ)∗Conv_2(x_{in}) x23=Conv3(xin)x31=x21Sigmoid(θ)x22=Conv1(xin)Sigmoid(θ)Conv2(xin)。根据卷积的齐次性和可加性,我们展示了将上述所有复杂操作折叠成深度卷积的过程

    • 1)合并BN2和Conv3。首先,我们将Conv3的权重矩阵和偏置表示为ω和b,将BN2的变量表示为γ, σ, λµ和β。然后,我们有 x 23 = C o n v 3 ( x i n ) = ω ∗ x i n + b , B N 2 ( x 23 ) = γ ∗ ( x 23 − µ ) / √ σ 2 + ϵ + β = γ ∗ ( ω ∗ x i n + b − µ ) / √ σ 2 + ϵ + β = x i n ∗ ( γ ∗ ω ) / √ σ 2 + ϵ + β + γ ∗ ( b − µ ) / ( √ σ 2 + ϵ ) x_{23} = Conv_3(x_{in})=ω∗x_{in}+ b, BN2 (x_{23}) =γ∗(x_{23} -µ)/√σ2 +ϵ+β=γ∗(ω∗x_{in}+ b -µ)/√σ2 +ϵ+β=x_{in}∗(γ∗ω)/√σ2 +ϵ+β+γ∗(b -µ)/(√σ2 +ϵ) x23=Conv3(xin)=ωxin+b,BN2(x23)=γ(x23µ)/√σ2+ϵ+β=γ(ωxin+bµ)/√σ2+ϵ+β=xin(γω)/√σ2+ϵ+β+γ(bµ)/(σ2+ϵ) 。最后,我们得到了一个新的卷积算子- con3,其权矩阵和偏置为: ω = ( γ ∗ ω ) / √ σ 2 + λ , − b = β + γ ∗ ( b − µ ) / ( √ σ 2 + λ ) ω = (γ∗ω)/√σ2 + λ, - b = β+γ∗(b -µ)/(√σ2 + λ) ω=(γω)/√σ2+λb=β+γ(bµ)/(σ2+λ) 。也就是说,两步操作BN2(Conv3(xin))等价于一步操作;

    • 2)将Conv1(xin) - Sigmoid(θ)∗Conv2(xin)折叠为一次卷积运算。首先,基于卷积的同质性,我们可以将常数与特征之间的乘法转换为常数与卷积算子之间的乘法。这意味着Sigmoid(θ)∗Conv2(xin) = Sigmoid(θ)∗(ω∗xin + b) = (Sigmoid(θ)∗xin + Sigmoid(θ)∗b = Conv2(xin)。新卷积的权重矩阵和偏置分别是Sigmoid(θ)∗b和Sigmoid(θ)∗b。其次,根据卷积的可加性,我们可以将特征之间的加法转化为卷积算子之间的加法。Conv1(xin) - Sigmoid(θ)∗Conv2(xin)可以重写为Conv1(xin) - Sigmoid(θ)∗Conv2(xin) = Conv1(xin) - Conv2(xin) = (ω1∗xin + b1) - (ω2∗xin + b2) = (ω1 - ω2)∗xin + b1 - b2 = Conv(xin)。式中,ω1和b1为Conv1的权矩阵和偏置,ω2和ω b2为Conv1的权矩阵和偏置,(ω1 - ω2)和(b1 - ω b2)为Conv的权矩阵和偏置;

    • 3)类似于1),BN1(Conv1(xin) - Sigmoid(θ)∗Conv2(xin)) = BN1(Conv (xin))可以合并成一个新的卷积:Conv ’ (xin) = BN1(Conv (xin));与2)一样,BN1(x31) + BN2(x23) = BN1(Conv(xin)) + Conv3(xin) = Conv ’ (xin) + Conv3(xin)可以折叠成单个卷积算子。经过以上操作,我们可以在推理时将IBE折叠为DSC。

Explore the Impact of MixUp on Training FemtoDet

  • 下表显示了MixUp对训练FemtoDet的影响:1)第二行和第三行是使用RecWR和RecWR1训练FemtoDet的过程,说明可能MixUp与RecWR结合可以帮助轻量级检测器获得更好的性能;2)第4和第5行显示MixUp在标准训练策略中伤害了轻量级检测器,这与YOLOX给出的结果一致;3)结合1)和2),我们得出结论,MixUp只有在RecWR下用于轻量级检测器训练时才能改善轻量级检测器。换句话说,RecWR利用从MixUp学习到的多样性特征,从次优化中获得轻量级检测器

    • 在这里插入图片描述

    • 在MixUp对FemtoDet训练影响的消融研究中,RecWR是最初的四阶段训练策略;RecWR1使用最后三阶段的数据增强(没有MixUp)来训练FemtoDet;300e表示在RecWR的第二阶段数据增强(与训练YOLOX-tiny时的设置相同)上训练FemtoDet 300次;300e1表示在RecWR的第一阶段数据增强(带MixUp)上训练FemtoDet 300 epoch。

Results on COCO

  • COCO是另一个广泛使用的目标检测数据集,其数据复杂性比PASCAL VOC大得多。这个数据集包含了从网络上收集的大约160K图像的80个类别。我们使用118K图像在train2017上训练检测器,并使用41K图像在val2017上验证检测器。下表比较了YOLOX和FemtoDet在COCO上的性能。检测指标的结果似乎很糟糕。原因是探测器太轻,无法容纳如此复杂的数据。即便如此,FemtoDet在COCO上的表现还是优于YOLOX。

    • 在这里插入图片描述

    • 使用YOLOX和FemtoDet进行COCO目标检测的结果。

Why is the IBE module able to capture the object boundary information?

  • 经典边缘检测可以识别尖锐的图像亮度变化,如强度、颜色或纹理的不连续性;图像梯度或导数信息是提取此类信息的首选。从两个角度实现IBE捕获目标边界信息:

    • 1)首先,通过对3 × 3深度卷积附近的梯度进行积分,建立局部描述子来探索图像梯度线索;

    • 2)其次,通过显式计算像素差,利用基于梯度计算的IBE中的不同卷积对边缘检测所需的重要梯度信息进行编码

Analyze and Compare Pedestrian Detection Capabilities of FemtoDet and YOLOX

  • 在本节中,我们在前文提到的TJU-DHD校园数据集上构建本节的实验结果。输入尺寸为416×416的行人箱体尺寸分布如下图所示。

    • 在这里插入图片描述

    • 行人在输入尺寸416×416中的箱体尺寸分布;可以看出,行人多为小物体(0 ~ 11×37),占总数的35.81%。

  • 根据验证集中行人的大小不同,我们将其划分为5个区域范围(0 ~ 11×37、11×37 ~ 14×50、14×50 ~ 28×99、28×99 ~ 56×198和56×198 ~ MAX)来评估检测器。可以发现,行人多为小物体(0 ~ 11×37),占总数的35.81%。因此,极端检测器在整个验证集上只显示其平均精度(mAP、AP50或AP20)是不合理的。接下来,我们将重点关注探测器在三个最大尺度(14×50 ~ 28×99、28×99 ~ 56×198、56×198 ~ MAX)上的检测结果。

  • 下图给出了上述三个面积范围的PR曲线。

    • 在这里插入图片描述

    • 三个面积范围的PR曲线:(a)、(b)、©为14×50 ~ 28×99、28×99 ~ 56×198、56×198 ~ MAX区域范围的PR曲线。第一行和第二行分别为YOLOX和FemtoDet的PR曲线。此外,每个子图的横轴表示召回率,纵轴表示精度;子图中的表格显示了召回率达到0.85和0.9时,AP20和AP50对应的精度和置信度得分。

  • 在14×50 ~ 28×99范围较小的区域:1)虽然FemtoDet的AP50最高召回率不能达到0.90,但当召回率达到0.85时,其精度更高(0.56 & 0.40);2)在AP20下,FemtoDet的查全率分别为0.85(0.90 & 0.81)和0.90(0.69 & 0.66),准确率较高。

  • 在该地区的中程28 56××99∼198:FemtoDet不仅达到更好的精度,但也有更高的信心与更高的回忆,在评价矩阵AP20(召回/精密/分数:0.85 / 0.98/0.57 & 0.97/0.44 / 0.85,0.90 / 0.96/0.34 & 0.93/0.23 / 0.90)和AP50(召回/精密/分数:0.85 / 0.95/0.54 & 0.90/0.35 / 0.85,0.90 / 0.87/0.18 & 0.74/0.10 / 0.90)。这意味着FemtoDet非常健壮。

  • 在最大范围为56×198 ~ MAX的区域:虽然两种极轻的探测器在检测大型物体时都表现出高性能,但FemtoDet相对更好,在ap50时的召回率为0.85,精度比比较方法提高约2.17%(0.94和0.92)。

  • 众所周知,假阳性检测会影响目标检测的精度,而漏检会影响目标检测的召回率。特别地,将AP50下目标检测结果的误报检测和漏检检测分别可视化在下图中。

    • 在这里插入图片描述

    • 假阳性预测的可视化。红框代表假阳性框,绿框代表GT (ground truth),黄框代表正确的预测框。

    • 在这里插入图片描述

    • 脱靶检测可视化。蓝色框代表未检测框,绿色框代表GT (ground truth),黄色框代表正确的预测框。

Experiments On Bigger Models

  • 一些较大的模型,如Deformable DETR (ResNet50, 39.8参数),在COCO上实现44.50 mAP。相比之下,由于设置的差异,FemtoDet (72.7k参数)在COCO上只能达到12.30 mAP。FemtoDet在COCO上训练测试,输入尺寸为416×416,而DeformableDETR在COCO上训练测试,输入尺寸为800×1333。为了解决这个问题,我们在相同的条件下比较了FemtoDet和DeformableDETR (ResNet50)在PASCAL VOC上的性能。FemtoDet(在3090Ti上8.3W)实现了46.3 AP50 / 22.0 mAP,而DeformableDETR (ResNet50,在3090Ti上134.0W)在416×416输入上测试时实现了70.7 AP50 / 26.8 mAP。我们还将提出的IBE应用于其他更大的模型,并观察到性能的一致改进。例如,没有IBE的MBV2 1.0在ImageNet上获得了71.9 top1 Acc,而有IBE的MBV2 1.0在ImageNet上获得了72.2 top1 Acc。同样,不含IBE的yolox nano (MBV2 1.0作为主干)在VOC上的mAP值为53.1,而含IBE的yolox nano在VOC上的mAP值为53.5。这些结果表明,FemtoDet实现了合理的权衡,IBE模块在更大的模型中不断提高性能。

这个工作更多的关注边缘设备的高效目标检测器如何通过设计探索在能耗和性能间的权衡。该研究引入了一个新的目标检测器FemtoDet,此检测器使用了低能耗组件,同时提出了一种卷积优化的新方法和一种优化训练策略

实例边界增强模块

  • IBE 模块这是一种专为优化轻量级检测器而设计的模块。由于轻量级模型的表征能力有限,它们学习的特征往往较为分散。IBE 模块的目的是改进 FemtoDet 中的深度可分离卷积(Depthwise Separable Convolutions,DSC),从而克服轻量级模型表征优化的瓶颈

  • IBE 模块是基于因式分解为深度和点状层的卷积层设计的。它还引入了一个双重标准化机制。具体地,该模块通过设计新的局部描述符语义投影器双重标准化层来增强 DSC。特别是,1*1 的局部描述符是通过集成梯度提示周围的线性变换生成的参数重用机制。因此,对象边界信息可以在局部描述符中找到。然后,我们利用这些对象边界信息来增强上述标准操作(如深度卷积)的噪声特征表示

  • 最后,我们将局部描述符和深度卷积之间的特征添加的对象边界提示结合起来,引导模型学习实例的有效表示。细化的结果大家可以从上面的可视化结果图中看到。

  • IBE的基本块包括3×3的深度卷积,后跟1×1的卷积。IBE通过设计新的local descriptor、semantic projector 和dual-normalization layer来增强DSC。具体而言,1×1的局部描述符是通过对共享深度卷积周围的梯度线索进行线性变换生成的参数重用机制。因此,local descriptor中包含了目标边界信息,并能够提取出相关的语义特征。semantic projector 是将深度卷积的线性变换用于转移与语义信息提取相关的操作符;dual-normalization layer由两个独立的批归一化模块组成,专门设计用于对齐不对齐的特征。接着,我们通过将局部描述符和深度卷积的特征相加,将目标边界线索融入模型中,引导模型学习出有效的实例表示。

  • 在这里插入图片描述

  • 我们在IBE模块上比较了差分卷积和语义投影的激活值。横轴表示特征的通道指数,纵轴表示对应的特征通道值。(a) Before:在dual normalization层之前的特征分布表明它们在同一空间中未对齐;(b) After:双归一化层后的特征分布。很明显,双归一化层有效地对齐了两种类型的特征。

递归热重启训练策略

  • 强数据增强(Strong Augmentation,SA)广泛用于目前检测,但是作者发现,当前的训练策略不能充分利用 SA 产生的多样性训练表示,以提高在真实验证数据上的泛化能力。

  • 本文提出了一个有效的训练策略,即递归热重启(RecWR)。整个训练过程可以分为四个阶段。从第一阶段到第四阶段,图像增强的强度逐渐降低。具体来说,在第一阶段的训练中,将组合一些 SA 类型,如MixUpMosaicRandomAffine。从第二阶段开始,上述 SA 类型在每个训练阶段都会逐渐减弱,直到第四阶段。

  • 在开始每个训练阶段之前,等待训练的检测器会加载前一个训练阶段的训练权重作为初始化。实验发现,在使用 RecWR 训练 FemtoDet 后,MixUp 也能帮助这些极小的检测器获得更好的性能。换句话说,RecWR 利用了 SA 学习的多样性特征,使 FemtoDet 摆脱了次优化困境。

  • 在这里插入图片描述

  • 四阶段递归热重启训练(RecWR):从训练的第一阶段到最后阶段,每阶段训练图像的增强强度逐渐减弱。在每个训练阶段开始前,等待的训练检测器将加载前一个训练阶段的训练权值作为模型初始化。横轴表示训练epoch的个数,纵轴表示训练模型在PASCAL VOC验证集上的性能。我们可以看到,RecWR推动检测器向更好的性能发展。

SharedNeck

  • SharedNeck首先对来自骨干网络的输入进行尺度信息的对齐,确保它们具有相同的尺度。然后,通过元素相加的方式将这些对齐的特征进行合并,以获得更丰富的特征表示。最后,使用DSC(深度可分离卷积)进行自适应的多尺度信息融合,将合并的特征进行进一步优化和整合,以提高模型的性能。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

羞儿

写作是兴趣,打赏看心情

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值