APP下载

基于多尺度特征提取与特征融合的交通标志检测

2022-10-16张永亮陆阳朱芜强卫星魏臻

计算机工程 2022年10期
关键词:交通标志特征提取卷积

张永亮,陆阳,2,3,朱芜强,卫星,3,4,魏臻,2,3

(1.合肥工业大学计算机与信息学院,合肥 230009;2.矿山物联网与安全监控技术安徽省重点实验室,合肥 230088;3.安全关键工业测控技术教育部工程研究中心,合肥 230009;4.合肥工业大学 智能制造研究院,合肥 230009)

0 概述

随着智能交通系统以及自动驾驶技术的兴起,道路交通问题日益严峻,交通标志检测作为其主要的组成部分,其可靠性至关重要。传统卷积神经网络的交通标志检测方法主要是利用交通标志的颜色和几何特征对其进行检测,这类方法花费大量的时间为不同的交通标志进行人工制作的特征[1-2],受到天气变化和遮挡等外部因素的影响非常大。在将传统方法加入机器学习的研究[3-4]中,通常将检测分成两个步骤,首先利用传统方法定位图片中交通标志的区域,随后使用支持向量机(Support Vector Machines,SVM)分类器[5]对这些区域中的交通标志进行分类。SVM 分类器能够有效缓解外部因素带来的影响,但是这种方法仍然存在需要为不同的交通标志进行人工制作的特征。随着卷积神经网络(Convolutional Neural Networks,CNN)在图像识别领域的应用,CNN 强大的学习能力使其迅速在计算机视觉研究领域占据了主导地位。计算机视觉领域主要研究计算机获得对场景理解的能力,这种能力包括对场景中不同的对象进行准确的定位和分类,目标检测正是对这一重要任务的一种概括。通过CNN 不断地改进网络结构,目标检测领域产生了RCNN[6]、Fast R-CNN[7]、Faster R-CNN[8]、SSD[9]、YOLO[10]等许多优秀的算法。交通标志检测的目的是让计算机能够定位并识别出场景内的所有交通标志,属于目标检测任务的一部分。因此,基于CNN的研究方法同样适用于交通标志检测领域。基于CNN 的方法无需像传统交通标志检测方法那样手工制作的特征,而且对于因光线和天气变化等外部因素造成背景不同的交通标志的检测具有鲁棒性。

为了使CNN 在目标检测领域取得的成就迁移到交通标志检测领域,许多研究[11-13]试图直接使用目标检测领域内优秀的算法来检测交通标志,但未能取得理想的效果。目标检测领域的算法在训练和测试时使用PASCAL VOC[14]和COCO[15]数据集,这些数据集提供的图像中目标对象的尺寸较大,导致算法检测小尺寸目标的能力较弱,但是在交通场景的图像中,交通标志的尺寸并不以大尺寸为主,也存在许多小尺寸的交通标志,因此,目标检测领域的算法在交通标志检测领域不能发挥出应有的性能。还有一些研究[16-18]则是针对图像中的交通标志使用VGGNet[19]、GoogLeNet[20]和ResNet[21]作为基础网络,并且借鉴目标检测领域相关算法的结构构建出检测交通标志的算法,但这些算法在面对真实的交通场景图像时不能同时解决定位和分类这两个任务,主要原因是这些算法没有给出有效的方法来检测具有复杂背景和目标对象尺寸差异较大的交通场景图像,并且这些算法所使用的数据集不能满足现实交通场景中遇到的情况。交通标志检测的难点一方面在于交通场景图像背景的复杂性,现实交通场景图像中不仅有很多交通标志,也有很多在形状和颜色上与交通标志相似的标志,这种现象会在检测时干扰算法;另一方面图像中交通标志的尺寸差异很大,并且以小尺寸的交通标志居多,通常小尺寸的目标要比大尺寸的目标更难检测。因此,若要解决交通标志检测中存在的问题,就必须设计一个在复杂的交通场景下既可以检测出大尺寸交通标志,也可以检测出小尺寸交通标志的算法。

目前有关交通标志检测的研究普遍使用的数据集是GTSRB[22]和GTSDB[23]。其中,GTSDB 提供的数据可用于研究交通标志的定位和分类,但其只提供三大类常见交通标志的图像和标签信息,远远少于现实中所遇见的交通标志的种类。在GTSRB 提供的43 类交通标志中,交通标志在图像中占据了很大的比例,以至于有些图像中只有一类交通标志,这些图像只能用于研究交通标志的分类而不能同时用于定位和分类。GTSRB、GTSDB 数据集中的交通标志和图像是针对德国的道路交通场景,而国内的交通场景相对较为复杂,并且交通标志的种类要远多于上述数据集中的类别。因此,许多通过GTSRB 和GTSDB 数据集训练出来的检测算法在对国内的交通场景进行检测时不能获得良好的检测结果。

本文针对中国道路交通场景建立一个新的数据集,包含77 类国内常见的交通标志,并对每张图像中交通标志的类别和位置进行标注。在YOLOv4 算法的基础上,设计多尺寸特征提取模块(Multi-size Feature Extraction Module,MsFEM)和增强特征融合模块(Enhanced Feature Fusion Module,EFFM),其中MsFEM 可使特征提取网络提取来自上层特征图中的特征语义信息,EFFM 能够在多尺度预测中有效地保留和增强小尺寸目标的特征语义信息,提高算法对小目标的检测能力。

1 相关研究

由上节内容可知,基于CNN 的算法已经成为交通标志检测研究领域的主流方法,上述算法的研究与目标检测领域方法的思路一致。目标检测实质上是定位和分类两个任务,这些目标检测方法可以分为2 种:第1 种称为两阶段,它将检测分成两个步骤,首先定位出图像中存在目标对象的区域,接着对区域中目标对象的类别进行分类;第2 种称为一阶段,它将检测作为一个步骤,直接定位和分类出图像中不同目标对象的位置与类别。

R-CNN 算法最先使用两阶段方法,首先采用selective search[24]生成候选区域,接着对包含目标对象的候选区域进行分类,生成的每个候选区域都要经过分类网络的处理,导致R-CNN 算法的效率较低。随后,GIRSHICK 提出了Fast R-CNN 算法,在网络的最后层使用softmax 层替代R-CNN 算法中的SVM 分类器,但依然没有解决效率低的问题。为此,REN 提出了Faster R-CNN 算法,该算法使用了区域候选网络(Region Proposal Network,RPN),即有效定位包含目标对象区域的网络结构。RPN 基于VGG16 或者ResNet101 提取到的特征图生成候选区域,通过softmax 层判断这些候选区域是属于含有目标对象的区域还是不含有目标对象的区域,对含有目标对象的候选区域进行边界回归得到精确的位置信息,完成对目标区域的有效定位,随后将这些候选区域送入到分类网络中进行分类,并再一次通过边界回归获得最终的精确位置。Faster R-CNN 中所有候选区域的生成和判别均在RPN 上进行,这种操作加快了网络的检测速度,但依然达不到实时性的要求。

为进一步加快 网络的检测速 度,YOLOv3[25]和SSD 等采用一阶段方法的算法相继被提出,这些算法在设计上借鉴了FCN[26]的全卷积和FPN[27]的多尺度预测的思想。多尺度预测是利用特征提取网络得到的不同尺寸的特征图在进行高低层间的特征融合后分别独立地进行预测操作。全卷积与传统的CNN 网络使用全连接层进行分类的方式不同,它在网络的最后使用1×1 的卷积核代替全连接层,输出的是与前一层输入大小相同的特征图,该特征图上的每一个点就是网络对原始输入图像的某一块区域进行的预测;全卷积的目的在于对图像进行像素级的定位与分类,最后逐个像素地计算位置和类别的损失,相当于每一个像素对应一个训练样本;通过全卷积操作,网络可以减少计算量,从而加快检测速度,并且只需要将图像输入到网络中就能直接预测结果,实现了单阶段检测。SSD 和YOLOv3 的检测速度要快于Faster R-CNN,但检测精度没有显著提高。为了提高算法的检测精度以及对小尺寸目标检测的能力,YOLOv4[28]使用CSPDarknet53 作为基础特征提取网络并且在多尺度预测方面使用PANet[29],这些方法在PASCAL VOC 和COCO数据集上被证明是有效的。

目标检测算法在训练和测试时使用的图像中的目标对象尺寸与交通场景图像中的目标对象尺寸之间存在差异,并且交通场景图像的背景十分复杂,这些原因导致目标检测算法在直接检测交通场景图像中的交通标志时不能发挥出应有的性能,但随着网络的不断改进,这些算法能够提供较为先进的研究思路。因此,本文结合交通场景图像中交通标志的分布特点,对YOLOv4 进行改进,提出一个有效检测交通标志的算法。

2 交通标志数据集

2.1 数据来源

本文建立的数据集中的图像是基于中国城市道路交通场景所拍摄的,其中40%的图像是由ZHU[30]和ZHANG[31]及其他们的团队所提供的,其余的是由本文通过相机拍摄大量有关城市道路交通场景的图像并将这些照片经过筛选和裁剪后所得。为了保持图像中真实的道路场景和交通标志,本文将这些图像尺寸统一成800×800 像素,部分图像如图1 所示。这些图像在不同路况的场景下拍摄,图像的背景和照片中交通标志的尺寸都与现实中遇到的真实情况一致。

图1 交通场景图像Fig.1 Traffic scene images

2.2 数据标注

如图2 所示,数据集中包含77 种常见的交通标志,图中每种颜色的框代表一个大的类别,从左到右依次为指示类、禁止类、警告类和交通信号灯,每种交通标志下的字符代表其独特的标签(彩图效果见《计算机工程》官网HTML 版)。在对图像中的交通标志进行标注时,本文以矩形框的形式标出图像中交通标志的位置并且给每个交通标志加上特定的类别标签。这些标注信息以XML 文件格式进行保存并在训练和测试时提供所需要的标签信息。

图2 交通标志类别Fig.2 Traffic sign category

2.3 数据统计

通过对120 000 张交通图像进行拣选和裁剪,数据集最终由包含15 000 个交通标志实例的11 000 张图像构成。数据集中交通标志的尺寸(以像素为单位)分布情况如图3 所示。数据集中有些带数字的具有相同属性的交通标志(如pl50 和pl60、il50 和il60 等)在训练和检测时将按照各自的属性分成一类(pl 代表限速标志,il 代表最低速度标志),每种交通标志的实例数量如图4 所示。

图3 交通标志尺寸分布Fig.3 Traffic sign size distribution

图4 交通标志类别分布Fig.4 Traffic sign category distribution

3 本文方法

YOLOv4 算法在对具有复杂背景和目标对象尺寸差异较大的交通场景图片进行检测时没有表现出良好的效果。为此,本文算法以交通标志检测中所存在的问题为背景,对YOLOv4 算法进行改进,改进算法称为ME-YOLOv4。下文将分别介绍YOLOv4和ME-YOLOv4 的结构。

3.1 YOLOv4 结构

YOLOv4 结构由以下4 个部分组成:CSPDarknet53作为基础网络;SPP[32]作为颈部的附加模块;PANet 作为颈部的特征融合模块;YOLOv3的Head作为头部结构。

YOLOv4 具体结构如图5 所示。作为YOLOv4中的基础网络,CSPDarknet53 是在Darknet53 的每个大残差块上加上CSP[33],最终由一个卷积模块加上5 个BLOCK 组成;卷积模块是由Conv2D 层、BN 层和Mish 激活函数组成;每个BLOCK 包含若干个Resblock 和卷积模块。作为颈部中的附加模块,SPP模块对CSPDarknet53 提取到的特征图进行不同尺寸的最大池化(MaxPooling)操作,其目的是增加网络的感受野。作为颈部的特征融合模块,PANet 在FPN 的上采样(UpSampling)操作后又进行了下采样(DownSampling)操作,增加来自低层的位置语义信息。YOLOv4 的头部继续沿用YOLOv3 的头部结构,在该结构中,首先使用卷积模块对下采样得到的特征图进行特征提取,然后对特征提取过的特征图进行全卷积操作得到最终的预测结果。颈部和头部结构中的卷积模块是由Conv2D 层、BN 层和Leaky ReLU 激活函数组成。

图5 YOLOv4 结构Fig.5 YOLOv4 structure

在图5 中,concat 表示拼接两个输入,add 表示将两个输入相加,Resblock 表示残差结构,UpSampling表示上采样,DownSampling 表示下采样,Head 表示YOLOv3 的头部结构,Predict 表示预测值,BLOCK表示具有多个残差结构的块,Resblock×n中n代表特定BLOCK 块中Resblock 结构的数量。

3.2 ME-YOLOv4 结构

ME-YOLOv4 是在YOLOv4 的基础上进行的改进,具体如下:

1)由于拍摄角度的不同,交通场景图像中不同交通标志的尺寸存在较大的差异。在构建特征提取网络时,如果网络对每层的特征提取仅使用一个尺寸的卷积核,那么提取到的特征图不能全面有效地包含上层图像中不同尺寸交通标志的特征语义信息。受到Inception[34]网络的启发,本文设计了多尺寸特征提取模块(Multi-size Feature Extraction Module,MsFEM),并将其应用在特征提取网络中。MsFEM 的具体结构如图6 所示,首先使用2 个不同尺寸(s,m)的卷积核对上层的图像进行特征提取,然后将提取到的两个特征图拼接在一起。MsFEM采用不同尺寸的卷积核意味着对图像使用不同大小的感受野,这有利于提取不同尺寸交通标志的特征语义信息。为了将图像中不同尺寸交通标志的特征语义信息向特征提取网络的深层进行传递,MsFEM 将提取到的特征图拼接在一起。

图6 MsFEM 结构Fig.6 MsFEM structure

2)交通场景图像背景复杂,除交通标志外,还存在许多在颜色或者形状上与交通标志相似的其他标志。特征提取网络在提取特征时也会提取这些标志的特征语义信息,这些错误的特征语义信息会在训练时干扰网络。如果在网络提取特征时能够有效地去除这些标志,那么提取到的特征图更加具有代表性,这将会使网络获得更好的训练效果。本文中的交通标志可分为警告类、禁止类、指示类、交通信号灯。警告类大多是带有黑色边界的黄色三角形;禁止类大多是带有红色边界的白色圆形;指示类大多是蓝色背景的圆形或者矩形;交通信号灯是带有不同颜色圆圈或箭头的矩形框。根据CNN 特征提取不变性的特点,特征提取网络在对交通场景图像进行特征提取时,交通标志的以上特征被完整地提取出来。因此,适当地对提取到的特征图进行一系列过滤器尺寸不同且步长为1 的MaxPooling 操作,可使得该特征图中除交通标志以外的其他标志的特征语义信息被削减。因此,本文采用上述方式来去除交通场景图像中存在的干扰因素。特征提取网络中特征图的尺寸会随着下采样的过程减小,尺寸越小的特征图代表着越大的感受野。为了适应这种变化,本文对不同尺寸的特征图使用不同尺寸过滤器的MaxPooling 操作,每个MaxPooling 操作发生在一次下采样的过程中。具体过程如图7 所示,其中MsFEM、MaxPooling(sizen×sizen,s1)和EFFM 模块是本文的改进之处。

图7 ME-YOLOv4 结构Fig.7 ME-YOLOv4 structure

3)在FPN 中通过上采样的方式将高层的特征语义信息与低层的特征语义信息进行融合,目的在于使高层的特征语义信息去弥补低层中未提取到的特征语义信息。这种方式虽能够丰富各尺寸特征图的特征语义信息,但是也存在局限性。特征提取网络在下采样的过程中会按照比例缩小特征图的尺寸,导致特征图中一个像素点相当于一个感受野,这个感受野映射原图中的一块区域并且该区域的大小由下采样的倍数决定。当图像中被检测目标的尺寸小于当前下采样倍数时,这个被检测目标的特征语义信息就会随着下采样的过程而被遗失。在这种情况下,UpSampling 操作就不能对图像中那些因尺寸小而被遗失的目标实现高低层之间的特征语义信息融合。这种情况导致的结果是网络对小目标检测能力较差。本文提出的数据集中存在一定数量的小尺寸的交通标志,为解决以上问题并提高网络对数据集中交通标志整体的检测能力,本文设计了增强特征融合模块(EFFM),具体结构如图8 所示,其中,3 和1 分别表示卷积核的尺寸。首先在高层特征图与低层特征图进行特征融合之前,EFFM 使用卷积模块对低层特征图进行特征提取,这样做的目的是为了进一步提取该层特征图中有效的特征语义信息尤其是对于尺寸较小目标的特征语义信息。接着EFFM 将低层中经过卷积模块提取得到的特征图与来自高层的特征图进行特征融合,对特征融合后的特征图使用一个卷积模块进行特征压缩。最后为了保持低层特征图中的位置语义信息,EFFM 将低层中未经过卷积模块的特征图通过残差方式与特征压缩后的特征图拼接在一起。通过EFFM 结构,低层最终得到的特征图既丰富了原有的特征语义信息,又能够得到来自高层的特征语义信息。

图8 EFFM 结构Fig.8 EFFM structure

4 实验

4.1 训练集

本文所有实验均在新建立的数据集上进行并对数据集按照8∶2 的比例划分出训练集和测试集。此外,本文使用mosaic[28]方法对数据集中样本数少的类别进行数据增强,以此来保证每个类别在一次迭代训练中都能够被训练一定的次数。

为验证改进方法的有效性,本文从目标检测领域典型的算法中分别选取SSD、YOLOv3、YOLOv4和Faster R-CNN,将选取的这些算法和ME-YOLOv4设置了一组对照实验;另外,还对ME-YOLOv4 中的MsFEM1、MsFEM2 和MaxPooling(sizen×sizen)模块设置了几组不同的参数进行实验,目的是确定一组在数据集上表现较好的参数,这些参数是为适应新建立的数据集中交通标志的尺寸来设定,具体每组的参数设置如表1 所示。在训练时,每组算法使用相同的超参数设置:初始学习率设为0.001,使用Adam 优化器,衰减系数为0.000 5,动量为0.9,IoU阈值设置为0.5,并且从训练集中按照7∶3 的比例划分出验证集来监视整个训练过程。所有实验在1 台配 备Intel Xeon®Silver 4210 CPU、128 GB 内存和2 个NVIDIA TITAN RTX GPUs 的Linux 服务器上运行,并且使用Tensorflow 深度学习框架。

表1 参数设置Table 1 Parameter setting

4.2 实验结果与分析

本文运用上述各组算法的训练权重对测试集进行检测,并使用PASCAL VOC 测试的评价指标来评估每组算法在测试集上取得的结果。每组算法在数据集上取得的平均精度均值(mean Average Precision,mAP)如表2 所示,其中加粗字体为最优值。

表2 各组算法的mAP值Table 2 mAP value of each group algorithms %

从表2可以看出,在数据集上,ME-YOLOv4 I~MEYOLOv4 IV 四组算法取得的mAP 值分别为82.55%、82.90%、83.63%、83.48%,SSD、YOLOv3、YOLOv4 和Faster R-CNN 取得的mAP 值分别为76.22%、75.72%、80.37%和77.13%。本文改进的算法取得的最好的mAP 值比SSD、YOLOv3、YOLOv4 和Faster R-CNN取得的mAP 值分别高出7.41、7.91、3.26、6.5 个百分点。实验结果表明,本文改进方法提高了YOLOv4算法同时定位和分类交通标志的能力,也表明了MEYOLOv4 III 算法对交通标志检测的能力优于其他的算法。该算法也可被用于检测现实交通场景图片中的交通标志。

在数据集中每个类别上取得的平均精度(Average Precision,AP)值如表3 所示,其中加粗字体为最优值。从表3 可以看出,在所有类别上ME-YOLOv4 I~ME-YOLOv4 IV四组算法取得的最小AP值分别是0.34、0.36、0.40、0.40,SSD、YOLOv3、YOLOv4 和Faster RCNN 取得的最小AP 值分别是0.23、0.29、0.35 和0.26。此外,在每个类别上,ME-YOLOv4 I~ME-YOLOv4 IV四组算法取得AP 值大于0.7 的类别数占总类别数的比例分别是82%、83%、85%、90%,SSD、YOLOv3、YOLOv4和Faster R-CNN 取得AP 值大于0.7 的类别数占总类别数的比例分别是73%、74%、77%、73%。

表3 各组算法在每个类别上的AP值Table 3 AP value of each group of algorithms on each category

5 结束语

针对交通标志检测领域存在的问题,本文建立一个新的交通标志数据集,并基于YOLOv4 算法设计多尺寸特征提取模块和增强特征融合模块最终对改进算法中不同的模块设置多组不同的参数,进行对比实验。实验结果表明,改进算法能够有效地提高YOLOv4 算法同时定位和分类交通标志的能力。下一步将继续扩大数据集中交通标志的种类和数量,提高算法在背景复杂的交通图像中检测与识别尺寸差异较大的交通标志的能力。

猜你喜欢

交通标志特征提取卷积
基于双向特征融合的交通标志识别
基于3D-Winograd的快速卷积算法设计及FPGA实现
卷积神经网络的分析与设计
空间目标的ISAR成像及轮廓特征提取
基于Gazebo仿真环境的ORB特征提取与比对的研究
基于特征提取的绘本阅读机器人设计方案
从滤波器理解卷积
基于Daubechies(dbN)的飞行器音频特征提取
基于傅里叶域卷积表示的目标跟踪算法
交通标志小课堂