基于Mask R-CNN的无人机影像路面交通标志检测与识别
Detection and recognition of road traffic signs in UAV images based on Mask R-CNN
通讯作者: 黄 亮(1985-),男,博士,硕士生导师,主要研究方向为遥感影像变化检测。Email:kmhuangliang@163.com。
责任编辑: 张 仙
收稿日期: 2020-01-15 修回日期: 2020-03-6 网络出版日期: 2020-12-15
基金资助: |
|
Received: 2020-01-15 Revised: 2020-03-6 Online: 2020-12-15
作者简介 About authors
陈朋弟(1993-),男,硕士研究生,主要研究方向为目标检测与遥感影像分割。Email:
交通标志的检测与识别是智能驾驶导航系统的重要组成部分,但传统方法的处理过程由于精度低、时间复杂度高以及鲁棒性差等缺点,不能满足当前智能驾驶的需求。为此,提出了一种基于Mask R-CNN的无人机影像路面交通标志检测与识别方法。首先,制作了一套高质量的无人机影像路面交通标志数据集; 然后,根据统计的200个标记路标特征,对Mask R-CNN中区域候选网络(region proposal network,RPN)结构的锚框宽高比及初始参数进行了改进,使其更好地应用于无人机影像路标场景; 最后,采用精确度-召回率(precision-recall,PR)曲线和平均精度值(mean average precision,mAP)进行精度评价。实验结果表明,锚框宽高比为1∶1,1∶2,1∶3时效果更好; 该方法得到的识别结果平均检测精度为98.33%,高于Faster R-CNN和YOLOv3方法,具有较好的有效性。
关键词:
The detection and recognition of traffic signs is an important part of the intelligent driving navigation system. However, due to the shortcomings of low accuracy, high time complexity and poor robustness, the traditional method cannot meet the current needs of intelligent driving. Therefore, a method for detecting and recognizing road traffic signs of UAV images based on Mask R-CNN is proposed. Firstly, a set of high-quality UAV images road traffic sign data sets are produced. Then, based on the statistics of 200 labeled landmarks features, the region proposal network (RPN) structure anchor boxes width-to-height ratio and initial parameters in Mask R-CNN are improved to make it better applied to UAV images road sign scenes. Finally, the precision-recall (PR) curve and mean average precision (mAP) are used for accuracy evaluation. The experimental results show that the anchor boxes width-to-height ratio is better when the ratio is 1∶1, 1∶2, 1∶3; and that the average detection accuracy obtained by this method is 98.33%, which is higher than the accuracy of Faster R-CNN and YOLOv3, indicating better effectiveness.
Keywords:
本文引用格式
陈朋弟, 黄亮, 夏炎, 余晓娜, 高霞霞.
CHEN Pengdi, HUANG Liang, XIA Yan, YU Xiaona, GAO Xiaxia.
0 引言
随着科技的进步,智能驾驶技术得到了空前发展,驾驶辅助系统受到了极大的关注,人们对驾驶辅助系统的要求也更加精细化,从之前的道路级导航发展到精细单车道级的需求。无人机影像由于获取方便、视野广且分辨率高等优点,为大面积交通标志的获取提供了条件,通过将检测和识别到的路面交通标志与各大地图软件相结合,可以实时而准确地为驾驶员提供交通信息。因此如何快速、高质量地从无人机影像中检测和识别路面交通标志(后文简称为路标)便成为了亟待解决的问题。
目前对于路标检测与识别的研究较少,Chira等[1]提出了一种模板匹配和边缘检测相结合的路标检测方法,可轻松部署在专用计算机上,并用于驾驶辅助系统中; Schreiber等[2]利用矢量图来训练光学字符识别(optical character recognition,OCR)的对象,采用消失点并利用逆透视投影变换(inverse perspective mapping,IPM)得到俯视图,最后使用TESSERACT对符号进行分类; Wu等[3]通过训练数据得到道路的标志模板,然后使用区域特征提取(maximally stable extremal regions,MSER),执行模板匹配来检测多个道路标志; Maier等[4]通过提取车辆前方的感兴趣区域,然后将其编码为圆弧样条,再与提取的目标候选轮廓进行比较从而实现箭头的检测与分类。此外,一些学者利用机器学习和深度学习对路标检测与识别也开展了研究[5,6,7,8]。Danescu等[9]利用水平线区域的暗光暗转换检测提取被绘制对象的特征,然后利用高斯混合灰度分割对其进行细化,并利用透视几何法重建三维边界框,最后使用决策树约束对对象进行分类; Wang等[10]通过IPM变换得到俯视图,然后利用改进的 Haar小波提取箭头标志特征,最后通过支持向量机对箭头进行识别; Liu等[11]首先通过IPM变化抑制透视效果,并利用滤波得到带道路标线的图像切片,然后通过自适应增强(adaptive boosting,Adaboost)分类器和极限学习机(extreme learning machine,ELM)分类器来识别标志的类型; 李强[12]通过提取纹理信息并采用局部软投票的方法分割出道路区域,然后利用显著性融合和改进的LeNet-5神经网络对交通标志进行检测和识别; Husan等[13]设计了一种卷积神经网络(convolutional neural network,CNN)用于损坏路标的检测和识别,该方法在一定程度上可对损坏路标进行有效识别。
对于路边交通标志牌检测与识别是当前该领域研究最多的方面,方法基本上都是基于神经网络的[14,15,16,17,18,19],Zhu等[20]提出了一种全卷积神经网络(fully convolutional networks,FCN)和CNN相结合的目标分类框架,先通过CNN对交通标志进行分类,然后使用FCN建立边界框进行识别; 伍锡如等[21]提出了一种基于图像聚类的交通标志CNN快速识别算法,该算法将聚类思想和CNN网络结构相结合,有效提高了路面交通标志牌的检测与识别; 卢飞宇[22]提出了一种基于改进的多任务级联卷积神经网络(multi-task convolutional neural network,MTCNN) 交通标志检测与识别算法; Kryvinska等[23]设计了一种神经网络用于识别交通标志牌,该网络有定位和识别2部分组成,并在瑞典交通标志数据库(swedish traffic sign database, STSG)上进行了测试,其精度只有63%,实用性较差。
上述方法的提出弥补了交通标志检测与识别的空缺,但也有诸多不足之处,除对硬件的要求较高外,时间上也有很大的限制,同时也难以达到较高的准确率,且当遇到复杂环境如阴影区域、遮挡路标以及磨损路标等情况时很难对交通标志进行有效的检测与识别。为了实现无人机影像路标的高质量检测和识别,本文选取了当前较为先进的目标检测网络Mask R-CNN对路标进行检测和识别,并通过重新调整算法内部参数提高了路标识别准确率,克服了对阴影区路标、遮挡路标以及磨损路标等无法识别或识别精度低的问题。
1 数据集
因为当前并没有公开的路面标志数据集,而所有已公开的数据集都为路边标志牌数据集,为此在实验过程中手动进行了数据集制作。实验所用的原始无人机影像是通过大疆FC6310和哈瓦MEGA-V8拍摄的,地点位于昆明市。采集的影像大小分别为5 472像素
2 Mask R-CNN方法
Mask R-CNN是He等[24]提出的一种基于对象的实例分割方法,它是在Faster R-CNN[25]的基础上演化而来的网络模型。针对Faster R-CNN特征图与原始图像对不准的问题,Mask R-CNN取消了Faster R-CNN中的感兴趣区域(region of interest,RoI)池化(Pooling),提出了RoI对齐(Align),并增加了Mask预测分支,这样既增加了对小目标的识别效果,又可以分割目标对象。Mask R-CNN由特征金字塔网络(feature pyramid networks,FPN)、区域侯选网络(region proposal network,RPN)、RoI Align、Mask预测分支以及原始分支组成。Mask预测分支是一个小型的FCN[26],可对每个RoI进行语义分割,而原始分支由回归和分类2部分组成,用来预测路标。完整网络框架如图1所示。与Faster R-CNN相比,Mask R-CNN的损失函数也因增加了分割分支而产生了变化,新的损失函数Loss由3部分组成,分别是分类损失
图1
2.1 FPN
图2
式中:
2.2 RPN
RPN第一次出现是在Faster R-CNN结构中,是用来提取候选框的,而Mask R-CNN中的RPN结构与Faster R-CNN相同。RPN采用的是滑动窗口机制,特征图上每个滑动窗口位置可预测
图3
实际中,路标的形状不同于其他物体,且大多为小目标检测与识别。在原始Mask R-CNN的RPN中,锚框的宽高比分别取1∶1,1∶2和2∶1,因此,为考虑模型更好地适用于应用场景,提高路标的检测与识别效率,通过统计200个标记路标,将宽高比修改为1∶1,1∶2和1∶3,其他结构保持不变。
2.3 RoI Align
图4
通过特征图上距离最近的4个像素得到其像素值,整个过程中没有对RoI、均分RoI产生的子区域和采样点进行量化,每个子区域中采样点的数目和位置存在一定的规则,若采样点数为1,则该点位于子区域的中心位置; 若采样点数为4,则采样点的位置为均分该子区域的4个小矩形后各自的中心点。通常这些采样点的坐标为浮点数,所以需要用到插值的方法获得其像素值。最后对每个单元格内的4个采样点进行最大池化就可以得到最终的RoI Align的结果。RoI Align的这一过程需进行反向传播计算,反向传播公式为:
式中:
3 结果与分析
3.1 Mask R-CNN训练与测试
修改后的Mask R-CNN使用图形处理器(graphics processing unit,GPU)进行训练和测试。平台为TensorFlow,计算机的配置为Intel(R)i7-9700k CPU,NVIDIA GeForce GTX1070 Ti显卡,8 GB显存。训练过程中初始学习率设置为0.001,权重衰减系数设置为0.000 5,学习动量(MOMENTUM)设置为0.9,IoU阈值设置为0.7,迭代次数为4 000次。图5给出了Mask R-CNN在训练过程中损失率的衰减情况。从图中可以看出,损失率随着迭代次数的增加,先急剧下降,后逐渐趋于平缓。图6表明模型训练后可以达到对路标足够的检测精度。
图5
图6
根据图6中精确度(Precision)和召回率(Recall)计算各类别的平均精度值(mean average precision,mAP)对网络进行评价。Precision,Recall和mAP的计算公式分别为:
式中:
3.2 路标检测与识别方法比较
为验证本文方法的有效性,将修改后的Mask R-CNN分别与Faster R-CNN和YOLOv3方法[30]的实验结果进行了比较,这3种方法大致可分为2类,Faster R-CNN与Mask R-CNN相似,都是基于目标候选区域的模型,而YOLOv3是基于回归的模型方法。实验选取了2种无人机拍摄的4张不同环境下的图(序号分别为a,b,c,d)进行示例分析,从表2—4可以看出: ①Mask R-CNN的检测与识别精度都高于其他2种方法,且对磨损路标(如表4中a)、阴影区路标(如表4中b)以及只有箭头部分的路标(如表4中c)都可以很好地识别,说明Mask R-CNN在像素级别的路标检测比采用矩形框定位对象的YOLOv3和Faster R-CNN方法具有更高的定位精度; ②Faster R-CNN对于磨损路标几乎无法检测和识别,这主要是因为该模型中CNN和RoI Pooling结构对小目标的检测效果不佳; ③从运行时间上可以看出,Mask R-CNN所用的时间都高于其他2种方法,原因是因为Mask R-CNN中增加了分割分支,这使得在整个处理过程中速度下降,由此造成时间增加。
表2 示例图统计
Tab.2
指标 | 方法 | a | b | c | d |
---|---|---|---|---|---|
识别数 量/个 | Faster R-CNN | 3 | 2 | 2 | 1 |
YOLOv3 | 5 | 2 | 2 | 1 | |
Mask R-CNN | 5 | 2 | 2 | 1 | |
平均识别准确度/% | Faster R-CNN | 60 | 99.5 | 100 | 100 |
YOLOv3 | 94.2 | 99.5 | 99 | 100 | |
Mask R-CNN | 98.3 | 99.9 | 100 | 100 |
表3 3种方法的检测结果
Tab.3
方法 | mAP/% | 平均运行时间/s |
---|---|---|
Faster R-CNN | 91.66 | 2.9 |
YOLOv3 | 97.84 | 0.3 |
Mask R-CNN | 98.33 | 3.8 |
4 结论
本文为解决智能驾驶辅助系统对路标的应用需求,尝试利用基于像素水平检测的Mask R-CNN方法对路标进行检测和识别。实验结果表明,相比于传统方法,该方法在速度和精度上都有了大幅度提升,并且具有较好的应用预期。通过实验主要得出以下几点结论:
1)为满足实验需求,制作了一套高质量的无人机影像路标数据集,以适应不同场景下对路标的检测和识别。
2)实验过程中考虑到路标外形的特殊性,在对Mask R-CNN整体框架不变的情况下,对RPN的锚框参数做了相应的修改,使之适合复杂环境下路标的检测与识别。因为文中Faster R-CNN和YOLOv3方法都是对路标进行识别,所以本文方法在示例图中隐藏了分割部分,也只显示识别部分。
3)从测试结果中可以看出,Mask R-CNN的mAP为98.33%,都高于其他2种方法,但速度上略显落后,这主要是因为增加了分割分支。后续将从网络的整体结构入手,寻找更好的方法对网络进行改进,在提高精度的同时着重提升路标的检测与识别速度,使之更好地应用于智慧交通。
参考文献
Real-time detection of road markings for driving assistance applications
[C]//
Detecting symbols on road surface for mapping and localization using OCR
[C]//
A practical system for road marking detection and recognition
[C]//
Real-time detection and classification of arrow markings using curve-based prototype fitting
[C]//
Efficient road-sign detection based on machine learning
[J].
基于深度学习的车道线检测算法研究
[D].
Deep learning based lane markings detection algorithm
[D].
基于深度学习的路面交通标志识别
[J].
Road traffic sign recognition based on deep learning
[J].
基于机器视觉的路面交通标志识别的应用研究
[D].
Research on the application of pavement traffic signs recognition based on machine vision
[D].
Detection and classification of painted road objects for intersection assistance applications
[C]//
The detection and recognition of arrow markings recognition based on monocular vision
[C]//
Multi-type road marking recognition using Adaboost detection and extreme learning machine classification
[C]//
基于多层次融合与卷积神经网络的道路交通标线检测与识别
[D].
Road traffic marking and recognition based on multi-level fusion and convolutional neural networks
[D].
Recognition of damaged arrow-road markings by visible light camera sensor based on convolutional neural network
[J].
Deep detection network for real-life traffic sign in vehicular networks
[J].
基于图像不变特征深度学习的交通标志分类
[J].
Traffic sign classification based on deep learning of image invariant feature
[J].
Detection and validation of tow-away road sign licenses through deep learning methods
[J].
Neural network system of traffic signs recognition
[C]//
基于Faster R-CNN的交通标志检测方法
[D].
Method for traffic sign detection based on Faster R-CNN
[D].
基于卷积神经网络的交通标志检测研究
[D].
Traffic sign detection based on convolutional neural network
[D].
Traffic sign detection and recognition using fully convolutional network guided proposals
[J].
基于图像聚类的交通标志CNN快速识别算法
[J].
CNN-based image clustering algorithm for fast recognition of traffic signs
[J].
基于改进的卷积神经网络的交通标志检测与识别算法
[J].
Traffic sign detection and recognition algorithm based on improved multi-task convolutional neural network
[J].
An approach towards service system building for road traffic signs detection and recognition
[J].
Mask R-CNN
[C]//
Faster R-CNN:Towards real-time object detection with region proposal networks
[J].
Fully convolutional networks for semantic segmentation
[C]//
Feature pyramid networks for object detection
[C]//
基于改进Mask R-CNN和Kinect的服务机器人物品识别系统
[J].
Service robot item recognition system based on improved Mask R-CNN and Kinect
[J].
Spatial pyramid pooling in deep convolutional networks for visual recognition
[C]//
/
〈 |
|
〉 |
