1.一种基于深度学习的道路病害检测方法,其特征在于,包括利用RDDA算法进行检测的步骤,具体如下:S1:道路病害数据集构建;
S2:构建图像特征提取模块;
S3:设计深度可分离无参注意力机制卷积模块;
S4:提取特征图深层特征;
S5:设计空间金字塔自适应池化融合模块;
S6:使用FPN模块进行特征融合;
S7:设计NWD-EIoU损失函数;
S8:使用Head检测头检测;
S9:模型的训练和验证;
S10:将模型进行应用;
所述S2的具体流程如下:
S21:将数据集中的道路病害图像输入到Conv2D_BN_LeakyRelu模块处理,在Conv2D_BN_LeakyRelu模块中,对输入的图像首先进行1次卷积核为3×3、步长为2标准卷积运算,然后进行非线性激活函数LeakyReLU增强,再进行Batch Normalization批归一化的处理,生成初始特征图F1,设特征图F1的尺寸为C×H×W,其中C表示通道数,H表示高度,W表示宽度;
S22:将特征图F1输入到Conv2D_BN_LeakyRelu模块,在Conv2D_BN_LeakyRelu模块中,对F1首先进行1次卷积核为3×3、步长为2标准卷积运算,然后进行非线性激活函数LeakyReLU增强,再进行Batch Normalization批归一化的处理,生成特征图F2,特征图F2的尺寸为2C×H/2×W/2;
S23:将特征图F2输入到ELAN模块,经过卷积、拼接操作输出特征图F3 F3,F3的尺寸为2C×H/2×W/2;
S24:将特征图F3继续输入到MaxPool模块,在MaxPool模块中,对F3进行最大池化,最终得到特征图F4,F4的尺寸为2C×H/4×W/4;
所述S3的具体流程如下:
S31:将在S2中得到尺寸为2C×H/4×W/4的道路病害特征图F4作为输入特征图,第一个分支F4输入Conv2D_BN_LeakyRelu模块,首先进行1次卷积核为1×1、步长为1标准卷积运算,然后进行非线性激活函数LeakyReLU增强,再进行Batch Normalization批归一化的处理,最后Conv2D_BN_LeakyRelu模块输出尺寸为2C×H/4×W/4的特征图F5;
S32:第二个分支F4连续进行一次卷积核为1×1,步长为1的DSC卷积,两次卷积核为3×3,步长为1的DSC卷积,在ELAN-SimAM-D模块中,每一个DSC卷积的输出,都作为下一个DSC卷积的输入,依次重复3次,最终三个DSC卷积分别输出的特征图F′4、特征图F″4、特征图F4″′,其特征图F′4、特征图F″4、特征图F4″′都为2C×H/4×W/4;
S33:将特征图F′4、特征图F4″、特征图F4″′与特征图F5进行拼接,得到尺寸为8C×H/4×W/4的特征图F6;
S34:将特征图F6输入Conv2D_BN_LeakyRelu模块,首先进行1次卷积核为1×1、步长为1标准卷积运算,然后进行非线性激活函数LeakyReLU增强,再进行BatchNormalization批归一化的处理,Conv2D_BN_LeakyRelu模块输出尺寸为4C×H/4×W/4的特征图F7,接着特征图F7输SimAM层,对小目标关键特征赋予三维权重,将复杂背景区域和小目标区域进行像素划分,经过SimAM模块后最终得到特征图F7',F7'的尺寸为4C×H/4×W/4;
其中,F7'的计算公式如式(1)-(4)所示;
其中,t为目标神经元,λ为正则项,为能量函数,的值越小,代表神经元与相邻神经元的特征差别越大,t就越重要,代表所有神经元在每个通道的均值,为神经元在每个通道的方差,xi为第i个通道中的其他神经元,N为某个通道上所有神经元的个数,E为所有通道和空间维度中的能量函数总和,sigmoid函数保证了E的值不过大,⊙代表Hadamard乘积;
所述S4的具体流程如下:
S41:将特征图F7'继续输入到MaxPool模块,经过卷积、拼接操作输出特征图F8,特征图F8的尺寸为4C×H/8×W/8;
S42:将特征图F8继续输入到ELAN-SimAM-D模块,得到ELAN-SimAM-D模块的最终输出特征图F1′1,特征图F1′1的尺寸为8C×H/8×W/8;
S43:将特征图F1′1继续输入到MaxPool模块,经过卷积、拼接操作输出特征图F12,特征图F12的尺寸为8C×H/16×W/16;
S44:将特征图F12继续输入到ELAN-SimAM-D模块,在ELAN-SimAM-D模块中,得到ELAN-SimAM-D模块的最终输出特征图F1′5,特征图F1′5的尺寸为16C×H/16×W/16;
所述S5的具体流程如下:
S51:将尺寸为16C×H/16×W/16的道路病害特征图F1′5作为输入特征图,第一个分支输入Conv2D_BN_LeakyRelu模块,首先进行1次卷积核为1×1、步长为1标准卷积运算,然后进行非线性激活函数LeakyReLU增强,再进行Batch Normalization批归一化的处理,最后Conv2D_BN_LeakyRelu模块输出尺寸为8C×H/16×W/16的特征图F16;
S52:第二个分支F1′5输入Conv2D_BN_LeakyRelu模块,首先进行1次卷积核为1×1、步长为1标准卷积运算,然后进行非线性激活函数LeakyReLU增强,再进行Batch Normalization批归一化的处理,最后Conv2D_BN_LeakyRelu模块输出尺寸为8C×H/16×W/16的特征图F17;
S53:特征图F17进行四个分支的处理,前三个分支分别进行了尺寸分别为5×5,9×9,13×13,步长为1的自适应池化,得到特征图F17'、特征图F17”、特征图F17”',第四个分支不对输入的特征图进行处理,四个分支输出的特征图尺寸都为8C×H/16×W/16;
其中,特征图F17'、特征图F17”、特征图F17”'的自适应池化具体计算过程如式(5)-式(8);
其中,为自适应池化输出,表示平滑近似最大池化,表示平滑近似平均池化,β={0,...,1}是与下采样体积相同大小的权重掩码,R表示核邻域,i和j是R的坐标集合,为基于每个激活与平均激活之间的距离的倒数,AdaPool能够在反向传播的过程中为每个核向量计算梯度,能够自适应的捕捉细节,使得池化更具有区域自适应性;
S54:将特征图F1′7、特征图F1′7′、特征图F1′7″、特征图F17进行拼接,最后得到特征图F18,特征图F18的尺寸为32C×H/16×W/16;
S55:将特征图F18输入Conv2D_BN_LeakyRelu模块,首先进行1次卷积核为1×1、步长为1标准卷积运算,然后进行非线性激活函数LeakyReLU增强,再进行Batch Normalization批归一化的处理,最后Conv2D_BN_LeakyRelu模块输出尺寸为8C×H×W的特征图F19;
S56:将特征图F19与特征图F16进行拼接,最后得到尺寸为16C×H/16×W/16的特征图F20;
S57:将特征图F20输入Conv2D_BN_LeakyRelu模块,首先进行1次卷积核为1×1、步长为1标准卷积运算,然后进行非线性激活函数LeakyReLU增强,再进行Batch Normalization批归一化的处理,最终Conv2D_BN_LeakyRelu模块输出尺寸为8C×H/16×W/16特征图F21;
所述S6的具体流程如下:
S61:使特征图F7、特征图F11、特征图F21作为FPN模块的输入;
S62:FPN模块对输入的特征图F7、特征图F11、特征图F21进行特征融合,最后输出特征图F22、特征图F23、特征图F24;
所述RDDA算法包括:Conv2D_BN_LeakyRelu模块、ELAN模块、ELAN-SimAM-D模块、MaxPool模块、SPPAdaF模块、FPN模块、Head模块;
所述Conv2D_BN_LeakyRelu模块用于对输入的特征图进行标准卷积运算,然后进行非线性激活函数LeakyReLU增强,再进行Batch Normalization批归一化的处理;
所述ELAN模块用于通过标准卷积、特征拼接操作对输入的特征图进行特征提取;
所述ELAN-SimAM-D模块用于通过深度可分离卷积、标准卷积、特征拼接操作对输入的特征图进行特征提取,提取后的特征图会通道无参注意力机制SimAM赋予三维权重,最后输出特征图;
所述MaxPool模块用于减少数据的维度和大小,降低网络的参数数量和计算量,提高模型的效率;
所述SPPAdaF模块用于通过引入自适应池化来对特征进行池化,有效的保留特征的重要信息,从而降低模型的漏检率、误检率,提高模型的检测精度;
所述FPN模块用于对提取到的不同尺度的特征图进行融合,再将融合的特征送入Head模块进行检测;
所述Head模块用于对输入的特征图进行检测,并输出图像的检测结果。
2.根据权利要求1所述的一种基于深度学习的道路病害检测方法,其特征在于,所述S1的具体流程如下:S11:采用无人机拍摄道路病害路段,采集道路病害图像作为数据集;
S12:对数据集进行预处理,筛选合格的图像,平衡各个类别道路病害样本数量,并对采集的数据集使用标注软件进行标注。
3.根据权利要求1所述的一种基于深度学习的道路病害检测方法,其特征在于,所述S7的具体流程如下:将EIoU损失函数和NWD损失函数进行结合,构成一个新的道路病害检测边界框定位损失函数NWD-EIoU;
其NWD-EIoU损失函数LNWD_EIoU的计算公式如式(9)所示;
LNWD-EIoU=α·LEIoU+(1-α)·LNWD (9)
其中a代表的是一个正则项,取值是从0-1,LEIoU代表的是EIoU损失函数的值,LNWD代表的是NWD损失函数的值,NWD-CIoU损失函数将两个损失函数进行结合,通过正则项a来调整两个参数的权重,训练过程中再确定a最合适的取值;
此外,LEIoU和LNWD的具体计算公式分别如式(10)、(11)、(12)、(13)所示;
其中,IOU代表的是预测框与真实框的交并比,I代表预测框与真实框交集,U代表预测框与真实框并集,b和bgt分别代表预测框和真实框的中心点,w和wgt分别代表预测框和真实框的宽度,h和hgt分别代表预测框和真实框的高度,wc和hc是预测边界框与真实边界框的最小外接矩形的宽度和高度,ρ是两点之间的欧氏距离,EIOU将纵横比损失拆分成预测的宽高与最小外接框宽高的差值,加速了模型的收敛速度,同时提高了回归精度,C是代表数据集检测的种类数,W22(Na,Nb)是一个二阶Wasserstein距离定义,其中Na和Nb分别代表边界框A=(cxa,cya,wa,ha)和边界框B=(cxb,cyb,wb,hb)的高斯建模分布,||·||F是Frobenius范数。
4.根据权利要求1所述的一种基于深度学习的道路病害检测方法,其特征在于,所述S8的具体流程如下:S81:使来自不同尺度的特征图经过几层卷积操作以进一步提取特征;
S82:通过预定义的锚框机制,生成多个锚框用于边界框预测,每个锚框会输出边界框的中心坐标和宽高的调整量,以及置信度得分,表示框内包含目标的概率;
S83:网络输出每个锚框的分类得分,并通过非极大值抑制去除冗余检测框,生成最终的检测结果。
5.根据权利要求1所述的一种基于深度学习的道路病害检测方法,其特征在于,所述S9的具体流程如下:S91:初始化所有神经网络参数,并设置相关超参数;
S92:将经过S1处理的道路病害数据集划分为训练集、验证集和测试集,训练集和验证集被分成多个批次,每次将一批训练集数据输入到道路病害检测模型中进行训练,并计算该批次的训练损失值loss;
S93:完成对整个训练集的所有批次数据进行一轮训练后,将验证集按批次输入到道路病害检测模型中,得到相应的批次损失值batch_loss;
S94:在训练和验证过程中,道路病害检测模型会根据每次的loss和batch_loss情况自动学习并调整参数,训练过程会持续进行一轮或多轮,直至batch_loss值收敛,表示道路病害检测模型训练完成;
所述S10的具体流程如下:
S101:将采集到的道路病害路面图像数据输入到检测模型中,模型将自动对图像进行检测,得到道路病害图像的检测结果,其检测结果包括道路病害的类别、位置以及检测的置信度信息;
S102:将检测结果显示在图像上。