基于卷积神经网络的嵌入式平台实时车辆检测方法
2020-11-28李志国朱明
李志国 朱明
摘 要:基于深度学习的目标检测已成为计算机视觉领域中一个重要的研究热点,在智能交通、智能监控、智慧社区等诸多领域有非常广阔的应用。本文在嵌入式平台下,利用最新anchor-free目标检测方法,针对智慧社区中停车场出入口场景实现了实时的高质量车辆检测,有效地提升了车辆的抓拍率和识别率。
关键词:嵌入式平台;anchor-free;车辆检测
中图分类号:U463 文献标识码:A 文章编号:1671-2064(2020)12-0047-02
0引言
智能停车场是智能社区的重要组成部分,智能停车场出入口利用智能相机对车辆进行捕获抓拍和智能识别并自动计费,车辆检测是智能分析的前提和关键。车辆检测方法是目标检测方法的特例。基于深度卷积网络的目标检测方法按照是否有锚点(anchor)可分为anchor-based和anchor-free2种,受限于anchor设计的复杂性,anchor-free得到了极大的关注和发展。本文基于anchor-free的FCOS[1]方法,通过修改主干网络和FPN特征金字塔等设计,整个网络可以在海思3516d平台和Mstar平台上达到实时处理的效果。
1 主干网络(backbone)
MobileNet v2[2]在深度可分离卷积的基础上引入了残差结构,并发现ReLU的在通道数较少的Feature Map上有非常严重信息损失问题,由此引入了Linear Bottlenecks和Inverted Residual[3]。为了达到嵌入式平台的实时性处理,本文采用MobileNet V2(0.25)版本,记为MobileNet-V2-0.25-modified,输入分辨率为192×108(加边对齐后为192×128)。
2 FPN
特征金字塔FPN主要解决的是物体检测中的多尺度问题,通过简单的网络连接在基本不增加原有模型计算量情况下,大幅度提升了小物体检测的性能。
特征金字塔FPN网络直接在原来的网络上做修改,每个分辨率的特征图引入后一分辨率缩放两倍的特征图做相加的操作。通过这样的连接,每一层预测所用的特征图都融合了不同分辨率、不同语义强度的特征。同时,由于此方法只是在原网络基础上加上了额外的跨层连接,在实际应用中几乎不增加额外的时间和计算量,适合在低算力的嵌入式平台上应用。
本文采用3层FPN结构,把backbone中{stage1,stage3,stage5}记为{C3,C4,C5},其stride分别为{8,16,32},通过FPN生成记为{P3,P4,P5},具体见图1。
3 FCOS-ours
一种基于像素级预测一阶全卷积目标检测方法,目前大多数先进的目标检测模型,例如RetinaNet、SSD、YOLOv3、Faster R-CNN都依赖于预先定义的锚框。而FCOS是anchor box free的,即不依赖预先定义的锚框。通过去除预先定义的锚框,FCOS避免了关于锚框的复杂运算,避免了和锚框有关且对最终检测结果非常敏感的所有超参数。由于后处理只采用非极大值抑制(NMS),FCOS比以往基于锚框的一阶检测器具有更加简单的优点,非常适合在嵌入式平台下采用。
3.1训练回归公式
设标定框(ground-truth bounding boxes){Bi}=(x0(i),
y0(i),x1(i),y1(i),c(i))∈R4,其中(x0(i),y0(i))为标定框的左上点坐标,(x1(i),y1(i))为右下点坐标。c(i)为分类的种类,这里是车辆检测,取值为1。如果坐标点(x,y)在标定框内部,则认为其为正样本,否则为负样本,设4D的向量t*=(l*,t*,r*,b*)为该点(x,y)的回归值,则:
l*=x-x0(i),t*=y-y0(i),r*=x1(i)-x,b*=y1(i)-y。 (1)
和基于anchor-based方法不同,FCOS直接限制每层金字塔回归框的大小,P3,P4,P5分别回归的范围为(0,64],(64, 128],(128,∞)。
3.2 损失函数
训练损失函数分类损失和目标框的回归损失,如公式2所示。
Lcls是focal loss,Lreg为IOU loss。Npos是正样本的个数,λ为平衡因子,用于平衡2种损失的权重,一般取1,是指示性函数,如果则为1。
4 实验
主要在停车场出入口进行了车辆检测的实验,训练数据包括各种天气,各种光线,各种场景下的车辆车头数据共30k,样例如图2所示。训练采用随机梯度下降(SGD)方法,共训练30epoch,初始学习率为0.01,并在16,24个epoch分别降低原来的0.1倍,momentum为0.9,weight decay为0.0001,训练后生成模型大小1M,算力14M Mac。
4.1 和Mtcnn[3]效果比较
Mtcnn最初用于人脸检测,使用3个CNN级联的方式,实现了coarse-to-fine的算法结构,其级联的网络架构可以高效的用于处理停车场出入口车辆较少,目标占比较大的场景。
表1为FCOS-ours和Mtcnn效果效率比較,为了便于比较,用分割线加以区分,分割线以上是Mctnn的结果,以下为FCOS-ours的结果,No-plate1、daytime1、nighttime3分别为数据库的名字,后面的数字代表标定框的个数。从表中可以看出,得益于backbone,FPN,损失等设计和end to end训练方法,FCOS-ours在耗时更少的情况下,效果超过了Mtcnn
6%~10%。Mtcnn耗时不稳定,主要和目标个数和场景复杂度相关,当检测目标增多时耗时呈线性增加。
4.2 在嵌入式平台下效率
Hi3516D是海思半导体针对高清摄像机产品应用开发的一款专业SOC芯片,处理器内核为ARM Cortex A9@Max.
800MHz,Mstar@1G是Mstar主频1GHz芯片。具体耗时见表2。
5 结论
本文针对出入口车辆检测任务,利用FCOS anchor-free目标检测方法,通过修改主干网络置,FPN特征金字塔等网络配置,使基于卷积神经网络的方法可以在嵌入式平台下实时运行,并达到了较好的检测效果。
参考文献
[1] Zhi Tian,Chunhua Shen,Hao.Chen,et al.FCOS:fully convolutional one-stage object detection[M].InICCV,2019.
[2] Mark Sandler,Andrew G.Howard,Menglong Zhu,et al.Mobilenetv2:Inverted residuals and linear bottlenecks.mobile networks for classification,detection and segmentation[J].CoRR,abs,2018(10):1804-1806.
[3] Zhang,K,Zhang.Z,Li.Z,Qiao.Y,Joint face detection and alignment using multitask cascadedconvolutionalnetworks[J].IEEE Signal Processing Letters,2003(10):1499-1503.