技术新讯 > 计算推算,计数设备的制造及其应用技术 > 一种基于改进YOLOv8的XCT纤维束识别方法  >  正文

一种基于改进YOLOv8的XCT纤维束识别方法

  • 国知局
  • 2024-10-15 09:37:26

本发明属于陶瓷基复合材料预制体细观结构识别领域,尤其涉及一种基于改进yolov8的xct纤维束识别方法。

背景技术:

1、陶瓷基复合材料(cmcs,ceramic material composites)广泛应用于新一代航空发动机,是一种可以应用于极端条件下的材料。其通常通常以连续陶瓷纤维为增强相,具有耐高温、耐腐蚀、低密度、耐磨损的优点。

2、连续的陶瓷纤维构成的骨架称为复杂预制体,其由纤维束编制而成,具体的编织结构包括平纹、2.5d、三维四向等。cmcs的制备方法通常有:化学气相沉积(cvi)、前驱体浸渍裂解法(pip)、反应熔融(mi)等方法。常用的cvi工艺来制备cmcs,首先在纤维表面沉积界面层,然后在纤维束内部沉积基体,最后在纤维束之间沉积基体,最终形成cmcs。识别这些纤维束是研究cmcs力学性质及失效机制的基础。

3、无损检测xct技术扫描技术当今获取诸如纤维束这类陶瓷基复合材料复杂预制体细观结构的一种有效方法。其可以在不破坏材料的前提条件下,精准取得材料内部的实际的细观结构,从而获得一系列纤维束相关的xct切片。

4、目前,xct无损检测技术已经发展的很成熟,但针对xct切片中诸如纤维束、基体、孔洞等细观结构的识别技术仍然是一大技术难题。这里所述的细观结构识别主要是指对每张切片中各个像素的分类问题,即不同的像素可能属于纤维、基体或孔洞。

5、现有的xct切片细观结构识别技术,大都基于传统的计算机视觉技术。如针对二维机织物的提出的结构张量法,针对三维正交机织物提出的灰度共生矩阵,以及针对多方向碳纤维增强聚合物(cfrp)试件提出的纤维跟踪算法。这些方法的识别效果严重依赖于扫描分辨率,并且只根据特定的细观结构而设计的,不适用于纤维束的识别。

6、因此,对于2.5d编织结构一些学者提出ostu最大阈值分割法识别xct图片的纤维束,。如中国专利申请号为“201610838554.8”,发明名称为“一种复合材料细观结构的计算机图像识别技术和三维建模方法”的专利。该方法首先识别2.5d编织结构xct图片基体部分,编号基体部分,利用基体左右对称性对其进行配对,选择基体合适的上下边界点进行边界拟合,基体上下间的是经纱,左右间的是纬纱。然而,该方法由于对基体的识别采用了对称性,这就使得倘若切片中的基体部分为非对称结构时,识别算法即失效,鲁棒性差。

7、对于三维四向编织结构,一些学者根据预先设定的几何参数建立三维编织复合材料单胞理论模型,与经过阈值和去噪处理的xct切片图进行计算比对,更改理论模型的预设值,通过优化算法得到最后的识别效果图。如中国专利申请号为“201810537212.1”,发明名称为“一种复合材料细观结构的计算机图像识别技术和三维建模方法”的专利。然而,在xct图片中使用阈值分割的识别过程中,由于拍摄问题,纤维束之间的灰度变化范围较大,对于每一张切片寻找一个最优的阈值进行分割是困难的。

8、在计算机视觉领域,将卷积神经网络应用于上述纤维束细观结构识别的技术叫语义分割。随着深度学习领域的发展,越来越多的神经网络被提出,并应用于图片的语义分割中,产生了许多性能优异的结构,如fcn、segnet、u-net等。

9、已有研究利用神经网络对陶瓷基复合材料纤维束进行识别。利用多解码器全卷积神经网络可以对cmcs的xct图片进行语义分割。多解码器网络利用了最大池化解码器网络、通道融合解码器网络以及通道连接解码器网络,三者并行设计,通过训练网络,实现了细观结构的最终识别。如中国专利申请号为“201910165647.2”的专利。然而,多解码器网络在训练过程中的显存占用大,训练时间久。为解决此问题,并减少训练过程中对超参数调节的依赖程度,已有学者使用一种全卷积神经网络,即cmcs_net对陶瓷基复合材料预制体xct切片进行细观结构识别,但是其利用的深度学习的框架过于陈旧,不能很好兼顾训练的精度和速度。并且此类传统的深度学习算法往往要先提取识别目标所在的区域,再在此区域内对目标进行识别,这大大降低了检测的速度。另一方面,这些网络为了保证识别精度,一般体积较大,极大占用了计算资源。

10、综上,尽管现有方法已经可以实现cmcs中纤维束的识别分割,但均存在一些缺点,包括识别速度慢、训练时间久、消耗计算资源大的问题。因此,基于深度学习的陶瓷基复合材料xct切片的语义分割需要进一步研究。

技术实现思路

1、本发明的目的是为解决上述现有技术存在的问题,提供一种基于改进yolov8的xct纤维束识别方法,用于陶瓷基复合材料预制体xct切片的纤维束识别,因为本发明改进yolov8应用于cmc领域故称为yolov8_cmc,其在保证较高识别准确率的情况下,解决了现有卷积神经网络体积大,训练时显存占用大、训练时间慢的问题。本发明可以用于2.5d编织类型的陶瓷基复合材料预制体的纤维束(经纱、纬纱)的识别。

2、为实现上述技术目的,本发明采用的技术方案是:

3、一种基于改进yolov8(即yolov8_cmc)的xct纤维束识别方法,包括以下步骤:

4、步骤一、建立2.5d编织结构的纤维束xct切片数据集,并将其分为训练集与验证集;

5、步骤二、对xct切片数据集进行数据增强,增加样本数量;

6、步骤三、建立用于分割xct切片数据集中纤维束的yolov8_cmc网络的网络模型;

7、步骤四、将xct切片数据集导入yolov8_cmc网络中;

8、步骤五、对yolov8_cmc网络进行训练,保存训练完成后得到权重文件以及对应的评估参数;

9、步骤六、yolov8_cmc网络训练完成后,对所有图片进行语义分割,并保存在文件夹中,综合精确率、召回率和平均精度均值这三个评估参数,选择分割效果最好的作为最优权值文件来分割所有的xct图片,完成2.5d编织结构的纤维束识别。

10、为优化技术方案,采取的进一步改进包括:

11、步骤一中,在开源软件labelme中对2.5d编织结构的纤维束进行手动标记生成标签文件,测试集与验证集的比例为7:3。

12、步骤二中,对xct切片数据集进行数据增强的方式包括裁剪、翻转、旋转、添加噪声、亮度变化以及对比度增强,增强后,数据集中的测试集与验证集的比例为7:3。

13、步骤三中,yolov8_cmc网络的网络模型由主干网络、颈部网络和头部网络三部分组成,这三部分网络包含了vanillanet、c2f、sppf、segment、contact、unsample、vovgscsp和gsconv在内的总计24个模块,其中contact模块与unsample模块与原yolov8模型中的对应模块保持一致,不做修改,将这24个模块按前后顺序进行编号,则编号为0至23,

14、主干网络由5个vanillanet模块,4个c2f模块和1个sppf模块组成,模块编号为0,1,3,5,7的模块为vanillanet模块,模块编号为2,4,6,8的模块为c2f模块,模块编号为9的模块为sppf模块,输入的图片在进入模块0之前将尺寸统一为640×640,经过模块0后特征图尺寸变为320×320×64,之后依次通过模块1至模块9,其中,模块4、模块6和模块9输出的特征图作为输入传入颈部网络中;特征图在经过vanillanet模块后,高度和宽度变为原来的一半,通道数变为原来的两倍;特征图在经过sppf模块后,高度和宽度不变,通道数变为原来的一半;特征图在经过c2f模块后,高度、宽度和通道数均不变,

15、颈部网络由4个vovgscsp模块,2个gsconv模块,4个contact模块和2个upsample模块组成,模块编号为12,15,18,21的模块为vovgscsp模块,模块编号为16,19的模块为gsconv模块,模块编号为11,14,17,20的模块为sppf模块,编号为10,13的模块为upsample模块,各模块的连接方式如下:模块10接受模块9输出大小为20×20×512的特征图后,输出大小为40×40×512的特征图至模块11,模块11接受模块10输出的特征图与模块6输出的大小为40×40×512的特征图后输出大小为40×40×1024的特征图至模块12;模块12接受模块11的输入的特征图后,将大小为40×40×512的特征图分别输出至模块13与模块17,模块13接收模块12输入的特征图后,输出大小为80×80×512的特征图至模块14;模块14接收模块13与模块4输出的大小为80×80×256特征图后,输出大小为80×80×768的特征图至模块15,模块15接收模块14输入的特征图后,将大小为80×80×512分别输出至模块16与头部网络,模块16接收模块15输入的特征图后,输出大小为40×40×256至模块17;模块17接受模块12与模块16输入的特征图后,输出大小为40×40×768的特征图至模块18中,模块18接收模块17输入的特征图后,将大小为40×40×512的特征图分别输出至模块19与头部网络中,模块19接收模块18输入的特征图后,输出大小为20×20×512的特征图至模块20中,模块20接收模块19与主干网络中的模块9输出的特征图后,输出大小为20×20×1024的特征图至模块21,模块21接收模块20输入的特征图后,输出大小为20×20×512的特征图至头部网络中,

16、头部网络由3个segment模块组成,模块编号为21,22,23,模块21、22、23分别接收颈部网络中的模块15、18、21输入的特征图后,对其中纤维束进行识别分割后输出掩码结果,头部网络结合这3个segment模块输出的掩码结果,最终输出对纤维束分割的xct图片。

17、vanillanet模块由5部分构成,第1部分为卷积核大小为3×3的二维卷积层,其步长为4,卷积核个数为512;第2、3、4层部分为池化核大小为1×1的二维最大池化层,其步长为2,卷积核个数依次为1024,2048,4096;第5部分为池化核大小为2×2的二维平均池化层,其步长为1,在每一部分最后均设有一层激活层,使用的激活函数为silu激活函数,并在第2、3、4层中的最大池化层与激活层之间添加一个二维正则化层;

18、c2f模块由1个concat模块、2个conv模块和6个bottleneck模块组成,2个conv模块分别为c2f模块的第一个模块和最后一个模块,其中二者的二维卷积层的卷积核大小均为2×2,步长均为2,并都采用补白操作,补白大小均为1,二者卷积核数均相同,第一个conv模块后依次连接6个bottleneck模块,其均采用残差连接,输出中的一半通道的特征图传入下一个模块中,另一半通道的特征图传入concat模块中,concat模块位于最后一个bottleneck模块和最后一个conv模块之间;

19、sppf模块由1个concat模块、2个conv模块和4个二维最大池化层组成,2个conv模块分别为sppf模块的第一个模块和最后一个模块,其中二者的二维卷积层的卷积核大小均为1×1,步长均为1,不采用补白操作,第一个conv模块后依次连接4个二维平均池化层,其池化核大小均为2×2,步长均为1,且均采用残差连接,输出中的一半通道的特征图传入下一个层中,另一半通道的特征图传入concat模块中,concat模块位于最后一个二维平均池化层和最后一个conv模块之间;

20、segment模块有两个分支;第一个分支依次由两个conv模块,一个二维卷积层和一个损失函数计算层masloss组成;其中两个conv模块中,二维卷积层的卷积核大小均为3×3,步长均为1,并都采用补白操作,补白大小均为1;二维卷积层的卷积核大小为1×1,步长为1,不采用补白操作,卷积核个数为4;损失函数计算层masloss采用wiou损失函数对纤维束分割的损失做计算;第二个分支依次由两个conv模块,一个二维卷积层和一个损失函数计算层clsloss组成;其中两个conv模块中,二维卷积层的卷积核大小均为3×3,步长均为1,并都采用补白操作,补白大小均为1;二维卷积层的卷积核大小为1×1,步长为1,不采用补白操作,卷积核个数为4;损失函数计算层clsloss采用bce损失函数对纤维束分割的损失做计算;

21、bottleneck模块采用残差连接的方式依次由2个conv模块构成;在主分支上,第一个conv模块的二维卷积层的卷积核大小为1×1,步长为1,不采用补白操作;第二个conv模块的二维卷积层的卷积核大小为3×3,步长为1,并采用补白操作,补白大小为1;残差分支上不存在任何模块;

22、conv模块依次由一个二维卷积层、一个二维正则化层和一个激活层组成,其中激活层采用的激活函数为relu激活函数,

23、vovgscsp模块由3个二维卷积层,1个concat模块,1个gsbottleneck模块构成,vovgscsp模块首先分为两个分支,一个分支由一个二维卷积层构成,另一个分支依次由一个二维卷积层和一个gsbottleneck模块构成,两个分支的输出结果输入concat中后传入一个二维卷积层中;其中所有卷积层的积核大小为1×1,步长为1,不采用补白操作,与gsbottleneck模块同分支的二维卷积层的输出特征图通道数为输入特征图通道数的一半,

24、gsbottleneck模块采用了残差连接,其主分支上依次由两个gsconv模块构成,第2个gsconv模块的输出特征图通道数为输入特征图通道数的2倍,残差分支上只有一个二维卷积层,其卷积核大小为3×3,步长为1,并采用补白操作,补白大小为1,gsconv模块中二维卷积层与二维深度可分离卷积层的卷积核大小均为2×2,步长均为1,并均采用补白操作,补白大小均为1,

25、gsconv模块由一个二维卷积层,一个二维深度可分离卷积层,一个concat模块和一个shuffle层构成;二维卷积层与二维深度可分离卷积层的卷积核大小均为2×2,步长均为1;其中特征图会首先进入二维卷积层,输出中的一半通道的特征图传入二维深度可分离卷积层后再输出至concat模块,另一半通道的特征图则直接传入concat模块;最后特征图进入shuffle层进行通道重排。

26、步骤五中,用pytorch神经网络框架中构建yolov8_cmc网络,使用sgd随机梯度算法对yolov8_cmc网络进行训练。

27、步骤五中,得到权重文件以及对应的评估参数的具体方法为:根据头部网络中segment模块最后一层二维卷积层输出的512个特征通道,计算512个特征通道中每个相同位置处像素的概率并进行比较,选择最大概率所属的类别来确定xct切片图中此像素的类别,综合3个segment模块如此循环计算得到的结果,便可获得一个完整的xct纤维束分割预测图;使用wiou失函数计算真值图和分割预测图之间的差距,得到yolov8_cmc网络的损失,通过误差逆传播算法和sgd算法来更新yolov8_cmc网络的权重,训练结束后,得到权值文件以及对应的评估参数。

28、步骤五中,对yolov8_cmc网络进行训练的次数为300次。

29、步骤六中,综合精确率、召回率和平均精度均值这三个评估参数的获得方法为:yolov8_cmc网络每次训练完后保存对应的权值文件,并用权值文件对验证集上的xct图进行分割,得到使用精确率、召回率和平均精度均值这三个评价指标。

30、与现有技术相比,本发明具有以下有益效果:

31、1、本发明在保证较高识别准确率的情况下,解决了现有卷积神经网络体积大,训练时显存占用大、训练时间慢的问题,非常适合应用于2.5d编织类型的陶瓷基复合材料预制体的纤维束(经纱、纬纱)的识别。

32、2、本发明在主干网络中将原有的conv模块替换为vanillanet模块,避免原有模块的复杂操作的,用相对简单的操作提取纤维束的特征,减小了整体模型的大小,降低了模型对计算资源的需求。取消了原有cf2模块中的分割层的同时增加了使用残差结构的bottleneck模块的数量,保证了模型对纤维束特征提取能力的同时加快了模型提取特征的速度,从而使得模型对纤维束分割精度得到保证,同时大大加快模型分割的速度。改进了原有的sppf模块,增加了一个二维最大池化层,提升了模型的感受视野从而提升模型对不同尺寸大小纤维束分割的能力。

33、3、在颈部网络中,使用了vovgscsp模块与gsconv模块。相较于原来的conv模块,gsconv取消了归一化操作与激活函数,简化了模型,减少了模型的参数使得模型计算效率大大增加。使用shuffle层进行通道重排操作提高了gsconv模块卷积计算的并行度与效率的同时,减少了模块对内存的访问次数,提升了模块的对特征融合的能力保证了模型的精度。而vovgscsp模块减少了卷积操作,减少量模型的体积从而减少了模型的参数,加速了模型训练的速度。

34、4、使用解耦式的头部网络结构执行对纤维束的识别分割,用三个segment模块同时对不同尺寸的纤维束进行同步分割,在提高了分割精度的同时,提升了模型分割的效率,减少了模型分割纤维束的时间。此外,采用wiou损失函数代替原有的损失函数,保证了高质量的分割掩码效果,又减少了有害梯度的影响,提高了模型的整体性能,同时在训练模型时还可以加快收敛速度,提高收敛精度,增强模型的泛化能力,降低了训练成本的同时节省了训练时间,降低了训练模型时对硬件的要求。

35、5、yolov8_cmc采用单阶段的识别分割策略,对整张纤维束直接进行分割,摒弃了传统卷积神经网络先确定目标区域再进行识别分割的方法,极大提高了分割效率,减少了模型对纤维束的分割的时间。

本文地址:https://www.jishuxx.com/zhuanli/20241015/314762.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。