MobileDenseNet | 一步步打造全新的轻量化目标检测模型,让SSD继续发光发热

本文涉及的产品
交互式建模 PAI-DSW,每月250计算时 3个月
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
模型训练 PAI-DLC,5000CU*H 3个月
简介: MobileDenseNet | 一步步打造全新的轻量化目标检测模型,让SSD继续发光发热

6e3b32b1f0e9cae139269d463d99921b.png

在过去的几年里,目标检测问题的解决有了很大的发展。在存在硬件限制的情况下需要更轻的模型,并且需要为移动设备量身定制模型。在本文中,作者将评估在创建解决这些问题的算法时使用的方法。本文的主要目标是提高最先进算法的准确性,同时保持速度和实时效率。


单阶段目标检测中最重要的问题与小目标和不准确的定位有关。作为解决方案,作者创建了一个名为MobileDenseNet的适用于嵌入式系统的新网络。还为移动设备开发了一种轻型NeckFCPNLite,有助于检测小物体。


研究表明,很少有论文引用嵌入式系统中的瓶颈。本文的网络与其他网络的不同之处在于对连接特征的使用。网络Head的一个小而显着的变化放大了准确性,而不会提高速度或限制参数。


简而言之,对具有挑战性的 CoCoPascal VOC 数据集的AP分别为 24.8 和 76.8。网络能够提高准确性,同时保持移动设备上的实时效率。模型在Pixel 3 (Snapdragon 845) 的运行速度为 22.8 fps。

1、本文方法

797818f81a882d49fa3ac9c3fa604d09.png

1.1、Backbone

在我们看来,模型的核心是 Backbone。主网络生成特征,以便其他部分可以使用这些特征来提取对象。用于各种目标检测的网络包括 VGGResNetDarknetEfficientNet。这些网络不适用于具有硬件限制。一些文章使用 MobileNetMobileNetV2

作者认为,根据作者的经验和实验,这些网络不适合目标检测,尤其是定位。它们不足的原因是这些网络最初是为分类而设计的,没有足够的低级信息流特征。一篇文章也使用了 PleeNetPleeNet 作者声称它仅有 66% 的 MobileNet 参数;但它仍然不适合定位,其准确性并没有提高。

为了定位和良好的目标精度,需要一个也具有低级特征的网络。作者希望设计一个网络,其中信息流适合局部化,并且也适合真实硬件,例如需要实时运行的移动设备的 CPU 中的硬件。因此,设计并实现了 MobileDenseNet 网络。

如前所述,Mobilenets 使用深度可分离卷积而不是卷积。MobilenetV1 网络没有skip connection,不适合局部化。在 MobilenetV2 中,skip connection类似于 Resnet,通过 add 完成。某种程度上可以说倒置残差连接+Mobilenet=MobilenetV2

在作者看来,如果使用连接而不是相加,允许网络从那些具有 1×1 瓶颈卷积的特征中选择作为特征选择器。此外,使用 add 会生成与原点不同的新功能。最后,根据经验,如果使用连接而不是相加,则较低层的属性可以更令人满意地达到目标检测并获得更好的准确度。当然,当决定使用连接时,很明显参数的数量增加了。因此,有必要使用瓶颈。需要注意的是,如果密集连接的数量增加超过一个点,它们会大大增加网络的计算成本,因此必须避免过度使用它们。例如,DenseNet 使用了大量的skip connection作为连接,这严重拖慢了 CPU 上的网络速度。

单阶段方法的另一个问题是它们不具备检测小物体的能力。作者通过对提议的网络进行更改在很大程度上解决了这个问题。由于从一开始就为图像分类问题提供了所有主干,因此所有参考主干中的一个重要问题是第二块和第三块中的层数非常少。因为需要这些块中更好的信息,将它们用于骨干中间的 C3 和 C4 输出,这里作者决定稍微增加网络的第二和第三块中的层数,以便从这些块中获取特征图具有更好、更全面的特征。

简而言之,Mobilenet(Enhanced version) + Dense connection(Concatenation) + Bottleneck = MobileDenseNet

MobileDenseNet与其他骨干网络一样,包含 5 个主要块。与 Mobilenet 类似,已经考虑了确定每个块中最终特征数量的必要参数。还应该注意,不同的架构可以用于不同的应用程序。MobileDenseNet 网络可以灵活地为不同的应用增加或减少每个块的层数。核心网络架构由许多深度可分离的卷积块组成。唯一的主要区别是在某些情况下使用Dense connection。提出的目标检测架构如图所示。

36f959c021f86480e2b33d2a7ed757aa.png

MobileDenseNet有3个输出。该公式可以定义为:

338e83c882b9b8b719b6e2281c011615.png

其中,C3、C4、C5分别为第三、第四、第五块的输出。作者还将C5的两个新输出定义为:

7cac3b49505b25e883b53d802f494629.png

1.2、Neck

作为第二点,Neck 已经有了许多更改。FPNBi-FPNNAS-FPNCPAM 都不适用于嵌入式应用。其中许多,如 EfficientDet 中使用的模型,too non-specific,并带有严重的硬件限制。它们给网络带来了大量的参数和计算成本。

作者还提出了不同的 Neck ,目的是创造比 SSDLite 更有效的结果。单阶段目标检测网络的主要问题是它们在小目标方面的准确性低。一般来说,像其他论文一样添加和复制这些金字塔是很耗时的,而且准确性会略有提高。一条信息流足以将低级特征和高级特征结合起来。使用连接的原因是允许网络本身使用它想要的任何特征。add 函数创建了新的特征,并且连接允许低级特征更原封不动地到达最后阶段。最终建议的 Neck 可以在下图中查看。在这个 Neck 没有使用大量的连接,而是只使用了有限数量的连接来提高小物体的准确性。

18f571f0de5b083c4ec090bc1d69f3a3.png

对于 Neck 部分,转换了称为 FPN 的第一个 Neck,并进行了一些调整,以添加连接而不是add,使用瓶颈来减少计算量,并使用深度可分离卷积代替具有大量参数的标准卷积。称为 FCPNLite,特征连接金字塔网络 lite(图 3 中心),可以表述为

4ac88f273b1507e92fe63961c4c20d31.png

bc614b3940470e6712589dcefc5e6c3b.png

此外,如果像原始文章一样使用 Add,将创建一个名为 FPNLite 的新 Neck(图 3 左)。经过实验得出结论,并不是所有的特征图都需要用concatenationadd来连接。如前所述,过度使用连接和加法会显着增加 FLOP 的数量和计算成本。可以通过有限数量的连接来提高网络准确性。由于 C5C6C7 的特征强度相似,因此不需要上采样和连接。最终,比 FCPNLite 更简单的 Neck 具有高度准确且计算成本更低。将此 NeckSSDCLite 命名为 SSD concatenation lite(图 3 右)。主要区别在于这个 Neck的连接数量是有限的

1.3、Head

对于 Head,和其他网络一样,使用了许多分类和边界框Head;不同的是,它们的权重并不完全共享。作者这里使用了新的想法,half-share。这意味着如果整个Head的权重相互共享,网络将很难使用共享的权重提取非常小和非常大的目标。

由于两个特征图中物体的尺寸和形状都非常接近,所以将每两个Head的权重分成一行,共享两个连续Head的权重;当权重相同时将 AP 增加到 1.1%。

70762fbc572aad800a616dc3534330e3.png

从p3到p7的所有5个特征图都用于256通道的卷积,并将p4共享权重p3,p6共享权重p5,3x3大小的p7与其他权重分离。不同Head之间共享或不共享的不同模式(图 4)。

842a08316003e817a43609a427850c57.png

2、实验

2.1 COCO数据集

2.2.1 Head分析

2c08a9b72e19dd701b7307400d84f9da.png

2.1.2 NECK分析

dae033c96d3552994798dfef571ad8ea.png

2.1.3 Backbone分析

b52a6ef19220dd4a7308a5b61ba2a698.png

2.1.4 SOTA对比

27953d5472fea808a5156b970344b6d3.png

2.2 VOC数据集

bbf4c26273a9aa2560dd9dfd5648a8db.png

96b790413b65cc97628669bbd736cb8b.png

3、参考

[1].MobileDenseNet: A new approach to object detection on mobile devices

4、推荐阅读

轻量化Backbone霸主 | VGNetG成就“不做选择,全都要”轻量化主干网络!

三星提出XFormer | 超越MobileViT、DeiT、MobileNet等模型

ECCV2022 Oral | 全新Ancho-free检测模型ObjectBox,120FPS超越OTA、TOOD等

相关文章
|
19天前
|
算法
3D打印新突破!曼大等提出DQN多样化图形路径规划器:锐角转弯降低超93%,热变形减少25%
【10月更文挑战第28天】曼彻斯特大学等机构的研究人员提出了一种基于深度Q网络(DQN)的3D打印路径规划器,能够高效处理多样化图形结构。该规划器在多个应用中表现出色,包括线框打印、连续纤维打印和金属打印,显著提高了打印质量和效率。然而,其复杂性和可扩展性仍需进一步优化。论文链接:https://arxiv.org/pdf/2408.09198
34 6
【故障诊断】用于轴承故障诊断的性能增强时变形态滤波方法及用于轴承断层特征提取的增强数学形态算子研究(Matlab代码实现)
【故障诊断】用于轴承故障诊断的性能增强时变形态滤波方法及用于轴承断层特征提取的增强数学形态算子研究(Matlab代码实现)
169 0
|
21天前
|
编解码 人工智能 调度
Meissonic:高效高分辨率文生图重大革新
Meissonic的新模型,仅1b参数可实现高质量图像生成,能在普通电脑上运行,未来有望支持无线端文本到图像的生成。
|
4月前
|
机器学习/深度学习 人工智能 文字识别
一种基于YOLOv8改进的高精度红外小目标检测算法 (原创自研)
【7月更文挑战第2天】 💡💡💡创新点: 1)SPD-Conv特别是在处理低分辨率图像和小物体等更困难的任务时优势明显; 2)引入Wasserstein Distance Loss提升小目标检测能力; 3)YOLOv8中的Conv用cvpr2024中的DynamicConv代替;
450 4
|
6月前
|
机器学习/深度学习 算法 计算机视觉
基于yolov2深度学习网络模型的鱼眼镜头中人员检测算法matlab仿真
该内容是一个关于基于YOLOv2的鱼眼镜头人员检测算法的介绍。展示了算法运行的三张效果图,使用的是matlab2022a软件。YOLOv2模型结合鱼眼镜头畸变校正技术,对鱼眼图像中的人员进行准确检测。算法流程包括图像预处理、网络前向传播、边界框预测与分类及后处理。核心程序段加载预训练的YOLOv2检测器,遍历并处理图像,检测到的目标用矩形标注显示。
|
6月前
|
机器学习/深度学习 边缘计算 自动驾驶
【初探GSConv】轻量化卷积层直接带来的小目标检测增益!摘录于自动驾驶汽车检测器的架构
【初探GSConv】轻量化卷积层直接带来的小目标检测增益!摘录于自动驾驶汽车检测器的架构
450 0
【初探GSConv】轻量化卷积层直接带来的小目标检测增益!摘录于自动驾驶汽车检测器的架构
|
6月前
|
机器学习/深度学习 算法 PyTorch
【SAHI】即插即用| SAHI操作可有效解决小目标检测过程中的难点!实现涨点
【SAHI】即插即用| SAHI操作可有效解决小目标检测过程中的难点!实现涨点
388 1
|
6月前
|
机器学习/深度学习 编解码 数据可视化
即插即用 | 高效多尺度注意力模型成为YOLOv5改进的小帮手
即插即用 | 高效多尺度注意力模型成为YOLOv5改进的小帮手
402 1
|
存储 传感器 编解码
苹果、俄勒冈州立提出AutoFocusFormer: 摆脱传统栅格,采用自适应下采样的图像分割
苹果、俄勒冈州立提出AutoFocusFormer: 摆脱传统栅格,采用自适应下采样的图像分割
128 0
|
算法 数据可视化 前端开发
第三代软件开发-QCustcomPlot波形标注
欢迎来到我们的 QML & C++ 项目!这个项目结合了 QML(Qt Meta-Object Language)和 C++ 的强大功能,旨在开发出色的用户界面和高性能的后端逻辑。 在项目中,我们利用 QML 的声明式语法和可视化设计能力创建出现代化的用户界面。通过直观的编码和可重用的组件,我们能够迅速开发出丰富多样的界面效果和动画效果。同时,我们利用 QML 强大的集成能力,轻松将 C++ 的底层逻辑和数据模型集成到前端界面中。 在后端方面,我们使用 C++ 编写高性能的算法、数据处理和计算逻辑。C++ 是一种强大的编程语言,能够提供卓越的性能和可扩展性。我们的团队致力于优化代码,减少资

热门文章

最新文章