优化特征提取的多目标交通标志检测方法

2021-05-20 06:51南方哲钱育蓉
计算机工程与设计 2021年5期
关键词:交通标志特征提取标志

刘 凤,李 华,南方哲,钱育蓉

(新疆大学 软件学院,新疆 乌鲁木齐 830046)

0 引 言

交通标志的检测与识别分为两种:基于传统方法、基于深度学习[1]算法。文献[2-5]采用传统算法,根据交通标志的颜色和形状特征进行判别。但是在复杂场景中交通标志受遮挡、褪色、天气状况等影响,增加了检测难度。

目前,基于深度学习算法被广泛应用到交通标志的检测与识别领域。Zhu等[6]结合AlexNet和OverFeat框架对交通标志进行分类和回归,准确率达到88%。文献[7,8]采用Faster R-CNN[9]对交通标志进行了检测,但特征学习的网络权重规模较大。He等[10]提出深度残差框架解决深层网络退化问题。Redmon等[11]提出的YOLOv3采用简化的残差块对目标进行检测。Shen等[12]提出的DSOD算法引入DenseNet[13]思想进行检测。总体看来,基于深度学习的方法取得显著成果,但是仍面临以下挑战:

(1)在自然场景下所采集的图像具有物体遮挡、拍摄角度、形状畸变等问题影响特征信息的提取,导致准确率下降;

(2)随着网络层数的增加,使得网络复杂度变高;

(3)在复杂的场景下能准确检测特定的交通标志也是必要的。

针对上述问题,本文以Faster R-CNN为基础,提出基于DenseNet的交通标志检测方法(densely faster region convolutional neural network,DesFR-CNN)。实验结果表明,通过DenseNet提取特征可以降低网络复杂度,同时提高检测性能。

1 相关模型介绍

1.1 Faster R-CNN目标检测原理

Faster R-CNN创新性地引入区域候选网络(region proposal network,RPN),通过RPN预测候选区域,数据限定在300个,RPN作用一张图像花费10 ms,速度明显快于传统的选择性搜索[14](selective search,SS)。Faster R-CNN将候选区域生成、特征提取、分类和Bounding box回归整合为一个框架,提高了网络的整体性能且大幅度提升了检测的速度。

其中,候选区域生成采用RPN网络,图1为RPN网络的结构。它是在Feature Map上采用滑动窗口。RPN设计了anchor机制来应对不同目标具有不同尺寸的问题,在每个滑动窗口的位置,同时预测k个候选区域,这些候选区域经过卷积形成256维向量,最终通过reg层和cls层分别输出4k个坐标和2k得分。

图1 RPN网络结构

1.2 密集卷积网络模型

密集卷积网络设计了一种跨层密集连接方式。与ResNet[15]、MobileNet[16]模型相比,DenseNet(dense convolutional network)提倡特征复用使得网络计算量减少;通过密集连接解决梯度消散问题。目前,最好的FractalNet[17]算法在CIFAR-10和CIFAR-100数据集上的分类错误率为7.33%和28.20%,但DenseNet将其降至5.19%和19.64%,这为后续的骨干网络替换提供了研究基础。

为了改善层之间的信息流和梯度流的传递,DenseNet设计密集连接方式,使得任意两层卷积直接相连,并将学习到的特征传递给后续所有层。其公式为

xl=H([x0,x1,…,xl-1])

(1)

其中, [x0,x1,…,xl-1] 表示层中串联生成的特征和。图2显示了残差结构与密集结构的差异。

图2 残差结构和密集结构对比

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

2.1 骨干网络替换

用于提取目标特征的神经网络称为骨干网络,其可以自适应地从输入图像中学习重要特征,这在很大程度上解决了传统神经网络特征提取能力不足的问题。Faster R-CNN 的骨干网络VGG16共有16层,分为卷积层、全连接层和归一化的Softmax层,其采用3×3的卷积核提高特征提取能力,用不同数目的过滤器构建卷积层以增强网络的拟合能力。虽然这种网络结构十分规整,但是它具有参数量大、特征提取冗余较多的缺点。因此,优化Faster R-CNN 骨干网络的特征提取性能是必要的。

本文选用DenseNet-121对VGG16进行优化。表1为DenseNet-121的网络结构,包括密集块(dense block,DB)和过渡层(transition layer,TL)。每个DB都进行不同数目1×1、3×3的Conv操作,每个Conv由(batch normalization,BN)、(rectified linear unit,ReLU)、Conv组成。通过在每个3×3Conv前加入瓶颈层(bottleneck)来减少输入特征图数,即增加1×1 Conv使得网络的计算效率提高。设一个DB的层数为L,则层间的连接数为L(L+1)/2, 通过密集连接使得网络的每一层都可以获得前面所有的特征图,实现特征复用,提高层之间信息流和梯度流的传递。TL层包括一个BN、1×1Conv和2×2average pool,主要作用是减少特征图尺寸和压缩模型,降低网络的复杂度。图3为改进的Faster R-CNN的网络结构。

图3 改进Faster R-CNN的网络结构

表1 DenseNet-121网络结构

2.2 训练参数设置

(1)候选框参数和匹配策略

为了能对不同尺寸的目标进行正确检测,Faster R-CNN 算法使用RPN网络的anchor机制进行处理,输出不同尺寸的特征图进行预测,并且在端对端的网络中可以进行参数的共享传递,转换效率更高。

每个anchor以当前输入图片像素点为中心,使用3种面积(1282,2562,5122)和3种长宽比(1∶1,1∶2,2∶1),因此每个滑动点都对应k=9个anchor。对输入图像大小为W×H的卷积特征映射,总共产生W×H×k个anchor,有效预测所有目标的候选框和分类概率。anchor生成候选框可以覆盖待检测目标的各种尺寸和形状,可解决不同尺度目标的问题。

然而,RPN通过anchor机制产生的候选框数目庞大,且候选框之间重叠的区域较高。为了解决候选框的冗余问题,采用NMS对候选框进行筛选,与真实标签框进行匹配。本文设置 (intersection-over-union,IoU)阈值为0.7,保留与真实标签框大于0.7的IoU重叠的候选框,极大地减少了候选框的数量。

(2)确定特征图数和压缩因子

使用DenseNet进行特征提取时,使用Growth rate来表示每一层卷积产生的特征图数,记为k。由于网络中每层都接受前面所有层的特征作为输入,所以每层卷积的特征维度会增加k。k的取值影响网络中的信息传递和性能,综合考虑本文设置k=32。为了提高网络计算能力和减少特征图数,在TL中设置θ作为压缩因子,本文设置θ为0.5,即将特征维度压缩至当前输入的一半。

(3)选择损失函数

模型的训练过程实质是对目标函数进行持续优化,降低损失值直到函数收敛,将其定义为损失函数。将与真实标签框有最高IoU重叠以及与任意真实标签框大于0.7的IoU重叠作为正样本,小于0.3的IoU重叠作为负样本。本文采用的损失函数为

(2)

2.3 总体流程图

在训练阶段,首先将交通标志图像进行目标信息标注,获取真实交通标志的位置和类别信息,然后将标注完成的数据输入模型中进行训练,得到最终的Faster R-CNN模型。整体流程如图4所示。

图4 整体流程

3 实验结果

3.1 数据集介绍

本文采用中国交通标志数据集[2](chinese traffic sign dataset,CTSD)和德国交通标志检测基准(german traffic sign detection benchmark,GTSDB)作为实验的检测基准。

CTSD数据集共有1100张图片,训练样本为700张,测试样本为400张;典型的图像尺寸为1024×768和1280×720;所采集到的数据集受到各种噪声的影响,包括雨天和雾天等天气、拍摄角度倾斜、复杂背景和相似物的影响。GTSDB数据集包括600张训练样本和300张测试样本,图像尺寸为1360×800;这些图片包含乡村、城市、高速公路等复杂自然场景,包括白天和黑夜光照条件等多种天气条件。本文将这两个数据集都划分为禁止标志(prohibitory)、指示标志(mandatory)和警告标志(warning)3类。CTSD与GTSDB数据集存在一些差异,例如CTSD中的警告标志为黄色三角形,而GTSDB中的为红色三角形;中国交通标志包含汉字,不仅仅是英文字母。这些细微差异被考虑应用到交通标志的检测,增强模型的泛化性能。

3.2 性能指标

目标检测分为对目标定位和分类两个步骤,均值平均精度 (mean average precision,mAP)是衡量目标检测算法的精确度的基本指标,对评价目标在图像中的位置以及预测目标类别比较适用。mAP计算公式为

(3)

其中,AveragePrecisionC表示目标类别C的平均精度,N(Classes) 表示目标类别总数,mAP定义请参见文献[18]。

3.3 交通标志检测结果与分析

本实验在GeForce GTX 1080Ti GPU服务器上搭建基于TensorFlow的目标检测框架Faster R-CNN,操作环境为64位Windows 10,编程语言为Python 3.7,主要函数库包括OpenCV、cython、easydict等。训练参数设置见表2。

表2 训练参数设置

3.3.1 优化特征提取网络实验

(1)基于ResNet网络实验

针对交通标志图像受诸多噪声影响以及交通标志尺度小等问题,本节使用ResNet-50替代Faster R-CNN中的骨干网络VGG16进行实验。图5是在CTSD数据集下进行训练,与原始模型相比,基于ResNet-50的Faster R-CNN模型在指示标志、禁止标志和警告标志这3类精度都有明显提升,分别提高了10.8%、8.2%和9.2%。

图5 CTSD数据集下不同模型的准确率对比

表3和表4统计了使用不同基础网络(VGG16和ResNet-50)的两种算法在CTSD和GTSDB数据集上的交通标志检测结果。使用ResNet-50作为骨干网络的Faster R-CNN 模型在CTSD和GTSDB数据集上分别取得了90.2%和86.7%的mAP值,分别提升了9.4%和7.3%。ResNet-50作为骨干网络在检测交通标志时准确率较高,与原始网络相比,在识别警告标志这一类别上达到了最高的AP值,为95.9%。在GTSDB数据集中,禁止标志的AP值有较大的提升,提高了19.2%,原因是ResNet-50网络的层数加深增强了特征提取能力,提高了检测精度;而在指示标志和警告标志这两类中,AP值提高的不明显,这是GTSDB数据集中的标志不均衡导致的,使得特征表达的不充分。

表3 CTSD数据集下交通标志mAP(%)值和AP(%)值

表4 GTSDB数据集下交通标志mAP(%)值和AP(%)值

(2)综合性能对比实验

在驾驶辅助系统中,不仅需要提高模型准确率,而且还要考虑模型的大小。为了综合评估骨干网络的特征提取能力以及最终模型的大小,本文采用了4种网络替换 Faster R-CNN的骨干网络进行实验。表5为各个模型对GTSDB数据集检测结果。通过对比可以发现,Faster R-CNN 目标检测算法默认的ZF、VGG_CNN_M_1024和VGG16这3个骨干网络的mAP值最高的是VGG16网络,但是其模型大小却是最大的;残差网络属于一种轻量级网络,通过分析表5可知,虽然ResNet-152比ResNet-50的mAP值提高了0.4%,但是模型大小却是3个残差网络中最大的,而ResNet-50模型大小是以下网络中最小的。因此,最终选择模型更小、准确率较高的ResNet-50网络作为Faster R-CNN的骨干网络。

表5 不同特征提取网络的mAP(%)值和模型大小对比

(3)基于DenseNet网络实验

表6显示了使用VGG16、ResNet-50和DenseNet-121这3种网络进行特征提取的参数量(模型所有带参数的层的权重参数总量)、交通标志识别的mAP值以及FLOPs(表示浮点运算次数)。ResNet-50的参数量为24.4 M,相较于VGG16的参数量减少了约81.5%并且所需的计算量更少,即FLOPs为4.12,就使得使用残差网络进行特征提取的准确率有明显提高,但通过跳跃连接在传递信息时产生较多的冗余信息。本文提出使用DenseNet优化Faster R-CNN 的特征提取层,由表6可知,DenseNet-121仅需要7.7 M的参数量并且FLOPs仅为2.88,与ResNet-50的参数量相比减少了约68.4%,并且计算量大大减少,计算效率更高,其作为主干网络的准确率就可以实现较好的性能,为85.2%。从网络的参数量和计算量来看,DenseNet-121网络作为主干网络可以减少网络的复杂度,实现交通标志检测。

表6 不同模型参数量、mAP和FLOPs对比

表7和表8显示在CTSD和GTSDB数据集下使用DenseNet-121进行特征提取的Faster R-CNN算法的mAP值和AP值。由表7和表8可知,与VGG16网络相比,使用DenseNet-121网络作为骨干网络的Faster R-CNN模型在CTSD和GTSDB数据集上的mAP值分别提高了4.7%和5.8%;与ResNet-50相比,基于DenseNet-121网络的Faster R-CNN模型在准确性上稍微有所降低,这是因为Transition Layer层中引入的压缩因子θ,减少了特征图的数量,使其丢失了一些特征信息导致最终的结果偏低,但是准确率基本维持在正常范围。在CTSD数据集中,基于DenseNet-121网络的Faster R-CNN模型对警告标志的准确率达到最高,为90.9%;与骨干网络为ResNet-50相比,检测指示标志的准确率更高,提高了2.2%。在GTSDB数据集中,与骨干网络为VGG16和ResNet-50相比,基于DenseNet-121网络的Faster R-CNN模型对警告标志的准确率分别提高了1.3%和0.3%。因此,基于DenseNet-121网络的Faster R-CNN模型优化了特征提取性能且大大减少参数。

表7 CTSD数据集下交通标志mAP(%)值和AP(%)值

表8 GTSDB数据集下交通标志mAP(%)值和AP(%)值

3.3.2 交通标志特定场景识别

图6显示了指示标志、禁止标志和警告标志在GTSDB数据集上各个迭代次数的AP值。由图6可知,对禁止标志的识别准确率最好,最高可达89.3%。在迭代了3 W次,指示标志、禁止标志和警告标志的AP值都是最高的。图7为各模型的部分测试实验截图(截图中的黑色矩形框为模型预测目标的全局位置,黑色矩形框上方为预测的类别和得分)。图7(a)是基于VGG16网络的检测模型,分别识别出1个和2个,其存在严重的漏检且得分较低,图7(b)是基于DenseNet-121网络的检测模型,分别都识别出2个,虽存在漏检情况,但是整体得分较高。因此,使用本文的方法提高了交通标志检测的准确率,识别效果都优于原始Faster R-CNN模型。

图6 各迭代次数AP值对比

图7 各模型测试结果

从交通标志识别的准确性来看,基于DenseNet网络的Faster R-CNN模型在CTSD和GTSDB数据集上的mAP值分别为85.5%和85.2%,与原始Faster R-CNN算法相比分别提升了4.7%和5.8%;从特征提取网络的参数量和计算量来看,DenseNet-121网络的参数量仅为7.7 M,GFLOPs为2.88,与VGG16网络相比,参数量减少了约94.2%,计算量大大减少。综上所述,本文提出的DesFR-CNN交通标志检测算法无论是从检测的准确性上,还是从网络的复杂度上都要优于原始Faster R-CNN模型。因此,使用本文的DesFR-CNN交通标志检测算法可以提高交通标志的准确率以及降低网络复杂度。

4 结束语

针对交通标志识别受遮挡、拍摄角度、形状畸变等影响使得精度低下以及复杂度较高的问题,本文通过引入密集卷积网络对原始Faster R-CNN模型进行改进,能够提高算法的准确率以及降低复杂度。基于密集卷积网络的Faster R-CNN算法的准确率达到了85.2%,较原算法提高了5.8%,网络的参数量减少了约94.2%。实验结果表明,增加网络层次和深度能够提高交通标志检测的精度以及减少参数,但是依然存在漏检和定位不精确等问题。针对上述问题,考虑采用特征融合技术优化网络结构以及改进候选区域网络的anchor机制,防止交通标志漏检和实现精准定位,以促进无人驾驶核心技术的快速发展。

猜你喜欢
交通标志特征提取标志
基于双向特征融合的交通标志识别
多功能标志杆的使用
认标志
首都的标志是只熊
基于Daubechies(dbN)的飞行器音频特征提取
Bagging RCSP脑电特征提取算法
交通标志小课堂
医改进入新阶段的重要标志
基于MED和循环域解调的多故障特征提取
我们欢迎你!