一种基于嵌入式平台的轻量化目标检测识别方法

2021-09-18 07:49赵会盼乔任重张学军
计算机与网络 2021年15期
关键词:嵌入式

赵会盼 乔任重 张学军

摘要:针对在嵌入式平台上采用深度学习目标检测识别模型很难在精度和速度之间保持平衡的问题,提出一种基于深度可分离卷积块和反向特征融合结构的方法对YOLOv3模型进行改进,并通过基于距离的非极大抑制和损失函数的设计(DIoU-NMS和DIoU-Loss),最终实现在快速目标检测的同时提升了检测准确率。实验结果表明,在VOC2007+2012数据集上,实时性满足79FPS的同时mAP可达到80.22%,并在Jetson AGX Xavier嵌入式平台进行了测试。

关键词:嵌入式;深度可分离卷积;反向特征融合结构;DIoU

中图分类号:TP391文献标志码:A文章编号:1008-1739(2021)15-55- 6

0引言

随着自然科学与现代化技术的迅速发展,安防、交通等领域的多样化需求环境对目标检测的速度和精度要求越来越高。而由于目标环境复杂、光照情况差异及目标遮挡不同等因素,传统的检测技术难以满足当前社会的现实需求。

深度学习的出现极大程度地促进了相关问题的解决和相关技术的高速发展。神经网络的相关模型早在上个世纪就被研究者提出,近年来随着GPU和CUDA的发展,计算机的计算能力得到爆发性提高,卷积神经网络在计算机视觉目标检测领域的应用中取得突破性进展。2014年,Ross B.Girshick将CNN用于目标检测,提出了基于卷积神经网络的目标检测算法的开山之作———R-CNN算法;2015年,Girshick提出了Fast R-CNN,同年Ren等人[1]提出了Faster R-CNN,并提出RPN算法,进一步减少了检测识别的时间开销。在此基础上,后续学者提出了RFCN、Mask R-CNN等two-stage目标检测框架,需要首先生成候选区域,在其基础上进行分类判断和位置计算。另一类检测识别框架直接得到目标的位置坐标以及类别概率,称为one-stage目标检测框架。2015年,Redmon等人提出YOLO框架,直接将目标检测问题转化成一个回归问题,检测过程无区域生成步骤,速度非常快;2016年,刘伟等人集成RPN、YOLO及多尺度思想,提出了SDD算法,改善了YOLO定位准确性低的问题;YOLO研究团队[2]于2017年推出了YOLO v2版本,于2018年提出了YOLO v3,在准确度和速度上均取得了较大突破。

然而,现有卷积神经網络不能很好地适应现今的智能移动端设备,尤其是在目标检测这类复杂度较高的任务中,算力和内存空间成为模型在移动端部署的两大瓶颈。因此,最近的很多研究成果旨在减少模型计算量和模型参数,然而,目标检测模型通常输入分辨率较大,同时网络结构较复杂,还可能包括多个输入以及一些后处理,这些都对目标检测技术应用于嵌入式平台提出了更高的要求。

本文提出一种基于嵌入式平台的轻量化目标检测识别方法,以YOLOv3模型为基础,采用深度可分离卷积代替全卷积,减少模型整体参数量;采用反向特征融合结构,提升检测性能;采用基于距离的非极大抑制方法,优化边界框的回归并在模型训练过程中采用基于距离的边界框回归损失函数,提升模型训练效率,并最终应用于嵌入式平台,在满足目标检测器实时性要求的前提下,有效提高了检测准确率。

1模型整体架构

轻量化的网络模型旨在保持模型精度的基础上进一步减少模型参数量和复杂度,一般通过网络结构设计和模型压缩2种方法实现。本文以设计一种轻量化深度学习网络实现,模型结构如图1所示。该模型的特征提取网络以Darknet53网络为基础,借鉴MobileNetv2主干网络来进行轻量化设计,称为MobileDarknet。其中,MobileNetv2是专为移动端设计的小型网络[3],通过深度可分离卷积块大大减少计算量的同时,保持了很高的准确率,且对硬件资源较为友好,在ImageNet公共数据集上达到了72.0%的Top-1准确率。

在特征提取网络MobileDarknet的后面,使用了改进后的特征金字塔网络(Feature Parymid Network,FPN)进行特征融合[4],且为了降低计算量,将网络中所有的3×3全卷积层替换为3×3的逐通道卷积与1×1的逐点卷积的组合。改进后的特征金字塔网络增加了一个反向特征融合结构[5-6],如果模型输入为416×416的3通道可见光图片,经过特征提取网络后输入到改进特征金字塔网络的3种有效特征图的尺度分别为下采样8倍,16倍,32倍的52×52,26×26,13×13大小的特征图,反向特征融合结构将经过FPN的特征图再进行反向下采样,最后使上采样和下采样的各层特征图进行融合,这样得到的特征图中就充分融合了低层特征图的空间信息和高层特征图的语义信息,即加强了多尺度特征信息的融合,对检测精度有较大提升。

将经过解码的3个检测头预测的检测框位置和类别信息通过基于距离的非极大值抑制进行筛选,最终获得检测结果。

2深度可分离卷积块设计

2.1深度可分离卷积原理

标准的卷积块操作实现了通道相关性和空间相关性的联合映射。深度可分离卷积块主要是以逐通道卷积和逐点卷积组成,将标准卷积结构进行了拆分,分为逐通道卷积和逐点卷积,其背后的理论假设为:卷积层通道间的相关性和空间相关性是可以退耦合的,将它们分开映射,能更好地降低网络的参数量,原理图如图2所示。

2.2逆置残差结构

由于采用深度可分离卷积不可避免地带来特征信息的损失,为了模型学习目标特征的能力有更好的保證,本文借鉴ResNet的思想,将每个深度可分离卷积块加入逆置残差结构。逆置残差结构的思想是,先将较小的特征图采用逐点卷积升维,即扩大特征图增加特征通道数,再通过逐通道卷积进行特征提取,获得更丰富的目标特征,最后用逐点卷积降维,即压缩特征图减小通道数。这样深度可分离卷积块在输入和输出端的参数量不多,同时也保证了逐通道卷积有较多可提取的目标特征信息。

2.3线性卷积层

通常情况下,在每个卷积层后面都会使用非线性激活函数ReLU,增加特征稀疏性来提高特征的鲁棒性,但如果利用多层非线性激活有可能产生过度稀疏,使模型学不到有效特征,尤其是在低维空间通道数较少时。因此,为了避免特征的破坏,在每个深度可分离卷积块的最后一层设置为线性卷积层,且每个线性卷积层之间采用跳连,促进数据在层间的流动并进行线性映射保护特征。

整体上来说,深度可分离卷积块在整个实时性和准确率之间做了很好的权衡。标准全卷积块和深度可分离卷积块的结构对比,如图3所示。

3反向特征融合结构改进设计

在传统的特征金字塔网络中,一般将特征提取网络中生成的不同尺度特征图作为输入,如图4中的特征图1、特征图2和特征图3,接着进行自上而下的单向融合再输出,融合后对应的3种特征图尺度没有改变,但是特征图中包含的信息更加丰富。为了加强特征图中包含的特征信息,以达到提升检测准确率的目的,改进后的特征金字塔网络增加了反向特征融合结构,即增加一个自下而上的反向融合过程,并将自上而下的过程与自下而上的过程通过融合中间层来连接,简化了自上而下的过程,一定程度上加快了网络的推理速度。在融合过程中,融合中间层包含有效特征层3的高层语义信息和有效特征层2的较低层的空间和轮廓信息,融合过程没有引入过多的复杂计算参数,而是采用concate作各特征图的通道拼接,且FPN+反向特征融合结构各层之间的融合都是采用concate操作。除此之外,为了降低模型参数量,所有的卷积都以深度可分离卷积代替。FPN+反向特征融合结构如图4所示。

4基于距离的非极大抑制和边界框回归损失函数

4.1基于距离的非极大抑制方法

与DIoU-NMS不同的是,DIoU-Loss惩罚项中为真实框的中心点,为预测框的中心点。

5实验分析

5.1硬件平台

本模型实验分析过程分为模型训练过程和实际性能测试过程。其中,模型训练过程在服务器完成,深度学习框架为Pytorch;模型实际性能测试环境为NVIDIA公司的嵌入式GPU设备Jetson AGX Xavier,具体硬件平台配置信息如表1所示。

5.2数据集的选择和先验框的设置

本模型以VOC2007+2012数据集为基础进行训练并测试,且在原有的20类目标中增加并标注了一类卡车(truck)以应对实际场景中具体类别的区分,PASCAL VOC挑战赛(The PASCAL Visual Object Classes)是一个世界级的计算机视觉挑战赛。很多优秀的计算机视觉模型比如分类、定位、检测、分割和动作识别等模型都是基于PASCAL VOC挑战赛及其数据集推出的,尤其是一些经典目标检测模型。针对增扩后的VOC数据集,需要通过均值聚类算法来获取先验框的大小参数,有助于减小先验框和预测边界框的偏移量,提高检出率。均值聚类的过程可描述为:①选取个样本作为聚类中心;②计算各样本与各个聚类中心的距离;③将各样本回归于与之距离最近的聚类中心;④求各个类的样本的均值,作为新的聚类中心;⑤判定,聚类中心不再发生变动或达到迭代次数,算法结束,否则回到②。

除此之外,模型训练采用了迁移学习的方法,将预训练的特征提取网络进行迁移,获得已经训练好的网络参数,加载到目标检测网络上,使其拥有能够识别底层通用特征的能力,在一定程度上节约了训练时间,降低欠拟合和过拟合的风险。

5.3模型性能对比

表2是本模型与经典的深度学习目标检测算法的对比,实验结果表明,与基准模型YOLOv3相比,更换主干网络并引入深度可分离卷积降低了近6倍的模型整体参数量,检测速度相比YOLOv3提高了34FPS;采用反向特征融合结构和基于距离的非极大抑制方法,在没有引入过多参数的同时完成对模型检测准确率2%的提高。整体来看,在检测准确率方面,本模型的mAP达到了80.22%,与其他模型相比是最高的,排在第2位的是Faster RCNN,属于双阶段目标检测模型,一般来讲双阶段模型的检测准确率更高但在实时性上较难达到应用要求;在检测速度和模型参数量方面,YOLOv3-tiny表现最好,但是准确率与本模型的mAP相差15%,很大程度上会造成对目标的漏检和误检。总体上讲,本算法在检测准确率和检测实时性方面都达到了很好的效果[8]。

表3是几种不同类别的检测准确率对比,由表可以看到,本模型对于人(person)和汽车(car)类别的检测准确率与基准模型(YOLOv3)持平,在其他类别上的检测准确率高出基准模型0.03~0.06。且在表中展示的不同类别中,本模型的检测准确率均达到85%及以上,表現出本模型对于不同类型的目标仍有较好的检测效果。

5.4实际场景测试

为了验证模型在实际中复杂场景的检测性能和整体的泛化能力,从项目实际采集的数据集中抽取了3个典型场景在嵌入式设备上进行了测试。图6为密集目标场景下的检测效果,可以看到,人、汽车和卡车都能得到较好的检出,且对分布在图像边缘的小目标也有很好的检测效果;图7为物体遮挡情况下的检测效果,可以看到,不管对于汽车和卡车之间的遮挡还是树对卡车的遮挡的情况下,都能够有很好的检测效果;图8是有较大背景干扰的检测效果,可以看到,在广阔的农田背景下,汽车的检测对于检测任务有一定的难度,但本模型仍能够检测准确,所以从整体上讲,模型的泛化能力达到了在实际场景应用的基本要求。

6结束语

目标检测是近年来计算机视觉发展的一个流行方向,在诸多领域都有较成功的应用。但是随着社会的发展和科技的进步,技术也需要不断迭代和更新来满足各种场景需求,如在实际场景中,往往对检测模型提出了兼顾检测实时性和准确率的要求。为了在嵌入式平台上达到应用需求,设计了一种轻量化的目标检测识别模型,以达到快速准确的检测识别效果。

本文设计的模型以YOLOv3的架构为基础,采用基于深度可分离卷积块和反向特征融合结构的方法对模型进行改进,并通过基于距离的非极大抑制(DIOU-NMS)进行检测框筛选,最终获得更加准确检测结果,训练过程采用的边界框损失函数是DIOU-Loss,提升了模型的训练效果。以公共目标检测数据集VOC为基准,本模型同经典的目标检测模型进行了对比,实验结果表明在检测速度和检测准确率上都取得了较为出色的表现。最后在嵌入式平台上进行了测试,在项目内部数据集的不同场景下都表现出了很好的鲁棒性,且表现出很好的泛化能力。

参考文献

[1] REN SQ,HE KM,GIRSHICK R,et al. Faster R-CNN: Towards Real-time Object Detection With Region Proposal Wetworks[J]. IEEE Trans Pattern Anal Mach Intell,2017,39(6):1137-1149.

[2] REDMON J,FARHADI A.YOLOv3: An Incremental Improvement[J]. arXiv 2018,arxiv:1804.02767.

[3] SANDLER M, HOWARD A, ZHU Menglong L, et al. MobileNetV2: Inverted Residuals and Linear Bottle-enecks[C]//2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition.Salt Lake City: IEEE,2018:4510-4520.

[4] LIN T Y, DOLLAR P, GIRSHICK R, et al.Feature Pyramid Networks for Object Detection [C]//IEEE Conference on Computer Vision and Pattern Recognition.Honolulu: IEEE, 2017:936-944.

[5] LIU S, QI L, QIN H F, et al. Path Aggregation Network for Instance Segmentation[C]//In Proceedings of the IEEE Conferenceon Computer Vision and Pattern Recognition(CVPR). Salt Lake City: IEEE, 2018: 8759-8768.

[6] TAN M X , PANG R M , LE V Q . EfficientDet : Scalable and Efficient Object Detection[C]//In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition(CVPR). Seattle: IEEE, 2020: 1-10.

[7] ZHENG Z H , WANG P , LIU W , et al. Distance-IoU Loss: Faster and BetterLearning for Bounding Box Regression. In Proceedings of the AAAI Conference on Artificial Intelligence(AAAI) [S.l.]: [s.n.]2020: 1-10.

[8] LIU W, ANGUELOV D, ERHAN D, et al. Ssd: Single Shot Multibox Detector[C]// In European Conference on Computer Vision . Amsterdam: ECCV, 2016: 5-15.

猜你喜欢
嵌入式
慕课嵌入式翻转课堂在双语教学中的应用研究
嵌入式系统技术及其应用
嵌入式计算机技术及其应用研究
JG/T136—2016单层网壳嵌入式毂节点
嵌入式LINUX操作系统的研究
嵌入式的特点及发展机遇
嵌入式组件技术的研究及应用
基于嵌入式系统的游戏程序设计
“嵌入式系统概论”课程设计
AItera推出Nios II系列软核处理器