基于MaskR—CNN的自动驾驶目标检测分析

2019-10-21 10:01张晓雪
科学与信息化 2019年11期
关键词:自动驾驶目标检测深度学习

张晓雪

摘 要 目前,在智能交通领域使用深度学习方法进行自动驾驶目标检测已成为研究热点。通过对Faster R-CNN,YOLO,SSD等代表性方法的对比,这些方法中对目标的实例分割检测效果不够理想,因此在通过比较研究后本文提出使用在实例分割方面效果更为优秀的Mask R-CNN目标检测算法用于自动驾驶的目标检测研究,通过在BDD100k数据集上的仿真实验,表明Mask R-CNN目标检测算法在实例分割中效果明显,进一步针对该算法的特征金字塔进行了改进,提高了其检测精度。

关键词 目标检测;Mask RCNN;深度学习;自动驾驶

Abstract At present, in the field of intelligent transportation, the use of deep learning method for automatic driving target detection has become a research hotspot. By comparing the representative methods such as Faster R-CNN, YOLO, SSD, etc., the results of case segmentation detection in these methods are not satisfactory. Therefore, after comparing and researching, this paper proposes to use Mask R-CNN target detection algorithm which has better effect in case segmentation for the research of automatic driving target detection. The simulation experiments on BDD100k data set show that Mask R-CNN target detection algorithm has better effect in case segmentation.- CNN target detection algorithm has obvious effect in case segmentation, and further improves the feature pyramid of the algorithm to improve its detection accuracy.

Key Words target detection;Mask RCNN;Deep learning; Autopilot

1 引言

2017年是人工智能技術发展的一个高峰期,人工智能领域无人驾驶汽车技术也受到研究学者们极大的关注。在2013年,由于R-CNN[2]技术在目标检测领域的应用并且取得了较好效果,这也就推动了基于深度学习的目标检测技术迅速的发展,该主要分为两种方式:一种为基于滑动窗口提取特征,另外一种为基于区域建议。基于滑动窗口提取特征的算法主要是采用回归的思路,优点是速度快,但检测结果误差稍大不够理想[10],Szegedy等通过深度神经网络的方法[3]deep neural network,DNN采用回归的方式来预测图片中目标识别的概率和它的得分;Redmon等提出YOLO[4]算法,通过将一张图片分为多个网格,再分别计算出每个网格包含的目标及位置的概率检测目标,从而提高了检测速度;再之后出现了例如单个多盒检测器[11](sigle shot multibox detector,SDD)、YOLO算法的变形、小型的单个多样检测器(tiny single shot multibox detector,Tiny SSD)等算法,通过这些算法可以实现实时检测,但检测精度仍然不及基于区域建议的算法。基于区域建议的算法过程分为两步,第一步是要找到检测目标可能存在区域;第二步是在该区域通过卷积神经网络检测得到目标并标定矩形框。通过在基于区域卷积神经网络[2](regions with CNN,RCNN)算法基础上不断改进,He等提出了空间金字塔池化网络(spatial pyramid pooling net work,SPP-net)[5],取消了输入尺寸的限制;Girshick等提出了快速基于区域卷积神经网络[6](fast regions with CNN,Fast RCNN),通过增加区域建议融合层减小了计算量;Ren等提出了更快速的基于区域卷积神经网络[7](faster regions with CNN,Fasert RCNN),这种算法使目标检测的四个步骤整合到一起提高了检测精度,在此基础上提高了检测效率;后面出现了例如基于区域的全卷积神经网络(regions-based fully convolutional networks,R-FCN)、基于掩模的区域卷积神经网络特征[1](mask regions with CNN,Mask R-CNN)等网络框架,改进了基于区域建议的方法。在这些算法当中Mask R-CNN实例分割效果好,目标检测精度高。

2 Mask R-CNN算法

通过对Faster R-CNN算法改进得到了Mask R-CNN算法。该算法是一个实例分割算法,其总体架构如图1所示:

Mask R-CNN是一个“end to end”网络(端到端的网络),其模块主要是卷积和去卷积,实现过程是先将图片进行卷积和池化处理,让图像的feature map随着该处理过程减小;再采用插值操作不断增大图像的feature map,对每一个像素值进行划分。这样就实现了对检测图像的准确分割。

特征金字塔在多尺度目标检测系统当中是一个基本的组成部分。但在最近几年深度学习目标检测上很少有人提及甚至是有意回避着个技巧,主要原因是特征金字塔在计算量大和用时长。在本文中,我们利用深度卷积神经网络本有的多尺度、多层级的金字塔结构来构建特征金字塔网络。使用侧边连接,即一种自上而下的连接方式,给检测图像上所有的特征尺度构建了高级语义特征图,这种结构就叫作特征金字塔网络(FPN)[13]。在FPN的特征金字塔中,金字塔级别是由每个阶段定义的, 把每个阶段的最后一层的输出作为特征图的参考集。在每个阶段的最深层应该具有最强的特征,本文用了每个阶段的最后一个残差结构的特征来激活输出。这些残差模块的输出表示为{C2, C3, C4, C5},相互一一对应在conv2,conv3,conv4和conv5的输出,与此同时注意它们相对于输入图像具有{4, 8, 16, 32}像素的步长。考虑到内存的占用,所以没有将conv1包含在金字塔中。再把高层特征图进行上采样,接着对该特征横向连接(lateral connections )到前一层特征,通过该过程使得高层特征得到加强。在以上过程中横向连接的两层特征在空间尺寸上必须相同。这样主要是为了利用底层的定位细节信息。最后,作者使用的卷积核去处理了已经融合的特征图,用来生成最后我们需要的特征图。{C2, C3, C4, C5}层与融合特征层的{P2, P3, P4, P5}是一一对应的,对应的层空间尺寸也是相通的。其流程图如图2所示:

2.1 RoIPoolin与RoiAlign

Mask R-CNN是通过使用RoIAlign来提高它的精度,RoIAlign与RoIPooling[]最大的区别在于RoIAlign并不像是RoIPooling那样采用量化操作,它是采用了线性插值算法。而对于RoIPooling两次量化操作以及其误差解释如图3所示。

为了得到固定大小的特征图,需要进行两次量化操作。

(1)图像坐标。

如图3所示,在该VGG16中,就使用了5个池化操作,其中每个池化操作都是2Pooling,所以最终我们获得feature map的大小为,但是将狗的图像的边框对应到feature map上面,就得到了的结果,这个结果是浮点数,然后进行了量化操作(即取整操作),这样结果就变为,在这里本文引入了第一次的量化误差;

(2)特征图坐标

如图3所示,feature map中有不同大小的ROI,可后面的网络却必须有固定的输入,所以就需要把不同大小的ROI转化为固定的ROI feature,在這里使用的是的ROI feature,所以需要将的ROI映射成的ROI feature,得出结果是 ,通过对其进行取整,在这里引入了第二次量化误差。为了解决该问题,提出RoIAlign方法[1]。RoIAlign 的技术解析图如图4所示。

我们为了得到固定大小为的feature map使用了ROIAlign技术,但该技术却没有使用量化操作,它采用双线性插值的图像缩放算法,这就充分地利用了原图中虚拟点四周的四个真实存在的像素值来共同决定目标图中的一个像素值,其中双线性插值如图5所示。

通过上述图像可以清晰地看到,蓝色的线框表示卷积后获得的feature map,黑色实线框表示RoI feature,结果需要输出大小为,这样就可以利用双线性插值来估计这些蓝点(即为虚拟坐标点,这也可以称为双线性插值的网格点)处所对应的像素值,最终可以得到对应的输出。图中所显示的蓝点是卷积核当中采样的随机普通点,当然这些采样点的它们的个数和位置不会对性能产生决定性的影响。在以上过程操作完成后需要在每一个橘红色的区域里面进行max pooling或者average pooling操作,这样就可以获得最终的输出结果。上面的操作全程没有用到量化操作,也没引入误差,也就是说原图中的像素和feature map中的像素是完全对齐的,当中是没有偏差的,这样在提高检测精度同的时也会对实例分割十分有利。

2.2 LOSS分析

对于每一个RoI,mask分支有K个维度的输出,这当中就对K个大小为的mask都进行了编码,其中每一个mask都有K个类别[1]。同时使用了像素级 sigmoi定义Lmask为平均二值交叉熵损失函数(average binary cross-entropy loss),对应一个属于ground-truth中的第K类的RoI,Lmask只在第K个mask上面有定义,其他的k-1个mask输出对整个Loss没有作用。在该方法中定义了Lmask允许网络为每一类生成一个mask,这样就可以避免和其他类进行竞争;这样就可以将目标分类和mask生成并行生成。FCN进行语意分割时使用的是multinomial cross-entropy loss,此方法使得mask之间存在竞争关系,所以使用了像素级的sigmoid和binary loss,避免了不同的mask之间产生的竞争。通过实验表明该方法可提高实例分割的效果。

3 Mask R-CNN的改进

分析FPN结构可知,该算法利用了多尺度的信息,但是文献[1]中的侧边连接方法路径只有自上而下的模式,同时对于 RPN 的输入是在这一组特征映射图中选取单一尺寸进行处理。这样会导致两个问题:其一是最高层的特征映射图与原特征提取网络结构的最终输出是一样的,但是大尺寸目标的信息需要从由此层特征映射图主要获取,这就使得大目标检测的准确率与原网络数据相似有时甚至偏低;其二,对自上而下路径结构进行分析,可以知道对于 FPN 输出的一组特征映射图中每一层包含本层和更高层的信息而不包含更低层的信息,而对 RPN 又是从中选取最优尺寸特征映射图进行输入,这样就会导致无法充分利用所有尺寸特征映射图的信息,造成最后检测准确率并非更优值。

对 FPN 生成不同尺寸的特征映射图,增加一条自下而上的路径,将底层信息直接传送到高层,充分利用所有尺寸特征映射图的信息,改进后的FCN结构如图6所示。

图6中N2与P2的尺寸相同,Ni经步长为2的卷积,得到与Pi+1相同尺寸的映射图,并与Pi+1进行相加然后再进行卷积操作得到Ni+1。

仿真实验中,考虑到由于BDD100k数据集图片尺寸过大,对硬件要求过高,将Batch-Size调整为1,网络用resnet50[16]进行测试,所以会对精度造成一定的影响。

4 实验结果与分析

为了验证BDD100k[15]数据集基于Mask R-CNN检测效果,仿真实验是在Windows10和tensorflow框架下,处理器为:Intel(R)Core(TM)i7-6800k ,CPU@3.40GHz,ram:64.0GB的环境中进行的。

4.1 实验结果分析

BDD100k数据集检测结果如图7所示。

可以看出该方法可以将行人、车辆、路灯等很好的检测并框出。

几种算法测试结果对比如表1所示,mAP为其检测精度的平均正确率,对结果进行对比可知,本文提出的改进的Mask R-CNN通过增添自下而上的路径,高层与底层语义信息相融合,由实验结果可知该方法提高了检测的平均精度。

5 结束语

本文提出了基于改进特征金字塔的 Mask R-CNN 目标检测方法,针对 Mask R-CNN 在FPN 提取特征阶段无法充分利用所有尺度特征映射图信息的问题,结合 FPN 和反向侧边连接,融合连接后的特征映射图。通过在BDD100k公开数据集上的训练和测试,实验结果表明检测精度得到提高。

参考文献

[1] Kaiming He Georgia Gkioxari Piotr Doll?ar Ross Girshick.Mask R-CNN.[cs.CV] 5 Apr 2017

[2] RossGirshick,JeffDonahue,TrevorDarrell,JitendraMalik,UC Berkeley.Rich feature hierarchies for accurate object detection and semantic segmentationTech report (v5).arXiv:1311.2524v5 [cs.CV] 22 Oct 2014.

[3] Dumitru Erhan, Christian Szegedy, Alexander Toshev, Dragomir Anguelov, Google.Scalable Object Detection using Deep Neural Networks.arXiv:1312.2249v1 [cs.CV] 8 Dec 2013.

[4] Joseph Redmon, Santosh Divvala, Ross Girshick, Ali Farhadi.You Only Look Once:Unified, Real-Time Object Detection.arXiv:1506.02640v5 [cs.CV] 9 May 2016.

[5] Kaiming He,Xiangyu Zhang,Shaoqing Ren,Jian Sun.Spatial Pyramid Poolingin Deep Convolutional Networks for Visual Recognition.arXiv:1406.4729v4[cs.CV] 23 Apr 2015.

[6] Ross Girshick,Microsoft Research.Fast R-CNN.arXiv:1504. 08083v2 [cs.CV] 27 Sep 2015.

[7] Shaoqing Ren, Kaiming He, Ross Girshick, and Jian Sun.Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks.arXiv:1506.01497v3 [cs.CV] 6Jan 2016.

[8] Tsung-Yi Lin, Piotr Doll?ar, Ross Girshick, Kaiming He, Bharath Hariharan, Serge Belongie.Feature Pyramid Networks for Object Detection. [cs.CV] 19 Apr 2017.

[9] Yitong Wang,Xing Ji,Zheng Zhou,Hao Wang,Zhifeng Li.Detecting Faces Using Region-based Fully Convolutional Networks

[10] Lin T Y, Goyal P, Girshick R, et al. Focal Loss fo rDense Object Detection[C]//IEEE International Conference on Computer Vision. IEEE Computer Society, 2017:2999-3007.

[11] Liu W, Anguelov D, Erhan D, et al. SSD: Single Shot MultiBox Detector[C]// European Conference on Computer Vision. Springer, Cham, 2016:21-37.

[12] 馮小雨, 梅卫, 胡大帅. 基于改进Faster R-CNN 的空中目标检测[J]. 光学学报, 2018, 38(6): 0615004.

[13] Lin T Y, Dollár P, Girshick R, et al. Feature Pyramid Networks for Object Detection[C]//IEEE Conference on Computer Vision and Pattern Recognition. IEEE, 2017:936-944.

[14] 唐诗.基于车载视频的道路车辆及行人检测[D]:[硕士学位论文].成都:电子科技大学,2018.05.11.

[15] Fisher Yu1 Wenqi Xian2 Yingying Chen1 Fangchen Liu3 Mike Liao1Vashisht Madhavan4 Trevor Darrell1.BDD100K: A Diverse Driving Video Database with Scalable Annotation Tooling.arXiv:1805.04687v1 [cs.CV] 12 May 2018.

[16] He K, Zhang X, Ren S, et al. Deep Residual Learning for Image Recognition[C]// IEEE Conference on Computer Vision and Pattern Recognition.IEEE Computer Society, 2016:770-778.

猜你喜欢
自动驾驶目标检测深度学习
汽车自动驾驶的发展
LTE—V车路通信技术浅析与探讨
视频中目标检测算法研究
行为识别中的人体运动目标检测方法
MOOC与翻转课堂融合的深度学习场域建构
大数据技术在反恐怖主义中的应用展望
深度学习算法应用于岩石图像处理的可行性研究
特斯拉默默更改了官网上“自动驾驶”的说明
基于深度卷积网络的人脸年龄分析算法与实现
移动机器人图像目标识别