论文阅读笔记(十一)——Mobilenet-SSDv2: An Improved Object Detection Model for Embedded Systems

论文阅读笔记(十一)——Mobilenet-SSDv2: An Improved Object Detection Model for Embedded Systems

前言

太难了…昨晚强行过上了美国时间,在截稿时间上反复横跳,前阵子又去打美赛,呜呜呜呜…我要修仙了

还是赶紧找篇论文看吧…
在这里插入图片描述

1 论文简介

1.1 关于文章

论文名称:Mobilenet-SSDv2: An Improved Object Detection Model for Embedded Systems

1.2 关于模型

一个使用mobilenet的目标检测类文章

2 文章正文

2.1 摘要

目标检测在计算机视觉领域中占有重要地位。文献中提出了许多较好的目标检测算法;然而,它们中的大多数都是为了提高检测精度而设计的。因此,降低计算复杂度的要求通常被忽略。为了实现实时性,这些优秀的对象检测器需要使用高端GPU。本文介绍了一种基于Mobilenet-v2的轻量化目标检测模型。所提出的实时目标检测方法可应用于计算资源有限的嵌入式系统中。这是现代自动驾驶辅助系统(ADAS)设计的关键特征之一。此外,我们还将特征金字塔网络(FPN)与所提出的目标检测模型相结合,有效地提高了检测精度和检测稳定性。实验结果表明,所提出的轻量化目标检测模型在VOC数据集中达到75.9%的mAP值。与现有的Mobilenet-SSD检测器相比,该检测器的检测精度提高了3.5%左右。此外,当在Nvidia Jetson AGX Xavier平台上实现时,该检测器处理720p视频流的平均帧数为19帧/秒(FPS)。因此,提出的轻量化目标检测器具有广阔的应用前景。

2.2 Motivation&Contributions

PS: 这一段主要是方便我们以后写Introduction与Related Work

2.2.1 Motivation

总的来说,其实读了这么多篇,基本就是千篇一律,但是可以多学下几种不同的表达,这样有助于以后融合成一个~
在ADAS和自动驾驶汽车的开发中,目标检测是一个必不可少的功能。为了获得鲁棒和准确的目标检测器,许多基于机器学习技术的先进检测算法已经在文献中被提出。近年来,基于深度学习的卷积神经网络(convolutional neural network, CNN)方法在目标分类、目标识别和目标检测等应用上取得了显著的改进,成为一个紧急的研究课题。虽然深度CNN模型为目标检测和识别提供了非常强大和鲁棒的特征表示,但通常计算成本较高,需要一个高端的硬件平台来进行模型推理计算。然而,在自动驾驶汽车的应用中,对象检测处理通常需要在计算资源有限的嵌入式平台上进行。因此,只有网络规模小、计算量小的神经网络模型才能满足这种情况。如何将目标检测网络模型移植到嵌入式平台中运行,同时保持相当的准确性和稳定性,是自动驾驶系统开发中亟待解决的问题
目前主要的目标检测算法分为单阶段算法和两阶段算法。其中,只有单级算法能够在嵌入式平台上实现,具有实时性。SSD和YOLO是近年来最流行的两种单级目标检测网络。
之后,改进了损失函数的RetinaNet和基于FPN模型的M2det也是很好的目标检测方法。然而,为了提高准确率,这些新的目标检测器在特征提取网络的设计中使用了极高的计算骨干网,如VGG16或ResNet。这些骨干网对于嵌入式平台来说太大,无法实现实时处理速度。因此,当这些先进的对象检测器在嵌入式平台上实现时,实际应用的结果并不如预期的那么好。最后,大多数嵌入式平台仍然选择传统的SSD或YOLO检测器进行对象检测应用。
另一方面,的作者提到YOLO探测器在检测多目标密集和大型物体时并不有效。SSD检测器考虑了多个不同尺度的特征图,更适合于检测大量不同尺度、不同类型的对象。因此,在本研究中,我们决定采用SSD检测器,并对其进行改进,使改进后的检测器在提高目标检测准确率的同时,能够在嵌入式平台上实时执行。由于所提出的目标检测器需要在嵌入式系统中运行,因此神经网络模型的计算复杂度也是一个重要的设计条件。在自动驾驶系统中,物体检测器的计算必须满足快速和低延迟的特点。因此,一个小的、快速的、轻量级的特征提取网络是必要的选择。目前,Mobilenet-v2和Shufflenet-v2网络模型在计算速度和目标识别精度之间取得了很好的平衡。因此,考虑到嵌入式平台的局限性,我们选择了许多嵌入式平台支持的Mobilenet-v2网络作为设计所提出的轻量化目标检测模型的骨干网络。

2.2.2 Contributions

为了提高简化的目标检测网络模型的检测精度,我们还采用了Mobilenet-v2中的反向残差模块技术和FPN体系结构来提高我们提出的目标检测器Mobilenet-SSDv2的检测性能。实验结果表明,所提出的Mobilenet-SSDv2检测器在Pascal VOC[14]测试集中的mAP准确率为75.9%,在Nvidia Jetson AGX Xavier平台上运行的处理速度为19 FPS。此外,该检测器的内存占用仅为32MB,这对于现代嵌入式ADAS的开发具有一定的帮助

对比模型

VGG16-SSD

SSD是一种最流行的一级目标检测网络,用于多个检测应用。虽然其检测精度不如现有的两级目标探测器,但其主要优点是具有较快的计算速度。现有的VGG16- ssd网络架构如图1所示,采用VGG16网络作为对象检测器的骨干网模型。VGG16网络提供了六种不同维度的特征图供后端网络检测多尺度目标。然后,对网络模型的检测输出应用非最大抑制(NMS)过程。对于每一个有多个重叠检测输出的组,选择置信度最高的检测输出作为该组的最终检测结果。虽然VGG16网络模型具有良好的特征提取能力,但其网络架构对于嵌入式平台来说过于庞大。因此,在嵌入式系统上运行时,VGG16可能会超过最大的系统内存,很难实现实时性能。

Mobilenet-SSD

为了降低VGG16SSD检测器的计算复杂度,谷歌采用Mobilenet网络模型代替VGG16网络,提高了SSD检测器的实时性。图显示了现有的Mobilent-SSD网络架构,它使用称为Mobilenet-v2的第二代Mobilenet网络作为SSD检测器的骨干网络模型。Mobilenet-v2检测器继承了VGG16-SSD的设计,前端Mobilenet-v2网络提供6个不同尺寸的特征图,供后端检测网络进行多尺度目标检测。由于骨干网模型由VGG-16改变为Mobilenet-v2, mobilen - ssd检测器可以实现实时性,比现有的其他目标检测网络更快。表1显示了从VGG16-SSD和Mobilenet-SSD骨干网中提取的多层特征图的维数比较。从表中可以看出,第一层Mobilenet-v2网络提取的特征地图维数比VGG16网络提取的特征地图维数小两倍。因此,在相应的特征图上,对目标的检测范围Mobilenet-v2网络只是VGG16网络的一半。这一缺点导致在实际应用中Mobilenet-v2网络的检测精度较差。另一方面,由于Mobilenet-v2网络提供的38x38 feature map是一个较浅的feature,很难提取出有效的图像feature map。因此,在本研究中,我们尝试使用FPN模块融合Mobilenet-v2网络的输出特征图,在不增加过多参数的情况下,有效提高检测精度。

文章模型Mobilenet-SSDV2

MobileNetV2

大多数轻量级网络模型使用Mobilenet-v2作为骨干网。图4展示了Mobilenet-v2的网络架构,包括一个标准的卷积层和17个反向残差模块。如图所示,每个逆残差模包含一个1x1卷积层,一个3x3深度可分离卷积层(Dwise), batch normalize (bn)和Relu6激励函数。输出特征映射也与输入特征映射一起添加,而不改变其大小。使用逆残差模的优点是它可以有效地防止梯度消失的问题,从而在反向传播过程中正确地将梯度信息传递到更深的网络层,形成有效的训练。在传统的Mobilene-SSD中,特征映射通过1/16比例的卷积层下采样。这种设置会导致图像中小物体的检测效果差且不稳定。为了克服这个问题,在我们的网络架构中,我们提取了1/16和1/32比例的特征图。此外,在骨干网后加入四个反向残差模块,提取1/64、1/128、1/256、1/512比例的特征图。最后,通过FPN模块对这些不同尺度的特征图进行了增强。

Feature Pyramid Network (FPN)

在我们的检测网络架构中,骨干网提取的多尺度特征图可以直接作为后端检测网络的输入信息。但实验表明,该方法限制了后端检测网络的检测精度。为了克服这个问题,我们在骨干网的输出端添加FPN,以提高后端检测网络的性能。浅层特征图适合目标定位,但语义信息不足。深度特征图不适合定位,但语义信息足够。这种矛盾是单级目标检测器的常见问题。因此,在我们提出的检测网络体系结构中,我们融合骨干网获取的多尺度特征图来增强检测的性能。首先,我们使用1x1卷积层来统一每个feature map中的通道数量。接下来,我们调整每个不同比例的特征地图的大小,并将它们添加到一起。通过实验,我们发现多尺度特征图的融合过程可以有效提高后端检测网络的目标检测效果。此外,我们还在FPN网络中添加了逆残差模块,以改善融合过程中特征映射之间的信息传递。该方法在不增加模型参数数量的情况下,有效地改善了不同通道之间的信息传递。

EXPERIMENTS 实验

训练

数据集:Pascal VOC数据集
优化器:SGD
200epoch
初始学习率:0.001
在140epoch和180epoch时降低10倍

结果

下表中在Pascal VOC数据集上给出了与现有Mobilenet-SSD检测器的比较结果。首先,我们测试了将骨干网模型改为Mobilenet-v2的效果。

结果表明,改进后的方法比原方法的检测精度提高了0.6%左右。接下来,我们加入FPN模块对多尺度特征图进行融合,使得检测准确率提高了2.6%。因此,本文提出的Mobilenet-SSDv2检测器可以将检测精度提高到75.6%,映射在Pascal VOC数据集上。

这个结果比现有的Mobilenet-SSD检测器高出大约3.2%。在计算速度方面,本文提出的检测网络模型在Nvidia Jetson AGX Xavier上处理720p视频流时,在不使用FPN模块的情况下,平均帧率约为23fps。

加入FPN模块后,帧率仍然可以达到平均21帧/秒左右。现有的Mobilenet-SSD探测器的平均处理速度约为每秒17帧,与之相比,我们的探测器在处理方面有了显著提高速度。最后,我们的网络模型的内存容量是32MB,比现有的MobilenetSSD高7MB。

然而,所提出的检测器可以显著提高处理速度和检测精度。图5显示了我们的Mobilenet-SSDv2检测器在不同测试场景下的目标检测结果。

图5(a)显示了日间十字路口环境的测试结果。我们可以清楚地看到,我们的检测网络模型可以准确地检测出大量不同类型的物体,包括公共汽车、汽车、摩托车、行人。

图5(b)显示了夜间车道环境的测试结果,其中包含大量不同类型的轿车和卡车。测试结果表明,我们的检测网络模型也能在微光环境下准确检测各类轿车和卡车。

图5©显示了白天校园道路环境中有大量行人在道路上移动的测试结果。从测试结果可以看出,所提出的检测网络模型能够准确地检测出图像中每个行人的运动。因此,上述实验测试结果可以验证本文提出的Mobilenet-SSDv2检测器在各种场景下的检测精度和鲁棒性。

CONCLUSION

在本文中,我们提出了一种基于Mobilenet-v2骨干网改进特征提取的轻量级网络结构。我们结合Mobilenet-v2和FPN模型,增强输入图像的特征映射,有效提高后端检测网络的检测精度。在Pascal VOC数据集上,该检测网络的地图准确率为75.6%,处理速度为21 FPS。另外,整个网络模型的内存容量约为32MB。这对于资源有限的嵌入式平台来说是一个巨大的优势。实验结果表明,所提出的Mobilenet-SSDv2检测器不仅保留了原有Mobilenet-SSD检测器处理速度快的优点,而且大大提高了检测精度。这些优点表明本文提出的Mobilenet-SSDv2检测模型更适合于嵌入式平台。在未来的工作中,我们将继续优化我们的检测网络模型,包括减少内存使用和提高网络计算速度。

收获

我也想发应用文了,呜呜呜

  • 2
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值