基于MobileNet的移动端城管案件目标识别算法
2019-10-23杨辉华张天宇李灵巧潘细朋
杨辉华 张天宇 李灵巧 潘细朋
摘 要:针对目前大量安装的固定监控摄像头存在监控死角,以及移动设备硬件性能较低等问题,提出一种可在较低性能的IOS移动设备上运行的城市管理案件目标识别算法。首先,在MobileNet中增加新的超参数,优化输入输出图像的通道数与每个通道所产生的特征图数量;随后,将改进后的MobileNet与SSD目标识别框架相结合构成一种新的识别算法,并移植到IOS移动端设备上;最后,该算法利用移动端设备自带的摄像头拍摄案发现场视频,实现对8种特定城管案件目标的准确检测。该算法检测结果的平均精度均值(mAP)与原型YOLO和原型SSD相比,分别提升了15.5个百分点和10.4个百分点。实验结果表明,所提算法可以在低性能IOS移动设备上流畅运行,减少了监控死角,为城管队员加速案件分类与处理提供了技术支撑。
关键词:智慧城管;目标识别;MobileNet;移动设备;视频监控
中图分类号: TP391.41
文献标志码:A
Target recognition algorithm for urban management cases by mobile devices based on MobileNet
YANG Huihua1,2, ZHANG Tianyu3*, LI Lingqiao1,2, PAN Xipeng2
1.School of Computer Science and Information Security, Guilin University of Electronic Technology, Guilin Guangxi 541004, China ;
2.School of Automation, Beijing University of Posts and Telecommunications, Beijing 100876, China ;
3.School of Electronic Engineering and Automation,Guilin University of Electronic Technology,Guilin Guangxi 541004, China
Abstract: For the monitoring dead angles of fixed surveillance cameras installed in large quantities and low hardware performance of mobile devices, an urban management case target recognition algorithm that can run on IOS mobile devices with low performance was proposed. Firstly, the number of channels of input and output images and the number of feature maps generated by each channel were optimized by adding new hyperparameters to MobileNet. Secondly, a new recognition algorithm was formed by combining the improved MobileNet with the SSD recognition framework and was transplanted to the IOS mobile devices. Finally, the accurate detection of the common 8 specific urban management case targets was achieved by the proposed algorithm, in which the camera provided by the mobile device was used to capture the scene video. The mean Average Precision (mAP) of the proposed algorithm was 15.5 percentage points and 10.4 percentage points higher than that of the prototype YOLO and the prototype SSD, respectively. Experimental results show that the proposed algorithm can run smoothly on low-performance IOS mobile devices, reduce the dead angles of monitoring, and provide technical support for urban management team to speed up the classification and processing of cases.
Key words: intelligent urban management; target recognition; MobileNet; mobile device; video surveillance
0 引言
隨着国内城镇化的进程加快,城市面积的快速增大,城市管理的难度大大增加。视频监控是城市管理的重要手段之一,尤其随着手机等移动平台的发展,视频监控技术有了新的应用平台。但基于人工进行监控来查看案件视频,不仅耗时,且效率低[1]。因此开发一种能快速智能识别视频中关键目标的实用算法,对于案件的分类、审核十分必要。
传统的城市监控主要依赖固定监控摄像头,可是安装摄像头要耗费大量的人力、物力。并且城管案件中的常见目标如被人遗弃的共享单车、垃圾桶等目标常出现在道路边缘,甚至背街小巷,处于监控探头的拍摄死角,因此,移动设备可以很好地弥补固定摄像头视角有限的缺点。目前常用的深度学习目标识别方法主要有两大类:一类是Girshick等[2-3]提出的R-CNN(Region-based Convolution Neural Network)、Fast R-CNN以及Ren等[4]提出的Faster R-CNN。此类方法检测精度高,但运行速度慢,并且对硬件设备要求较高,很难部署到移动端设备上。第二类是Redmon等[5-7]提出的YOLO检测框架及其后续改进YOLO9000、YOLOv3,Liu等[8]提出的SSD(Single Shot MultiBox Detector)检测框架等。此类方法检测速度快、实时性好,但是检测精度欠缺。针对上述方法的缺点和固定摄像头的监控视角缺陷,本文以IOS移动端为平台,依靠移动设备的摄像头拍摄案件画面,优化了MobileNet(Efficient CNN for Mobile Vision Applications)[9],以SSD算法為基础,将内部的VGG-16[10]基础网络换为可大幅降低计算量的网络改进型MobileNet(Improved MobileNet, ImMbnet),提出一种新的识别算法。该目标识别算法能充分兼顾运算量与性能,可以在手机等硬件性能较差的移动设备上流畅运行,主要针对共享单车、窨井盖、小广告、垃圾桶等经常处于监控死角的城管案件高发目标。
1 移动端目标识别
图1为手机移动端在日常工作中识别特定城管目标的流程,将训练好的模型载入手机后,城管队员们使用智慧城市管理系统中的公务App(Appliciation),利用手机摄像头实时拍摄案件画面,手机端识别出特定目标、输出结果,并将画面实时传送回监控中心。
2 改进型MobileNet
2.1 基础网络MobileNet
MobileNet是google提出的新一代移动端卷积神经网络 (Convolutional Neural Network,CNN)[11]模型。该模型结构较简单,平衡了性能与流畅性,非常适合部署在手机等硬件配置不高、运算能力相对较差的移动平台上。MobileNet的基本单元是深度可分离卷积(Depthwise Separable Convolution, DSC)[12],其改进之处在于使用分步卷积替代了经典3D卷积,减少了卷积核的冗余表达,大幅度降低了计算量。
在输入与输出图像尺寸一致的情况下,如果采用DK×DK尺寸的卷积核,则传统卷积的计算量C1是:
C1=DK×DK×M×N×DF×DF
(1)
其中:DF表示输入与输出特征图的宽度与高度, M表示输入特征图的通道数,N表示输出特征图的通道数,DK 表示卷积核的长和宽。相比之下,深度可分离卷积的总计算量C2为:
C2=DK×DK×M×DF×DF+M×N×DF×DF
(2)
将两者的乘法计算量相对比:
DK×DK×M×DF×DF+M×N×DF×DF DK×DK×M×N×DF×DF = 1 N + 1 D2K
(3)
从上式可得,深度可分离卷积与传统卷积计算量的比值为 1 N + 1 D2K 。MobileNet作为基础网络,提取图片特征,可以在尽可能保证性能的情况下,极大地减少运算量,因此该网络非常适用于移动设备。
2.2 网络参数优化
假定给定输入图像为3通道的224×224的图像,VGG16网络的第3个卷积层输入的是尺寸为112的特征图,通道数为64,卷积核尺寸为3,卷积核个数为128,将此传统卷积层替换为深度可分离卷积后,由式(2)可知,深度可分离卷积的计算量为:
3×3×64×112×112+128×64×112×112=109985792
从以上结果可以看出,深度可分离卷积虽然相比传统卷积计算量大幅减少,但其计算量对于性能较差的移动设备依然巨大。为了让MobilNet网络能在手机上更加流畅地运行,本文加入新的超参数,对原网络进行优化。
首先按比例减少输入、输出图像的通道数,假设输入图像为未经处理的RGB(Red,Green,Blue)三通道自然图像,将每一层的输入、输出的通道数减少为 M′、N′。
在M′/M和N′/N的比值范围是(0 1]的情况下,深度可分离卷积的总计算量C2可减少为:
C2= DK×DK×M′×DF×DF+M′×N′×DF×DF
(4)
但是可以明显看出,由于去掉了图像的部分通道,减少了图片的特征量,会在很大程度上影响识别效果。
为了解决减少通道后识别效果变差的问题,本文在MobileNet网络中新增加一个比例参数γ来增强识别效果。加入新参数γ 后,将每一个通道所产生的特征图数量扩充,与原先特征图数量的比值为 γ。图2表示γ =2时,将每一个通道经过深度卷积后产生的特征图复制,每一个通道经卷积生成的特征图数量与原数量的比值为2。
此时深度可分离卷积的输出通道数与原通道数之比为γ(γ为≥1的正整数)。特征图的增加可以增大特征量,加强识别效果,但也会增加参数量和运算量,此时的深度卷积(depthwise Convolution, Conv dw)的计算量C3为:
C3=DK×DK×(M×γ)×DF×DF
(5)
同理逐点卷积(pointwise convolution)的计算量C4为:
C4=(M×γ)×N×DF×DF
(6)
本文采用减少图像通道与比例参数相配合的方式,综合运算量与性能,此时深度卷积的计算量C3是:
C3=DK×DK×(M′×γ)×DF×DF
(7)
逐点卷积的计算量C4是:
C4=(M′×γ)×N′×DF×DF
(8)
可以看出减少图像通道,并加入比例参数项,可以在一定程度上减少计算量,并维持识别效果。令 M′ M = N′ N =α,对比原型MobileNet,运算量的对比如下:
DK×DK×(M′×γ)×DF×DF+(M′×γ)×N′×DF×DF DK×DK×M×DF×DF+M×N×DF×DF = (αD2K+α2N)×γ D2K+N ≈α2×γ
(9)
假设所用的数据为:DF=224, DK=3,M=3, N=32。在设定α=0.5,γ=2的情况下,根据式(9),可得运算量与原型MobileNet之比为0.53。因此经过参数调整的改进型MobileNet在维持性能的同时,更加适合在低性能的移動设备上运行。表1为改进型MobileNet具体网络结构,其中Conv表示普通卷积,Conv dw表示深度卷积,classnum表示类别数,FC表示全连接层(Full Connected,FC),Avg Pool表示平均池化(Average Pooling),本文采用全局平均池化[13](Global average Pool),s1表示步长为1,s2表示步长为2。
3 改进型MobileNet+SSD识别方法
3.1 原型SSD识别框架
SSD使用VGG-16网络作为基础网络,并在网络后添加特征提取层。这些增加的卷积层逐层减小,可以提取不同尺寸的特征图来作检测,尺寸较大的特征图用于检测物理体积比较小的目标物,尺寸较小的特征图用于检测物理体积较大的目标物。在每一张不同大小的特征图上,都直接使用较小的卷积核直接卷积提取检测结果。为了降低训练难度,减少运算时间和所需硬件性能,SSD参考了Faster R-CNN的锚点(anchor)概念,在每个划分好的单元,设置长宽比不同的先验框(default bounding box)。当卷积核通过这些划分好的单元时,预先设定的每个先验框都输出一套检测值。这套检测值包含两部分信息:每个类别的置信度和边界框的位置信息。
3.2 SSD框架改进
本文研究和用于训练模型的图像数据来源于城管队员们在日常工作中用手机拍摄的真实案件图片以及菜市场、街道口等城市管理案件高发区域的监控视频。由于案件发生地不同,案件类型多样,使得图像的背景较为复杂,待识别的目标较多,如果使用传统的卷积神经网络模型,不仅训练时间较长,而且需要性能较高的硬件设备。因此本文以SSD检测框架为基础,将经典的基础网络VGG-16换为本文的改进型MobileNet。利用改进型MobileNet模型小巧、运行参数少、运算量远小于传统卷积神经网络的优势,减少识别模型的训练时长,降低硬件需求,使其能在手机等性能较弱的移动端设备上部署。
输入的视频流图像首先进入改进型MobileNet网络,而后进入本文在基础网络后添加的辅助结构。这些辅助卷积层也采用深度可分离卷积,其尺寸也是逐渐减小的。本文依然参考原本的SSD框架,除了在最终的特征图上作检测外,还在之前辅助层产生的特征图上作目标检测,同时为了确保小目标的检测效果,检测过程也在改进型MobileNet的第12层上作检测,能取得较好的识别准确度。经过改进的结构如图3所示,将VGG-16换为改进型MobileNet,后部的特征提取层换成深度可分离卷积,结构与原型SSD类似,其中DSC表示深度可分离卷积,Conv表示普通卷积。
4 实验及结果分析
4.1 数据来源
本文用于训练和测试的所有图片和视频均取自日常城市管理案件。城管队员们使用本实验室与南宁市青秀区合作研发的智慧城市管理系统(“城管通系统”)的手机客户端拍摄案发现场图片或视频。实验训练采用的是英伟达DGX-1服务器,软件系统为Ubantu14.04,移动平台为搭载IOS(IPhone OS)系统的设备(IOS9—IOS12),使用Tensorflow1.9深度学习框架辅助训练。本文针对不同的案件类型将待识别的目标一共分为8类:共享单车(bike,Bi)、机动车(car,Ca)、小广告(lzt)、电动车(motor scooter,Ms)、垃圾桶(ashcan,Ac)、道路栅栏(trafficbarrier,Tb)、窨井盖(manhole,Mh)、泄水口(raingate,Rg),构建了城市管理案件图片数据集(City Management,citymg)。每类各取1000张图片并标注,部分样例图片如图4所示。
4.2 评价指标及结果
检测效果的评价指标参考原型SSD的平均精度(Average Precision,AP)和平均精度均值(mean Average Precision,mAP)。
令TruePositives表示图像中当前类的正确检测次数,TotalObjectives表示图像中当前类的实际目标数量,Classes表示需要识别目标的总类别数,则上述指标的计算公式如下所示:
Precision=TruePositives/TotalObjectives
(10)
AP=∑Precision / TotalObjectives
(11)
mAP=∑AP / Classes
(12)
图5为算法在IOS移动端和PC端的识别效果,表2为本文改进框架与原型SSD和YOLO对8种城管案件目标的检测效果。可以看出,
本文方法耗费训练时间较少,所需硬件成本较小,即使在使用普通电脑配置(酷睿 i7,8GB内存,Tensorflow1.9),无GPU(Graphic Processing Unit)加速的情况下,使用本文的城管数据集,训练一步所需时间为5s左右,总训练时长为8h左右,相比之下,Faster-RCNN等传统网络的单步训练时长为22s左右,总训练时长为36h左右。因此本文方法在低性能设备上也可以训练,相比Faster-RCNN等传统模型,可以极大地减少训练时间,降低设备的性能需求,非常适合于本文所应用的城市管理案件识别或其他中小型应用场景。训练采用的损失函数与原型SSD一致,利用Tensorflow训练,网络训练的收敛曲线如图6。
从表2可以看出,经过本文改进的识别框架,对城管案件中常出现的8类目标:共享单车(Bike, Bi)、机动车(Car, Ca)、小广告(lzt)、电动车(Motor Scooter, Ms)、垃圾桶(Ashcan, Ac)、道路栅栏(Trafficbarrier, Tb)、窨井盖(Manhole, Mh)、泄水口(Raingate, Rg)有较好的识别效果,mAp值均超过了原型YOLO与SSD。
如圖7所示,使用iPhone6s(内存32GB,运行内存2GB,A9处理器)作为搭载平台,城管队员们在手机端登录城管系统后点击交叉拍摄按钮,随后点下方的案发地点按钮,在手机全球定位系统(Global Positioning System,GPS)模块的帮助下确定案发位置后,可以点击相机按钮,利用手机摄像头拍摄案件现场实时视频,在点击开始拍摄的按钮后,视频画面传入识别框架,识别框架识别出类别后,将识别结果实时地输出在屏幕上。队员们可以将识别结果保存到手机本地,并上传到城管通系统中,作为日后案件处理的依据,加速案件的分类与审核。
还在iPhone6s、iPhone X和低性能PC上对比了几种识别模型的每秒传输帧数(Frames Per Second, FPS),结果如表3所示。可以看出,原型YOLO9000无法直接在手机设备上运行,本文改进的ImMbnet+SSD模型在运算速度上明显优于Tiny-YOLO,并且在低性能设备如iPhone6s、低性能PC上优势明显。由上述实验可以看出本文算法可以满足实际应用需求。
5 结语
本文改进的识别算法在性能和运行成本上作了较好的平衡,可以在手机等移动端平台或者其他硬件性能稍差的平台上运行。通过实验验证,该算法对城管案件中的高发目标,有较高的检测精度,可以辅助城管队员对案件进行分类与处理,实现了城市管理的智能化。同时仍有大量的工作需要进一步开展来完善算法,例如:针对一些复杂的案件场景,如画面中出现多个目标且相互重叠,如何去除遮挡物、如何快速识别在画面中短暂出现的目标等。未来还可用手机为搭载平台,实现路面交通线破损检测[14],定位视频中特定目标[15],以及对目标进行检索[16]。
参考文献
[1] 黄凯奇,陈晓棠,康运锋,等.智能视频监控技术综述[J].计算机学报,2015,38(6):1093-1118. (HUANG K Q, CHEN X T, KANG Y F,et al. Intelligent visual surveillance: a review [J]. Chinese Journal of Computers, 2015, 38(6): 1093-1118.)
[2] GIRSHICK R, DONAHUE J, DARRELL T, et al. Rich feature hierarchies for accurate object detection and semantic segmentation [C]// Proceedings of the 2014 IEEE Conference on Computer Vision and Pattern Recognition. Washington, DC:IEEE Computer Society, 2014:580-587.
[3] GIRSHICK R. Fast R-CNN [C]// Proceedings of the 2015 IEEE International Conference on Computer Vision. Piscataway, NJ: IEEE, 2015: 1440-1448.
[4] REN S, HE K, GIRSHICK R, et al. Faster R-CNN: Towards real-time object detection with region proposal networks [C]// Proceedings of 28th Annual Conference on Neural Information Processing Systems. Cambridge, MA: MIT Press, 2015: 91-99.
[5] REDMON J, DIVVALA S, GIRSHICK R, et al. You only look once: unified, real-time object detection [C]// Proceedings of the 2016 IEEE Conference on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE, 2016: 779-788.
[6] REDMON J, FARHADI A. YOLO9000: better, faster, stronger [C]// Proceedings of the 2017 IEEE Conference on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE, 2017: 6517-6525.
[7] REDMON J, FARHADI A. YOLOv3: an incremental improvement [J]. arXiv E-print, 2018: arXiv:1804.02767.
[EB/OL]. [2018-03-06]. https://arxiv.org/pdf/1804.02767.pdf.
[8] LIU W, ANGUELOV D, ERHAN D, et al. SSD: single shot multibox detector [C]// Proceedings of the 2016 European conference on computer vision, LNCS 9905. Cham: Springer, 2016: 21-37.
[9] HOWARD A G, ZHU M, CHEN B, et al. MobileNets: efficient convolutional neural networks for mobile vision applications [J]. arXiv E-print, 2017: arXiv:1704.04861.
[EB/OL]. [2017-04-17]. https://arxiv.org/pdf/1704.04861.pdf.
[10] SERCU T, PUHRSCH C, KINGSBURY B, et al. Very deep multilingual convolutional neural networks for LVCSR [C]// Proceedings of the 2016 IEEE Conference on Acoustics, Speech and Signal Processing. Piscataway, NJ: IEEE, 2016: 4955-4959.
[11] KRIZHEVSKY A, SUTSKEVER I, HINTON G E. ImageNet classification with deep convolutional neural networks [C]// Proceedings of the 25th International Conference on Neural Information Processing Systems. North Miami Beach, FL: Curran Associates Inc., 2012:1097-1105.
[12] CHOLLET F. Xception: deep learning with depthwise separable convolutions [C]// Proceedings of the 2017 IEEE Conference on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE, 2017: 1800-1807.
[13] SZEGEDY C, LIU W, JIA Y, et al. Going deeper with convolutions [C]// Proceedings of the 2015 IEEE Conference on Computer Vision and Pattern Recognition. Washington, DC: IEEE Computer Society, 2015: 1-9.
[14] 陳新波,蒋峥.路面交通线破损图像智能检测优化研究[J].计算机仿真,2016,33(5):161-165,234. (CHEN X B, JIANG Z. Intelligent detection of damaged image for road traffic line [J]. Computer Simulation, 2016, 33(5): 161-165,234.)
[15] 杜丽娟,路晓亚.视频监控中多视角目标智能定位追踪方法研究[J].科学技术与工程, 2017, 17(16):270-274. (DU L J, LU X Y. Multiple points of view in the goal of intelligent video monitoring location tracking method [J]. Science Technology and Engineering, 2017, 17(16):270-274.)
[16] 付伟,王金桥,滕可振.基于深度学习的监控视频目标检索[J].无线电工程,2015,45(12):16-20.(FU W, WANG J Q, TENG K Z. Deep learning for object retrieval in surveillance videos [J]. Radio Engineering, 2015, 45(12): 16-20.)