掌桥专利:专业的专利平台
掌桥专利
首页

一种基于双向Res2Net的对称交通标志检测方法

文献发布时间:2024-04-18 19:58:26


一种基于双向Res2Net的对称交通标志检测方法

技术领域

本发明属于计算机视觉领域,涉及利用计算机技术对交通标志进行自动检测和识别。

背景技术

交通标志一般位于道路上方或者两侧,由于驾驶者在驾驶过程中关注交通牌需要一心二用,并且由于车速、天气、路况等情况,驾驶者在获取信息时所用时间较短,如果对于道路不熟悉通常需要将车辆减速来阅读信息,由此带来安全隐患。各国都开展了道路交通标志的识别系统TSR(Traffic Sign Recognition)。在计算机视觉领域,交通标志检测是一个广泛研究的主题。现有技术方法主要包括传统的基于特征的方法和基于深度学习的方法。

基于特征的方法是其中一种常用的方法。该方法利用图像中的特征如颜色、形状、纹理等来进行交通标志的检测。现有的基于特征的方法主要包括基于颜色和形状信息的方法和基于纹理信息的方法。该方法旨在解决交通标志检测中存在的问题,如景深、光照变化、角度变化等因素影响对于交通标志的检测准确性。该方法首先提取输入图像的特征,如颜色、形状、纹理等。然后,根据这些特征,使用各种算法(例如模板匹配、形状分析、机器学习等)来检测交通标志。具体的,可以通过各种特征提取方法来提取交通标志的特征,例如利用颜色直方图来提取颜色信息、通过边缘检测来提取形状信息等。接着,可以使用各种分类器(例如支持向量机、神经网络等)来分类检测区域,以判断是否存在交通标志。得到交通标志的位置后,可以通过各种方法进行精确定位。

基于特征的交通标志检测方法可以基于传统的图像处理方法,也可以是基于机器学习的方法,如基于支持向量机(SVM)、AdaBoost、神经网络等方法实现。在实际应用中,可以针对不同的交通标志进行特征提取和处理,在各种场景中进行测试验证,以达到最佳的检测效果。例如可以对交通标志的颜色、形状、大小和位置进行检测,以便在复杂道路环境中对其进行检测。

近年来,基于深度学习的方法已经成为交通标志检测领域的主流方法。这些方法通过基于卷积神经网络(CNN)的特定架构,来从图像中提取高级别的特征来进行交通标志的检测。基于深度学习的交通标志检测方法已经在多个数据集上取得了良好的检测效果,且相较于传统的基于特征的方法具有更好的鲁棒性和精度。该方法旨在解决交通标志检测中存在的问题,如姿态变化、光照不一致、遮挡等问题。

基于深度学习的算法,通过卷积神经网络从输入图像中提取特征,再通过分类模型将候选区域划分为交通标志或非交通标志的类别。目前最先进的基于深度学习的交通标志检测方法包括Faster R-CNN、YOLO、SSD等。这些方法将输入图像分割为多个子区域,并在每个子区域中执行卷积和池化操作,以获取区域的特征表示。接着,这些方法将这些特征传递给分类器,以决定该区域是否包含交通标志。

基于深度学习的交通标志检测方法主要依赖于大规模的标记数据集和相应的深度神经网络模型。这些模型可以通过训练来对输入图像进行准确的定位并检测其中的交通标志。具体来说,需要对庞大的交通标志数据集进行处理和标注,并使用深度学习算法对这些数据进行训练,以构建检测模型。在实际应用中,需要仔细选择合适的CNN模型和训练参数,以确保检测准确性和速度。同时,还需要对环境光照、检测器的位置和姿态等因素进行有效控制和识别,以提高模型的实用性。但是,这些方法在处理复杂场景、多标志重叠等情况下面临着一定的挑战和限制。因此,提出一种新的交通标志检测方法非常必要。

交通标志检测在道路交通安全领域具有重要应用,但由于其检测对象具有不同的形状和尺寸,尺度变化和旋转角度变化的多样性,传统算法存在一定的检测误差问题。针对此问题,本发明提出一种基于双向Res2Net的对称交通标志检测方法。

发明内容

本发明提出一种对称网络模型C2Net-YOLOv5,用于对交通标志进行自动检测。旨在解决主干网络提取的小目标特征信息不够充分、模型提取特征不足的问题。

为实现上述目的,本发明提出了一种基于双向Res2Net的对称交通标志检测方法,包括下列步骤:

1、将TT100K数据集进行筛选并划分训练集和测试集;

2、将划分好的数据集进行预处理;

3、将预处理过的数据作为Backbone部分的输入,进行特征提取;

4、将经过特征提取的特征使用FPN+PAN的结构进行特征融合;

5、将融合之后的特征输入Detect层得到输出结果,并得到损失;

6、将训练集输入C2Net-YOLOv5模型进行训练;

7、将训练后的C2Net-YOLOv5模型对测试集进行检测;

附图说明

图1 C2Net-YOLOv5网络模型

图2 C2Net模块

图3 Bottle2Neck模块结构

图4 Res2Net和反向Res2Net模块

图5 SE通道注意力

图6部分检测结果细节图

图7对于含阴影交通标志的检测

具体实施方式

本发明提供一种基于双向Res2Net的对称交通标志检测方法。该网络主要在于改善了当前交通标志目标检测精度和检测速度。网络结构如图1所示。本发明的目的在于以下几个方面:

1.结合模型的总体设计,对原本YOLOv5的主干网络的设计进行改进,在详细设计时,充分考虑了数据集图像中交通标志目标的特点,以及对称性的设计思想,将双向Res2Net对称模块取代以往的残差模块,提升特征提取模块的多尺度特征提取能力。

2.针对不同深度、不同通道对于模型预测重要性不同的问题,在C2Net模块中引入SE通道注意力模块,这是一种注意力机制,可以强化有价值的特征,并弱化无价值特征。

本发明在Bottle2neck中采用双向Res2Net对称模块,在两个相反的方向上进行多尺度特征提取,获得更好的特征表达,将特征复用、特征细化做的更加极致,也增强了不同尺度特征的融合,弥补了Res2Net模型方向的单一性。并在该结构中加入SE注意力中的通道注意力,它的出现是为了解决在卷积池化过程中的特征层的不同通道所占用的重要性不同带来的损失问题。在传统的卷积池化中,默认特征层的每个通道是同等重要的,而在实际的问题中,不同通道的重要性是有差异的。该模块常常被应用于视觉模型中,即插即用,通过它能对输入特征图进行通道特征增强,而且最终的模块输出,不改变特征图的大小,使得模型可以自动学习到不同channel特征的重要程度。在C2Net模块中引入Bottle2neck模块,最终以C2Net模块和Focus结构作为骨干网进行特征提取。

步骤1、将TT100K数据集进行筛选并划分训练集和测试集

首先获取TT100K数据集,是由腾讯和清华制作的交通标志数据集,共有10万张图像,但只有1万张图像包含交通标志,训练数据集由6150张图片组成,测试数据集由3071张图片组成。但是该数据集存在类别不平衡问题,因为一些交通标志牌(如山体滑坡、前方村庄)在城市中不可见,该数据集缺少70个类别,即70个没有实例的类别。另外还有很多类别数量很少,样本不平衡,需要重新划分数据集,只保留图片数超过100的类别。我们统计每个类别的数量,过滤掉一些图片重新划分数据集,划分后得到45类,包括训练集5289张图片,测试集2673张图片,图像大小均为2048×2048。

步骤2、将划分好的数据集进行预处理

其次读取图像数据,对不同尺寸的图像进行缩放,使其尺寸具有一定的规范性。统一缩放到640×640大小后,并对数据进行归一化处理,将图像数据按照RGB三个通道进行标准化。对缩放后的图像数据进行数据增强处理,包括平移、缩放、水平翻转、mosaic、mixup、HSV颜色空间增强,为后续的检测算法提供更多丰富的数据。参数均根据经验值设置:平移参数:0.04591;缩放参数:0.75544;水平翻转参数:0.5;mosaic参数:0.85834;mixup参数:0.04266;HSV颜色空间参数:0.01041、0.54703、0.27739。

步骤3、将预处理过的数据作为Backbone部分的输入,进行特征提取

将标准化后的图像数据输入Focus层,对图片进行切片操作,具体操作是在一张图片中每隔一个像素拿到一个值,类似于临近下采样,这样就得到了四张图片,四张图片互补,没有信息损失,这样W、H信息就集中到了通道空间,输入通道扩充了四倍,即拼接起来的图片相对于原先的RGB三通道模式变成了12个通道,最后将得到的新图片再经过间距操作,最终得到了没有信息丢失情况下的二倍下采样特征图。

如图1所示,本发明中,原始的640×640×3的图像先输入第一层Foucs结构,采用切片操作,先变成320×320×12的特征图,再经过一次卷积操作,最终变成320×320×64的特征图。

再将样本图像输入第2层,使用Conv模块进行特征提取,该模块采用3×3的卷积核,步长为2,这样每经过一个Conv模块,特征图尺寸就缩小一倍,由320×320×64的特征图变为160×160×128。

再将第2层的160×160×128的输出特征输入第3层C2Net模块,C2Net模块如图2所示,其结构分为两支,一支先把第2层获得的输出送入到ConvBNSiLU模块,再送入Bottle2Neck块;另一支则把第2层获得的输出直接送入到ConvBNSiLU模块,最后将两支的输出进行Concat和ConvBNSiLU操作,得到160×160×128的特征。

将第3层输出的160×160×128的特征输入第4层,使用Conv模块进行特征提取,该模块采用3×3的卷积核,步长为2,特征图尺寸缩小一倍,由160×160×128的特征图变为80×80×256。

再将第4层的80×80×256的输出特征输入第5层C2Net模块,得到80×80×256的特征。

将第5层输出的80×80×256的特征输入第6层,使用Conv模块进行特征提取,该模块采用3×3的卷积核,步长为2,特征图尺寸缩小一倍,由80×80×256的特征图变为40×40×512。

再将第6层的40×40×512的输出特征输入第7层C2Net模块,得到40×40×512的特征。

将第7层输出的40×40×512的特征输入第8层,使用Conv模块进行特征提取,该模块采用3×3的卷积核,步长为2,特征图尺寸缩小一倍,由40×40×512的特征图变为20×20×1024。

再将第8层的20×20×1024的输出特征输入第9层C2Net模块,得到20×20×1024的特征。

最后将第9层输出的20×20×1024的特征送入第10层SPP单元,SPP单元主要负责融合不同尺度的特征,其输出特征仍为20×20×1024。

ConvBNSiLU是由卷积层、BN(BatchNormalization)层和SiLU(Sigmoid LinearUnit)激活函数组成,卷积层采用1×1的卷积核,步长为1;BN层是一种常用的神经网络层,用于缓解深度神经网络中的梯度消失和梯度爆炸问题,加速神经网络的训练过程,提高分类准确度;SiLU激活函数是一种用于神经网络的非线性激活函数。

Bottle2Neck模块中使用了双向Res2Net对称模块,如图3所示在两个相反的方向上进行多尺度特征提取,以获得更好的特征表示,并使特征重用和特征细化更加极致,它还弥补了Res2Net模型方向的单一性。在这种结构中,由于卷积池化过程中不同通道的重要性不同,添加SE通道注意力,以解决信息丢失问题。与以前逐层进行多尺度卷积的做法不同,Bottle2Neck模块充分利用Res2Net进行多尺度特征提取,在给定的残差块中用分层和级联的特征集(称为尺度)代替了一般的单个3×3卷积核。标准的1-3-1CNN布局被替换为4尺度的3×3残差分层结构,该结构将中间的主卷积从单个分支更改为多分支。通过增加块内的感受野,逐层捕捉图像中细粒度的不同尺度,CNN检测图像中物体的能力得到了提高。本文进一步采用双向Res2Net对称模块在两个相反的方向上进行多尺度特征提取,以获得更好的特征表示,并使特征重用和特征细化更加极致。它还增强了不同尺度特征的融合,并补偿了Res2Net模型的单一方向。通过在通道层面添加SE通道注意力,模型可以学习不同信道信息的重要性。

A.Res2Net模块和反向Res2Net模块

Res2Net模块如图4(a)所示,它在单个残差块内构建分层相似的残差连接,而不是通用的单个3×3卷积内核。Res2Net在更精细的粒度级别上表示多尺度特征,并增加了网络的感知场。步骤描述如下。

1)首先,引入一个新的参数比例,这是特征图将被划分为的组的数量,用s表示;

2)接下来,对于第一个1×1卷积层的输出特征,假设通道数为n。Res2Net根据通道将其等分为s组特征,每组特征的通道数为w,即n=s×w;

3)对于原始瓶颈块的第二层的卷积核,类似于步骤2,将其分为s组,每组具有输出通道w。每组的卷积运算由K

4)对于分组后的每组特征x

5)最后,将每组对应的输出进行通道连接,然后将它们输送到1×1卷积层的最终层中,以融合这些多尺度特征,从而获得该块的输出。由于修改后的块内部带有类似残差的串联机制,因此该结构被称为Res2Net。

图4(b)显示了反向Res2Net模块,它与Res2Net模块对称。该模块旨在更好地表示特征,并实现互补信息。

B.SE通道注意力模块

SENet网络关注channel之间的关系,希望模型可以自动学习到不同channel特征的重要程度。SENet提出了Squeeze-and-Excitation(SE)模块如图5所示,下面是操作过程:

1)Squeeze:通过全局平均池化,将每个通道的二维特征(H*W)压缩为一个实数,将特征图从[h,w,c]==>[1,1,c],h表示特征图的高度,w表示特征图的宽度,c表示特征图的通道数量,得到channel级的全局特征。

2)Excitation:给每个特征通道生成一个权重值,通过两个全连接层构造通道间的相关性,输出的权重值数目和输出特征图的通道数相同,由[1,1,c]==>[1,1,c],c表示特征图的通道数量。通过学习各个channel间的关系,也得到不同channel的权重。

3)Scale:将前面得到的归一化权重加权到每个通道的特征上。使用的是乘法,逐通道乘以权重系数。将特征图从[h,w,c]*[1,1,c]==>[h,w,c],h表示特征图的高度,w表示特征图的宽度,c表示特征图的通道数量。

本质上,SE模块是在channel维度上做attention或者gating操作,这种注意力机制让模型可以更加关注信息量最大的channel特征,而抑制那些不重要的channel特征。另外一点是SE模块是通用的,这意味着其可以嵌入到现有的网络架构中。

步骤4、将经过特征提取的特征使用FPN+PAN的结构进行特征融合

本网络第11到第17层由Conv,Upsample以及C3单元和Concat操作组成,其中Conv操作采用1×1的卷积核,步长为1,经过卷积层后特征图的尺寸不会变化,每经过一次Upsample,特征图的尺寸增大一倍。该部分的输入为经过SPP单元处理后的特征,输入Conv的特征图尺寸为20×20×1024,因此在第1个Upsample后,会获得P4级的特征图40×40×512,经过一个Concat操作,与C4级特征图融合得到40×40×1024大小的特征。再经过一个C3模块,得到40×40×512大小的特征图,再经过卷积核1×1、步长为1的Conv卷积,得到40×40×256大小的特征图。经过第2个Upsample后,会获得80×80×256大小的P3级别的特征图,经过一个Concat操作,与C3级特征图融合得到40×40×512大小的特征图。

第18层到第24层对应PANet中的最后一个bottom-up模块,是由C3单元和Conv模块以及2个Concat操作组成。该部分的输入是尺寸为80×80×512的特征图。第一个C3模块输出为80×80×256大小的N3级特征。Conv模块采用3×3的卷积核,步长为2,经过Conv模块后,特征图的尺寸缩小一倍,变为40×40×256,经过Concat特征融合后输入一个C3模块得到40×40×512大小的N4级别特征,同样N4级别特征再经过Conv模块并与P5级特征进行Concat特征融合后输入C3模块得到20×20×1024大小的N5级特征。

FPN+PAN结构

本发明将不同尺度、不同层次的特征进行融合,从而提高模型对于检测目标的判断准确率。特征融合结构有如下两种结构:

FPN

FPN(Feature Pyramid Network)是由FAIR提出的一种特征金字塔网络结构。它采用自下而上和自上而下两种方式,从多个尺度的特征图中提取多尺度的特征,并使用横向连接的方式进行特征融合。这种方法可以使得模型在不同尺度和语义层次上都有良好的特征表达能力,从而提高模型的准确性和鲁棒性。在目标检测和语义分割任务中,FPN已被广泛应用。

PAN

PAN(Pyramid Attention Network)是由Tencent AI Lab提出的一种特征金字塔网络结构。它通过在尺度不同的特征层之间引入上下文注意力机制,强化重要区域的特征表示,从而提高模型的感知能力和准确性。与FPN不同的是,PAN使用的是多级上下文注意力机制,可以更好地处理目标在空间和尺度上的变化。在语义分割任务中,PAN已获得了较好的表现效果。

本发明采用FPN+PAN的结构,通过FPN和PAN对图像进行多尺度特征融合,其中上层特征图因为网络层数更深,包含的语义信息也就更强,而下层特征因为经过的卷积层数较少,位置信息损失就更少,FPN结构通过自顶向下进行上采样,使得底层特征图包含更强的图像强语义信息;PAN结构自底向上进行下采样,使顶层特征包含图像位置信息,两个特征最后进行融合,使不同尺寸的特征图都包含图像语义信息和图像特征信息,保证了对不同尺寸的图片的准确预测。

步骤5、将融合之后的特征输入Detect层得到输出结果,并得到损失

本网络第25层为Detect层,Detect层负责对处理后的特征进行预测,本模型包括3个检测头,分别检测来自N3,N4,N5级别的特征。类别数设定为45,初始锚框设定为[10,13,16,30,33,23]、[30,61,62,45,59,119]、[116,90,156,198,373,326]。损失函数包括:分类损失、定位损失、置信度损失,总损失为三者的和。

分类损失

本网络对网格的每个格子都预测三个预测框,每个预测框的预测信息都包含了45个分类概率,对于TT100K数据集,每个预测框有80个0-1的分类概率,那么神经网络总共预测3*80*80*45+3*40*40*45+3*20*20*45个分类概率,组成预测概率矩阵。网格的标签概率矩阵与预测概率矩阵的维度一样,也是3*80*80*45+3*40*40*45+3*20*20*45。每个预测框的标签,由解析txt标签文件得到,是一个0~44的数值,需要将0~44的数值转换成45个数的独热码.

为了减少过拟合,且增加训练的稳定性,通常对独热码标签做一个平滑操作。如下式,label为独热码中的所有数值,α为平滑系数,取值范围0~1,本发明取0.1,45为总类别数。

label

同样假设置标签概率为矩阵L

其中45表示数据集类别,N为网格大小,z表示在网格中的第z个anchor,x表示的是横坐标位置,y表示的是纵坐标位置,t表示第t个类别,表示横纵坐标为(x,y)的网格中第z个anchor对于类别t的标签概率,P(z,x,y,t)表示横纵坐标为(x,y)的网格中第z个anchor对于类别t的预测概率。

对于N*N网格的分类损失函数值的计算公式:

其中45表示数据集类别,z表示在网格中的第z个anchor,x表示的是横坐标位置,y表示的是纵坐标位置。

定位损失

本发明采用GIoU作为边界框回归的损失函数,GIoU(Generalized Intersectionover Union)是一种用于计算目标检测任务中两个边界框之间重叠部分的度量方法。它是在传统的交并比(IoU)的基础上提出来的,旨在解决IoU无法准确反映两个边框之间距离的问题。

GIoU首先计算出两个边框的交集和并集,然后根据交集和并集的位置进行调整,得到一个更适合反映边框之间距离的度量值。GIoU的计算公式如下:

其中,IoU是传统的交并比,A∪B表示两个边框面积的并集,C是将两个边框的坐标框拓展为完全包含它们的最小框的面积。与传统的交并比相比,GIoU考虑了两个边框之间的距离,当两个边框完全重叠时,GIoU为1;当两个边框不重叠但互相贴近时,GIoU为0;当两个边框互不重叠时,GIoU为负数。因此,GIoU可以更加准确地反映两个边框之间的相似度,从而提高目标检测方法的性能。

置信度损失

矩阵中每个数值的BCE loss的计算公式如下:

其中z表示在网格中的第z个anchor,x表示的是横坐标位置,y表示的是纵坐标位置,N表示网格的大小是N*N网格,置信度标签为矩阵L,预测置信度为矩阵P。L(z,x,y)表示横纵坐标为(x,y)的网格中第z个anchor的标签置信度。P(z,x,y)表示横纵坐标为(x,y)的网格中第z个anchor的预测置信度。

从而得到N*N网格的置信度损失:

其中β为mask为true时置信度损失的权重,通常取值在0.5~1之间,使得网络在训练时更加专注于mask为true的情况,z表示在网格中的第z个anchor,x表示的是横坐标位置,y表示的是纵坐标位置,N表示网格的大小是N*N网格。l

步骤6将训练集输入C2Net-YOLOv5模型进行训练

对目标检测网络进行训练,batch size设为16,训练采用随机梯度下降法,采用Pytorch的SGD优化器,通过指定不同的参数配置,优化神经网络模型的参数,lr0为0.01,momentum为0.937,在训练过程中优化器会根据指定的损失函数和参数,计算出相应的梯度,并更新模型参数,使模型在训练集上的损失逐步减小,进而提高模型的泛化能力。

步骤7将训练后的C2Net-YOLOv5模型对测试集进行检测

本发明使用精度、召回率、Map0.5、F1分数作为指标;精度表示预测的阳性样本实际为阳性的比例;召回率也称为查全率,表示正确识别样本在总阳性样本中的比例;Map0.5是取IOU阈值为0.5时所有类的平均精度;F1是分类问题的度量。精度、Map0.5和F1的值越大,预测结果越好;召回率的值越小,说明预测结果越好。

公式如下所示:

其中TP+FP表示全部判定为正样本的结果数目,而其中的TP是被判定为正样本实际上也是正样本的数目。

其中TP+FN表示实际正样本数目,TP是被判定为正样本实际上也是正样本的数目。

其中k指的是总类别数,AP

其中Precision指的是精度,Recall指的是召回率。

在本发明中,使用NMS(Non-Maximum Suppression)用于去除多个重叠的检测框,NMS的核心思想是仅保留置信度最高的检测框并删除与该框高度重叠的其它框,因此能够提高目标检测方法的精度和鲁棒性,常用于各种目标检测任务中,使得每个交通标志只被检测到一次,从而减少误检和漏检的情况。NMS作为一种常用的目标检测后处理方法,用于提高算法的准确度和鲁棒性。

NMS的具体实现步骤如下:

1.对于每个类别,将置信度低于指定阈值(设为0.25)的框剔除,剩余的按照置信度从高到低排序检测框列表;

2.选择置信度最高的框,并将其它所有与该框GIoU大于预设阈值(设为0.45)的框从列表中删除;

3.重复执行步骤2,直到所有非最大值框都被删除;

4.对于所有剩余的检测框,添加到最终的检测结果列表中。

最后将训练完成的目标检测网络用于交通标志检测,由于本发明采用双向Res2Net对称模块,能够更有效地利用图像中的全局和局部信息,从而进一步提高检测精度。结果表明,该网络在检测带有自然阴影的交通标志方面也表现出了很好的鲁棒性,并且在精度、召回率、Map0.5、F1分数方面均优于传统方法和基于YOLOv5的对比模型。图6展示了模型部分检测结果的细节图。图7展示了模型检测对于阴影的鲁棒性。

相关技术
  • 基于相位对称性的道路交通标志检测方法
  • 一种图像中的交通标志对称性检测方法
技术分类

06120116489558