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

一种基于深浅层注意特征融合的多尺度路面裂纹检测方法

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


一种基于深浅层注意特征融合的多尺度路面裂纹检测方法

技术领域

本发明属于计算机视觉路面裂纹检测技术领域,具体涉及一种基于深浅层注意特征融合的多尺度路面裂纹检测方法。

背景技术

路面裂纹检测主要可以分为两类,基于传统图像处理技术的方法和基于深度学习的方法。与传统的图像处理方法相比,深度学习具有学习能力强,鲁棒性高等优势,受到越来越多研究者的青睐。

基于目标检测框架的路面裂纹检测主要是使用车载摄像头或者无人机搭载的摄像头获取路面图像。为了增强模型的性能,一些方法针对骨干网络进行研究。Wan等人通过将YOLOv5s的骨干网络改成一个更轻量的骨干网络,在Neck层使用BiFPN结构,虽然最终在满足实时性的情况下取得了不错的效果,却忽略了裂缝语义薄弱和形状不规整的因素,无法充分提取多尺度特征。Xu等人针对道路损坏弱语义信息和异常几何属性的特征,提出了一种重用了低级特征并混合了合适的范围依赖特征的骨干网络LrNet,通过多级特征互补来缓解弱语义的问题。但是他们的设计过于复杂,不能满足检测的实时性。还有一些方法,则是通过更大更强的骨干网络来增强特征获取能力,但是却大大增加了计算量。

除此之外,为了抑制背景噪声,许多路面裂纹检测方法通过引入注意力机制来给以损伤区域更多的关注,提高检测的精确度。Li等人基于YOLOv4检测框架,通过引入CBAM(Convolutional BlockAttention Module)模块,并探究了CBAM模块的嵌入位置对精度的影响。Guo等人在YOLOv5s的基础上进行研究,引入SE(Squeeze-and-Excitation)模块等操作,使得检测效果更好。Yao等人基于YOLOv5模型,探究了添加注意力机制的模块优化,尝试了两种添加方式和三种添加位置,最终实现了较好的性能。然而,这些方法都是通过引入通用的注意力机制来缓解背景影响,这是次优的。Zhang等人通过边缘检测来获取图片的边缘信息,并对这些信息进行处理,以此实现对裂缝区域关注。然而,这些方法都忽略了裂缝的细长的形态特征,无法获得长条形裂缝的长距离依赖关系。Ren等人通过在主干网络引入CoordAttention,以此捕获长距离依赖关系,但是忽略了背景因素对长距离依赖关系获取的影响。总的来说,这些方法在损伤区域与背景区域之间的细微差异考虑不充分,导致模型强化裂缝特征和缓解背景信息干扰的能力不强。

发明内容

本发明的目的在于克服现有技术的不足,提供一种基于深浅层注意特征融合的多尺度路面裂纹检测方法,以实现更快速准确的路面裂纹检测。本发明基于YOLOv5s检测器提出一种基于深浅层注意特征融合的多尺度路面裂纹检测网络,被命名为SDFNet。首先提出一个新颖的尺度自适应模块,引可变形卷积DCN,通过适合膨胀系数的DCN串联组合,并且采用跳跃连接缓解过大膨胀系数带来的信息损失,充分融合多个尺度信息,在满足实时的情况下,实现损伤区域的尺度自适应,以此代替YOLOv5s中的SPP模块。其次,本发明提出了一种深浅层注意特征融合模块,使用通道注意力机制捕获网络深层的通道信息,通过提出的分块解耦注意力机制,获取网络浅层和深层的空间信息,将通道信息与空间信息进行融合,强化裂缝特征,弱化背景信息,使得模型更关注损伤区域,缓解背景的干扰,以此代替YOLOv5s中Neck部分的寻常拼接操作。然后通过提出的特征细化模块,代替YOLOv5s中Neck部分的C3结构,以此对特征进行融合。最后,引入了动态标签分配方案SimOTA,以此代替YOLOv5s的静态标签分配,使得训练时正负样本更为合理。

为实现上述目的,本发明提供如下技术方案:一种基于深浅层注意特征融合的多尺度路面裂纹检测方法,包括以下步骤:

S1,采集路面裂纹图像并对图像进行预处理;

S2,将图像输入主干网络提取层次特征P2,P3,P4,P5;

S3,将P5输入尺度自适应SA模块中获取多尺度信息;

S4,将P2,P3,P4输入到Neck中细化特征;所述Neck包括深浅层注意特征融合DSAFF模块和特征细化FR模块;DSAFF模块利用通道注意力获取通道信息,采用分块解耦注意力BDAM模块获取深浅层融合的空间信息,FR用来细化边缘信息;

S5,分别输入检测头中获取最终的检测结果;

S6,引入SimOTA优化训练时的标签分配方案。

进一步的,步骤S3包括:

所述SA模块区别于SPP中使用的并联最大池化操作,选择使用串联的空洞可变形卷积来获取更大的感受野信息,使用的膨胀系数组合为(3,6,12);同时,采用跳跃连接操作;

首先添加一个1×1的卷积来减小输入特征图维度至C

x

其中x

进一步的,步骤S4中,所述深浅层注意特征融合DSAFF模块包括:

DSAFF模块包括两个分支,一个是注意力分支,一个是浅层空间信息获取分支;注意力分支使用通道注意力CA模块和BDAM模块获取通道和空间信息;

DSAFF模块先是使用高级特征和低级特征做简单拼接,然后利用通道注意力CA获取通道信息;

浅层空间信息获取分支和CA模块输出后的特征经过处理后进行融合,输入到BDAM模块中来获取深浅层融合的空间信息;浅层空间信息获取分支为一个步长为2的3×3的最大池化进行下采样,然后使用全局最大池化使通道数变为1获取浅层空间信息;CA模块是通过将特征图通过全局平均池化压缩到C×1×1的维度后,使用1×1卷积对其进行缩放后,利用Sigmoid激活来获取通道的重要程度的;

BDAM模块首先进行深浅层空间信息融合,过程如下式所示;

为融合特征,/>

F

F

其中max()表示取F

将F

其中F′

将特征高频区域和低频区域解耦合,如下式所示;

f

f

f

f

其中f

对特征进行Sigmoid激活,如下式所示;

其中f

进一步的,步骤S4中,所述特征细化FR模块,包括:

首先经过两个1×1的卷积来调整维度,使得通道数调整为C

进一步的,步骤S6中,所述SimOTA的步骤流程如下:

首先确定正样本候选区域,将处于真实框中心点5*5范围内的样本点定为正样本候选区域;其次,对每个真实框分别计算每个锚框与它的classloss、iouloss以及非候选区域损失~IsInBoxCenter的和作为代价,具体代价公式如下式:

Cost=ClsLoss

其中α、β是权重系数;然后每个真实框都选出对于它代价最小的10个锚框,并计算和这10个锚框的IOU的和得到每个真实框的动态k值;最后为每个真实框取代价排名最小的前k个锚框作为正样本,其余为负样本,计算损失进行训练,训练时损失函数如下式所示;分别由ClsLoss

Cost=λ*ClsLoss

与现有技术相比,本发明的有益效果是:

1)本发明提出了一个深浅层特征注意力机制的多尺度路面裂纹检测框架,能保持速度和精度的较好平衡;

2)本发明提出了一个新颖的尺度自适应模块,通过合适膨胀系数组合的串联膨胀可变形卷积,得到自适应尺度的可变形损伤特征,能够在增加少量计算的情况捕捉更充分地多尺度特征信息;

3)本发明提出一种深浅层注意特征融合模块,为了强化模型对裂缝区域的鉴别力,提出深浅层注意特征融合模块,通过通道注意力获取通道信息,采用提出的分块解耦注意力捕获深浅层融合的空间信息,再经过提出的特征细化模块细化特征。能够强化网络对损伤区域的特征提取,从而缓解背景区域的干扰。

附图说明

图1为本发明一种基于深浅层注意特征融合的多尺度路面裂纹检测方法的流程图;

图2为本发明整体框架图;

图3为尺度自适应(SA)模块示意图;

图4为深浅层注意特征融合(DSAFF)模块示意图;

图5为通道注意力机制(CA)示意图;

图6为分块解耦注意力机制(BDAM)示意图;

图7为特征细化(FR)模块的示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步的详细说明。此处所描述的具体实施例仅用于解释本发明技术方案,并不限于本发明。

基于车载摄像的路面裂纹检测由于裂纹本身又长又短,有粗有细,所以尺度变化较大。同时,根据裂纹区域离车载摄像头距离的远近,会进一步造成裂纹目标的尺度变化。除此之外,裂纹具有语义信息少、形状不规整的特点。现有方法对于裂纹的这种特征处理不够好,在获取多尺度信息的时候往往容易忽视这个问题,导致对裂纹在尺度变化大的情况下检测性能较差。为了解决这个问题,本发明提出尺度自适应模块。通过合适的膨胀系数组合的串联膨胀可变形卷积,得到自适应尺度的可变形损伤特征。这种方法可以加强模型对各种尺度裂纹的特征的捕获能力。

一些现有路面损伤检测方法方法忽视了背景区域对于准确检测路面裂纹的影响,它们缺乏对裂缝区域的鉴别能力和缓解背景干扰的能力。另一些关注到这个问题的方法则多是使用常规的注意力机制,并且针对裂缝细长、语义薄弱的特点进行设计,忽视了裂缝的长距离依赖关系。为了解决这个问题,本发明提供一种基于深浅层注意特征融合模块和特征细化模块的检测方案。将图像输入主干网络获取多尺度特征后,将主干网络中获取的P2,P3,P4特征图输入到Neck中细化特征。Neck主要由本发明提出的深浅层注意特征融合(DSAFF)模块和特征细化(FR)模块构成。DSAFF利用通道注意力获取通道信息,采用提出的分块解耦注意力(BDAM)模块获取深浅层融合的空间信息,FR用来细化边缘信息。最后,分别输入检测头中获取最终的检测结果。同时,为了使得训练时正负样本更为合理,引入了SimOTA动态标签分配方案。

如图1所示,本发明技术方案包括以下步骤:

S1:采集路面裂纹图像并对图像进行预处理;

S2:构建基于深浅层注意特征融合的多尺度路面裂纹检测模型;

S3:优化训练时的标签分配方案;

S4:训练构建的基于深浅层注意特征融合的多尺度路面裂纹检测模型;

S5:验证模型性能。

S1:对RDD2020数据集和CNRDD数据集中的图像,根据它们各自的图像大小,分别将分别率调整为640×640和1600×1600的输入大小。在训练阶段利用图像旋转、色域变换、尺度变换等数据增强的方式,丰富样本的数据量,提高模型的泛化性能。

S2.1采用CSPDarkNet53作为主干网络提取特征;

S2.2本发明提出的整体框架如图2所示,它致力于解决如何缓解模型在裂缝尺度变化大的情况下性能较差的情况以及如何提高模型强化裂缝特征和缓解背景信息干扰的能力。所提出的基于深浅层注意特征融合的多尺度路面裂纹检测模型,本发明称之为SDFNet检测模型包括:

首先将预训练后的CSPDarkNet53作为主干网络用于提取层次特征(P2,P3,P4,P5),其次P5输入本发明提出的尺度自适应(SA)模块中获取多尺度信息。之后将P2,P3,P4输入到Neck中细化特征。Neck主要由本发明提出的深浅层注意特征融合(DSAFF)模块和特征细化(FR)模块构成。DSAFF利用通道注意力获取通道信息,采用提出的分块解耦注意力(BDAM)模块获取深浅层融合的空间信息,FR用来细化边缘信息。最后,分别输入检测头中获取最终的检测结果。

感受野的大小大致决定了获取原始图像语义信息的多少。过大的感受野将会造成冗余信息的干扰,过小的感受野则会使得目标信息获取不充分,因此,多尺度的信息获取是有必要的。在YOLOv5s检测器中,对于多尺度的特征获取,采用的是SPP模块,SPP模块使用最大池化操作来获取更大的感受野。但是,最大池化操作丢弃了大量的图片信息,这对于像素稀少的裂缝是致命的。同时,路面裂纹检测具有形状不规则的特点,常规卷积和池化操作无法有效获取损伤区域信息。

针对上述问题,为了减少信息丢失和适应裂缝形状不规则的特点,本发明提出了尺度自适应模块SA。本发明提出的SA模块区别于SPP中使用的并联最大池化操作,选择使用串联的空洞可变形卷积来获取更大的感受野信息。串联操作可以使用更少的卷积操作到相同的感受野大小,减少了计算量。本发明使用的膨胀系数组合为(3,6,12),对于并联操作的三个空洞卷积而言,该组合感受野只有12,而对于串联操作而言,该组合理论感受野达到了(3+(3-1)×(3-1))+(3+(3-1)×(6-1))+(3+(3-1)×(12-1))-2=43,远远高于并联操作获得的感受野数值。而变形卷积DCN则可以自适应的拟合损伤区域,从而捕获更多的损伤特征。然而,过大的膨胀系数带来的一个问题是采样点过于稀疏,这会造成信息损失。为了弥补过大膨胀系数所造成的信息损失,本发明采用了跳跃连接操作。

如图3所示,尺度自适应模块(SA)的具体结构如下,首先添加一个1×1的卷积来减小输入特征图维度至C

x

其中x

大多数网络对多层特征融合的特征融合方法采用了简单的聚合如拼接和加法,没有考虑到低层和高层特征在裂缝检测中的不同作用,无法有效获取与裂缝相关的有价值信息,导致了计算资源和图片信息的浪费。同时,裂缝由于其结构细长的特点,需要一种方法来捕获其长距离依赖关系,强化裂缝特征,弱化背景信息。

针对上述问题,本发明提出了深浅层注意特征融合模块DSAFF。DSAFF包括两个分支,一个是注意力分支,一个是浅层空间信息获取分支。注意力分支使用通道注意力CA和BDAM模块获取通道和空间信息。CA模块能够获取特征通道重要性,而BDAM模块则能通过横纵池化解耦合捕获裂纹的长距离依赖关系,且使用分块和前景背景解耦合操作缓解背景对长距离依赖关系获取的影响,从而达到强化裂缝特征,弱化背景信息的目的。浅层空间信息获取分支则是用于获取浅层空间信息,并输入到BDAM中。浅层空间信息具有更多的空间细节信息,可以缓解语义薄弱的裂纹在下采样中的信息损失,以此实现对在下采样过程中丢失空间信息的区域给与关注。

如图4所示,深浅层注意特征先是使用高级特征和低级特征做简单拼接,然后利用通道注意力CA(如图5)获取通道信息。浅层空间信息获取分支和CA输出后的特征经过处理后进行融合,输入到分块解耦注意力机制BDAM(如图6)中来获取深浅层融合的空间信息。浅层空间信息获取分支为一个步长为2的3×3的最大池化进行下采样,然后使用全局最大池化使通道数变为1获取浅层空间信息。最大池化操作可以保留浅层特征的显著特征,对深层特征进行补充。CA是通过将特征图通过全局平均池化压缩到C×1×1的维度后,使用1×1卷积对其进行缩放后,利用Sigmoid激活来获取通道的重要程度的。

分块解耦注意力机制的流程如下:

首先进行深浅层空间信息融合,过程如下式所示。

为融合特征,/>

由于特征图融合了通道的重要性系数,且在之后进行了一次通道层面的全局平均池化,若以此再进行一次横向或者纵向池化,则特征值很小,都处于0附近。经过Sigmoid激活后都会处于0.5附近,相差非常小,无法体现出损伤区域和背景区域的差异。针对这个问题,本发明提出了MN(Max Normalizing),进行MN处理,它的公式如下所示。

F

其中max()表示取F

考虑到裂缝的细长特征,本发明将纵向池化和横向池化解耦合,来捕获裂缝的长距离依赖关系。同时,由于过大的特征图进行横向、纵向池化会使得一些背景区域拉低总体的平均值,使得这种基于横向和纵向的关注受到影响。针对这个问题,本发明将F

其中F′

横向纵向激活之后的注意图会激活一些无关区域。比如在某一个patch中,存在一个横向裂纹或者纵向裂纹。那么该行或者该列的激活值将会比较大。但是,该行或者该列不只含有裂纹区域,还含有正常的路面区域或者其他的背景区域,这些区域是不应该得到高关注的。为了缓解这种状况,本发明将特征高频区域和低频区域解耦合,如下式所示。

f

f

f

f

其中f

最后,对特征进行Sigmoid激活,如下式所示。

其中f

如图7所示,为了进一步拟合裂缝的形态特征和进一步细化特征,本发明提出了特征细化(FR)模块来进一步增强特征的获取。

具体流程如下。首先经过一个两个1×1的卷积来调整维度,使得通道数调整为C

S3:为了使训练时正负样本分配更为合理,本发明引入了SimOTA标签分配方案,以此来实现更优异的性能。

YOLOv5s采用的是静态标签分配方案,为所有的目标设定好一个固定的正负样本分配方案。这会使得,对于一些目标会分配很多的低质量标签,而对于另一些目标,正样本又太少了,因此不够合理。为了使训练时正负样本分配更为合理,本发明引入了SimOTA标签分配方案,以此来实现更优异的性能。

SimOTA的步骤流程如下,首先确定正样本候选区域,具体来说,本发明将处于真实框中心点5*5范围内的样本点定为正样本候选区域。其次,由于YOLOv5的锚框机制为每一个样本点都赋予了3个锚框。所以,对每个真实框分别计算每个锚框与它的classloss、iouloss以及非候选区域损失~IsInBoxCenter的和作为代价,具体代价公式如下所示:

Cost=ClsLoss

RegLoss

其中α、β是权重系数,M表示类别数,y

然后每个真实框都选出对于它代价最小的10个锚框,并计算和这10个锚框的IOU的和得到每个真实框的动态k值。最后为每个真实框取代价排名最小的前k个锚框作为正样本,其余为负样本,计算损失进行训练,训练时损失函数如式(13)所示。分别由ClsLoss

Cost=λ*ClsLoss

其中ClsLoss

RegLoss

置信度损失ObjLoss

ObjLoss

其中box_p代表模型输出的位置预测,box_t代表数据集中位置标签;

S4.1:设置训练参数,模型采用SGD优化器。批大小设置为16,动量参数momentum为0.937,初始学习率为0.01。

S4.2:将数据集中训练集的路面裂纹图像放入到基于深浅层注意特征融合的多尺度路面裂纹检测模型中进行训练;

S5:根据训练的基于深浅层注意特征融合的多尺度路面裂纹检测模型,从检测F1-Score、mAP、测试时间和FLOPs指标评价模型的性能。F1-Score是Precision与Recall的综合评价指标,mAP是将所有类别检测的平均正确率(AP)进行综合加权平均而得到的,测试时间表明模型测试时的速度,FLOPs表明模型的浮点运算次数,用来衡量模型的复杂度。在目标检测任务中,评价指标分别定义如下式所示:

其中P表示精确度,R表示召回率。mAP即通过计算所有类别P-R曲线积分的平均值,其中N表示类别数,P

本发明实验平台设置:CPU为Inter Core i9-10900K,内存64GB,GPU为NVIDIAGeForce RTX P4000,显存8GB,操作系统为Ubuntu 18.04,深度学习框架为Pytorch。

以上所述仅表达了本发明的优选实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形、改进及替代,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

相关技术
  • 基于四尺度深浅层特征融合的遥感图像小目标检测方法
  • 一种基于注意力机制以及多尺度特征融合的目标检测方法、设备及存储介质
技术分类

06120116485532