本发明属于计算机视觉和图像检测方法,具体涉及基于改进yolov8算法的轨道病害检测方法。
背景技术:
1、轨道表面病害包括腐蚀、裂纹、脱落和凹坑等问题,而轨道结构病害则涉及轨道紧固扣件缺失、紧固扣件变形等问题。这些病害如果不能及时检测和处理,将会对铁路系统的安全和运行效率产生严重影响。轨道结构病害检测指的是通过各种技术手段,识别和检测铁路轨道结构中的各种病害,以确保铁路系统的安全和平稳运行。
2、传统的轨道病害检测方法主要依赖人工巡检和手工设计的特征来检测病害。例如,通过颜色、形状和纹理等特征识别病害。然而,这些方法通常依赖于人工提取特征,能够解决简单情况下的病害检测问题,但在复杂场景下,检测性能急剧下降,无法满足实际需求。
3、随着深度学习技术的发展,基于深度学习的轨道病害检测方法得到了广泛研究。这些方法通过卷积神经网络等技术,从大量数据中学习特征表示,自适应地提取对病害检测有效的特征,与传统方法相比,具备较高的检测准确性。然而,即使是目前最先进的基于深度学习的轨道病害检测方法,在各种复杂场景和劣化条件下,例如背景复杂、缺陷目标的尺寸和不同光照条件等,其检测性能仍然存在不足,难以满足实际应用的需求。
技术实现思路
1、本发明的目的是提供基于改进yolov8算法的轨道病害检测方法,能够准确检测复杂场景和劣化条件下的轨道病害。
2、本发明所采用的技术方案是,基于改进yolov8算法的轨道病害检测方法,具体按以下步骤实施:
3、步骤1,构建数据集和编码器;
4、步骤2,构建锚点融合网络模块;
5、步骤3,构建自适应全局调制金字塔模块;
6、步骤4,构建通道自注意力机制模块。
7、本发明的特点还在于:
8、步骤1具体按照以下步骤实施:
9、步骤1.1,搜集轨道病害的样本图像;
10、步骤1.2,将步骤1.1搜集到的样本图像进行标注和分类,确定病害的位置和边界框,并为每个病害类别分配相应的标签。
11、步骤1.3,按比例将所有样本图像与其标注文件划分为训练集、验证集和测试集。
12、步骤1.4,采用改进的yolov8模型,加载预先训练权重,构建编码器;
13、步骤1.5,将数据集图像分辨率调整为640×640,并输入编码器中。
14、步骤2具体按照以下步骤实施:
15、步骤2.1,以卷积和切割函数为基础,构建特征通道分割模块;
16、步骤2.2,构建锚点注意力模块;
17、步骤2.3,构建网络融合模块。
18、步骤2.1具体按照以下步骤实施:
19、步骤2.1.1,假设一个输入张量f,尺寸为b×n×c,通过使用切割函数,沿着通道维度将张量均匀地划分为两个相等的部分,每个部分的维度将是前提是c可以被2整除,如果c是奇数,那么两部分的尺寸将会是和以确保所有通道都被包含在内,假设分割后的张量为v,计算公式如式(1)所示:
20、v=f.chunk(2,1)(1)
21、式中,v数组为切割后的结果,f为输入张量chunk(2,1)为切割函数,切割函数中2表示切割为两份,1为沿着通道纬度切割;
22、步骤2.1.2,将步骤2.1.1所得到的张量作为输入,分别引导其通过具有n×n卷积核和步长为1的卷积层,得到两个新的张量,分别记为y[0],y[1],为网络的进一步处理提供了特征表示,计算公式如下式所示:
23、y[0]=cv1(v1) (2)
24、y[1]=cv1(v2) (3)
25、式中,y[0],y[1]为经过切割和卷积的输出,cv1(v1),cv1(v2)为卷积操作,v1,v2为步骤2.1.1输出。
26、步骤2.2通过池化、卷积和激活函数操作来串联实现,具体按以下步骤实施:
27、步骤2.2.1,构建平均池化,卷积核为1×1卷积操作,计算公式如式(4)所示:
28、
29、式中,为经过平局池化和卷积后得结果,conv1×1()为卷积操作,pavg()为平均池化,y[1]为步骤2.1.2的输出;
30、步骤2.2.2,构建水平卷积层和垂直卷积层,水平卷积卷层积核在水平方向为11,垂直方向步长为1,垂直卷积层卷积核在水平方向上为1,垂直方向上为11,计算公式如下式所示:
31、
32、fh=h_convh×1(fw) (6)
33、式中,w_conv1×v()为卷积核为1×11的水平卷积,h_convh×1()为卷积核为11×1的垂直卷积,fw为水平卷积的结果,fh为垂直卷积的结果;
34、步骤2.2.3,构建激活函数与卷积操作生成动态的注意力权重,强化图像中的关键区域,计算公式如式(7)所示:
35、fca=sigmoid(conv(fh)) (7)
36、式中,sigmoid为激活函数,conv()为卷积核为1×1的卷积,fca为生成动态的注意力权重;
37、步骤2.3中将经过步骤2.1.2分割得到的输出y[0],在其经过步骤2.2的锚点注意力模块处理后,与y[1]进行重新整合,具体按照以下步骤实施:
38、步骤2.3.1,构建锚点特征序列en,n∈{1,2,3..n},步骤2.1.2的分割输出y[0],经过锚点特征序列en,得到高层次的特征表示,并且通过重复应用来逐步细化这些特征,计算公式如式(8)所示:
39、
40、式中,ca()为锚点注意力模块,为求和操作,en为得到的锚点特征序列;
41、步骤2.3.2,构建融合模块,将步骤2.3.1输出与步骤2.1.2分割得到的输出y[1]在通道维度进行融合,然后采用卷积核为1×1卷积操作对特征图进行调整,确保其在空间维度上更加高效,计算公式如式(9)所示:
42、fout=conv1×1(cat(y[1],en)) (9)
43、式中,cat()为concatenate链接函数,特征在通道维度进行拼接。
44、步骤3具体按以下步骤实施:
45、步骤3.1,构建自适应全局调制模块;
46、步骤3.2,构建多尺度特征金字塔融合模块,将不同尺寸的感受野的特征进行池化和融合。
47、步骤3.1具体按以下步骤实施:
48、步骤3.1.1,通过非局部组间调制来引导相应像素之间的融合,减小跨尺度特征间的语义差异;
49、步骤3.1.2,通过上下文聚合模块增强局部特征与全局上下文之间的联系,提高网络对特征的理解能力。
50、步骤3.1.1具体按以下步骤实施:
51、步骤3.1.1.1,输入特征ci,经过通道维度上的平均池化pavg和最大池化pmax来获取提取特征的背景信息与特征的目标纹理信息,进一步拼接获取所需的空间特征分布图,计算公式如式(10)所示:
52、c1=cat(pmax(ci),pavg(ci)) (10)
53、式中,cat()为concatenate链接函数,pavg()为平均池化操作,pmax()为最大池化操作,c1为ci经过平均池化和最大池化链接的结果;
54、步骤3.1.1.2,经过最大池化与平均池化后,将输出结果经过卷积与tanh()函数调节这些特征的响应强度,更好地提取所需的空间特征分布图,计算公式如式(11)所示:
55、cout=tanh(conv3×3(c1)) (11)
56、式中,tanh()为tanh激活函数,conv3×3为卷积核为3×3的卷积,cout为经过c1非局部组间调制的结果。
57、步骤3.1.2具体按以下步骤实施:
58、步骤3.1.2.1,假设输入张量为fa,应用平均池化操作以降低输入特征的空间维度,随后,通过1x1卷积层进一步压缩特征通道,同时保持空间维度不变,将卷积后的多维特征图在空间维度上进行展平,随后转置以匹配注意力机制的计算需求,通过激活函数softmax处理,生成一个注意力矩阵a,用于调节不同特征通道之间的权重,计算公式如式(12)所示:
59、a=softmax(conv1d(flatten(conv2d(pavg(fa)))) (12)
60、式中,pavg()为平均池化操作,conv2d()为二维空间上的卷积,是第一次卷积,flatten()为展平操作,conv1d()为一维卷积,是转置操作,softmax()为激活函数;
61、步骤3.1.2.2,构建可学习的矩阵参数b,初始值设置为小初始值ai,初始化后与注意力矩阵a进行矩阵加法,b的每个元素都是模型的参数,通过训练过程进行优化,a与b相加结合动态注意力与静态参数注意力,增强模型的表达能力、适应性和泛化能力,计算公式如下式所示:
62、
63、
64、式中,b矩阵为初始化可学习矩阵,操作为a与b进行矩阵加法操作;
65、步骤3.1.2.3,利用得到的注意力矩阵b对输入张量fb进行加权,然后通过一系列卷积层和激活函数对加权后的张量进行进一步的非线性变换和特征提取,计算公式如式(13)所示:
66、fout=fb⊙softmax(rule(conv(matmul(fb,c)))) (15)
67、式中,matmul()函数为矩阵加权操作,矩阵点乘操作rule()为激活函数,rule()为rule激活函数,softmax()为softmax激活函数,⊙为矩阵乘操作,fout为输出;
68、步骤3.2具体为:
69、通过最大池化对输入特征图进行下采样,同时引入自适应全局调制模块,对不同尺度的特征进行智能调节和优化,计算公式如下式所示:
70、c(f)=ag(pmax(f)) (16)
71、f=conv(cat(c(f),c(c(f)),c(c(c(f))))) (17)
72、式中,ag()函数为步骤3.1自适应全局调制模块,pmax()为最大池化操作,cat()为链接操作,f为特征经过三次下采样与自适应全局调制模块,最后经过卷积调制的结果。
73、步骤4具体按照以下步骤实施:
74、步骤4.1,假设输入张量为fc,对其进行重新排列,将特征图的通道维度c和空间维度合并,形成一个新的形状,接着对这个重新排列后的特征图进行转置操作,得到形状为(batch_size,height*width,c)的张量,计算公式如式(18)所示:
75、f1=bmm(fc.view(b,c,hw),fc.view(b,c,hw)t) (18)
76、式中,view()为重排操作,t为转置操作,bmm()函数为矩阵乘法操作,用于计算特征图的通道之间的注意力权重,b为批处理大小,c为通道数,hw为特征图height*width;
77、步骤4.2,以步骤4.1输出结果为输入,对f1进行归一化处理,将注意力权重矩阵转换成概率分布,使每个通道的重要性被适当地表示,重新排列原始特征图,形状变为(batch_size,c,height*width),将归一化得特征图与重排特征图进行矩阵乘法得到加权的特征表示,然后将加权特征恢复到原始特征,最后对特征图进行缩放,与原始特征图建立残差连接,保留原始特征图的信息,通过学习到的缩放因子gamma进一步增强了特征的表达能力,计算公式如下式所示:
78、f2=bmm(softmax(f1),f.view(b,c,hw)) (19)
79、
80、式中,view()为重排操作,bmm()函数为矩阵乘法操作,gamma()函数为缩放函数,生成可学习的缩放引子,b为批处理大小,c为通道数,h为特征图高度,w为特征图宽度,为矩阵加法。
81、本发明的有益效果是:
82、本发明基于改进yolov8算法的轨道病害检测方法,引入了锚点融合网络模块、自适应全局调制金字塔模块以及通道自注意力机制模块,极大地提升了模型的综合性能;锚点注意力机制显著增强了模型对图像中关键信息的捕捉能力,确保了对轨道病害的精准识别;自适应全局调制模块通过上下文信息的聚合,进一步强化了特征的表达能力,使其更加适应于多样化的轨道缺陷类型;而在网络的neck部分,加入了通道自注意力机制模块,通过动态调整特征权重,优化了特征的表达,提升了模型的灵活性和适应性。本发明不仅显著提高了检测的准确性和鲁棒性,还确保了模型在复杂环境条件下的高效运行。
1.基于改进yolov8算法的轨道病害检测方法,其特征在于,具体按照以下步骤实施:
2.根据权利要求1所述的基于改进yolov8算法的轨道病害检测方法,其特征在于,所述步骤1具体按照以下步骤实施:
3.根据权利要求1所述的基于改进yolov8算法的轨道病害检测方法,其特征在于,所述步骤2具体按照以下步骤实施:
4.根据权利要求3所述的基于改进yolov8算法的轨道病害检测方法,其特征在于,所述步骤2.1具体按照以下步骤实施:
5.根据权利要求3所述的基于改进yolov8算法的轨道病害检测方法,其特征在于,所述步骤2.2通过池化、卷积和激活函数操作来串联实现,具体按以下步骤实施:
6.根据权利要求1所述的基于改进yolov8算法的轨道病害检测方法,其特征在于,所述步骤3具体按以下步骤实施:
7.根据权利要求6所述的基于改进yolov8算法的轨道病害检测方法,其特征在于,所述步骤3.1具体按以下步骤实施:
8.根据权利要求7所述的基于改进yolov8算法的轨道病害检测方法,其特征在于,所述步骤3.1.1具体按以下步骤实施:
9.根据权利要求6所述的基于改进yolov8算法的轨道病害检测方法,其特征在于,所述步骤3.1.2具体按以下步骤实施:
10.根据权利要求1所述的基于改进yolov8算法的轨道病害检测方法,其特征在于,所述步骤4具体按照以下步骤实施:
