基于可变类别温度蒸馏的焊缝缺陷分类方法技术

技术编号:39844598 阅读:11 留言:0更新日期:2023-12-29 16:35
本发明专利技术提供了一种基于可变类别温度蒸馏的焊缝缺陷分类方法,属于无损检测技术领域

【技术实现步骤摘要】
基于可变类别温度蒸馏的焊缝缺陷分类方法


[0001]本专利技术属于无损检测
,具体涉及一种基于可变类别温度蒸馏的焊缝缺陷分类方法


技术介绍

[0002]无损检测(
Non

Destructive Testing

NDT
)是一种用于检测材料和构件内部和表面缺陷的技术,而无需破坏或损坏被检测对象的方法

该技术在许多领域中得到广泛应用,如航空航天

能源

汽车

制造业等

[0003]无损检测的研究背景可以追溯到
20
世纪初期,当时工程师们开始寻求一种可靠

高效的方法来检测材料和构件的缺陷,而无需破坏它们

这主要是由于传统的破坏性测试方法无法满足工业生产和维护的需求

传统方法通常需要从样品中获取代表性的试样,并进行物理或化学测试来评估其质量和可靠性

这些方法不仅耗时费力,还可能造成额外的成本和资源浪费

[0004]现有的基于人工智能的缺陷分类中有传统的数字图像处理方法,其对图片进行人工特征设计,再进行类别的判断,也有使用多层感知机(
MLP


支持向量机(
SVM
)等方法进行缺陷分类

这些方法虽然在焊缝缺陷分类方面取得了不错的成果,但是这些工作所使用的方法是图像分类中通用的方法,仅仅使用这些通用的算法却忽视了焊接缺陷的特有特征,在面对相近的缺陷时无法对其类别进行更加精确地定义

就比如说焊缝缺陷中的未融合类别和未焊透类别,他们在
X
光底片中十分相近,使用传统的图像分类算法很难将其分别开

[0005]知识蒸馏近年来越来越受到学术界和工业界研究人员的关注

它的目的是从经过预训练的较大规模教师那里转移知识给较小规模的学生模块,以让较小的学生模块表现出比以往独自学习更好的效果

传统的过程是通过最小化从教师
/
学生模块获得的两个预测之间的 KL 散度损失来实现的

大多数现有作品忽略了温度的灵活作用,并根据经验将其设置为固定值

在传统的知识蒸馏中,温度主要通过软性目标函数(
Soft Targets
)来调节,这是因为通常情况下,教师模块的预测是通过
Softmax
函数计算的,该函数在温度调节下可以变得“软化”。
这个温度参数控制了
Softmax
分布的“平缓程度”,即概率分布的扁平程度

较高的温度会使
Softmax
分布更均匀,而较低的温度则会使分布更加尖锐

由于模型的学习能力会随着模型的收敛程度而逐渐到达极限,当学生模块已经学习到足够多的“知识”后,这时学生模块所应该接受到的软化预测会不同于学习之初,所以温度的灵活变换成为了一项不可缺少的过程

[0006]在传统的灵活变化温度的作品中,温度的变换是整体的,也就是说,对于不同的分类类别所进行的温度变化是相同的,这样不能达到完全的灵活,而且这样将不利于相似缺陷之间的分类

若模型已经对某个类别的识别效果达到较为精准的程度,这时这个类别的分类结果应该对整体损失造成更小的影响,相反的情况,对于识别效果不好的类别要使其对整体损失造成更大的影响

当模型对其他类别的识别结果已经达到相当高的程度,我们希望相似的类别之间也能够区分地更加清晰,这时需要将区分相似类别的重要程度逐步提
高,所以我们使用不同的类别温度以提高相似类别的重要程度

[0007]因此,需要设计一种灵活的蒸馏方法并且结合焊缝缺陷特有特征对焊缝缺陷类别进行更加精确地定性


技术实现思路

[0008]本文提出了一个基于自适应可变温度的教师

学生架构,通过监控在训练中各类缺陷类别的准确率以动态调节模型架构中最重要参数
T
(温度),以让各类别在对损失函数的贡献时形成不同的权重

例如当某类别的准确率较低时,该类别所对应的温度
T
参数就越小,这样这一类别在对损失函数的贡献中相对其余类别就越大,这样不仅可以提高温度变化的灵活性还可以有效区分相似类别

[0009]为实现上述目的,本专利技术采用的技术方案为:一种基于可变类别温度蒸馏的焊缝缺陷分类方法,包括以下步骤:步骤1:构建数据集;获取原始缺陷焊缝图像,对图像进行预处理,得到焊缝缺陷数据集,将数据集按照一定比例分为训练集和测试集

[0010]步骤2:构建焊缝缺陷分类网络;焊缝缺陷分类网络中采用了蒸馏架构,构建蒸馏架构需要用到4个模块,分别为教师模块

学生模块

温度变化模块

蒸馏损失函数计算模块;首先将数据集同时投入到教师模块

学生模块,这时会得到两个原始输出,将这两个原始输出进行处理后并进行计算能够得到整体的损失函数,最后通过损失函数来对学生模块中的参数进行梯度求解

参数更新

在损失函数的计算过程中需要温度
T
对原始输出进行处理,在本专利技术中的温度
T
能够通过温度映射函数进行重新定义,之后再进行新一轮学生模块的训练

[0011]教师模块经过训练集训练收敛,设置成不可进行参数更新的模式;学生模块未训练,将其设置为可以进行反向传播更新参数的模式

[0012]步骤3:训练焊缝缺陷分类网络;步骤
3.1
:初始化蒸馏架构中的学生模块训练参数,基于训练集,对蒸馏架构中的学生模块进行训练;将训练集中的数据投入到已经训练收敛的教师模块以及未经过训练的学生模块,得到教师模块和学生模块的输出向量,可表征为:;其中,
n
为缺陷类别总数,
i=1,2,3


n,
其中
x
i
表示输出向量
X
teacher
中的每个分量对应相应类别的得分,其中
x

i
表示输出向量
X
student
中的每个分量对应相应类别的得分,得分越高,这个图像归属于该类别的概率越大;步骤
3.2
:使用蒸馏损失函数计算模块计算损失函数中的软损失;步骤
3.2.1
:温度软化处理;知识蒸馏在进行软化的过程中每个类别都对应一个温度
t
i
,温度
T
表征如下:;将教师模块输出中的分量...

【技术保护点】

【技术特征摘要】
1.
一种基于可变类别温度蒸馏的焊缝缺陷分类方法,其特征在于,包括以下步骤:步骤1:构建数据集;获取原始缺陷焊缝图像,对图像进行预处理,得到焊缝缺陷数据集,将数据集按照一定比例分为训练集和测试集;步骤2:构建焊缝缺陷分类网络;焊缝缺陷分类网络中采用了蒸馏架构,其中蒸馏架构包括4个模块,分别为教师模块

学生模块

温度变化模块

蒸馏损失函数计算模块;首先将数据集同时投入到教师模块

学生模块,这时会得到两个原始输出,将这两个原始输出经过温度变化模块和蒸馏损失函数计算模块,对学生模块中的参数进行梯度求解

参数更新;教师模块经过训练集训练收敛,设置成不可进行参数更新的模式;学生模块未训练,将其设置为进行反向传播更新参数的模式;步骤3:训练焊缝缺陷分类网络;步骤
3.1
:初始化蒸馏架构中的学生模块训练参数,基于训练集,对蒸馏架构中的学生模块进行训练;将训练集中的数据投入到已经训练收敛的教师模块以及未经过训练的学生模块,得到教师模块和学生模块的输出向量,可表征为:;其中,
n
为缺陷类别总数,
i=1,2,3


n,
其中
x
i
表示输出向量
X
teacher
中的每个分量对应相应类别的得分,其中
x

i
表示输出向量
X
student
中的每个分量对应相应类别的得分,得分越高,这个图像归属于该类别的概率越大;步骤
3.2
:使用蒸馏损失函数计算模块计算损失函数中的软损失;步骤
3.2.1
:温度软化处理;知识蒸馏在进行软化的过程中每个类别都对应一个温度
t
i
,温度
T
表征如下:;将教师模块输出中的分量
x
i
, x
j
和学生模块输出中的分量
x

i
除以一个对应于该类别的温度
t
i
,得到经过温度软化处理后的新输出
Z
teache

Z
student
,其中的计算过程表征如下:;其中表示
softmax
函数,新输出为
Z
teacher

Z
student

z
i
是软化处理过后的新输出
Z
teacher
中的一个元素,
z

i
是软化处理过后的新输出
Z
student
中的一个元素,
i=1,2,3,...,n,
表征如下:;步骤
3.2.2
:软损失表征如下:
;
其中的表示计算教师模块和学生模块的分布差异;步骤
3.3
:计算损失函数中的硬损失;
y
i
为真实标签
Label
中的一个元素,真实标签表征为:;的计算表征为:...

【专利技术属性】
技术研发人员:胡旺王珩林渴真章语
申请(专利权)人:电子科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1