高晓雷 张彬 王林惠 潘学文 段华斌 陈光辉 郭宜娟
摘要:近年来深度学习的进步大大推动了物体检测的发展,其中SSD(Single Shot MultiBox Detector)方法在物体检测领域应用较多。然而传统SSD难以应用在硬件资源受限的嵌入式设备中。因此,通过分析SSD方法的基本流程和原理,采用MobileNet卷积神经网络替换SSD的VGG16网络作为后续改进基准。采用不同尺度的卷积核对网络各层进行卷积特征提取,并合并各个特征图信息。实验结果表明:改进后的SSD方法能够有效地运行在树莓派上。在VOC2017数据集上的平均精度均值可达72.4%。该文提出的多维度的特征图检测方法可以有效提高网络的检测精度。
关键词: 深度学习;嵌入式系统;物体检测;图像识别
中图分类号:TP391 文献标识码:A
文章编号:1009-3044(2022)02-0015-02
引言
近年来,由于深度学习的迅猛发展,人工神经网络技术在数字识别、语音识别、无人驾驶、图像识别等领域都有着广泛的应用。以神经网络为代表的新一代人工智能技术正在逐渐渗透到人们生活之中,并推动着社会的发展[1]。在传统神经网络的基础上,通过局部感受野、权值共享等方式,使得卷积神经网络能够直接接收图片或自然语言等数据,并进行特征提取和分类、识别等运算[2]。
卷积神经网络通常利用更深和更复杂的网络实现更高的精度,但往往需要大量计算,导致运行速度不具优势[3]。由于嵌入式平台的硬件资源十分有限,复杂网络难以发挥性能,因此需要一种轻量级、低延迟,同时精度高的网络模型,能够在嵌入式设备上较好运行。2016年,国外学者提出了SSD(Single Shot MultiBox Detector)[4]检测模型,与其他单级方法相比,SSD在Nvidia Titan X上58 FPS时的mAP(mean Average Precision)达到了72.1%,优于现有Faster R-CNN[5]模型;在此基础上,He等人设计了一款油菜害虫成像系统,并结合SSD模型研发了配套的安卓应用程序,可结合无人机与物联网技术实现油菜虫害监测[6]。因此,本文在SSD的基础上优化模型结构,构建嵌入式图像识别系统。
1 系统总体方案设计
1.1 硬件总体设计
硬件系统主要由图像采集模塊、微型处理器模块、图像处理模块和终端显示模块组成。图像采集模块主要由Pi Camera摄像头负责采集实时图像,并将其送入微型处理器模块。微型处理器模块可分为存储模块、图像处理模块以及电源模块。其中,存储模块主要用于缓存图像采集模块采集到的实时图像以及处理过程的中间数据。电源模块用以给整个系统供给电源,该模块能够提供5V,2A,10W的功率输出,能够保证整个系统的稳定工作。图像处理模块是微型处理器模块的核心,其主要负责运行卷积神经网络模型,同时给出模型检测结果。终端显示模块主要接收图像数据,并将其显示在显示设备上。
1.2 软件总体设计
软件系统以卷积神经网络模型为主,结合图像采集程序以及图像处理程序,构成整个嵌入式卷积神经网络图像识别软件系统。为了保证系统的稳定性,引入了嵌入式Linux操作系统用以对系统硬件进行管理,同时向上提供硬件接口进行软件开发。系统软件流程如图1所示。
系统初始化后,通过软件调用摄像头采集实时图像,为了满足卷积神经网络的输入要求,将原始图像裁剪成300*300 Pixel规格。随后,将经过裁剪的图像送入卷积神经网络中进行检测。检测结果分成两部分,一个输出分类用的置信度,对于Pascal VOC数据集而言,每个默认框生成21个置信度;另一个输出回归用的位置信息,每个默认框生成4个坐标值,这四个坐标值分别代表包围框的X坐标、Y坐标以及包围框的宽度和高度值。随后,根据卷积神经网络的输出值在图像上对应的位置处画出包围框并标识检测结果。最后,将处理后的图像输出给显示模块进行显示。
1.3 基于MobileNet的SSD模型设计
SSD基础网络是VGG16,主要使用了后者前5层结构,再利用astrous算法将全连接层F6和全连接层F7转化成两个卷积层,最后再增加3个卷积层。增加的卷积层的特征图大小变化较大,能够检测出不同尺度下的物体,低层的特征图其感受野较小,高层的特征图其感受野较大,对不同的特征图进行卷积便可以达到多尺度的目的。基于MobileNet的SSD网络结构图如图2所示:
2 系统测试与结果分析
2.1 评价指标
采用mAP作为模型指标,公式如下:
[IoU(Bgt,B) = (Bgt?B)(Bgt?B)>threshold] (1)
若对于类别A标定的包围框(Ground-truth)Bgt的预测的包围框B被认为是正确的,则标定的包围框Bgt与预测的包围框B之间的交并覆盖率(IoU)满足公式1。PascalVOC数据集中的threshold通常设为0.5。
除此之外,还需计算每个类别的召回率和精度,分布如公式(2)、(3)所示,其中TP是被判为正确的个数,FP是被判为错误的个数,Nc是该类的标定的物体的个数。
[召回率 = TPNC] (2)
[精准度=TPTP+FP=召回率?NC召回率?NC+FP] (3)
2.2 系统性能测试
为了测试算法在树莓派上的实际性能,从VOC2007数据集的测试集中随机抽取部分图片进行验证,其部分图像的验证结果如图3所示:
根据测试结果中各个类别的平均精确度及召回率,作出如图4所示的精确度-召回率曲线图。
对曲线图中曲线包围的面积去取均值,得到算法的平均精度值mAP=0.727,效果较好。
3 结论
为使SSD方法在嵌入式设备上能有良好的运行效果,本文将SSD的基础网络从原本的VGG16卷积神经网络替换成了MobileNet网络。通过实验分析验证了所提改进方法的有效性,能够提高SSD方法在嵌入式设备上的检测速度,同时保持较高的检测精度。未来拓展研究可考虑如何从整体上去优化SSD方法,使之能够完全适用于嵌入式设备。
参考文献:
[1] 蒋帅.基于卷积神经网络的图像识别[D].长春:吉林大学,2017.
[2] 黃凯奇,任伟强,谭铁牛.图像物体分类与检测算法综述[J].计算机学报,2014,37(6):1225-1240.
[3] Andrew G. Howard,Menglong Zhu,Bo Chen, et. al. Hartwig Adam Efficient Convolutional Neural Networks for Mobile Vision Applications [D]. Google Inc., 2017.
[4] Cheng-Yang Fu, Alexander C. Berg. Single Shot MultiBox Detector [D]. UNC Chapel Hill Zoox Inc. Google Inc. University of Michigan, Ann-Arbor, 2016.
[5] Zhao Z Q, Zheng P, Xu S T, et al. Object detection with deep learning: A review. IEEE Transactions on Neural Networks and Learning Systems, 2019, 30(11): 3212-3232.
[6] He Y, Zeng H, Fan Y Y, et al. Application of deep learning in integrated pest management: A real-time system for detection and diagnosis of oilseed rape pests[J]. Mobile Information Systems, 2019, 2019: 1-14.
【通联编辑:唐一东】