ICCV 2023 | 超越 NanoDet, 腾讯联合比特币矿机制造商MicroBT发表 68.77k 的超轻量目标检测器!

导读

论文:《FemtoDet: An Object Detection Baseline for Energy Versus Performance Tradeoffs》

各位小伙伴早上好,昨天为大家解读了一篇最新发表在 MICCAI 2023 的医学图像语义分割工作,深受大家的喜爱。有粉丝后台留言希望分享一下 ICCV 2023 上有关目标检测转项的文章,于是小编加班加点肝了今天的文章,希望能满足小伙伴的需求。此外,如果你有好的研究工作想 share 给大家,欢迎在文末添加奶盖微信一起交流学习!

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

关于研究的主要内容,原文写的优点啰嗦,我们大致可以从以下几个方面进行解读:

低能源架构的发

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

FemtoDet 的构建

基于上述低能耗架构的发现,作者设计并提出了一种名为FemtoDet的新型目标检测器。同昨天上海交大提出的 50K 大小的 EGE-UNet类似,FemtoDet也仅有 68.77k 的参数,但却能够在PASCAL VOC测试集上达到了 46.3 的 AP50 得分;与此同时,该方法在Qualcomm Snapdragon 865 CPU平台上的功耗仅为 1.11 瓦,运行帧率达到惊人的 64.47 FPS。只能说在大模型横行的今天,也算是给广大低端玩家一丝慰藉与希望了,换个思路我们还能比比看谁更小,哈哈~~~

卷积优化与训练策略

正如我们前面提到的,这里还提出了一种名为实例边界增强Instance Boundary Enhancement,IBE)的模块,以优化卷积并解决 CNN 有限容量与检测任务在多样空间表示中的矛盾。此外,为了解决轻量级检测器由于数据增强产生的数据偏移问题,作者提出了一种递归启动Recursive Warm-restart,RecWR)的训练策略。这两种方法都在 PASCAL VOC 数据集上进行了评估,

结果表明 IBE 可以在不增加额外参数的情况下提高 FemtoDet 约 7.72% 的性能,RecWR 则通过逐步减弱数据增强强度,在多阶段学习中可以提高 FemtoDet 约 6.19% 的性能。

应用场景

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

目标检测

其实,不知道大家发现没,近几年这种纯检测的文章已经很少了,我们就趁这个契机一起回顾下以前的知识,今天大家粗略的过一遍。

众所周知,基于深度学习的目标检测发展历程主要涉及两大类:二阶段检测器和一阶段检测器。

二阶段检测器首先从图像中生成区域提议,然后从这些提议中生成最终的预测框。虽然二阶段检测器相较于一阶段检测器在准确性上更高,但在边缘设备上实现低延迟仍有困难,所以除了打比赛等特殊情况,基本全是单阶段目标检测器的身影,特别是涉及实际应用。

一阶段检测器又可分为基于锚点和无锚点的两种类型,这取决于是否在整个图像中注入 Anchor 先验以实现框回归。例如,SSD 就是一种典型的基于锚点的一阶段检测器,它将边界框的输出空间离散化为一组在每个特征图位置具有不同宽高比和尺度的默认锚点。YOLO 系列也是一种典型的基于锚点的检测器,这一块相信大家比奶盖还熟悉。其次,无锚点检测器则旨在消除预定义的锚点框集,如CornerNet通过预测物体的两个关键点(通过边界框的左上角和右下角)来检测物体,CenterNet类似,而FCOS则通过提出一个全卷积的一阶段目标检测器来消除锚点设置。

尽管一阶段和二阶段的目标检测方法在许多具有挑战性的公共数据集,如 COCO 和 TJU-DHD 上取得了高性能,但对于部署在边缘设备的检测器来说,检测的延迟和功耗是关键问题。为了解决检测延迟的问题,许多研究致力于实现准确性和效率之间的平衡,如 FastYOLOYOLObite 以及不得不提的 NanoDet。然而,无论是精度优先还是延迟优先的检测器都没有考虑到它们的能量消耗。高能耗的检测器对于部署在边缘的设备来说是不友好的。因此,本文的目标是开发一种轻量级检测器,可以实现能量和性能之间的权衡。

FemtoDet

FemtoDet的设计主要关注两个部分,即低能耗检测器的基准设定以及有关能耗方面的相关探索。

首先,作者为设计低能耗检测器提供了基准,探索了激活函数、卷积运算符和检测器的Neck结构。激活函数、卷积运算符和解码器是构成目标检测的三大基本元素,对模型的性能和能耗有重要影响。例如,常用的激活函数如ReLUGELUSwishSiLU等由于参数和浮点运算量较少,被广泛应用于目标检测中。所以通过在同一架构中计算不同激活函数的能耗,可以研究哪种激活函数更适合设计能源导向的检测器。

其次,基于低能耗检测器的设计基准,作者提供了一种名为FemtoDet的面向能源的轻量级检测器。FemtoDet 通过两种设计进行优化:实例边界增强(IBE)模块用于改善 FemtoDet 中的深度可分离卷积(DSC),克服了轻量级模型的表示优化瓶颈;递归热重启(RecWR)训练策略则是一种多阶段的递归热重启学习过程,可以克服由 strong 的数据增强产生的数据转移。后面我们会为大家一一介绍。

此外,为了全面评估模型的能耗和它们实现能源与性能权衡的能力,除了常用的 Top1-Acc(用于图像分类)和 mAP(用于目标检测)度量之外,作者还提出了 Power(能源成本)和 mEPT(平均能源与性能权衡)这两种评价指标。

实例边界增强模块

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

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

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

递归热重启训练策略

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

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

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

实验

激活函数

卷积描述符

Neck

精度

功耗

总结

本文提出了一个新颖的实例边界增强模块(IBE)和递归热重启训练策略(RecWR),以克服极度轻量级检测器的优化问题。 实验结果表明,尽管提高性能可能会导致能耗增长,但利用ReLU等简单组件构建的能源导向检测器可以显著降低这种影响。 在VOC,COCO和TJU-DHD数据集上,该方法在消耗最少能量的同时,实现了与当前最先进技术相媲美的性能。

写在最后

对目标检测及相关应用领域感兴趣的童鞋也欢迎扫描屏幕下方二维码或者直接搜索微信号 cv_huber 添加小编好友,备注:学校/公司-研究方向-昵称,与万千学者专家一起交流探讨前沿AI科技!

相关推荐
c1assy2 分钟前
DP动态规划+贪心题目汇总
数据结构·算法·leetcode·贪心算法·动态规划
jjjxxxhhh1235 分钟前
C++ 模板是为了解决啥问题
开发语言·c++·算法
c++初学者ABC10 分钟前
GESP2级2403 小杨的日字矩阵
c++·算法
大写-凌祁30 分钟前
2024国赛A题第一问
线性代数·算法·机器学习·数学建模
代码小将35 分钟前
PTA数据结构编程题7-1最大子列和问题
数据结构·c++·笔记·学习·算法
pk_xz1234561 小时前
R 和 Origin 完成细菌 OTU 表、土壤理化性质数据的微生物 Beta 多样性分析
算法·机器学习·r语言
Ning_.1 小时前
力扣第116题:填充每个节点的下一个右侧节点指针 - C语言解法
c语言·算法·leetcode
小小unicorn1 小时前
第二章:算法练习题2
算法
抓住鼹鼠不撒手1 小时前
力扣 429 场周赛-前两题
数据结构·算法·leetcode
神经网络的应用2 小时前
C++程序设计例题——第三章程序控制结构
c++·学习·算法