基于TensorFlow,Lite平台的实时目标检测

时间:2021-06-04 17:03:06 浏览量:

林向会 谢本亮

摘要:目标检测是计算视觉的重要研究方向之一,尤其是基于移动设备平台实现快速精准的目标检测功能是非常有必要的。为了能够在移动设备上进行实时目标检测,本文提出一种基于RaspberryPi4B硬件平台,采用TensorFlowLite开发环境,加载MobileNet-SSD网络结构算法的方案。方案采用的MobileNet卷积神经网络和SSD卷积神经网络结合的方法具有检测速度快、占用内存少等优点。同时,本文还对MobileNet-SSD网络结构算法进行了微小优化。该方案通过在公开的数据集上进行测试,对MobileNet-SSD网络结构算法和其改良算法进行了结果比较,结果表明其改良算法的检测速度有所提高,同时其检测精度几乎保持不变,在检测精准度和检测速度上都有良好表现,表明该方案具有较高的应用价值。

关键词:目标检测;计算机视觉;网络结构;TensorFlowLite;SSD;MobileNet;MobileNet-SSD

【Abstract】Targetdetectionisoneoftheimportantresearchdirectionsofcomputationalvision.Especially,itisnecessarytoachievefastandaccuratetargetdetectionbasedonmobiledeviceplatforms.ThispaperproposesasolutionbasedontheRaspberryPi4BhardwareenvironmentwhichusestheTensorFlowLitedevelopmentplatformandloadstheMobileNet-SSDnetworkstructurealgorithm.ThecombinationofMobileNetconvolutionalneuralnetworkandSSDconvolutionalneuralnetworkusedintheschemehastheadvantagesoffastdetectionspeedandlessmemory.Atthesametime,thispaperalsooptimizestheMobileNet-SSDnetworkstructurealgorithm.TheprogramcomparestheresultsoftheMobileNet-SSDnetworkstructurealgorithmwithitsimprovedalgorithmthroughexperimentsonpublicdatasets,andtheresultsshowthatthedetectionspeedoftheimprovedalgorithmhasincreased,whilethedetectionaccuracyremainsalmostunchanged.Bothaccuracyanddetectionspeedhavegoodperformance,indicatingthattheprogramhashighapplicationvalue.

【Keywords】targetdection;computervision;networkstructure;TensorFlowLite;SSD;MobileNet;MobileNet-SSD

作者簡介:林向会(1994-),女,硕士研究生,主要研究方向:电路与系统;谢本亮(1978-),男,博士,副教授,主要研究方向:数字图像处理、电路与系统。

0引言

随着计算机技术的发展,目标检测已经广泛应用于生活的各个领域中。在交通领域,目标检测可以通过对行人、车辆、交通灯和道路上的其他物体的检测来实现对交通管理的协助[1]。医疗领域中,图像的病理检测和识别也可以通过目标检测来完成[2]。其他领域,如遥感图片[3]、智能监控[4]和面部识别等等也都应用了目标检测技术。

当前的通用目标检测算法一般基于单阶段过程和两阶段过程。其中,基于单阶段过程目标检测算法直接生成目标边界框和概率分类,无需生成候选框区,代表性的算法主要有YOLO[5]、YOLO9000[6]、SSD[7]等。基于两阶段目标检测算法要先生成候选区域,再对候选区域进行分类和调整,代表性算法主要有R-CNN[8]、FastR-CNN[9]等。文献[5]提出的YOLO算法实现了端到端的检测效果并提高了检测率,但由于其粗粒度的运算特征,检测精度较差。文献[7]提出的SSD算法实现了对整个图像的回归检测,检测速率高。但该算法应用于小物体检测时,检测精度和准确性较低。文献[10]提出FasterR-CNN算法实现了端到端的检测,该算法的精度高于传统的R-CNN算法,但检测速度较慢,无法满足实时性检测的要求。此外,文献[11]提出了一种水平连接的要素金字塔网络(FPN),该网络采用多尺度特征映射和自上而下的结构,在小物体目标检测时的性能优于YOLO算法。SSD算法借鉴了YOLO单元的思想和FasterR-CNN的锚定机制,即直接预测对象类别和边界框的多对象检测法。文献[12]中的YOLOv3算法引入了一种多尺度预测方法来提高小型物体的检测效果。由于FPN和YOLOv3都有大量参数,即使得检测速度较慢,并且2种算法模型的操作都需要高性能PC设备支持。

尽管运用在PC终端上的算法具有很高的运算效率,但由于PC设备的体积大,灵活性差,其应用范围受到了限制。为了达到目标检测算法要用到移动设备的目的,期望目标检测算法的网络不仅要求准确,而且要有很快的检测速度。近年来,研究人员已经提出了数种用于公共目标识别的高效移动神经网络。例如,文献[13]针对移动和嵌入式视觉应用提出了一种称为MobileNet的有效模型,文献[14]提出基于YOLOv3改进的算法来实现车辆的实时检测,文献[15]提出基于SSD算法来实现车辆识别检测。文献[16]提出了SqueezeNet模型,这是一种CNN架构,其参数比AlexNet少50倍,并在ImageNet上保持AlexNet级别的准确性,该模型的参数可存储在FPGA内,从而实现移动设备的目标检测。

虽然当前的目标检测技术达到了高精度和速度,但这是在高性能的实验平台上实现的,对于在有限的计算速度和内存资源的移动设备上来说,目标检测的性能下降严重。因此,本文基于RaspberryPi平台,选择MobileNet卷积神经网络和SSD卷积神经网络,即MobileNet-SSD网络结构算法来实现实时目标检测。实验结果表明基于RaspberryPi4B平台的MobileNet-SSD能实时进行目标检测,且检测速度快、精度较高。

1硬件平台

树莓派是一款微型电脑,相对于普通PC机来说,其优点就在于该微型电脑具备普通PC机的所有基本功能,体积和重量却远小于普通PC机,被称为世界上最小的台式机。基于RaspberryPi4B的运动目标检测算法研究的意义在于,能够克服PC机体积和重量过大的缺点,使对运动目标的检测上更具有便携性。相比于RaspberryPi3B+,RaspberryPi4B的特点为:更快的CPU和GPU,更多、更快的RAM;支持USB3.0的更高总线速度,还允许板载以太网端口支持真正的千兆位連接(125MBps);双microHDMI端口连接,并支持4K输出。

TensorFlowLite是TensorFlow的一个轻量级版本,针对移动设备做了很多优化和改造[15]。TensorFlowLite主要面向移动设备和嵌入式设备,其最大特点为:轻量级、跨平台、快速。TensorFlowLite的主要组成部分为:模型转换器、解释执行器、算子库、硬件加速代理。

2目标检测算法分析

2.1SSD算法结构

SSD算法结构如图1所示。SSD方法基于前馈卷积网络。该网络会生成固定大小的边界框集合,对这些框中存在的对象类实例进行评分,并执行非最大抑制算法以生成最终检测结果。

SSD算法采用的基础网络结构为VGG16,将VCG16最后2个连接层fc6和fc7改为卷积层,再增加4个卷积层conv6,conv7,conv8和conv9来构造网络结构。SSD算法默认框的个数为6个,在对原始图形进行映射时,对应的默认框的大小也不相同,计算相应框大小的数学公式为:

其中,N表示匹配的默认框的数量;x表示匹配框是否属于类别p;g是真实值;c表示所选框目标属于类别p的置信度。

2.2MobileNet网络结构

MobileNet模型基于深度级可分离卷积构建的网络结构,可将标准卷积拆分为2种形式:深度卷积和逐点卷积(1×1卷积核)[15]。和标准卷积不同,标准卷积的卷积核是对应所有的输入通道上,而深度卷积为一个卷积核,且只对应一个输入通道。标准卷积和深度卷积过程示意图如图2所示。

图2中,M表示输入通道的数量,N表示输出通道数量,Dk表示卷积核,Dk×Dk表示输出通道数量N内核大小。深度可分离卷积先是使用深度卷积对不同输入通道进行卷积,此后再使用点卷积将上一步的输出进行处理。这样一来,卷积分解过程即能有效减少计算量和模型尺寸。

MobileNet中,只有第一层是普通卷积层外,其他都是深度可分离卷积层。而且除了最后的全连接层没有ReLU层外,每个网络层后都有BN层和ReLU非线性激活层。网络最后的全连接层将续接softmax层进行分类。网络的下采样是使用带步长的卷积层来实现的。而在全连接层前,使用了全局池化将张量的尺寸变为1×1。文献[13]通过比较普通卷积和深度可分解卷积的计算量得出,由于Mobilenet使用了3×3的卷积,其计算量减少了接近9倍。同时准确率几乎保持不变,下降得很少。

2.3MobileNet-SSD算法及其优化

MobileNet-SSD算法是结合了SSD算法理论和MobileNets网络结构的一种算法结构,相对其它算法来说,MobileNet-SSD算法能大幅减少计算量,同时其检测速度和精度几乎不变。因此,MobileNet-SSD算法能够在嵌入式设备上使用。

MobileNet-SSD算法结构是将SSD算法结构里的VGG16网络去掉,而后采用MobileNet网络。MobileNet-SSD算法结构大致可分为2类。一类是输入层,本文实验中的输入层为300×300像素值矩阵;另一类为卷积层,这类卷积层一共有22层。前14个卷积层conv0~conv13和MobileNet算法结构的卷积层相同,而于其后增加的8个卷积层则用来对网络中进行检测。

MobileNes算法结构由于采用了深度可分离卷积,其网络模型进行了压缩、网络尺寸得到了减小。但是若要应用于嵌入式的平台的实时检测,其网络结构仍需进行优化。在对MobileNets算法结构的前14个卷积层分析后得出:对于Conv0~Conv3卷积层,深度可分离卷积层和普通卷积层两者计算耗费时长都较多;对于Conv4~Conv13卷积层,深度可分离卷积层和普通卷积层计算时间计算耗时有差异,前者计算耗时较少,而后者计算耗时较多。因此,本文通过调整Conv0~Conv13卷积层的结构,采用ReLU6函数,来实现目标的实时检测。

3平台搭建与检测分析

3.1树莓派视觉系统搭建

树莓派视觉系统包括树莓派4B主板、IO扩展板、500万像素摄像头、PCA9685舵机驱动板、16G内存卡等配件。在树莓派系统里实现目标检测,需要搭建树莓派桌面,首先使用远程SSH工具连接树莓派,接着在树莓派上安装TightVNC包,最后运行远程桌面程序VNC-Viewer。在VNCServer栏中,输入树莓派的IP地址,按connect连接并输入树莓派用户名和密码后就可以看到树莓派桌面。

在此基础上将进行TensorFlowLite环境搭建[17],具体步骤为:

(1)更新RaspberryPi。

(2)下载及保存库并创建虚拟环境。

(3)安装TensorFlowLite和OpenCV。

3.2TensorFlow-Lite运行及实时目标检测

首先,通过关闭所有不使用的应用程序来释放内存和处理能力;接着,检查摄像头是否正确连线,确保摄像头可以正常使用。将自己在PC端训练优化的模型通过FileZilla客户端软件,打开名为“TFLite_model”的文件夹,其中包含detect.tflite和labelmap.txt文件,复制到树莓派桌面文件home/pi/tflite1目录。接着,通过从home/pi/tflite1目录中发出以下命令来运行实时网络摄像头检测脚本。TFLite_detection_webcam.py脚本可与USB摄像头一起使用。输入命令时要注意字母大小写和文件名不要输错,否则会提示不能打开文件夹,无法运行程序。

实时目标检测的模块内容有:模型训练、模型转换、目标检测、图像获取、图像处理和结果输出。实时目标检测模块的关系示意图如图3所示。在命令编写结束后,系统会初始化几分钟,这时就会出现一个窗口,显示网络摄像头。检测的对象将实时显示边框和标签。如图4所示。

3.3实时目标检测系统效果及分析

本次实验对数据集分别使用MobileNet-SSD算法及其改良算法在RaspberryPi4B上进行测试,2种算法测试后的结果见表1、表2。通过对比发现,经过优化的MobileNet-SSD算法的检测速度有所提高,mAP下降了3.728个百分点,在对精度没有较大减小的情况下,提高了检测速度。MobileNet-SSD算法及其改良算法各性能的对比见表3。

4结束语

本文研究并实现的是在树莓派上搭建TensorFlow-Lite框架并运行转换为TFLite模型的目标检测程序,系统设定在RaspberryPi4B硬件平台上运行,整个系统实现了实时目标检测。经过实验可知检测精度和识别速度较好,表明系统的硬件实现是可行的,可以用在需要移动嵌入式设备进行检测的场景中。

参考文献

[1]JUJianguo,XINGJinsheng.MovingobjectdetectionbasedonsmoothingthreeframedifferencemethodfusedwithRPCA[J].MultimediaToolsandApplications,2019,78(21):29937-29951.

[2]HUSSEINS,KANDELP,BOLANCW,etal.Lungandpancreatictumorcharacterizationinthedeeplearningera:Novelsupervisedandunsupervisedlearningapproaches[J].IEEETransactionsonMedicalImaging,2019,38(8):1777-1787.

[3]LIUJing,YANGShuojin,TIANLiang,etal.Multi-componentfusionnetworkforsmallobjectdetectioninremotesensingimages[J].IEEEAccess,2019(7):128339-128352.

[4]XUH,YANGZ,CHENG,etal.Agroundmovingtargetdetectionapproachbasedonshadowfeaturewithmultichannelhigh-resolutionsyntheticapertureradar[J].IEEEGeoence&RemoteSensingLetters,2017,13(10):1572-1576.

[5]REDMONJ,DIVVALAS,GIRSHICKR,etal.Youonlylookonce:Unified,real-timeobjectdetection[J].arXivpreprintarXiv:1506.02640,2015.

[6]REDMONJ,FARHADIA.YOLO9000:Better,Faster,Stronger[C]∥IEEEConferenceonComputerVision&PatternRecognition.Honolulu,Hawaii:IEEE,2017:6517-6525.

[7]LIUW,ANGUELOVD,ERHAND,etal.SSD:SingleshotmultiBoxdetector[C]∥EuropeanConferenceonComputerVision.SpringerInternationalPublishing.Cham:Springer,2016:21-37.

[8]GIRSHICKR,DONAHUEJ,DARRELLT,etal.Richfeaturehierarchiesforaccurateobjectdetectionandsemanticsegmentation[C]//2014IEEEConferenceonComputerVisionandPatternRecogntion.Ohio,USA:IEEE,2014:580-587.

[9]GIRSHICKR.FastR-CNN[C]∥ProceedingsoftheIEEEInternationalConferenceonComputerVision.Santiago,Chile:IEEE,2015:1440-1448.

[10]RENS,HEK,GIRSHICKR,etal.FasterR-CNN:Towardsreal-Timeobjectdetectionwithregionproposalnetworks[J].IEEETransactionsonPatternAnalysis&MachineIntelligence,2017,39(6):1137-1149.

[11]LINTY,DOLLARP,GIRSHICKR,etal.Featurepyramidnetworksforobjectdetection[C]∥2017IEEEConferenceonComputerVisionandPatternRecognition(CVPR).Honolulu,HI:IEEE,2017:936-944.

[12]REDMONJ,FARHADIA.YOLOv3:Anincrementalimprovement[J].arXivpreprintarXiv:1804.02767,2018.

[13]HOWARDAG,ZHUM,CHENB,etal.MobileNets:EfficientConvolutionalNeuralNetworksformobilevisionapplications[J].arXivpreprintarXiv:1704.04861,2017.

[14]李漢冰,徐春阳,胡超超.基于YOLOV3改进的实时车辆检测方法[J].激光与光电子学进展,2020,57(10):332-338.

[15]刘寒迪,赵德群,陈星辉,等.基于改进SSD的航拍施工车辆检测识别系统设计[J].国外电子测量技术,2020,39(7):127-132.

[16]IANDOLAFN,HANS,MOSKEWICZMW,etal.SqueezeNet:AlexNet-levelaccuracywith50xfewerparametersand<0.5MBmodelsize[J].arXivpreprintarXiv:1602.07360,2016.

[17]李双峰.TensorFlowLite:端侧机器学习框架[J].计算机研究与发展,2020,57(9):1839-1853.

猜你喜欢 卷积树莓网络结构 基于全卷积神经网络的变压器故障诊断科技创新与应用(2020年4期)2020-02-25基于深度卷积网络与空洞卷积融合的人群计数上海师范大学学报·自然科学版(2019年5期)2019-12-13深度卷积生成对抗网络结构电子技术与软件工程(2018年24期)2018-05-10全程全网通信电子演示系统研制科学家(2016年10期)2017-09-27卷积神经网络概述中国新通信(2017年9期)2017-05-27黄金水果红树莓农产品市场周刊(2016年43期)2016-12-23树莓红了 游人醉了农产品市场周刊(2016年43期)2016-12-23e络盟率先推出第三代树莓派电脑爱好者(2016年6期)2016-04-01年度睡姿大盘点(下)中学生博览(2015年18期)2015-11-06冗余编码器技术在氧枪控制中的应用科技与创新(2015年20期)2015-10-29

推荐访问:实时 检测 目标

《基于TensorFlow,Lite平台的实时目标检测.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:

文档为doc格式

一键复制全文 下载 投诉