APP下载

基于改进Faster R-CNN的交通标志检测算法

2021-04-10张慧慧邓军勇

液晶与显示 2021年3期
关键词:交通标志注意力卷积

李 哲, 张慧慧, 邓军勇

(西安邮电大学 电子工程学院, 陕西 西安 710121)

1 引 言

近年来,随着全球汽车数量的逐渐增加,高级辅助驾驶系统(Advanced Driver Assistance System,ADAS)迎来了新的发展机遇。道路交通标志检测与识别[1]作为ADAS的关键技术,可以指导辅助驾驶员做出相应驾驶决策,减少交通事故的发生。因此,真实路况下及时并准确地检测出交通标志,对辅助驾驶、无人驾驶具有重要的现实意义。

传统的交通标志检测方法主要有RGB[2]、HSV[3]颜色空间、形状特征匹配法[4]、Hough变换法[5]等,都能够取得较好的检测结果。但这些方法极易受到标志破损、图像倾斜扭曲、光照变化等因素的干扰,造成错误检测。另外,陈龙等人[6]首先提取交通标志的局部二值化(LBP)和梯度方向直方图(HOG)特征,然后使用支持向量机SVM[7]、AdaBoost[8]等特定的分类算法实现交通标志的分类检测。虽然这种方法鲁棒性较强,但泛化能力薄弱,检测时间长,无法满足实时性的要求。近年来,基于深度学习[9]的交通标志检测算法[10]以其优异的性能逐渐取代了传统的多类别目标检测方法。Girshick等人首先提出了一种基于区域的卷积神经网络R-CNN[11]。随后,又提出了Fast R-CNN[12]和Faster R-CNN[13]算法。Faster R-CNN采用区域建议网络(RPN)结构替代选择性搜索获取目标候选区域[14],然后送入Fast R-CNN网络识别目标类别,在检测速度和精度上都有明显提升。此外,王超等人[15]提出基于You Only Look Once(YOLO)的交通标志检测算法,将特征图等分为n×n个网格,然后预测每个网格区域内的目标。宋青松等人[16]运用一种聚类残差Single Shot multiBox Detector(SSD)算法实现交通标志检测,在提取多个候选窗口的基础上,增加了K均值聚类的思想。这两种单阶段目标检测方法虽然在检测速度上有所突破,但在检测精度上并不优于Faster R-CNN。尤其是对于复杂场景下的小目标检测问题,仍然存在较大的缺失和错误检测。

本文综合考虑交通标志小目标的敏感性和检测速度,选取Faster R-CNN为基本检测模型并加以改进,实现自然场景道路下交通标志的精准检测。将原始Faster R-CNN模型中的基础网络替换为深度残差网络ResNet50[17]来提取交通标志的特征;设计了多尺度区域建议网络(Multi Scale Region Proposal Network,MS-RPN)结构生成目标建议区域;并在残差单元中嵌入轻量级注意力机制模块[18](Convolutional Block Attention Module,CBAM),在不显著增加参数量和计算量的同时,大幅提升了交通标志的检测效果。

2 Faster R-CNN网络结构的改进

2.1 网络整体结构

由于自然交通场景图像中,交通标志目标尺寸差异较大,导致原始Faster R-CNN检测算法效果不佳,产生漏检和误检的现象。改进后的Faster R-CNN检测网络结构如图1所示。采用50层深度残差网络作为交通标志图像的特征提取器,虽然加深了网络的深度,但是算法复杂度较低,且更大程度地提取和保留了图像中的细小特征。另外,残差网络采用“shortcut”的连接方式构建了一个恒等映射,有效地避免了模型出现过拟合和梯度消失的问题。CBAM模块嵌入在对检测结果影响较大的卷积层组ResNet_2、ResNet_3和ResNet_4后。分别在网络的第3个卷积层组ResNet_3和第4个卷积层组ResNet_4后接入MS-RPN结构,生成不同尺寸交通标志目标的初始建议区域。随后经过兴趣区域池化网络(ROI Pooling)层将特征图分块池化为固定尺寸大小,并送入到第5个卷积组ResNet_5作为目标检测的全连接层,最终判别出目标建议区域属于交通标志还是背景。

图1 改进后的Faster R-CNN网络结构图Fig.1 Improved Faster R-CNN network structure

2.2 多尺度区域建议网络结构

全景道路图像中包含多个不同尺度的交通标志目标,原始RPN仅在特征图的最后一个卷积层上,用3×3大小的滑动窗口进行卷积操作获得目标初始建议区域。如果直接使用该算法,会限制模型的感受野,丢失许多小目标特征,从而导致算法性能下降。文献[19]提出了一种多尺度深度卷积神经网络(Multi Scale Deep Convolutional Neural Network,MS-CNN)用于快速检测多尺度目标。该方法包括目标建议网络和精确检测网络两个子网络。在目标建议子网络中,分别用卷积层conv3、conv5来检测小目标物体和大目标物体,实现了很高的检测率。与该文献方法思路类似,本文设计的MS-RPN结构如图2所示。

图2 MS-RPN结构图Fig.2 Structure diagram of MS-RPN

对于不同尺度的交通标志目标,采用在ResNet_3和ResNet_4两个卷积组的最后一层上设置多个滑动窗口的策略生成目标建议区域。在ResNet_3d上添加大小分别为1×1、3×3和 5×5的滑动窗口,并作为特征映射图用于检测中小尺寸的交通标志。在ResNet_4f上添加大小为5×5、7×7、9×9的滑动窗口,并作为特征映射图用于提取中大尺度的标志目标。

2.3 注意力机制模块

自然道路场景中,交通标志与树木、电线杆、广告牌等诸多复杂背景内容叠加在一起,导致算法检测精确率不高。为了提升模型对交通标志目标与其他背景内容的区分能力,在残差网络的基础上,引入了CBAM模块。CBAM模块可根据特征图内不同区域对不同目标的贡献率不同,舍弃对关键目标贡献率低的特征,保留关键目标的重要特征信息。结合残差结构的CBAM结构如图3所示。

图3 结合残差结构的CBAM结构图Fig.3 Structure diagram of CBAM combined with residual structure

CBAM模块加在卷积块后,由通道注意力机制(Channel Attention,CA)和空间注意力机制(Spatial Attention,SA)两个模块级联构成。给定一个中间特征输入图F∈RH×W×D(H、W、D分别表示特征图的高度、宽度和通道数),依次经过通道注意力模块和空间注意力模块,生成一维通道注意力图谱MC∈R1×1×D和二维空间注意力图谱MS∈RH×W×1,得到最后的输出。具体操作可用公式表示为

F′=(MC(F)+1)⊗F

(1)

F″=(MS(F′)+1)⊗F′

(2)

式中:⊗是逐像素相乘运算符,F′和F″分别代表经过通道注意力优化和空间注意力优化后的特征图。每个注意力图乘以输入特征图之前均有加1操作,是为了避免网络模型因加入注意力模块而导致特征提取性能下降的问题。注意力机制模块能够快速地从大量特征信息图中筛选定位出高价值的目标信息,可有效改善交通标志误检和漏检现象。

2.3.1 通道注意力子模块

中间特征图的每一个通道都可以被视为特征检测器,且不同的通道特征对目标关键信息的贡献率不同[20]。而通道注意力模块能够通过给特征图赋权的方式筛选出贡献率大的卷积通道,舍弃无效卷积通道,如图4所示。

图4 通道注意力结构图Fig.4 Structure diagram of channel attention

(3)

式中:σ表示Sigmoid 激活函数,W0和W1是MLP的权重参数,在W0后使用了Relu非线性激活函数。

2.3.2 空间注意力子模块

相比于通道注意力,空间注意力模块的作用是筛选出所有位置特征中对关键目标贡献率大的空间特征信息。例如对于摆放在广告牌旁边的交通标志,交通标志是主要目标对象,广告牌是其他背景信息。空间注意力机制能够有效关注到交通标志的位置信息而抑制广告牌信息,从而提高检测精度。

图5 空间注意力结构图Fig.5 Structure diagram of spatial attention

(4)

式中:σ表示Sigmoid 激活函数,f7×7表示卷积核大小为7×7的卷积层。

3 实验结果与分析

3.1 实验环境与数据集

实验所使用的计算机硬件配置为NVIDIA GTX 1080TI GPU。软件环境为Ubuntu16.04操作系统、Caffe深度学习框架和Python编程环境。整个网络的训练损失函数继续沿用原Faster R-CNN中的分类损失和回归损失函数公式。网络训练的初始学习率设为0.001,动量(Momentum) 和权重衰减系数(Weight decay)分别设为0.9和0.000 5,用随机梯度下降(SGD)算法优化进行端到端的训练。

选取公开的中国交通标志检测数据集TSDD[21]作为网络改进前后对比实验的基准数据集。该数据集来自北京交通大学重点实验室,由10 000张自然交通场景图像组成,每张图像的尺寸在640pixel×420pixel到3 096pixel×4 128pixel之间,图中每个交通标志的尺寸在16pixel×18pixel到188pixel×192pixel之间。它们是在不同的地区、时间、天气光照以及运动模糊条件下拍摄所的,更符合我国实际交通任务的需要,部分样本如图6所示。实验选取其中4 600张作为训练样本、2 000张作为测试样本,并把交通标志按照指示标志(Direction)、警告标志(Caution)、禁止标志(Prohibition)分为3大类别。

图6 数据集样本图Fig.6 Sample dataset

3.2 性能评价指标

实验采用的模型评价指标mAP为3类交通标志的平均精度(Average Precision,AP)均值。平均精度是精确率(Precision,P)和召回率(Recall,R)所构成的P-R曲线与横纵坐标轴所围成的面积,积分表达式为:

(5)

精确率P为检测出的所有交通标志中,检测正确的正样本(交通标志)所占的比例,表达式为:

(6)

召回率R为样本中的所有交通标志中,检测正确的正样本所占的比例,表达式为:

(7)

式中:XTP表示交通标志被检测为正样本,XFP表示负样本(背景)被检测为正样本,XFN表示交通标志被检测为负样本。网络检测速率的评价指标为检测每幅图像所需的时间。当检测到的交通标志边框与真实边框的IOU(交并比)阈值大于0.7时,将检测结果记为正样本;当检测到的交通标志边框与真实边框的IOU阈值小于0.3时,将检测结果记为负样本。

3.3 结果与分析

算法改进前后所得的P-R曲线结果如图7所示。可以看出,改进后的算法曲线下所包围的面积大于原Faster R-CNN算法曲线下所包围的面积。即改进后的模型检测精确率高于原Faster R-CNN方法。分别对MS-RPN结构和CBAM模块在3类交通标志上进行实验,检测性能结果对比如表1所示。

图7 算法改进前后的P-R曲线对比图Fig.7 P-R curve comparison before and after algorithm improvement

由表1可知,与原始Faster R-CNN相比,采用深度残差ResNet50作为交通标志的基本检测网络和MS-RPN结构的设置,平均检测精度提升了3.82%。由此可知,加深网络的深度,在不同层级上设置不同大小的滑动窗口获得了更精准的候选区域,能够提升网络对不同尺寸交通标志目标的检测能力,且检测每幅图像所需的时间减少了0.014 s。CBAM模块的引入优化了网络模型,促进了特征图之间的信息流动,在没有额外增加检测时间的基础上,平均检测精度提升了2.34%。

表1 检测性能结果对比表Tab.1 Comparison of test performance results

为了验证改进算法的先进性,选取3张具有代表性的测试集图片进行交通标志检测。检测结果如图8所示。由图8(a)、(b)、(c)可知,当交通标志目标较小时,原Faster R-CNN算法存在严重的漏检现象,而改进后的方法可以精确地检测出小目标交通标志。由图8(d)、(e)、(f)可以看出,原Faster R-CNN方法没有把存在遮挡情况的交通标志正确检测出来,而改进后的Faster R-CNN方法可以精确检测出存在遮挡现象的交通标志目标。由图8(g)、(h)、(i)可知,面对夜晚光线较暗的情况,原Faster R-CNN方法、本文方法均能检测到交通标志,但原Faster R-CNN方法的检测精确率为91.6%,且误把车牌检测为交通标志,而本文改进后的方法检测精确率为99.5%。

图8 部分样本检测结果对比图Fig.8 Comparison of test results of some samples

除了验证网络结构细节上的提升,本文也与其他方法开展横向实验对比,如LBP+SVM方法,SSD模型和YOLOv3模型,实验结果如表2所示。根据表2,首先提取交通标志的LBP特征,然后使用SVM实现交通标志分类检测方法的平均检测精度为88.67%,检测每幅图像的时间为0.13 s,远远慢于其他方法。对于单阶段检测网络模型SSD和YOLOv3,由于采用默认窗口机制,不依赖于候选区域,所以检测速度较快,但检测精度仍然低于本文方法。本文方法在测试集上的平均检测精度为98.52%,检测速度为0.042 s/幅,依然达到实时检测的范围。所以,本文提出的基于改进Faster R-CNN的网络方法在交通标志检测任务上是可行可靠的。各种方法的检测结果如图9所示。

表2 各实验方法检测结果对比表Tab.2 Comparison table of test results of each experimental method

图9 各方法检测结果图Fig.9 Test result diagram of each method

4 结 论

针对复杂背景条件下的中国交通场景图像,本文改进了原Faster R-CNN目标检测算法。使用结合注意力机制的残差ResNet50作为交通标志的特征提取器,提升了小目标交通标志的特征表征能力。另外,设计了在两个不同层级上采用合理尺度滑动窗口的策略,获取了不同尺度目标的精准候选区域,改善了多尺度交通标志的检测能力。通过实验证明,本文改进后的方法使得Faster R-CNN检测网络对交通标志的检测性能有了明显的提升,平均检测精确率由92.36%提高到了98.52%。能够较好地适应真实道路环境下的交通标志目标检测任务。

猜你喜欢

交通标志注意力卷积
基于双向特征融合的交通标志识别
让注意力“飞”回来
基于3D-Winograd的快速卷积算法设计及FPGA实现
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
“扬眼”APP:让注意力“变现”
A Beautiful Way Of Looking At Things
交通标志小课堂
我们欢迎你!
一种基于卷积神经网络的性别识别方法