APP下载

基于改进YOLOv3的交通标志检测与识别

2021-12-14聪,

桂林电子科技大学学报 2021年3期
关键词:交通标志尺度特征

海 聪, 赵 峰

(桂林电子科技大学 计算机与信息安全学院,广西 桂林 541004)

交通标志检测与识别[1]是无人驾驶领域中一项基础的技术,一方面能够辅助驾驶员安全行驶,另一方面也有益于轨道交通的优化设计。在实际行车过程中,为了及时提醒驾驶人员并给出一定的反应时间,需要能够检测到较远距离的周边环境中的交通标志,通常距离在50米以上。这样得到的图片中目标相对较小,因而需要高清的图片以便后续精准识别。此外,拍摄到的全景图片受不同光照、环境、天气的影响也会产生不同的变化。例如在恶劣的天气状况下图片的能见度很低,目标特征表现也不明显。因此,能够快速准确地对交通标志进行检测和识别是一项极具挑战的任务。

传统的交通标志检测方法主要有:基于颜色、形状的方法和基于机器学习的方法。基于颜色的方法[2-3]由于对光照较为敏感,使得分割任务较为困难。基于形状的检测方法[4-5]则计算较为复杂,耗时较长,且无法有效检测受遮挡的交通标志。基于机器学习的检测方法[6]相比前2种方法鲁棒性和适应性更强,但由于需要根据不同的类别来设计相应的特征来表示,在实际操作中存在一定的局限性。近几年来,深度学习目标检测方法有了很大突破,主要包含两大类:1)以R-CNN[7-9]系列为代表的基于候选区域的检测方法;2)基于回归的检测方法,检测框架以YOLO[10-12]系列为代表,YOLOv3 针对小目标,通过2次上采样来进行多尺度的检测,检测精度有了较大提升。但在实际应用中,对于小目标的检测还远远不够。文献[13]针对遥感图像中的小目标,将YOLOv3的3个尺度添加至4个,并以密集相连融合不同尺度模块特征层的信息。文献[14]为解决雷达图像中船舰目标有干扰物的问题,基于YOLOv3提出了改进多尺度特征融合算法,融合了多层特征信息,并加入空间金字塔池化。文献[15]针对手机液晶面板生产工业中缺陷检测面临的精度低的问题,提出了双向特征融合的网络结构,并提出一种新型的特征融合方法。

在全景图片中,交通标志仅占视野的一小部分,约占视野图像的0.01%~0.70%,基于这样小尺度的目标,设计并搭建了一个改进YOLOv3网络——TSR-YOLOv3。TSR-YOLOv3通过加深前期的特征提取残差网络,以提取更为准确的语义信息。针对小尺度检测,将低层与高层特征进行融合,增加特征图的位置信息和边缘特征信息,加强对小目标的准确定位。采用包含各种天气状况下的数据集来进行实验,通过暗通道去雾算法对图片进行图像增强,增加图像的能见度和对比度。将裁剪后的低分辨率图片训练网络得到的权重用于高分辨率网络,进行迁移学习再训练。

1 YOLOv3网络模型

YOLOv3是Redmon于2018年3月提出的最具有代表性的深度学习检测框架之一。在YOLOv3中,经历5次缩小,将特征图缩小到原输入尺寸的1/32。输入为416×416,输出为13×13。所以通常要求输入图片是32的倍数,在训练中输入选择416×416大小。

YOLOv3可进行3种不同尺度的预测。检测层在分别具有步幅32、16、8的3种不同尺寸的特征图上进行检测。

YOLOv3对图像中检测到的对象执行多标签分类,在早期YOLO 中,曾用softmax获取类别得分,并用最大得分的标签表示包含在边界框的目标。这种分类的前提是类别之间相互独立。但当数据集中存在人或女人的标签时,该前提便失去了意义。所以在YOLOv3中使用逻辑回归来预测每个类别得分,并用一个阈值对目标进行多标签预测。

逻辑回归用于对anchor包围的一部分进行一个目标性评分,即这块位置是目标的可能性有多大,这一步在预测之前进行,可去掉不必要的anchor,以减少计算量。若模板框非最佳,即使其超过设定的阈值,也不会对其进行预测。不同于Faster R-CNN 的是,YOLOv3只会对1个prior进行操作,也就是那个最佳prior,而逻辑回归就是用来从9 个anchor priors中找到目标存在可能性得分最高的那个。

对于尺寸为416×416 的图像,YOLO 预测(52×52+26×26+13×13)×3=10 647个边界框。因而,需要删减掉大部分边界框。先根据目标分数过滤边界框,通常低于阈值分数的框会被删除,再运用NMS算法,解决同一图像的多重检测问题。

2 改进YOLOv3网络模型

针对无人驾驶道路行驶过程中交通标志的检测与识别,对YOLOv3在网络结构与多尺度小目标检测上进行以下3点改进。

2.1 网络结构改进

借鉴ResNet的残差结构,提出了基于YOLOv3的Darknet53网络结构。整个网络属于全卷积网络,不包含池化层和全连接层,使用具有步幅为2的卷积层来下采样特征图,有助于防止由于池化导致低级特征的丢失。

深度模型一个关键的点就是能否正常收敛。残差这种结构能够保证网络在很深的情况下仍能很好地收敛,且用这种结构可使网络结构更深,网络越深,表达的特征越好。残差中的1×1卷积,大量减少了每次卷积的通道数,既减少了参数量,也减少了计算量。

在改进的YOLOv3网络结构中,通过加深前期的特征提取网络,以便提取更为准确的语义信息。为了解决小目标定位不准确的问题,在前期的特征提取网络第2次下采样后,加入了几层卷积。改进后的特征提取网络如表1所示。

表1 改进后的提取交通标志特征的深度残差网络结构

2.2 特征融合

针对全景图片中交通标志占比较小的特点,利用YOLOv3多尺度的检测方法,分别在13×13、26×26、52×52的特征图上进行检测,网络对输入图像进行下采样,直到第一个检测层为止,它使用具有步幅为32的层的特征图进行检测。将层上采样2倍,并与具有相同特征图尺寸的前一层的特征图连接,之后在具有步幅16的层上进行另一次检测,重复相同的上采样过程,且在步幅8的层处进行最终检测。整个过程如图1中板块②所示。

图1 TSR-YOLOv3网络结构图

上采样可以帮助网络学习小物体检测的细粒度特征。3种尺度通过k-mean算法选用了9个anchor prior,9个anchor被3个输出张量平分,根据大、中、小3种尺寸各自取自己的anchor。这类自上而下的融合方式在卷积层数较少时表现较好,而对于较深的网络则效果欠佳。因而,对于无人驾驶道路行驶过程中的交通标志小目标检测需要更进一步的改进。

实验中的检测目标,即交通标志,仅占整个全景图像的0.01%~0.70%,包含像素较少,导致在特征提取时包含的信息相对较少,且目标和背景所占比例相对较大,当用浅层特征检测目标时,将会过多地关注背景信息,造成后期检测一系列的干扰因素,而使用深层特征进行检测时,只能提取到少量的目标信息。

在前期网络特征提取过程中,低层大尺度的特征图分辨率高,包含着更为准确的位置信息,但语义信息相对匮乏,而高层特征分辨率低,通常包含较为丰富的语义信息,能够详细刻画目标的颜色、纹理和形状等视觉信息以及目标的一些属性特征。因而针对全景图片中小目标较难检测的问题,提取低层特征,采用自下而上的方法和高层小尺度检测层进行特征融合,最终使得在小尺度检测特征图上既包含准确的位置信息,又包含丰富的语义信息,从而达到对小目标的进一步准确检测。

如图1板块①所示,具体做法为提取第2次下采样,即第5层的特征信息,对其进行最大值池化,将得到的特征与第3次下采样,即第19层的特征信息,进行contact拼接,最后将通过提取融合得到的低层特征与第2次上采样得到的特征信息再次进行contact拼接,即可完成对小尺度交通标志目标检测的高低层特征融合。在检测52×52小尺度目标时,加入低层特征信息,有利于精准定位目标的位置,降低较小标志的误检率和漏检率。

2.3 迁移学习

实验采用比赛数据集,其图像大小为3 200×1 800。将高分辨率的图像作为网络输入,GPU 内存会严重不足,将导致神经网络对数据进行训练时速度较慢,且由于交通标志在全景图片中占比很小,直接对全景图片训练的准确率较低。

针对这一问题,采用滑动窗口算法以一定的步长对原图进行滑动裁剪,将原图裁剪为多个416×416大小的子图,将上述低分辨率数据集图片输送至网络之后,迁移到高分辨率数据集上进行训练。经过统计,目标的边长范围在25~193,为了使得更多目标更为完整地落入每张子图片中,选取416 的一半(208)为滑动窗口的步长,对原图像进行有重叠的滑动,以保证得到的训练集涵盖更多背景干扰因素,使得网络训练具有更好的鲁棒性。

通过调用shapely包分别计算裁剪后图片中目标的标记和目标原本的标记坐标,再计算子图片中目标与完整目标的IOU,这与传统的IOU 计算方式不同,传统的IOU 计算为

将IOU>0.7的标记图片留下。由于交通标志在整张图片中占比较小,约为0.01%~0.70%,做滑动裁剪会导致很多图片中不包含目标,且这类背景大多为远离目标的天空、大地等环境,对目标的干扰因素较少,因而选择去掉这类背景,以提高检测效率。

将上述图片输送到网络进行训练,迭代30个epoch,保存得到的权重文件,再迁移到全景图片上,进行迁移训练。通过先对裁剪过后的低分辨率图片进行预训练,大大减少了直接在高分辨图片上训练的时间,且由于样本数据相似,也能取得较好的训练效果。

3 实验

3.1 数据集

现在有一些被广泛使用的交通标志数据集,由不同的研究小组收集和注释,以便为检测和识别任务创建一个适合的基准。其中使用最多的有:德国交通标志识别基准[16],包括43 个识别类;比利时交通标志[17]数据集,包含62个检测和识别类;清华-腾讯100 K数据集[18],共45类。现在使用较多的是清华-腾讯100 K数据集。图2为清华-腾讯100 K数据集与数据集中各类的类别数。该数据集对于不同类别的交通标志数量存在均衡问题,在训练时不能很好地提取每类别的特征,从而达到与其他类加以区分的目的。而实验中用到的数据集共包含20类交通标志,其数量均为1 000张以上,能够充分保证后期对每类标志进行同等有效的训练。其他数据集中的训练图片大多是晴朗天气状况下的图片,对于检测难度较高的场景例,如大雾、大雨、大雪这类能见度较低的场景包含较少。

图2 清华-腾讯100

K数据集与本数据集各类类别数量对比

实验采用2019“泰达·华博杯”华侨华人创新创业大赛中的数据集,如图3所示。此数据集中的数据包括道路周边交通标志牌数据,场景中会有不同的天气状况作为干扰因素,如图中夜晚和黄昏时的场景,以及大雾、大雨、大雪这类恶劣天气状况下的场景,同时还有不同的行人状况作为干扰因素。数据集的上述特点使得训练时能够考虑到多种恶劣情况下对于交通标志的检测情况。

图3 数据集示例

实验共包含道路场景图片20 257张,将图片进行暗通道去雾处理,处理前后的图片对比如图4所示。从图4可看出,经过去雾处理的图片非常清晰,增强了交通标志与背景的对比度。按照8∶2的比例将其分为训练集和测试集。实验中共对20类交通标志进行检测和识别,原图大小为3 200×1 800。

图4 去雾前后图片对比

3.2 实验环境和评估指标

实验的硬件环境为英特尔Xeon E5-2675处理器、16 GiB 显存和128 GiB 运行内存,软件环境为Ubuntu 16.04 X64操作系统、CUDA 9.0、Pytorch 1.1.0和Python 3.6.5。

采用的评估指标为所有交通标志种类的平均准确率(mean average precision, 简称mAP)和每张图片所需的时间t=1/N。

其中:NTP为网络模型将交通标志检测为交通标志的数量;NFP为将其他目标检测为交通标志的数量;

NFN为将交通标志检测为其他目标的数量。通过式(3)、(4)计算出网络模型的查准率和查全率。SmAP定义为所有交通标志类别的准确率-召回率曲线面积之和除以检测的交通标志类别数。

3.3 实验结果分析

在训练阶段,采用的动量为0.9,采用随机梯度下降法(stochastic gradient descent,简称SGD),初始学习率为0.001,衰减系数为0.005。batch_size=16,迭代2 532次。训练采用基于低分辨率图片的迁移学习的方法,将全景高分辨率图片裁剪成多张416×416的低分辨率图片,在设计好的网络上进行训练,得到一个预训练权重。在此基础上用实验中的数据根据训练权重对参数进行微调。

3种模型训练的loss曲线如图5所示。从图5可看出,YOLOv3模型的初始loss较大,而改进后的TSR-YOLOv3网络模型的初始loss较YOLOv3模型有所下降,而迁移训练后的TSR-YOLOv3网路模型初始loss 直降到了100 左右。迁移训练后的TSR-YOLOv3模型的收敛速度最快,且最终收敛得到的loss最小。通过对比表明,经过改进后的模型和迁移学习后的模型的鲁棒性相对YOLOv3模型较好。

图5 3种模型loss曲线对比

将TSR-YOLOv3、迁移训练后的TSR-YOLOv3与YOLOv3进行比较,图像在训练前均缩放为416×416,性能对比见表2。从表2 可看出,TSRYOLOv3网络的m AP达到了49%,远高于原网络。

虽然YOLOv3针对小目标做了一定改进,但在交通标志的检测中,目标远远小于可检测的范围,所以通过高低层特征融合来加强小目标的检测精确度。从表2可看出,迁移学习后的TSR-YOLOv3网络的m AP达到了64%,三者在检测时间上区别不大,单张图片检测时间均在25 ms左右。

为了验证图像预处理中去雾算法对精度的影响,将原图和处理过后的图片分别放入YOLOv3网络、TSR-YOLOv3及迁移训练后的TSR-YOLOv3中进行训练。从表2可看出,经过暗通道去雾处理后的图片在网络上达到了更高的检测精确度,去雾后的图片在TSR-YOLOv3网路上较去雾前的图片m AP提高了12%,迁移训练后的TSR-YOLOv3在去雾后的图片训练m AP较原图像提升了6%。由于原图包含各种恶劣天气状况下的图片,整个图片清晰度不高,目标的细节特征也表现不明显。经过去雾处理后,加强了图片的对比度和明亮程度,因而提升了检测精度。

表2 去雾前后图片在不同网络模型上的平均精度

从表2还可看出,在去雾图片上进行训练,改进后的TSR-YOLOv3网络在去雾后图片上的检测率较原始的YOLOv3网络模型m AP提升了7%,处理时间虽略有上升,但仍符合实时检测的要求。在对滑动窗口裁剪后的图片训练后,继续在全景去雾图片上进行迁移学习,最终检测m AP达到了70%,精确度提升了16%。

图6为模型在不同天气状况下的检测效果图。从图6可看出,在各种能见度较低的场景下本模型都能够对目标进行准确定位,且对于非常小的目标都能检测出来并进行准确识别。

图6 改进后的模型在不同天气状况下的检测结果

将全景图片在不同的网络模型下进行训练,最终得到的结果如表3所示。从表3可看出,改进后的TSR-YOLOv3网络较其他网络综合性能最优。

表3 全景图片在不同网络模型上的平均精度对比

4 结束语

提出了一种基于改进YOLOv3的无人驾驶道路行驶过程中交通标志牌的检测和识别方法。该方法通过加深前期的深度残差网络,通过提取低层网络特征与高层特征融合来检测小尺度物体,从而达到对交通标志小目标检测精度提升的目的。利用裁剪后低分辨率图片的训练权重对改进后的网络进行迁移学习,最终得到了更高的检测精度。但实验仍有较大的进步空间,对于交通标志较小目标存在一定程度的误检,后续将进一步优化网络,提高精度。

猜你喜欢

交通标志尺度特征
环境史衰败论叙事的正误及其评判尺度
基于双向特征融合的交通标志识别
离散型随机变量的分布列与数字特征
抓特征解方程组
不忠诚的四个特征
宇宙的尺度
交通标志小课堂
9
我们欢迎你!
抓特征 猜成语