基于Yolov8的轻量化准确识别X射线散射峰的目标检测方法

    专利2025-03-18  30


    本发明主要应用与材料表征分析领域,具体的说是一种基于yolov8的轻量化准确识别x射线散射峰的目标检测方法。


    背景技术:

    1、x射线散射是材料实验的重要表征手段之一。已经影响了各个研究领域。它在实时和真实样品环境下检测材料的能力是独一无二的,从确定蛋白质结构到观察材料的实时结构变化。x射线散射又分为几类:小角x射线散射(saxs)、广角x射线散射(waxs)、掠入射小角x射线散射(gisaxs)、掠入射广角x射线散射(giwaxs)。使研究人员能够分别使用不同的x射线散射技术来了解分子和纳米尺度上探测材料的物理结构。

    2、在x射线散射图像分析上,主要是基于散射图像特征来得到相关信息,散射图像包含了视觉特征,如环、斑点和晕,它们编码了关于原子、分子和纳米尺度域的大小、取向等的详细信息。随着下一代同步加速器的建设,材料科学界可以获得以前无法想象的x射线束通量和亮度,允许极其快速(毫秒)的数据收集。

    3、随着同步辐射技术的发展,x射线散射越来越多地应用于纳米材料和生物体系的研究。产生的大量数据增加了分析的人工成本,并且影响分析效率。而人工分析的主要难点在于进行散射峰的标定,这需要专业人员花费大量时间一张一张的进行标定。而且一些散射图像的特征会非常微弱,长时间的标定会产生一定的人工误差,大大影响了后续的分析。为提高x射线散射分析效率,需要设计合理的散射峰检测方法。

    4、结合深度学习网络是提升x射线散射分析效率的一种手段。yolo系列算法是一阶段模型的代表,不同于二阶段模型,他能直接通过卷积网络提取特征,在预测特征图上产生边界框的同时对产生的边界框其进行分类和回归,一次性地从输入图像到最终产生预测结果,这大大提升了检测的速度,有利于嵌入设备端实现快速识别,但同时丢失了一部分精度,有待改进。


    技术实现思路

    1、本发明是提供一种基于yolov8的轻量化准确识别x射线散射峰的目标检测方法,以应对批量x射线散射图像人工成本过高的情况,以及部署到x射线散射图像分析软件上。

    2、本发明的思路是这样的:

    3、本发明目的为发明一种基于yolov8的轻量化准确识别x射线散射峰的目标检测方法,用于快速精准的检测出x射线散射峰。基本的实现手段是基于yolov8基础目标检查网络。通过对yolov8网络架构的backbone部分、neck部分进行优化和改进,获得一个可以更加轻量化准确识别散射峰的网络模型。通过模型训练验证和检测,证明该网络结构确实有效。

    4、本发明采用的技术方案包括以下步骤:

    5、(1)通过对实验样品的x射线散射表征获得x射线散射图像,然后进行人工筛选获得相应的图像库;

    6、(2)使用图像标定软件labelme对散射图像进行标定;

    7、(3)融合bifpn多尺度特征融合金字塔、gsconv卷积模块、shuffleattention注意力机制和yolov8的基础网络结构构建yolov8-bgs网络模型;

    8、(4)将制作好的x射线散射图像数据集输入到yolov8-bgs网络模型中进行训练,通过评价指标分别对目标检测模型与原始的yolov8网络模型进行对比和评价;

    9、(5)将yolov8-bgs网络模型训练出来的best.pt带入网络结构中对x射线散射图像的峰进行检测识别和定位。

    10、所述步骤(1)中,通过实验获得不同材料的x射线散射图像,选择图像特征区别明显的图片,筛选出散射峰类型多样,位置不同的图片用作实验的图像库。

    11、所述步骤(2)中的具体操作如下:

    12、使用labelme标注工具对筛选出的散射图片进行标注,对图像上的散射斑点进行区分标注,对于光束中心给予标签beam,对于散射峰斑点给予标签peak。labelme标注图片产生的格式为json文件,使用python代码将文件格式转化为txt文件。将图片文件和标签文件分别对应划分为训练集、验证集和测试集,比例为7:1:2。

    13、所述步骤(3)中的具体操作如下:

    14、1、在yolov8的backbone网络部分结合shuffleattention注意力机制,将注意力机制加入网络的第9层,模块sppf之前。虽然yolov8有很好的特征提取能力,但对于x射线散射图像散射峰较小、数量多且与背景对比不明显的情况,选择在backbone部分结合shuffleattention注意力机制进行改进。

    15、shuffleattention注意力机制采用shuffle单元高效来组合空间注意力机制和通道注意力机制,它将输入沿着通道维度拆分为多组,然后对每一组特征词用shuffle单元刻画特征在空间与通道维度上的依赖性,最后所有特征进行集成并通过通道shuffle操作进行组间特征融合。

    16、shuffleattention注意力机制主要由四部分组成。首先是特征分组部分,输入特征为rc×h×w,该步骤会将输入x沿着通道维度拆分为n组:{x1,x2,.....,xn}。对于每组特征rc/n×h×w,我们需要通过空间与通道注意力模块生成不同的重要性系数。具体而言,再将特征xn沿着通道维度拆分为两组xn1、xn2,分别进行两种注意力机制的处理。

    17、在通道注意力机制部分,为了实现轻量化的注意力模块设计,采用了简单的gap+scale+sigmoid组合,改过程具体如下:

    18、

    19、x'n1=σ(fc(s))·xn1=σ(w1s+b1)·xn1    (2)

    20、在空间注意力机制部分,它是通道注意力的一个互补。在实现方面,我们首先采用groupnorm(gn)对xn2进行处理得到空域层面的统计信息,然后采用fc(·)进行增强。该过程可以描述如下:

    21、x'n2=σ(w2·gn(xn2)+b2)·xn2    (3)

    22、最后就是融合部分,在完成前面两种注意力计算后,我们需要对其进行集成,首先通过简单的concat进行融合得到:x'n=[x'n1,x'n2]∈rc/2n×h×w,采用通道洗牌操作(channelshuffle)进行组间融合。

    23、2、将yolov8的neck网络部分进行改造并结合bifpn多尺度特征融合金字塔。在x射线图像分析的过程中,会存在一些与背景对比不是很强的图像特征,并且根据x射线图像特征目标小,数量多的特点,普通的yolov8模型提取不到有意义的特征,特征融合效果较差,甚至会影响模型的学习能力。在yolov8网络的neck层通过加权双向特征金字塔bifpn的形式进行深浅层多尺度特征融合,通过bifpn取代原结构中的concat模块。特征融合过程中采用fastnormalized fusion进行带权融合,在neck部分改造方面,在yolov8网络结构的第2层、第4层、第6层的c2f模块处和sppf模块后分别在接上一个gsconv卷积模块,用于之后的bifpn与fpn网络结构里的upsample模块进行连接,实现特征融合,再跳跃与pan网络结构中的网络层连接,进而实现深层网络与浅层网络的多尺度特征融合。通过gsconv卷积进行特征融合,并在每个卷积后添加批量归一化和激活,带权计算方法如公式(4)(5)所示:

    24、

    25、

    26、3、在yolov8的neck网络部分将卷积层替换为gsconv模块,对散射峰的目标检测算法是应用与设备端的,需要快速且精准的对目标进行识别,在bifpn多尺度特征融合上,是通过深度可分离卷积进行特征融合的,而大量深度可分离卷积层构建的轻量级模型无法达到足够的准确性。因此yolov8-gbs网络使用gsconv卷积模块替换neck部分的卷积模块来减轻模型的复杂度并保持准确性,gsconv可以更好地平衡模型的准确性和速度。

    27、所述步骤(4)中,将制作好的x射线散射数据集带入到yolov8-gbs网络结构中进行训练,得到best.pt权重文件。并对yolov8网络结构进行评价。

    28、评价指标包括精确率precision、召回率recall、帧率fps和平均精度均值map,具体为:

    29、精确度:

    30、召回率:

    31、平均精度:

    32、平均精度值:

    33、其中p为precision,r为recall,n表示类别数,平均精度ap是以precision和recall为坐标轴作图后所围成的面积;均值平均精度map是所有目标类别的平均精度ap的平均值,用于描述模型对所有目标检测类别的检测性能,map的值越大,说明算法的检测效果越好,识别精度也越高。

    34、所述步骤(5)中,将待检测的x射线散射图像输入使用best.py权重文件的yolov8-gbs网络模型中进行检测并得出结果。


    技术特征:

    1.一种基于yolov8的轻量化准确识别x射线散射峰的目标检测方法,其主要特征和步骤如下:

    2.根据权利要求1所述的基于yolov8的轻量化准确识别x射线散射峰的目标检测方法,其特征在与,步骤(2)具体为:使用labelme标注软件以yolo数据格式对x射线散射图像进行人工标定,对x射线散射图像中的散射峰打上标签为peak,对于中心光束的光斑打上标签为beam。然后将标记好的所有图像使用python脚本随机划分为训练集:验证集:测试集,比例为7:1:2。

    3.根据权利要求1所述的基于yolov8的轻量化准确识别x射线散射峰的目标检测方法,其特征在于,步骤(3)具体为将yolov8网络框架neck部分进行相应的改进,再与bifpn多尺度特征融合金字塔进行结合,并且将neck部分的conv模块全部替换为gsconv模块,yolov8的backbone部分加入shuffleattention注意力模块,加入的位置在sppf模块之前,构建成yolov8-bgs网络模型。

    4.根据权利要求3所述的基于yolov8的轻量化准确识别x射线散射峰的目标检测方法,其特征在于,neck部分的该进具体为:在yolov8网络结构的第2层、第4层、第6层的c2f模块处和sppf模块后分别在接上一个卷积模块用于之后的特征融合,并在网络的第15、18、21、24、27层采用fastnormalized fusion带权特征融合。带权计算方法如公式(1)(2)所示:

    5.根据权利要求3所述的基于yolov8的轻量化准确识别x射线散射峰的目标检测方法,其特征在于,gsconv卷积模块具体为:在neck部分网络结构中的第11、12、13、20、23、26层采用gsconv卷积,对于深度可分离卷积而言虽然计算量小,速度快,但丢失了一些精度,gsconv卷积模块是将普通卷积产生的特征和深度可分离卷积产生的特征进行shuffle操作,保留了速度快的优点并弥补了丢失的精度。

    6.根据权利要求3所述的基于yolov8的轻量化准确识别x射线散射峰的目标检测方法,其特征在于,shuffleattention注意离机制模块具体为:将输入沿着通道维度拆分为多组,然后对每一组特征用置换单元获得特征对于空间和通道维度上的依赖性,最后所有特征进行集成并通过通道shuffle操作进行组间特征融合。

    7.根据权利要求1所述的基于yolov8的轻量化准确识别x射线散射峰的目标检测方法,其特征在于,步骤(4)具体为:将制作好的数据集带入到yolov8-bgs网络结构进行训练,最终得到best.pt权重文件。

    8.根据权利要求1所述的基于yolov8的轻量化准确识别x射线散射峰的目标检测方法,其特征在于,步骤(5)具体为:将训练得到的best.py权重文件配置到yolov8n-bgs网络模型中,对x射线散射图像进行检测识别。


    技术总结
    本发明提出了一种基于轻量化准确识别X射线散射峰的目标检测方法。该方法的主要思路是对YOLOv8网络结构进行优化和改进实现对散射峰快速精准检测的目的。主要步骤包括:建立X射线散射图像数据集,将各类样品实验得来的散射图使用labelimg软件进行标定制作成数据集,并使用python代码将数据集按照7:2:1的比例划分为训练集、测试集和验证集;构建Yolov8‑BGS网络模型,模型是由Yolov8网络与GBiFPN多尺度特征融合金字塔、GSConv卷积结构、ShuffleAttention注意力机制融合得到;将划分好的数据集放到设计好的网络模型中进行训练生成权重文件。本方法可用于同步辐射X射线散射图像的识别与分析,能够大大节省人力,提高X射线表征分析的效率。

    技术研发人员:赵镍,邹益群,欧阳晓平
    受保护的技术使用者:湘潭大学
    技术研发日:
    技术公布日:2024/4/29
    转载请注明原文地址:https://wp.8miu.com/read-84201.html

    最新回复(0)