首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

基于模块化轻量级网络的道路目标检测

汽车学堂,www.auto-mooc.com

隶属清华大学苏州汽车研究院旗下清研车联

专注汽车新技术人才培养

来源 |同济智能汽车研究所(感知前沿研究组)

编者按:模块化轻量级深度学习网络可以实现道路物体检测性能的提高,针对当前道路上远距离小物体的检测挑战,该方法充分融合上下文信息,能够同时兼顾较高的检测准确度和检测速度。训练结果表明,本文提出的模块化特征融合方法,能够达到比当前先进网络模型更高的检测精度,并且具有相近的检测速度。

文章收录于:

Computer Vision and Pattern Recognition

原文题目:

"Detecting The Objects on The Road Using Modular Lightweight Network"

原作者:

Sen Cao, Yazhou Liu, Pongsak Lasang, Shengmei Shen

摘要:本文介绍了一种用于道路物体检测的模块化轻型网络模型,尤其是当物体远离摄像机且尺寸较小时,例如汽车,行人和骑行者。深度网络已取得很大进展,但小型物体检测仍然是一项具有挑战性的任务。为了解决这个问题,大多数现有方法利用复杂的网络或更大的图像尺寸,这通常导致更高的计算成本。本文所提出的网络模型被称为模块化特征融合检测器(MFFD),使用快速且有效的网络架构来检测小物体。其贡献在于以下几个方面:1)设计了两个基本模块用于高效计算:前端模块(Front module)减少了原始输入图像的信息丢失; 微模块(Tinier module)减小了模型尺寸和计算成本,同时确保了检测精度。2)通过堆叠基础模块,本文设计了一个用于多尺度物体检测的上下文特征融合框架。3)所提出的方法在模型大小和计算成本方面是有效的,其适用于资源受限设备,例如用于高级驾驶员辅助系统(ADAS)的嵌入式系统。与具有挑战性的KITTI数据集的现有技术进行比较,揭示了本文所提出方法的优越性。特别是,在Jetson TX2等嵌入式GPU上可以实现100 fps。

关键词: 物体检测;先进智能驾驶辅助系统 (ADAS);深度学习;轻量化网络;模块化网络

1

前言

卷积神经网络(CNN)在许多计算机视觉任务中产生了令人印象深刻的性能改进,例如图像分类 [1-7],物体检测[8-16]和图像分割 [17-20]。自从AlexNet [5]通过赢得ImageNet Challenge ILSVRC2012 [21]推广了深度卷积神经网络,研究提出了许多创新的CNN网络结构。Szegedy等人 [4] 提出了一个“初始”模块,它由许多不同大小的卷积核组成。He等人 [1] 提出了在多个层上跳跃连接的ResNet。黄等人 [2] 提出可以从任何层直接连接到所有后续层的DenseNet,从而可以训练超过200层的非常深的网络。因为这些优秀的网络架构,许多视觉任务的质量正以惊人的速度增长。其中,物体检测广泛应用于智能监控,安全系统和自动驾驶,是最受益的领域之一。

在过去几年中许多研究已经提出了基于CNN的最先进的物体检测方法,例如RCNN [22],Faster RCNN [12],YOLO [23],SSD [10]等。这些检测系统大大提高了检测任务的准确性。但是,这些检测方法有两个显著的局限性:

1)网络架构层次深且复杂。为了实现更高的准确性,总的趋势是使网络更深入,更复杂。最近的证据表明,网络深度至关重要,而具有挑战性的ImageNet数据集的主要结果都是利用“非常深”的模型。如VGG [4]和ResNet[24],层数从19到超过100,都在ImageNet ILSVRC分类任务中获得第一名。

许多常见的物体检测任务也从层次非常深的模型中获益匪浅。例如,Faster RCNN和SSD都使用VGG作为骨干网络。然而,考虑到尺寸和速度方面,这些提高准确度的改进并不一定使网络更有效。不断深化的网络结构带来的问题之一是模型规模越来越大,计算预算越来越高。在诸如机器人,自动驾驶和增强现实的许多现实世界应用中,需要在计算有限的平台上及时地执行对象检测任务。

2)检测小物体的性能不佳。大多数早期对象检测方法仅使用最后一个要素层进行检测,例如,R-CNN使用来自选择性搜索 [25] 或边框 [26] 的区域提议来生成基于区域的特征,并采用SVM来做分类。YOLO [27]将输入图像分成几个网格,并使用最后一个特征图图层对每个部分进行定位和分类。通常,最后一层对应于原始图像中较大的感受野,这使得小物体检测变得困难。

此外,这些对象建议方法已经被证明可以在流行的ILSVRC [21]和PASCAL VOC [28]检测基准中实现高召回性能和令人满意的检测准确度,这需要宽松的标准,即如果交并比(IoU)超过0.5则被认为是正确的。然而,这些对象提议方法在严格的标准(例如IoU> 0.7)下被认为是错误的,例如在KITTI [29]基准测试的巨大挑战中,它们的性能几乎不令人满意。FCN [30],SSD [10]和YOLOv3[31]的最新进展通过融合多尺度特征图的检测为细微单元分析提供了新的视角,这也激发了本文的模型设计。

在解决上述问题时,本文的模型设计原则是:以更高的速度追求小物体的竞争精度,该模型可用于无人机,机器人和手机等计算和存储有限的平台。本文开发了一种新型检测器,称为模块化特征融合检测器(MFFD)。本文的贡献总结如下:1)设计了两个简单而有效的基础模块作为网络的构建模块:前端模块(Front module)通过利用具有小尺寸卷积核的更多卷积层来减少原始输入图像的信息损失; 微模块(Tinier module)在传统卷积层之前使用逐点卷积层来减小模型尺寸和计算,同时确保检测精度。2)通过以不同方式组合构建块,模块,可以有效地生成模块化检测框架,该框架能够融合来自不同尺度的上下文信息以用于小对象检测。3)所提出的模型在模型尺寸和计算成本方面是轻量级的,因此它适用于诸如ADAS的嵌入式系统。基于广泛使用的KITTI数据集的评估证明了本文所提出的检测方法在准确性和速度方面的有效性。本文的其余部分安排如下。第2节简要概述了相关工作;第3节详细介绍了Front模块,Tinier模块,并描述了MFFD架构。实验结果和比较在第4节中提供。最后,在第5节中总结了这项工作。

2

相关工作

在本节中,本文将从三个方面简要回顾相关工作的进展:对象检测框架,轻量级网络设计和小对象检测。

A. 物体检测框架

在过去几年中,主要由于深度学习的进步,更具体地说是卷积神经网络[1,2,4,5],物体检测的性能已经以惊人的速度得到改善。RCNN[9]首次证明CNN可以在PASCAL VOC上实现更高的物体检测性能。RCNN包含四个步骤:1)使用选择性搜索 [25]从输入图像中提取大约2000个自下而上区域提议; 2)使用卷积神经网络(CNN)计算每个提议的特征; 3)使用类特定线性SVM对每个潜在对象区域进行分类; 4)后处理用于细化边界框,消除重复检测,并基于场景中的其他对象重新排列框。R-CNN需要高计算成本,因为每个区域分别由CNN网络独立处理。Fast R-CNN [32]和Faster R-CNN [12]通过共享计算和使用神经网络生成区域提议来提高效率。

RCNN,Fast RCNN, Faster RCNN和其他调整模型通过使用深度CNN将对象提议分类,从而实现出色的对象检测精度。它们可以概括为基于区域提案的方法。然而,这些基于区域建议的方法有几个明显的缺点:1)训练是一个多阶段的流程; 2)训练非常耗费空间和时间; 3)对象检测很慢。此外,还提出了一些实时物体检测方法,如YOLO [11],YOLOv2 [33]和SSD [10]。这些方法可以概括为基于回归的方法。YOLO使用单个前馈卷积网络直接预测对象类别和位置,这可以在速度和准确度之间实现良好的权衡。

SSD [10]将边界框的输出空间离散化为不同宽高比和比例的一组默认框。它在几个方面改进了YOLO [11]:1)使用小卷积核来预测边界框位置的类别和锚点偏移; 2)使用金字塔特征进行不同尺度的预测; 3)使用默认框和纵横比来调整不同的对象形状。基于回归的方法获得了竞争准确性并打破了速度瓶颈。

B. 轻量级网络设计

对于CNN模型,网络架构设计起着重要作用。为了实现更高的准确性,构建越来越大的卷积神经网络(CNN)是主要趋势。最近的证据[3,24,34,35]也揭示了网络深度至关重要,各种基准数据集的突破都利用了“非常深”的模型。较大的网络在基于GPU的机器上表现良好,但是,更深层次的网络架构通常不适用于内存和计算能力有限的小型设备。

最近,在计算和存储器受限设备上运行高质量深度神经网络不断增长的需求促进了对轻量模型设计的研究。例如,Han等人 [36]提出了三阶段流程的“深度压缩”:修剪,量化和熵编码,这可以减少神经网络的存储需求。福雷斯特等人 [37]设计用于构建SqueezeNet的Fire模块,可在保持准确性的同时显着减少参数和计算量。

安德鲁等人 [37]提出使用深度可分离卷积的MobileNet来构建轻量级网络。詹等人 [38]提出ShuffleNet,它利用两个操作,例如逐点组卷积和信道混洗。马克等人 [39]提出了一种名为MobileNetv2的新移动架构,它基于倒置残差结构。这项工作大大减少了操作次数和内存成本,同时保持了相同的精度。之前的作品表明轻量级的网络架构也可以实现很好的计算量和时间成本较低的性能。

C. 小物体检测

虽然在物体检测方面取得了巨大进步,其余的开放挑战之一是检测小物体。上下文信息是寻找小物体的关键。贝尔等人 [40]引入自上而下的结构将不同层次的特征结合在一起,以增强小物体检测的能力。对于行人检测,Park等人 [41]使用地平面估计作为上下文特征以改进小物体检测。对于脸检测,Zhu等人 [42]同时提供围绕面部和身体的池化ROI特征来检测得分并且展示了小物体检测的改进。最近,SSD [10]和YOLOv3 [31]通过融合检测多尺度特征图对细微单元分析有了新的认识,如图1所示。

图1. 结合多个特征图的小物体检测流程

RRC [43]是最近针对小物体的突破之一检测,RRC基于递归滚动卷积多尺度特征映射的体系结构来构造对象分类器和边界框回归量。对KITTI数据集的评估证明上下文信息对于提高小物体检测非常重要。但是,RRC也有两个缺点:1)训练时间长。该递归滚动卷积结构提高了检测性能,但这也导致更长的训练时间。2)高分辨率输入图像导致高计算成本。RRC在输入层中将图像大小扩展了2倍,这将大大增加计算量。这些缺点使得RRC不能直接适用于较小的内存和计算能力有限的设备。

由于这些出色的物体检测和特征融合方法,它们给了本文的网络设计灵感。该MFFD建立在YOLO框架之上,它将物体检测视作回归问题,在空间上分离边界框和类别预测概率任务。

3

模块化轻量级网络

在计算机视觉任务中,卷积神经网络(CNN)已经显示出优异的性能[1-3,5,10,17,32,44],其中网络架构设计起到了重要作用。为了达到更高的准确性,设计越来越大的卷积神经网络是主要的趋势,如[2,3,45,46]。但是,更深的网络体系结构通常不适合较小的有限存储和计算能力的设备。因此,我们特别为计算和内存有限的设备,如高级驾驶辅助系统(ADAS),开发了模块化轻量级网络模型。

本文所提出的网络被称为模块化特征融合检测器(MFFD)。它包含两个主要高效计算模块:前端模块利用更多具有小尺寸过滤器的卷积层从原始输入图像中减小信息丢失; Tinier模块在传统卷积层之前使用逐像素卷积层减少模型大小和计算,同时确保了检测精度。通过将这些模块堆叠到检测流程,可以研发一个能够检测小物体的轻量级网络。

A. 减小网络参数

众所周知,卷积层中的参数个数与输入通道的数量,卷积核的尺寸和卷积核的数量有关。考虑一个卷积层它完全由3×3卷积核组成,总量为该层中的参数可以计算为:

其中Tl是lth层中参数的总量,Ml代表输入特征图的通道数,Nl是卷积核数量,也表示输出通道数量。

因此,减少参数数量和计算复杂度有两种策略:(1)减少3×3卷积核的数量,称为Nl; (2)减少3x3卷积层的输入通道数,这被称为Ml。本文选择第二种策略,并且在每个3×3卷积之前使用1×1卷积减少参数(也称为[37]中的逐点卷积)。

1×1卷积核在本文的方法中有两个重要作用:

(1) 添加非线性。在传统的CNN中,卷积层采用线性卷积核的内积和潜在的感受野,然后是在输入的每个局部部分的非线性激活函数。当潜在概念实例线性可分时,这种线性的卷积足以抽象。然而本方法希望提取的特征总体上是高度非线性的,这需要一套非常完整的卷积核来覆盖所有变量。常规3×3卷积之前对于每个像素的1×1卷积对应于不同通道的线性组合。因为卷积层的输入是具有多个通道的三维结构,而不是平面结构,网络模型可以很大程度实现来自不同通道的特征图的空间信息融合。这种操作有效地增加了决策函数的非线性而不影响感受野和神经网络的表现力。

(2) 减少参数数量。在深处卷积神经网络中,输出特征图中存在冗余 [47,48]。[47]中使用的方法是设计一个阈值函数来评估输出特征图的重要性以及删除不重要的通道。我们用另一个通过1×1卷积核减小输入尺寸的方法,不仅要减少模型参数,还要减少特征图冗余的影响。

B. 设计块:微模块和前端模块

随着设计非常深的CNN的趋势,最先进的网络[34,37,44]通常包括重复利用具有相同结构的块或模块。通常,精心设计的模块能够实现更好的性能并且复杂度低。所以,为了采取模块结构的优点,本方法提出了Tinier模块和前端模块。如图2(b)所示,是一个Tinier模块由两个1×1卷积层和两个组成3×3卷积层,其中1×1层用于降低维度。每个卷积层后面都是批量归一化和ReLU [49]操作。

受Inception-v3 [44]和v4 [34]的启发,如图2(a)所示,本方法定义Front模块为:三个3×3卷积层的堆栈,然后是最大2×2池化层。首先卷积层使用步长为2,另外两个是步长为1。我们观察到,在我们的实验中,添加这个简单的Front模块可以明显改善我们的模型性能。可能的解释是,由于下采样应用于前端模块的末尾,卷积层具有可以减少原始输入图像信息丢失的大特征图。

图2 前端模块和Tinier模块结构

C. 模块化特征融合检测器

基于构建模块:上一节提出的Tinier模块和Front模块,我们将介绍多尺度物体检测框架。基本的想法也融合了特征图中不同的上下文的信息,如图1所示。该区别在于网络不是由单个层构建,而是来自于为高效计算而设计的有效模块。这就是我们提出的方法称为模块化检测器的原因。

为了进行直接的比较,我们将继续提出三种模式。第一个模型是单阶检测器,类似于YOLOv2,并没有特征融合网络。该模型用作参考模型。另外,本文使用两种不同的策略提出了两种特征融合模型。在接下来的部分我们将详细介绍这些模型。

单阶检测参考模型如图所示图3(a)。我们的目标是建立一个具有竞争性能的轻量级检测器,因此作为参考的检测器相对简单,包含一个Front模块和四个Tinier模块的集成。最后的检测器层是1×1线性激活的卷积层,其定义为类似于YOLOv2[33]。它以步长为2对除最后一个以外的Tinier模块执行最大池化处理。完整的参考模型架构详见表1.对于检测器层,卷积核的数量由类的数量决定,因此我们将其表示为n。以VOC为例,预测5个预测框,每个5个坐标和20个类别,需要125个输出卷积核。参考模型的总参数大小是3.6M,比其他小模型存储容量小,例如,Fast YOLO和Tiny YOLO,分别少27.1M和15.8M。(注明,我们在这里计算参数数量,而不是模型尺寸)

图3 模块化检测器的框图。(a)用作参考的单阶检测器模型。(b)前上下文融合模型称为MFFD_A(c)后上下文融合模型,称为MFFD_B。

表1 参考模型的详细信息和各自代表1×1卷积核和3×3卷积核

从参考模型开始,为了利用上下文信息检测小物体,我们开发了两种模型,融合了不同层次的特征并在融合特征图中预测物体。这两个结构模型如图3(b)和(c)所示。

第一个融合模型是前上下文信息融合模型,在图3(b)中称为MFFD_A。这个检测器有两个分支:1)低分辨率分支,完全采用与图3(a)中的参考模型相同的结构并以10×18的尺寸执行检测; 2)高分辨率分支结合了Tin.3的特征图并且级联了Tin.4的上采样特征图,并在20×36尺寸上进行检测。高检测速度是我们的目标之一,但更多融合操作和大特征图融合将增加计算成本,因此我们只融合了最后两层的特征,在速度和精确度之间取得良好的平衡。由于在特征融合之前应用了低分辨率检测,该模型称为前上下文融合模型。

第二个融合模型是后上下文融合模型,在图3(c)中称为MFFD_B。为了探索低分辨率和高分辨率检测的上下文信息,我们推迟了特征融合后的分辨率检测。具体来说,1)前端模块和Tin.1-Tin.4模块是从参考模型中复制(唯一的区别在于Tin.4,为了减少计算,1×1卷积的数量从1024变为512)。2)来自Tin.3和Tin.4的特征图以20×36的尺寸连接在一起,分辨率检测按此规模进行。3)还有一个Tinier模块用于减小尺寸,低分辨率检测以10×18大小进行。

比较图3中的模型,这三个模型都有类似的骨干网络结构。MFFD_A再加一个Tinier模块以高分辨率检测,MFFD_B添加两个Tinier模块,用于两个分辨率检测以合并上下文信息。因此,MFFD_B的计算成本略高于其他。

为了对特征融合的作用有一个直观的理解,我们绘制三种模型的热成像检测图,如图4所示。四条街具有不同尺度的物体的检测图展示在(a)-(c)中(参考模型,MFFD_A和MFFD_B 的热成像图从上到下列出)。显然,特征融合的作用非常令人印象深刻,并且检测性能已经两个方面有所改进:第一,通过使用上下文信息的MFFD模型定位精确度比参考模型准确;第二,小物体,如行人和远离相机的车,对MFFD模型显示出强烈反应。

图4 三种模型的热成像检测图。(a)-(d)提供4条不同街道的热图图像视角。从上到下,分别为参考模型、MFFD_A和MFFD_B的热图。

4

模型训练与实验

在本节中,我们在KITTI基准数据集评估MFFD。首先,我们调研一些关于MFFD方法的重要设计因素。然后我们将MFFD与最先进的轻量级模型作比较。最后,在不同的平台上,如GPU,CPU和一些嵌入式GPU,我们从精度、模型大小、预测时间角度分析了不同模型的表现。

A. 数据集和训练细节

数据集:由于这项研究的背景是基于ADAS的物体检测,检测目标主要是道路上的物体,如行人或车辆。因此,本节中使用的基准数据集是定义良好的KITTI [50]检测数据集。KITTI数据集包括7481个用于训练的图像和7581个用于测试的图像,总共80256个标记对象。具体地说,本文最主要采用三大类图片:车,行人以及骑行者。

每个类的评估有三个难度级别:Easy,Moderate和Hard,它们是根据被检测对象的遮挡,大小和截断级别定义的。查看[50]以获得这些难度级别的详细定义。由于测试集的真实标签不能公开供研究人员使用,同[51],我们将KITTI训练图像集划分为训练和验证集来评估我们的方法。

应该注意的是,针对具有不同参数设置的不同类别(例如输入图像大小)训练各个检测器可能会提高在此数据集上的检测性能。对于我们的情况,由于应用场景是ADAS,因此不仅需要考虑检测精度而且还需要考虑计算成本。因此,所有评估都由具有多类检测输出的单个检测器提供。

实施:后端深度学习框架是由Redmon和Farhadi [27,31]引入的Darknet,它是一个用C语言编写的轻量级框架,可以很容易地部署在许多平台上。

KITTI数据集的图像编号不足以进行深度模型训练,模型预训练对于模型参数初始化是必需的。我们使用随机梯度下降(SGD)在ILSVRC 2012分类数据集上预先将MFFD训练16个迭代周期,起始学习率为0.1。基于预训练模型,然后我们在Nvidia TianX GPU平台上用KITTI数据集训练MFFD,批量大小为4,此批量大小只需要少量GPU内存,因此可以在有限的时间内轻松训练所提出的模型。为了学习,使用动量为0.9的随机梯度下降(SGD)进行优化。权重衰减设定为0.0005。MFFD训练总共160个迭代周期,起始学习率为0.001,起始学习率在达到60和90个迭代周期时都除以10。在训练期间,我们使用标准数据增强技巧,包括旋转,色调,饱和度和曝光偏移。

B. 特征融合评估

在本小节中,我们将定量评估特征融合的贡献。在这些实验中,同[28],如果预测边界框与真实标签的交并比(IOU)高于0.5(这应用在 PASCAL VOC测试中),则判断此预测框为正确。本小节不考虑难度级别,因此测试结果与以下部分略有不同。我们采用平均精度(mAP)作为评估检测性能的度量。

本节评估了四种变体。单尺度检测器,其结构为参考模型结构,如图3(a)所示,具有单个检测流程,最终特征图尺寸为10×18×1024。多尺度检测器的结构非常接近单尺度检测器,唯一的区别是检测层连接到Tin.3和Tin.4的输出,其特征图尺寸分别为20×36×512和10×18×1024。这种多尺度路线的灵感来自SSD [10],并且在没有特征融合的情况下将两个单独的特征图独立检测。MFFD_A和MFFD_B是本文介绍的特征融合模型,其结构如图3(b)和(c)所示。

评估结果总结在表2中,其中最好的检测结果标记为粗体红色,其次标记为粗体蓝色。如表2所示,如果我们仅以空间特征尺寸为10×18的单一尺度预测对象,则mAP(第1行)为56.95%。如果我们在两个不同的空间尺度(10×18和20×36)上应用检测,则mAP增加到61.13%(第2行)。特别是,行人和骑行者等小物体的检测性能得到了显著提高。这证明较大的特征图有益于小物体检测。

另外,除了多尺度检测之外,特征融合模块应用于MFFD_A(第3行)和MFFD_B(第4行),并且可以观察到更大的性能提升。他们以大幅度击败了多尺度检测器,并将mAP提高了7.35%和11.58%。这些有希望的结果受益于上下文信息的使用。此外,结果表明MFFD_B融合模块的检测性能比MFFD_A融合模块高4.3%。应该注意的是,MFFD_A融合模块在检测速度方面更具竞争力,这将在以下小节中介绍。

由于本文的重点是模块化特征融合检测器,因此不再详细讨论单尺度和多尺度检测器,并且针对现有技术的定量评估仅应用于MFFD模型。

表2 特征融合的贡献

C. 与先进方法的比较

在该小节中,将所提出的MFFD检测器与为道路物体检测设计的现有先进技术进行比较。其中有一些非常有前景的模型,如RRC[43],但由于我们的工作是轻量级模型,并且考虑了精度和计算成本,因此我们选择一些轻量级基线进行比较。选定的轻量级基线是:Pose-RCNN [52],Faster-RCNN [12],FYSqueeze [53],HNet [54],tiny-det [55],ReSqueeze [56],Vote3Deep [57]。为了评估,我们计算了不同难度级别的汽车,行人和骑车人的精确召回曲线,这些曲线用于官方KITTI排名。根据标准的KITTI设置,汽车的IoU阈值为70%,行人和骑车者的阈值为50%。为了对不同的方法进行排序,我们还计算平均精度(AP)。

图5绘制了所有基线的精确召回曲线。从上到下,给出了不同类别的结果,例如汽车,行人和骑车人。从左到右,呈现出不同难度级别的结果:简单,中等和困难。本文提出的方法MFFD_A和MFFD_B以蓝色曲线绘制。我们可以看到在大多数情况下,MFFD检测器性能极具竞争力。

为了对所有方法进行更直观的比较,表3给出了不同级别、不同类别的物体检测的平均精度(AP)。在表中3,我们用深红色来标记最好的方法以及深蓝色来标记第二好的方法。可以看出,对中等检测难度的车和困难检测难度的行人,本文提出的MFFD_A得到了最佳的检测结果,对简单检测难度的车和困难检测难度的骑车者获得了第二的检测结果。对于简单检测难度的车,MFFD_B获得最佳结果,对于困难检测难度的车、困难检测难度的行人以及中等检测难度的骑车者,轻松获得第二好的结果。应该指出的是,虽然是MFFD在所有情况下都没有得到最好的结果,显然MFFD和最佳方法之间的差距很小。例如,对于中等检测难度的行人,MFFD的精度是65.46%,比最佳方法慢1.28%。图6显示关于KITTI测试集的一些检测示例。

图5 汽车,行人和骑车人在不同难度级别的精确召回曲线。本文提出MFFD用蓝线表示。

表3 不同方法在KITTI验证集的比较

图6 使用MFFD_A在KITTI测试集上物体检测结果的示例。对于每个图像,一种颜色对应于该图像中的物体类别。

D. 模型尺寸以及运行时间

为了证明本文提出的模型计算效率,表4提供了每张图像的平均测试时间(秒)。我们在不同的平台上,例如CPU,GPU和 嵌入式GPU评估测试时间。具体来说,CPU是2.70 GHz的i7-6820HQ,GPU是Nvidia 1080Ti,以及嵌入式GPU是Nvidia Drive PX2和Jetson TX2。

不同的深度学习后端可能导致不同的运行时间。为了公平地比较,本小节中的所有基线具有完全相同的后端和运行环境,因此,他们的模型大小和预测时间可以直接比较。具体来说,因为我们的后端是Darknet,我们采用两种广泛使用的轻量级和快速网络模型YOLOv2-Tiny[33],YOLOv3-Tiny [58]作为基线并将其与本文提出的MFFD_A和MFFD_B检测器进行比较。所有方法的模型大小,mAP和运行时间如表4所示。应该注意,即使是基线YOLOv2-Tiny [33]和YOLOv3- Tiny [58],我们也在KITTI数据集上重新训练了模型,并使用和MFFD相同的图像大小和训练参数。

如表4所示,我们有以下观察:

1)从准确度的角度出发,本文提出的方法大幅度超越参考模型。特别是MFFD_B的mAP为72.71%,比YOLOv3-Tiny高出10%以上,MFFD_A以68.48%为第二高的检测结果。

2)在模型尺寸方面,MFFD_A是最好的,只有29.7MB。YOLOv3-Tiny其次,34.7MB,MFFD_B和YOLOv2-Tiny相对较大,分别为55.6MB和63.5MB。

3)关于运行时间,在所有的平台上,YOLOv2-Tiny和 YOLOv3-Tiny比本文提出的方法都要快。但应该指出的是,即使本文提出的模型速度较低,但差异不大,实际上所有的方法都很快。拿最慢的一个MFFD_B为例,它仍然可以在嵌入式GPU,Jetson TX2上以100fps运行。

另外,我们绘制模型尺寸和mAP的散点图,GPU_time和mAP的散点图,见图7(a)和(b)。(a)显示MFFD_A通过更小的尺寸和获得更好的性能,更高的mAP。(b)表明在精度和速度之间存在权衡。所以,一般来说,如果准确,模型大小和运行时间是联合考虑的,MFFD_A是非常有竞争的模型;反之,从性能和测试速度的角度考虑,MFFD_B是不错的选择。

表4 不同方法从mAP,尺寸,检测时间角度的比较

图7 (a):尺寸与精度(mAP)(b):速度与准确度。如果方法的尺寸较小(或时间较短),则获得更高的mAP,它比其他方法更好。因此,图中左上角的方法代表了更好的结果。

5

结论

在本文中,本文设计了一种新的轻量级网络,模块化特征融合检测器(MFFD),用于ADAS应用程序背景中检测道路上的物体。首先,网络的组件不是个别层,而是精心设计的模块,并且用这些模块构建网络可确保高效性能和计算效率。其次,本文已经开发出两个不同的特征融合模型来添加用于检测的上下文信息。受益于轻量化的模块化设计,MFFD可以部署在内存和计算资源有限的平台。本文提出的方法已经在不同平台上进行了测试,例如CPU,GPU和嵌入式GPU。本文在公众可用的KITTI检测数据集进行评估,从性能,模型大小和运行时间方面,证明了本文所提出的方法非常有竞争力。即使这些方法是在ADAS的背景下提出的,它可能在其他嵌入式系统中有潜在的应用,比如机器人或无人机。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190906A0HT6V00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券