基于DL-SSD模型的交通标志检测算法

2022-12-08 05:41高尚兵胡序洋李少凡
关键词:交通标志特征提取卷积

李 杰, 高尚兵, 2*, 胡序洋, 李少凡, 刘 宇

(1. 淮阴工学院计算机与软件工程学院, 江苏 淮安 223003; 2. 江苏省物联网移动互联技术工程实验室, 江苏 淮安 223003)

交通标志识别是高级辅助驾驶系统的重要组成部分,也是近年计算机视觉识别领域的重点研究对象之一.由于交通标志种类较多、形状各异, 且在自然场景下,交通标志在拍摄图像中的尺寸比例较小,且存在部分遮挡和光照影响等问题,故标志识别效果不佳.目前, 深度学习方法在目标检测方面的应用较广.但以Faster-RCNN(faster regions with CNN features)和SPP-Net(spatial pyramid pooling in deep convolution network)为代表的two-stage检测算法, 由于检测前须生成大量候选框区域,其检测速度达不到实时检测的要求;以YOLO(You Only Look Once)和FCOS(fully convolutional one-stage object detection)为代表的one-stage检测算法的识别精度和检测速度也有待提升.研究人员对深度学习方法进行了大量改进, 如刘胜等[1]通过减少YOLOv3主干网络Darknet-53中Sacle1和Sacle2的残差块数量和增加Sacle2中特征图的通道数以获取全局特征, 从而加强图像中交通标志特征的提取效果; 刘紫燕等[2]将YOLOv3中FPN结构提取的特征图在第2次下采样时生成更大的特征图, 根据不同尺度特征图进行分块池化操作,有效解决了特征尺寸变化导致失真的问题; 田智慧等[3]针对交通标志提取效果不佳的问题,在浅层网络中添加卷积层进行小目标特征提取,但在进行不同尺度特征融合时,利用池化层将高分辨率特征转化为低分辨率特征的过程中可能出现特征消失的问题;张新宇等[4]在YOLOv4的基础上更换主干网络, 降低了模型参数量,并在主干网络中增加激活函数以加快模型收敛,达到轻量化的效果,检测速度达85.6帧·s-1.

为确保交通标志检测的精度和实时性, 本文综合上述算法,拟在SSD(single shot multibox detector)目标检测模型的卷积层、浅层特征融合和深层特征提取的通道注意力机制方面进行优化, 提出改进的DL-SSD(deep and low optimized single shot multibox detector)模型, 提升交通标志检测精度的同时改善SSD模型对小目标检测效果不佳的问题.

1 SSD算法

SSD目标检测算法是one-stage目标检测方法之一, 其网络模型如图1所示.该算法将VGG16主干网络的全连接层Fc7改为卷积层conv7.为了加深特征提取网络, 在conv7之后又添加了卷积层conv8、conv9、conv10和conv11四个卷积模块.配合原有的卷积模块生成大小为38×38、19×19、10×10、5×5、3×3和1×1的特征图,将不同尺寸的特征图同时输入回归预测层, 通过Anchor机制在每个特征图上生成宽高比不一的先验框,然后利用非极大值抑制算法保留置信度较高的先验框.SSD模型虽然可实现多尺度特征检测,但在浅层特征提取时对小目标的检测性能较差.

图1 SSD网络结构Fig.1 SSD network structure

2 改进的DL-SSD检测算法

为提高SSD算法对小目标的检测效果, 本文在SSD模型的卷积层、浅层特征融合和深层特征提取的通道注意力机制方面进行了改进, 改进后的DL-SSD算法网络结构如图2所示.

图2 DL-SSD网络结构Fig.2 DL-SSD network structure

2.1 特征提取网络

SSD目标检测网络采用不同的卷积块提取不同尺度大小的特征图,为了增强对尺寸比例较小的交通标志的检测效果,在特征提取阶段将主干网络VGG16最后的全连接层替换为3×3的卷积层conv6和1×1的卷积层conv7, 并添加了卷积层conv8.同时conv6和conv8采用扩张率(dilation rate)分别为2和4的扩展卷积[5](dilation conv), 提升卷积层特征提取的感受野区域,方便定位小目标位置.

2.2 特征融合网络

对卷积模块conv4、conv6和conv7所提取的特征进行融合才能发挥其对小目标的特征提取效果, 由于conv4、conv6和conv7所提取的特征图尺寸分别为38×38、19×19、10×10, 相较于后三层特征图的尺寸略大, 浅层特征所包含的语义信息相对不足.为了提高浅层在特征提取中的表达能力,参考双向特征金字塔网络[6](bidirectional feature pyramid network, Bi-FPN)的特征融合方法,提出一种新的跨尺度双向特征融合方法(cross-scale bidirectional feature pyramid network, C-BiFPN),将其运用到浅层特征提取中.传统的特征融合金字塔网络[7](feature pyramid network, FPN)针对不同尺度级别分辨率的特征采用自底向上的形式进行特征融合, 单向特征融合易出现特征丢失的情况.针对该问题, Bi-FPN对每个输入和输出节点进行了细节优化.

图3 特征融合网络对比Fig.3 Feature fusion network comparison

2.3 通道注意力机制

为了提高SSD目标检测模型对交通标志特征信息的关注度, 在SSD深层特征提取模块中提出一种新的通道注意力机制, 赋予conv9、conv10和conv11三层尺度较小的特征图通道权重.改进的通道注意力机制结构如图4所示.将x1~xc共C个通道、 尺寸为H×W的特征图x作为输入, 其中H和W为特征图的高度和宽度.特征图通过上部分支中的全局最大池化层和全局平均池化层的处理, 经一维卷积、ReLU激活函数处理后与下部分支中的C×C通道特征权重进行像素矩阵相乘, 对目标通道进行权重加强, 生成尺寸大小为H×W, 通道数为C的特征图.

图4 通道注意力机制Fig.4 channel attention mechanism

3 实验及结果分析

3.1 实验平台

本实验基于PyTorch框架在Windows10系统上进行SSD模型的搭建,操作系统为Intel(R) Core(TM) i5-6300HQ CPU@2.3GHz CPU, 内存为8.0 GB, 64位, 显卡(GPU)型号为NVIDIA Ge Force RTX 2060, 显存6 GB.代码编辑器选择JetBrains PyCharm Community Edition 201911×64, 运行环境为Python 3.6.5,CUDA 10.0,PyTorch1.7.1和torchvision0.8.2.

3.2 数据集

根据交通标志的形状和颜色,对由长沙理工大学(Changsha University of Science and Technology, CSUST)制作的中国交通标志检测数据集[8-10](CSUST Chinese traffic sign detection benchmark,CCTSDB)进行划分,分为禁止(prohibitory) 、警告(warning)和指示(mandatory)三个类别.CCTSDB数据集共15 734张交通标志图像, 按4∶1的比例划分训练集和测试集.

德国交通标志数据集[11](German traffic sign detection benchmark dataset, GTSDB)收录了900张真实车辆驾驶场景下的交通标志,这些交通标志目标物在图像中的尺寸比例均较小,还存在受遮挡和曝光度低的情况.样本以ppm格式进行保存, 单张ppm文件中包含0~6个目标物, 通过gt.txt文件的形式标记交通标志的标签数据.在实验之初进行标签处理,将图像划分为禁止、危险(danger)、指示和其他四个类别.本文对禁止、危险和指示三类的交通标志图像进行实验.

3.3 评价指标

3.4 消融实验

本文对SSD网络、SSD网络加C-BiFPN模块(SSD+a)、SSD网络加通道注意力机制模块(SSD+b)和DL-SSD网络在不同测试集上进行消融实验对比, 结果见表1.由表1可知, 与SSD网络相比, SSD+a网络对CCTSDB数据集中禁止和指示2类图片的检测精度有所提升; SSD+b网络提高了警告和指示标志的检测精度,但对禁止标志类别的检测精度有所下降,可能出现模型在复杂道路场景下鲁棒性较差的情况; DL-SSD对CCTSDB数据集上各类别图片的检测精度都有所提升, 其 mAP达92.31%, 比SSD网络提高了9%, 且在GTSDB数据集上也表现出较高的鲁棒性.

表1 消融实验结果Tab.1 Ablation results

3.5 算法性能对比

为了验证DL-SSD算法的有效性, 将其与经典的Faster R-CNN[12], YOLOv3[13],YOLOv4[14],YOLOv5, CenterNet算法在CCTSDB交通标志数据集上进行比较, 结果见表2.作为two-stage目标检测方法, Faster R-CNN的检测精确率为70.02%, 模型对单张图片中的交通标志类别进行识别所用的运行时间为0.14 s.one-stage目标检测算法YOLOv3、YOLOv4和YOLOv5无论在精确率还是运行时间上都明显优于Faster R-CNN网络, 但在召回率和平均精度上YOLOv3略逊于Faster R-CNN, 说明在检测中假阳性样本较多,干扰了检测精度.DL-SSD算法的精确率、召回率都均高于上述one-stage系列算法以及CenterNet算法,但检测速度没有明显优势,还有进一步优化的空间.

表2 不同算法的性能对比Tab.2 Performance comparison of different algorithms

3.6 图片检测效果

本文将SSD算法和DL-SSD算法对分辨率较低、标志残缺或远距离小目标等交通标志的检测效果进行了对比, 结果见图5, 图中标记了交通标志类别及检测的平均精度.由图5可见, SSD算法对远距离小目标、拍摄不完整及光线较暗的交通标志检测时会出现漏检情况; 而DL-SSD算法在多种复杂场景下均有较好的检测效果.

左图: SSD算法; 右图: DL-SSD算法图5 图片检测效果对比Fig.5 Comparison of image detection results

猜你喜欢
交通标志特征提取卷积
基于双向特征融合的交通标志识别
基于3D-Winograd的快速卷积算法设计及FPGA实现
从滤波器理解卷积
基于Daubechies(dbN)的飞行器音频特征提取
基于傅里叶域卷积表示的目标跟踪算法
Bagging RCSP脑电特征提取算法
交通标志小课堂
基于MED和循环域解调的多故障特征提取
我们欢迎你!
一种基于卷积神经网络的性别识别方法