时间:2024-05-22
李国强 付 乐 查琳琳 王天雷
(燕山大学电气工程学院 秦皇岛 071000)
交通标志识别在智能交通领域占据着重要的地位,它能够为车辆提供准确的交通标志信息,在无人驾驶领域拥有广阔的前景,通过实时监测前方交通标志,使无人驾驶技术在遵守交通规则的前提下安全行驶[1]
对于交通标志识别的研究,早期利用传统图像识别[2]的方法,采用滑动窗口对图像遍历得到候选区域,然后用基于手工设计的特征提取器提取候选区域的特征,之后利用支持向量机(support vetor machine,SVM)对得到的特征进行分类,最后通过目标类别进行边框回归。由于存在光照、遮挡、变形等问题,传统图像方法在实际的交通标志检测任务中很难取得很好的效果。近年来卷积神经网络[3](convolutional neural network,CNN)被越来越多地应用在目标检测和分类领域,利用CNN 替代手工特征,提取图像中高层特征的优势,使深度学习算法在目标检测领域取得了很大的成果。这些检测算法可以分为2 大类:两阶段方法(R-CNN[4]、Fast R-CNN[5]和Faster R-CNN[6]等)和单阶段方法(YOLO 系列[7-10]、SSD(single shot multibox detector)[11])。其中以Faster R-CNN 为代表的两阶段方法使用区域侯选网络(region proposal network,RPN)通过共享卷积特征在特征层上生成建议框,再利用建议框区域的卷积特征进行分类和目标框的定位,而YOLO 系列和SSD为代表的单阶段检测方法将物体的分类任务和定位任务统一按照回归逻辑在输出层完成预测,并不需要提取候选区,从而大幅提高了运算速度。目前已有很多学者将目标检测算法应用于交通标志检测中,文献[12]在YOLO v3 基础上提出了融合注意力机制与上下文信息的交通标志检测方法。文献[13]提出了一种融合空间金字塔池化(spatial pyramid pooling,SPP)和改进特征金字塔网络(feature pyramid network,FPN)的YOLOv3 交通标志检测方法。文献[14]以CSPDarkent53 为基础设计带有反卷积级联结构的特征提取网络。文献[15]提出一种利用扩张卷积在CNN 中实现多尺度滑动窗的方法并在GTSDB 数据集[16]上取得优异的检测结果。
对于实际场景应用下的交通标志检测来说,实时性是算法的一个关键指标,所以提高单阶段检测方法的精度对交通标志检测更有意义。本文以单阶段目标检测算法YOLO v4 为基础,针对存在小目标漏检的问题,提出一种reSE-BYOLO v4 算法。该算法对YOLO v4 检测层进行改进,在减少网络模型参数的同时又增强了对尺寸偏小交通标志的检测能力;在多特征融合中引入横向连接,使模型融合了更多的特征;对通道注意力(SE)模块[17]进行了优化并与模型相融合。最后本文通过大量的实验证实了该算法的可行性。
YOLO v4 算法由进行特征提取的主干网络(Backbone)、进行特征融合的颈部(Neck)和用于分类及回归的检测头(Head) 3 部分组成。与YOLO v3算法相比,在YOLO v3 算法的“Darknet53 +FPN +YOLO-Head”结构上,借鉴了近年来深度学习中其他优秀的算法模型和一些训练技巧。YOLO v4 主干网络在Darknet 基础上,与CSPNet[18]算法相融合,形成CSPDarknet;颈部由YOLO v3 采用的特征金字塔网络[19](FPN)改成了加入了空间金字塔池化层[20](SPP)的路径聚合网络[21](PANet),可以将主干网络输出的深层特征向浅层传递,弥补了FPN 网络特征融合中浅层特征丢失的缺陷;检测头继续延用了YOLO v3 中的YOLO-Head。表1 为YOLO v3和YOLO v4 网络对比图。
表1 YOLOv3 和YOLOv4 网络对比图
双向特征金字塔(BiFPN)[22]由谷歌大脑团队提出,在FPN 中加入了跳跃连接,并将FPN 中自上而下特征融合替换为自上而下和自下到上的特征融合,使网络不增加额外参数的同时融合更多相同尺度的特征,使不同尺度特征更充分融合。其结构如图1 所示,BiFPN 有效地融合了不同尺度的特征并增加了同一尺度特征的信息融合。
图1 BiFPN 结构图
通道注意力机制(sequeeze and excitation net,SENet)[23]其结构如图2 所示,SENet 分为3 个步骤。首先进行压缩操作,采用全局平均池化对输入的C×H×W的特征图进行压缩,使其变为C个1×1的实数列,使每张特征图具有全局感受野;其次进行激励操作,将实数列送入到由2 个全连接构成的瓶颈结构,第1 个全连接层对特征图C个通道进行降维,得到1×1×(C/r)的向量(其中r为缩放参数),经过Relu 函数激活后,通过第2 个全连接层升维,得到1×1×C的向量,再利用Sigmoid 激活函数获得对应归一化权重;最后通道权重与输入特征按通道相乘,完成通道注意力的标定。
图2 通道注意力SE 模块结构
对于608×608 的输入图像,YOLOv4 的3 个输出层的网格尺寸为76×76、38×38 和19×19,分别负责预测大、中、小物体,而在自然场景中远距离的标志牌一般尺度较小,为了让模型对小目标检测有更好的表现,在浅层再增加一层输出特征层152×152。因为浅层特征图尺度更大,包含更多的像素细节,另一方面考虑到19×19 的输出层主要负责检测大物体,而交通标志一般尺寸较小,故19×19 层对小目标的检测意义不大。图3(a)、(b)、(c)、(d)分别是152×152、76×76、38×38、19×19 部分特征图,在尺寸为19×19 的特征图中可以看出小目标特征丢失严重,无法看出交通标志的轮廓,而尺寸为152×152 的特征图保留了更多小目标的特征信息。因此本文去掉19×19 的检测层,添加152×152 的检测层,改进后的网络依旧是3 个检测头,主要针对小目标交通标志的检测,分别用38×38、76×76 和152×152 的检测层来进行预测。
图3 残差块输出的特征图
YOLOv4 在多尺度特征融合部分选取了C3、C4、C5 3 个不同尺度特征输入到路径聚合网络(path aggregation network,PAN)结构中,通过构造由上而下和自底而上的双向通道融合3 个尺度的特征,最终得到3 个尺度的输出。针对交通标志尺寸小和尺度变化的问题,原始网络只对3 个尺度特征进行了提取,对不同大小目标不敏感,不同尺度的特征信息融合较少,且并没有利用信息丰富的特征图C2。本文所提出的多特征融合网络在检测层改进基础上借鉴BiFPN 网络中的横向连接进行改进。
在图4 和图5 中P5~P2 分别是本文中提到的19×19、38×38、76×76、152×152 的检测层,Ci则表示前馈网络提取到的多尺度特征。Di和Pi分别是由上而下和自底而上的特征融合,虚线是借鉴BiFPN 横向连接的思想将同一尺度下的特征进一步融合,缓解因网络层级过多造成的特征信息丢失。以P4 特征生成为例,原始网络由P3 下采样和D4两部分的特征按通道维度拼接得到,生成过程如式(1)所示。改进后的网络增加了对C4 特征的融合用式(2)体现,在不增加成本情况下融合了更多的特征。图中的斜箭头是通过双线性插值来实现C3的2 倍上采样,对高分辨率下C3 特征充分利用,使网络融入了更多的语义信息。
图4 YOLO v4 的特征融合网络
图5 改进后的特征融合网络
其中,符号[;]表示通道维度的拼接,F表示用于调整通道的卷积操作,Downsample 是通过卷积操作实现2 倍下采样。
本文对多尺度特征融合部分进行改进,充分利用了浅层特征图C2 中的特征信息,提高了对小目标的检测能力,同时借鉴BiFPN 网络中的横向连接,在同尺度特征层引入跳跃连接融合更多的相同尺度特征,缓解因网络层级过多造成的特征信息丢失,使网络对不同大小的目标更敏感,提升网络的检测能力并降低漏检率。
由于SENet 是针对于图像分类而设计的通道注意力,在图像分类中目标物体一般占据图片较大面积,使用全局平均池化可以很好地获得通道特征响应,利用每个通道的平均值来代表该通道的目标情况。然而对于目标检测任务而言,目标物体通常较小,只能占据图片很小的区域,而且图片中包含许多无关物体,这些物体虽然在通道中占据很小的特征响应,但是数量偏多,总的特征响应贡献依旧很大,因此在空间维度上使用全局平均池化并不能很好地反映图片中的前景目标,而每个通道的最大值可能会很好地反映该通道对于前景目标的情况。另一方面,SENet 首先把特征在空间维度上压缩,再经过全连接网络的学习和激活,完成原始特征在通道维度上的重新标定。在激活阶段利用Sigmoid 函数将输出特征归一化到0~1 之间,再与主干分支完成点乘,这样会使原始特征图上每一个点的数值变得很小,输出响应变弱,有效特征不明显,从而导致网络可能出现退化现象。
针对以上2 个问题,通道注意力的改进结构如图6 所示。以输入特征图F1为例,先对F1特征在通道方向上分别进行全局平均池化和全局最大池化,并将池化结果按通道进行拼接,此时压缩后的特征向量为1×1×2C。利用1×1 的卷积核调整通道为1×1×C,经过第1 个全连接进行特征融合和降维,并使用ReLU 函数进行激活,此时将C个通道压缩成C/r个通道,通过全局特征编码,达到降低计算量的目的;第2 个全连接层将特征通道数恢复成C个通道并用Sigmoid 函数激活,进而得到通道权重Mc。其中F为残差学习,将通道权重Mc与特征图F1先进行残差连接再按通道相乘,即F=(1+Mc)F1,得到最终的通道注意力特征,以确保网络不会出现退化问题。
图6 改进后的通道注意力模块结构
本文利用全局平均池化和全局最大池化的并行组合结构替代原始的全局平均池化,使网络在关注全局特征的同时又兼顾了特征图中响应最大的局部特征;利用1×1 的卷积核用较少的参数量完成特征的压缩;同时将残差学习的思想引入通道注意力中,以保证引入的注意力机制不会导致网络退化,避免了SENet 中输出权重归一化与主干分支进行点乘会导致降低特征值的问题。将Mc作为特征图F1的选择器,使特征图中的有效特征增强而噪声被抑制,将基于残差学习的通道注意力模块记为reSE;利用reSE 模块对多尺度特征进行通道间的重新标定,以达到增强有效通道特征、抑制冗余通道特征的目的。考虑到通道拼接方式的特征融合会给模型带来丰富的特征,此时利用reSE 模块可以对特征更好地进行选择,对特征图中的有效特征进行增强。本文选择在模型的颈部上采样和下采样的特征融合区域之后分别嵌入该模块并进行对比实验。
实验平台为操作系统Windows 10,学习框架Pytorch 1.4,GPU 为Nvidia TITAN Xp,显存为12 GB。
本文实验数据集采用Tsinghua-Tencent 100K Tutorial (TT100K)交通标志数据集[24],剔除未标注和标注错误的图片,训练集和验证集共包含9170 张图片,实例数超过100 的共有43 类交通标志,分别为pn、pne、i5、p11、pl40、pl50、pl80、io、pl60、p26、i4、pl100、pl30、il60、pl50、i2、w57、p5、p10、ip、pl120、il80、p23、pr40、ph4.5、w59、p12、w55、p3、pm20、pl20、pg、pl70、pm55、il100、p27、w13、p19、ph4、ph5、p6、pm30 和w32。随机抽取1500 张图片作为测试集,剩余7670 张图片按照8∶2 进行训练集和验证集的划分。针对TT100K 数据集中存在不同类别样本数目不平衡问题产生的长尾效应,本文对数目实例数少于200 的类别利用Mixup 数据增强[25]进行数据扩充。Mixup 数据增强将2 张不同的图像混合生成新图像,新样本的标签由原标签混合而来,实现方式如式(3)所示。最终得到的训练集数据共有14 460张图片。
式中,λ∈[0,1],其取值符合Beta 分布β(α,α),参数α满足α∈(0,∞);(xi,yi)和(xj,yj)是训练集中随机抽取的2 个样本。图7 为不同混合系数λ的Mixup 数据增强示意图。
图7 不同混合系数λ 的Mixup 数据增强图
YOLO v4 模型预设的9 个目标框(12,16;19,36;40,28;36,75;76,55;72,146;142,110;192,243;459,401)涵盖了大到汽车、火车,小到鸟类、盆栽等多尺度的目标尺寸,而对于目标大小较为极端的数据集,需要重新对边界框聚类分析。
本实验使用K-means++聚类算法[26]对TT100K数据集进行聚类分析。与传统的K-means 算法[27]相比,K-means++优化了初始点的选择,能显著改善分类结果的误差,以获得更适合的Anchor box,提高交通标志检测的精度。K-means++算法首先随机选取某一个目标框作为初始聚类中心C1;然后计算每个样本与已有聚类中心点的距离D(x),并计算每个样本被选为下一个聚类中心的概率,以此类推直至选出k个聚类中心;最后不断重复计算每个样本到k个聚类中心的距离,并将它划分到最近的聚类中心再重新计算聚类中心,直至得到的Anchor 大小不再发生改变。在输入图片尺寸为608×608 时,聚类结果如图8 所示,分别用不同的颜色标注出聚类簇,其中9 个星星代表每个聚类簇的聚类中心,其坐标即为初始候选框的宽高[5×6,7×8,10×10,8×15,13×14,17×19,24×27,35×37,56×56]。
图8 k-MEANS++聚类可视化结果
以精确度(precision,P),召回率(recall,R)和平均检测精确度(mean average precision,mAP)作为评价指标。精确度(P)和召回率(R)的公式分别为式(4)和(5)所示。
其中,TP为实际为正样本被系统判定为正样本,FP为实际是负样本但是被系统误判为正样本,FN为实际为正样本但被系统误判为负样本。本文设置0.5 的置信度阈值,对比模型的精确度和召回率。
设置初始学习率为0.001,每25 次迭代后将学习率衰减为原来的0.1 倍,动量为0.9,衰减系数为0.0005,使用SGDM 梯度优化算法,批处理(batchsize)前50 次迭代设为4,后50 迭代设为2,设置迭代次数(epochs)为100 次。
本文在YOLO v4 的基础上提出了reSE-BYOLO v4,并在TT100K 交通标志数据集上进行了大量实验及消融实验。其中包括2 部分:第1 部分对reSEBYOLO v4 的各个改进点进行对比实验;第2 部分对模型整体的改进策略进行效能评估及分析。
3.4.1 对比实验及分析
在输入图片分辨率为608 ×608 时,本节对改进后的YOLO v4 模型进行实验分析。其中主要包括检测层改进、多特征融合以及reSE 模块的消融实验2 部分,其实验结果如表2 和3 所示。
表2 为本文3.1 和3.2 节提出的模型优化实验数据,其中YOLO v4-A 是在YOLO v4 基础上舍弃19×19 的检测层,增加了152×152 的检测层。YOLO v4-B 是在YOLO v4-A 的基础上增加了同一尺度下特征的横向连接和对高分辨率下特征信息的融合。从实验可以看出,YOLO v4-A 相比于原始YOLO v4其mAP 提升了2.3%,表明将原始模型大目标检测层去掉,并不影响检测交通标志,同时增加高分辨率的检测层能够利用图像中小目标的信息,更好地检测交通标志;YOLO v4-B 相比于原始YOLO v4 其mAP 提升了4.53%,检测精度优于YOLO v4-A,这表明多特征融合能够在不增加模型复杂度的情况下使模型融入更多的特征,从而进一步提高模型的检测精度。
表2 YOLO v4 模型优化对比实验
表3 主要研究SE 和reSE 2 种模块嵌入在YOLO v4 模型的不同特征融合位置所带来的性能变化,其中“Upsampling_concat”表示在每一个颈部上采样特征融合区域之后添加该模块,而“Downsampling_concat”则是每次完成下采样特征融合之后添加。
表3 通道注意力消融实验
从表3 可以看出,注意力模块嵌入在模型的不同特征融合位置带来的性能有所不同,从实验1、2和实验3、4 的对比中,可以发现在“Downsamplingconcat”处添加注意力模块要比“Upsampling_concat”处效果提升明显,本文认为网络更深层的特征图表现出更丰富的语义特征,特征信息高度融合,每个通道上的特征分布更加明显。从实验1、3 和实验2、4 的对比中,可以发现reSE 模块所带来的性能提升要优于SE 模块,进一步说明了将残差学习的思想引入注意力模块中能够帮助模型对有效特征的选择。实验4 相比于原始YOLOv4 提升了其mAP 3.1%,表明reSE 模块的嵌入有效提升模型对交通标志的检测性能。
3.4.2 reSE-YOLOv4 模型性能测试以对比实验
结合3.4.1 的实验结果,本文发现YOLOv4-B和实验4(即表4 中的“reSE-YOLOv4”)都可以有效提升交通标志的检测性能,因此将两者相结合,提出一种基于残差注意力的多特征融合的交通标志算法——reSE-BYOLOv4 模型,该模型具体结构如图9所示(图中“⊗”代表特征融合的concat 操作)。
表4 reSE-BYOLOv4 和相关实验结果对比
图9 reSE-BYOLO v4 模型结构图
从表4 中可以看出,本文提出的改进方法检测效果均比YOLO v4 模型好,其中reSE-BYOLO v4 模型在交通标志检测中较YOLO v4 相比其mAP 提升了6.57%,并对比于其他改进模型,reSE-BYOLO v4达到了80.48%的最高mAP 值,并且其准确度和召回率均有不同程度的提升。实验证实了本文所提出的改进方法能够有效提升对交通标志的检测。
表5 展示了reSE-BYOLO v4 模型与其他模型的性能效率对比。模型的运行环境均为Nvidia TITAN Xp GPU,由于训练数据量较大耗时普遍较长,在相同输入尺寸608×608 时,检测效果最佳的reSE-BYOLO v4 模型训练时间相比于原YOLO v4 额外增加约1 min,以牺牲很小的训练时间来换取更好的检测效果,检测速度相比于原YOLO v4 慢了0.02 s,但仍满足实时检测要求。
表5 模型性能效率对比
图10 展示了4 种模型在TT100K 测试集上对4 3类交通标志识别的AP值,因为训练数据分布存在差异,即使同一个模型在相同的训练策略下训练2 次也会出现同一类别AP 值的小波动。从图中可以看出,YOLOv4-B 和reSE-YOLOv4 模型相比于YOLO v4 模型整体AP 略有提升,极少类别AP 出现下滑,属于数据的正常波动。本文提出的reSE-BYOLO v4 模型相比于其他模型在测试各个交通标志AP 值上表现更优,证明了该模型的在交通标志检测上的有效性。
图10 不同模型的AP 对比
为了证明reSE-BYOLO v4 的检测效果,从数据集中随机抽取了3 张图片进行比较并将图片较小部分进行局部放大。
从图11 可以看出,子图(a)只检测出了尺寸较大的6 个交通标志,忽略了较小的1 个交通标志;子图(b)检测出了较小的交通标志;子图(c)中出现了漏检情况,漏检了2 个交通标志;子图(d)中可以检测出图中的所有的交通标志;子图(e)中只检测出了2 个较大的交通标志;子图(f)则将远处较小的2个交通标志也检测了出来。因此reSE-BYOLOv4模型大幅提高了小目标交通标志的成功率。
图11 效果对比图
为近一步验证该模型的有效性,将reSE-BYOLO v4 模型与其他先进的模型进行对比实验,实验结果如表6 所示。
从表6 可以看出,reSE-BYOLO v4 相比两阶段检测的Faster-RCNN,其mAP 提升了10.95%,精准度和召回率均有大幅提升;相比于基于Anchor-free系列的CenterNet、FCOS 其mAP 分别提升了8.03%、4.61%,精准度和召回率也均有不同程度的提升。文献[13]以YOLO v3 为基础网络通过融合SPP 结构和改进FPN,使mAP 达到75.20%。文献[14]利用带有反卷积级联结构的特征提取网络,提高了小目标的检测能力,使mAP 高达77.45%,仅次于reSE-YOLO v4 模型。实验证明,本文所述的reSEBYOLOv4 模型对小目标交通标志有更好的检测效果。
表6 不同模型实验对比
本文基于YOLO v4 提出一种reSE-BYOLO v4模型。针对多数交通标志尺寸偏小的问题,优化检测层并在特征融合区域引入同一尺度特征的横向连接,使模型学习更多的特征,有效提高了对小目标的检测能力;同时将reSE 模块和YOLO v4 模型进行结合,使模型从诸多特征中选择有效特征来进行学习。但reSE-BYOLO v4 会增加模型的参数量,下一步研究中将会考虑对模型进行压缩和剪枝,在保证算法精度的基础上提高模型的实时性。
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!