CN117274724A - 基于可变类别温度蒸馏的焊缝缺陷分类方法 - Google Patents
基于可变类别温度蒸馏的焊缝缺陷分类方法 Download PDFInfo
- Publication number
- CN117274724A CN117274724A CN202311561944.1A CN202311561944A CN117274724A CN 117274724 A CN117274724 A CN 117274724A CN 202311561944 A CN202311561944 A CN 202311561944A CN 117274724 A CN117274724 A CN 117274724A
- Authority
- CN
- China
- Prior art keywords
- module
- student
- temperature
- distillation
- weld
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000007547 defect Effects 0.000 title claims abstract description 67
- 238000000034 method Methods 0.000 title claims abstract description 51
- 238000004821 distillation Methods 0.000 title claims abstract description 39
- 238000012549 training Methods 0.000 claims abstract description 40
- 238000012360 testing method Methods 0.000 claims abstract description 23
- 230000008859 change Effects 0.000 claims abstract description 15
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 7
- 230000006870 function Effects 0.000 claims description 52
- 239000013598 vector Substances 0.000 claims description 23
- 238000011156 evaluation Methods 0.000 claims description 17
- 238000013507 mapping Methods 0.000 claims description 17
- 238000004364 calculation method Methods 0.000 claims description 16
- 230000008569 process Effects 0.000 claims description 13
- 238000009826 distribution Methods 0.000 claims description 12
- 239000002893 slag Substances 0.000 claims description 9
- 230000000694 effects Effects 0.000 claims description 8
- 239000011159 matrix material Substances 0.000 claims description 8
- 238000013140 knowledge distillation Methods 0.000 claims description 7
- 238000012512 characterization method Methods 0.000 claims description 5
- 238000012545 processing Methods 0.000 claims description 4
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 claims description 3
- 230000035515 penetration Effects 0.000 claims description 2
- 238000007781 pre-processing Methods 0.000 claims description 2
- 238000009659 non-destructive testing Methods 0.000 abstract description 4
- 238000012544 monitoring process Methods 0.000 abstract description 2
- 230000009975 flexible effect Effects 0.000 description 6
- 230000003044 adaptive effect Effects 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000007705 chemical test Methods 0.000 description 1
- 238000007635 classification algorithm Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000009658 destructive testing Methods 0.000 description 1
- 230000001627 detrimental effect Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000009776 industrial production Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Image Analysis (AREA)
- Investigating Or Analyzing Materials Using Thermal Means (AREA)
Abstract
本发明提供了一种基于可变类别温度蒸馏的焊缝缺陷分类方法,属于无损检测技术领域。该方法提出了一个基于测试集的自适应可变温度的教师‑学生架构,通过监控在训练中各类缺陷类别的准确率以动态调节模型架构中最重要参数T(温度),通过动态调节温度T参数,以让各类别在对损失函数的贡献时形成不同的权重。本发明得到的测试集准确率相较未改价的蒸馏算法有着显著的提高。
Description
技术领域
本发明属于无损检测技术领域,具体涉及一种基于可变类别温度蒸馏的焊缝缺陷分类方法。
背景技术
无损检测(Non-Destructive Testing,NDT)是一种用于检测材料和构件内部和表面缺陷的技术,而无需破坏或损坏被检测对象的方法。该技术在许多领域中得到广泛应用,如航空航天、能源、汽车、制造业等。
无损检测的研究背景可以追溯到20世纪初期,当时工程师们开始寻求一种可靠、高效的方法来检测材料和构件的缺陷,而无需破坏它们。这主要是由于传统的破坏性测试方法无法满足工业生产和维护的需求。传统方法通常需要从样品中获取代表性的试样,并进行物理或化学测试来评估其质量和可靠性。这些方法不仅耗时费力,还可能造成额外的成本和资源浪费。
现有的基于人工智能的缺陷分类中有传统的数字图像处理方法,其对图片进行人工特征设计,再进行类别的判断,也有使用多层感知机(MLP)、支持向量机(SVM)等方法进行缺陷分类。这些方法虽然在焊缝缺陷分类方面取得了不错的成果,但是这些工作所使用的方法是图像分类中通用的方法,仅仅使用这些通用的算法却忽视了焊接缺陷的特有特征,在面对相近的缺陷时无法对其类别进行更加精确地定义。就比如说焊缝缺陷中的未融合类别和未焊透类别,他们在X光底片中十分相近,使用传统的图像分类算法很难将其分别开。
知识蒸馏近年来越来越受到学术界和工业界研究人员的关注。它的目的是从经过预训练的较大规模教师那里转移知识给较小规模的学生模块,以让较小的学生模块表现出比以往独自学习更好的效果。传统的过程是通过最小化从教师/学生模块获得的两个预测之间的 KL 散度损失来实现的。大多数现有作品忽略了温度的灵活作用,并根据经验将其设置为固定值。在传统的知识蒸馏中,温度主要通过软性目标函数(Soft Targets)来调节,这是因为通常情况下,教师模块的预测是通过Softmax函数计算的,该函数在温度调节下可以变得“软化”。这个温度参数控制了Softmax分布的“平缓程度”,即概率分布的扁平程度。较高的温度会使Softmax分布更均匀,而较低的温度则会使分布更加尖锐。由于模型的学习能力会随着模型的收敛程度而逐渐到达极限,当学生模块已经学习到足够多的“知识”后,这时学生模块所应该接受到的软化预测会不同于学习之初,所以温度的灵活变换成为了一项不可缺少的过程。
在传统的灵活变化温度的作品中,温度的变换是整体的,也就是说,对于不同的分类类别所进行的温度变化是相同的,这样不能达到完全的灵活,而且这样将不利于相似缺陷之间的分类。若模型已经对某个类别的识别效果达到较为精准的程度,这时这个类别的分类结果应该对整体损失造成更小的影响,相反的情况,对于识别效果不好的类别要使其对整体损失造成更大的影响。当模型对其他类别的识别结果已经达到相当高的程度,我们希望相似的类别之间也能够区分地更加清晰,这时需要将区分相似类别的重要程度逐步提高,所以我们使用不同的类别温度以提高相似类别的重要程度。
因此,需要设计一种灵活的蒸馏方法并且结合焊缝缺陷特有特征对焊缝缺陷类别进行更加精确地定性。
发明内容
本文提出了一个基于自适应可变温度的教师-学生架构,通过监控在训练中各类缺陷类别的准确率以动态调节模型架构中最重要参数T(温度),以让各类别在对损失函数的贡献时形成不同的权重。例如当某类别的准确率较低时,该类别所对应的温度T参数就越小,这样这一类别在对损失函数的贡献中相对其余类别就越大,这样不仅可以提高温度变化的灵活性还可以有效区分相似类别。
为实现上述目的,本发明采用的技术方案为:一种基于可变类别温度蒸馏的焊缝缺陷分类方法,包括以下步骤:
步骤1:构建数据集;
获取原始缺陷焊缝图像,对图像进行预处理,得到焊缝缺陷数据集,将数据集按照一定比例分为训练集和测试集。
步骤2:构建焊缝缺陷分类网络;
焊缝缺陷分类网络中采用了蒸馏架构,构建蒸馏架构需要用到4个模块,分别为教师模块、学生模块、温度变化模块、蒸馏损失函数计算模块;首先将数据集同时投入到教师模块、学生模块,这时会得到两个原始输出,将这两个原始输出进行处理后并进行计算能够得到整体的损失函数,最后通过损失函数来对学生模块中的参数进行梯度求解、参数更新。在损失函数的计算过程中需要温度T对原始输出进行处理,在本发明中的温度T能够通过温度映射函数进行重新定义,之后再进行新一轮学生模块的训练。
教师模块经过训练集训练收敛,设置成不可进行参数更新的模式;学生模块未训练,将其设置为可以进行反向传播更新参数的模式。
步骤3:训练焊缝缺陷分类网络;
步骤3.1:初始化蒸馏架构中的学生模块训练参数,基于训练集,对蒸馏架构中的学生模块进行训练;将训练集中的数据投入到已经训练收敛的教师模块以及未经过训练的学生模块,得到教师模块和学生模块的输出向量,可表征为:
;
其中,n为缺陷类别总数,i=1,2,3,…n,其中x i 表示输出向量X teacher 中的每个分量对应相应类别的得分,其中x’ i 表示输出向量X student 中的每个分量对应相应类别的得分,得分越高,这个图像归属于该类别的概率越大;
步骤3.2:使用蒸馏损失函数计算模块计算损失函数中的软损失;
步骤3.2.1:温度软化处理;
知识蒸馏在进行软化的过程中每个类别都对应一个温度ti,温度T表征如下:
;
将教师模块输出中的分量x i ,x j 和学生模块输出中的分量x’ i 除以一个对应于该类别的温度t i ,得到经过温度软化处理后的新输出与/>,其中的计算过程表征如下:
其中表示softmax函数,新输出为Zteacher和Zstudent,zi是软化处理过后的新输出Zteacher中的一个元素,z’i是软化处理过后的新输出Zstudent中的一个元素,i=1,2,3,...,n,表征如下:
步骤3.2.2:软损失表征如下:
其中的表示计算教师模块和学生模块的分布差异;
步骤3.3:计算损失函数中的硬损失
y i 为真实标签Label中的一个元素,真实标签表征为:
的计算表征为:
其中的表示计算学生模块的输出和真实标签之间的分布差异;
步骤3.4:计算总损失函数;
为了调控与/>对整体损失的贡献程度,设置比例系数/>来进行调控,/>取决于当前蒸馏架构中的类别温度,具体表征为下:
步骤3.5:通过反向传播算法更新学生模块中的参数,表征为:
其中为学生模块中需要学习的参数,/>为控制模块参数学习幅度的学习率;
步骤4:使用测试集检验学生模块的分类效果;
将测试集投入到学生模块中,得到输出向量,具体可表征如下:
其中 pi为输出向量Pstudent中的一个分量,i=1,2,3,…,n,将输出向量的标签/>与真实标签/>对比,获取各类别的评价指标;
步骤5:构建温度变化模块;
将各个类别的评价指标数值作为温度映射函数的输入,得到接下来新一轮学生模块训练的各个类别温度,温度变化模块的运行频率依据训练集数据迭代的数量而调整,映射函数表征如下:
其中x为将各个类别的评价指标数值,、/>、/>为温度映射函数的参数,由上述公式得到新温度/>:
步骤6:获得焊缝缺陷分类结果;
经过设定的迭代次数后,测试集输出的评价指标达到预期,得到训练好的学生模块,否则继续迭代步骤3-步骤5,直到达到停止条件。
本发明通过对传统蒸馏架构的改进,引入了可变温度模块,使得训练出的学生模块准确率提高并且分类相似类别的能力也有着大幅度的提升,最终得到学生模块能够准确地区分各类缺陷并能大大提高识别气孔和夹渣等相似类别的效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例提供的基于可变类别温度蒸馏的焊缝缺陷分类方法的流程图。
图2为本发明实施例提供的数据集构造流程图。
图3为本发明实施例提供的整体网络模型结构示意图。
图4为本发明实施例提供的温度变化模块中测试集F1到温度的映射示意图。
图5为本发明实施例提供的模型分类结果示意图。
图6为本发明实施例提供的本专利算法与普通算法的测试集混淆矩阵的对比。
实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本实施例提供一种基于可变类别温度蒸馏的焊缝缺陷分类方法,其流程如图1所示,具体实现包括如下步骤:
步骤1:构建数据集;
如图2所示,获取原始缺陷焊缝图像,每张缺陷图片会有一个缺陷的类别标签,人工标记焊缝中的各类缺陷,将缺陷分为7类,其中有裂纹、未融合、未焊透、内凹、咬边、夹渣、气孔,具体图像可见图5;将各类缺陷的原始图像从焊缝图片中截出,并且将这些原始图像进行对比度、亮度等数字图像处理,最后将其转变为tensor格式,得到大小统一的高质量焊缝缺陷数据集;将数据集按照8:2的比例分为训练集和测试集。
步骤2:构建焊缝缺陷分类网络
焊缝缺陷分类网络中采用了蒸馏架构,如图3所示,构建蒸馏架构需要用到4个模块,分别为教师模块、学生模块、温度变化模块、蒸馏损失函数计算模块;教师模块和学生模块是可以进行图像分类的神经网络模型,教师模块的输出向量中的分量数和学生模块中的输出向量中的分量数相同,也就意味教师模块与学生模块有相同的可区分类别数。教师模块需要在训练集上进行训练,学生模块不需要提前在训练集上进行训练。温度变化模块会使类别温度随着学生模块在测试集上的各个类别的测试结果而动态的变化。蒸馏损失函数计算模块共分为两个部分,一个是与真实标签进行损失函数计算的硬损失部分,另一个是与教师模块的输出进行损失函数计算的软损失部分。
首先将数据集同时投入到教师模块、学生模块,这时会得到两个原始输出,将这两个原始输出进行处理后并进行计算能够得到整体的损失函数,最后通过损失函数来对学生模块中的参数进行梯度求解、参数更新。在损失函数的计算过程中需要温度T对原始输出进行处理,在本发明中的温度T能够通过温度映射函数进行重新定义,之后再进行新一轮学生模块的训练。
在本实施例中,教师模块和学生模块均采用ResNet网络(残差神经网络),其中教师模块为ResNet50网络,学生模块为ResNet18网络;教师模块经过训练集训练收敛,设置成不可进行参数更新的模式;学生模块未训练,将其设置为可以进行反向传播更新参数的模式。
ResNet50的核心思想是通过引入残差块(residual block)来解决深度神经网络训练过程中的梯度消失和模型退化问题。该网络结构相对较深,共有50层,其中包含了多个残差块。ResNet18网络相对而言较浅,它只有18层,在深度学习中网络越深,神经网络的容积就越大,相对来说网络的能力也就越强。
步骤3:训练焊缝缺陷分类网络;初始化自适应蒸馏架构中的学生模块训练参数,基于训练集,对自适应蒸馏架构中的学生模块进行训练;
步骤3.1:将训练集投入到已经训练收敛的教师模块ResNet50以及未经过训练的学生模块ResNet18,得到两个输出向量 和/>,具体可表征如下:
其中,n为缺陷类别总数,i=1,2,3,…n,其中x i 表示输出向量X teacher 中的每个分量对应相应类别的得分,其中x’ i 表示输出向量X student 中的每个分量对应相应类别的得分,得分越高,这个图像归属于该类别的概率越大;
步骤3.2:计算损失函数中的软损失;
在原有的softmax函数的基础上,将教师模块输出中的分量x i ,x j 和学生模块输出中的分量x’ i 除以一个对应于该类别的温度t i ,可以得到经过温度软化处理后的新输出Zteacher与Zstudent;其中的计算过程可表征如下:
其中表示softmax函数,新输出为Zteacher和Zstudent,zi是软化处理过后的新输出Zteacher中的一个元素,z’i是软化处理过后的新输出Zstudent中的一个元素,i=1,2,3,...,n,可表征如下:
步骤3.2.2:在本实施例中我们使用KL散度来计算教师模块和学生模块之间的分布差异。最终可以得,可表征如下:
步骤3.3:我们使用交叉熵损失函数来计算学生模块的输出与真实标签Label之间的分布差异,最终可得到“硬”损失函数,可表征如下:
其中yi为真实标签Label中的一个元素,可表征为:
本发明中标签一共有7类,以裂纹缺陷为例,一张裂纹图像的真实标签为 (1,0,0,0,0,0,0)。
步骤3.4:计算总损失函数;
为了调控与/>对整体损失的贡献程度,我们将/>占总体损失的比例设置为0.3,将/>占总体损失的比例设置为0.7,具体表征为下:
;
步骤3.5:通过反向传播算法更新学生模块中的参数,表征为:
;
其中为学生模块中需要学习的参数,为控制模块参数学习幅度的学习率;
步骤4:使用测试集检验学生模块的分类效果;
将测试集投入到学生模块中ResNet18,得到输出向量,具体可表征如下:
;
其中 pi为输出向量Pstudent中的一个分量,i=1,2,3,…,n;将过softmax函数,使用softmax函数可以将模型的原始输出映射到概率分布,由此可以得到/>,之后使用max函数取出/>中的元素最大值,以该最大值的索引位置为1制作新的标签向量/>,例如,如果最后预测出一张缺陷图片为裂纹的概率最大时,可以得到为:
之后将真实标签Label与模型输出的预测标签之间做对比,如果真实标签与预测标签的“1”的处在相同的位置,我们就认为模型的预测是正确的。
获取各类别的F1评价指标;学生模块在测试集上的输出,可以得到模型在测试集数据上的混淆矩阵,可以通过混淆矩阵计算各个缺陷类别的AR(召回率)与AP(平均精度),最终得到各个类别的F1评价指标。
步骤5:构建温度变化模块;
将各个类别的F1评价指标数值当做温度映射函数的输入,以此得到接下来新一轮训练的各个类别温度,温度变化模块的运行频率可以依据迭代一定的训练集数据的数量而调整,映射函数表征如下:
由传统的经验可知,温度在3到7之间为较为合理的范围,所以在实验过程中设置温度映射函数的参数、/>、/>分别为10、3、4,映射函数如下:
由此可以得到测试集的类别F1指标到类别温度的映射函数,如图4所示。由此可以得到新的温度向量,/>的计算过程如下:
图4中是上述映射函数的函数曲线,这个映射函数由sigmoid函数平移和伸缩变换而来,一个F1评价指标对应一个类别温度,该函数的x轴为测试集上的F1评价指标,y轴为新的映射出的类别温度。
步骤6:获得焊缝缺陷分类结果;
经过一定迭代次数后,测试集输出的F1评价指标达到预期,得到相对准确的学生模块,否则继续迭代直到达到停止条件;
将原始未知缺陷图像进行预处理后投入到学生模块ResNet18中,得到输出分类结果。
如图6所示,混淆矩阵中的每个方格中的数值最大为1,最小为0,混淆矩阵中对角线上的数值越大、在除对角线以外的格子中数值越小代表模型的分类效果越好。由传统的经验可知,夹渣类别和气孔类别的特征差异并不明显,传统的模型对这两类缺陷的判定并不准确,经过改良的知识蒸馏模型能够大大缓解这一问题。在图6中的左边的混淆矩阵右下角中的夹渣类别和气孔类别的对角线上方格数值不大,以及非对角线上的数值较大,这就意味着经过传统知识蒸馏模型所得到的学生模块不太能分清夹渣类别和气孔类别。在使用了本发明中提出的可变温度知识蒸馏架构后得到的学生模块在对夹渣类别和气孔类别的分类效果方面有着大幅度的提高,右边的混淆矩阵右下角中的夹渣类别和气孔类别的对角线上数值得到了提高,非对角线上的数值有所降低,,这意味着模型能够有效地分类夹渣和气孔,这得益于蒸馏架构中对温度的灵活调节,也就是前文所说的相识类别之间的判定需要在整个模型的训练过程中得到更高的权重。
Claims (8)
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:温度软化处理;
知识蒸馏在进行软化的过程中每个类别都对应一个温度ti,温度T表征如下:
;
将教师模块输出中的分量x i , x j 和学生模块输出中的分量x’ i 除以一个对应于该类别的温度t i ,得到经过温度软化处理后的新输出Zteache与Zstudent,其中的计算过程表征如下:
;
其中表示softmax函数,新输出为Zteacher和Zstudent,zi是软化处理过后的新输出Zteacher中的一个元素,z’i是软化处理过后的新输出Zstudent中的一个元素,i=1,2,3,...,n,表征如下:
;
步骤3.2.2:软损失表征如下:
;
其中的表示计算教师模块和学生模块的分布差异;
步骤3.3:计算损失函数中的硬损失;
y i 为真实标签Label中的一个元素,真实标签表征为:
;
的计算表征为:
;
其中的表示计算学生模块的输出和真实标签之间的分布差异;
步骤3.4:计算总损失函数;
为了调控与/>对整体损失的贡献程度,设置比例系数/>来进行调控,/>取决于当前蒸馏架构中的类别温度,具体表征为下:
;
步骤3.5:通过反向传播算法更新学生模块中的参数,表征为:
;
其中为学生模块中需要学习的参数,/>为控制模块参数学习幅度的学习率;
步骤4:使用测试集检验学生模块的分类效果;
将测试集投入到学生模块中,得到输出向量,具体可表征如下:
;
其中 pi为输出向量Pstudent中的一个分量,i=1,2,3,…,n,将输出向量的标签与真实标签/>对比,获取各类别的评价指标;
步骤5:构建温度变化模块;
将各个类别的评价指标数值作为温度映射函数的输入,得到接下来新一轮学生模块训练的各个类别温度,温度变化模块的运行频率依据训练集数据迭代的数量而调整,映射函数表征如下:
;
其中x为将各个类别的评价指标数值,、/>、/>为温度映射函数的参数,由上述公式得到新温度/>:
;
步骤6:获得焊缝缺陷分类结果;
经过设定的迭代次数后,测试集输出的评价指标达到预期,得到训练好的学生模块,否则继续迭代步骤3-步骤5,直到达到停止条件。
2.根据权利要求1所述的一种基于可变类别温度蒸馏的焊缝缺陷分类方法,其特征在于,所述步骤1中的预处理具体为:每张原始缺陷焊缝图像会有一个缺陷的类别标签,人工标记焊缝中的各类缺陷,将各类缺陷的原始图像从焊缝图像中截出,并且将原始缺陷焊缝图像进行对比度、亮度的数字图像处理,然后将图像数据转换成tensor格式,得到数据集。
3.根据权利要求2所述的一种基于可变类别温度蒸馏的焊缝缺陷分类方法,其特征在于,按照8:2的比例划分数据集为训练集和测试集。
4.根据权利要求3所述的一种基于可变类别温度蒸馏的焊缝缺陷分类方法,其特征在于,所述教师模块和学生模块均采用ResNet网络,其中教师模块为ResNet50网络,学生模块为ResNet18网络。
5.根据权利要求4所述的一种基于可变类别温度蒸馏的焊缝缺陷分类方法,其特征在于,所述软损失中使用KL散度来计算教师模块和学生模块之间的分布差异。
6.根据权利要求5所述的一种基于可变类别温度蒸馏的焊缝缺陷分类方法,其特征在于,所述硬损失中使用交叉熵损失函数来计算学生模块的输出与真实标签之间的分布差异。
7.根据权利要求6所述的一种基于可变类别温度蒸馏的焊缝缺陷分类方法,其特征在于,所述焊缝缺陷包括裂纹、未融合、未焊透、内凹、咬边、夹渣、气孔。
8.根据权利要求7所述的一种基于可变类别温度蒸馏的焊缝缺陷分类方法,其特征在于,所述评价指标为F1评价指标,通过混淆矩阵计算各个缺陷类别的召回率与平均精度,最终得到各个类别的F1评价指标。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311561944.1A CN117274724B (zh) | 2023-11-22 | 2023-11-22 | 基于可变类别温度蒸馏的焊缝缺陷分类方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311561944.1A CN117274724B (zh) | 2023-11-22 | 2023-11-22 | 基于可变类别温度蒸馏的焊缝缺陷分类方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117274724A true CN117274724A (zh) | 2023-12-22 |
CN117274724B CN117274724B (zh) | 2024-02-13 |
Family
ID=89216410
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311561944.1A Active CN117274724B (zh) | 2023-11-22 | 2023-11-22 | 基于可变类别温度蒸馏的焊缝缺陷分类方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117274724B (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018107906A1 (zh) * | 2016-12-12 | 2018-06-21 | 腾讯科技(深圳)有限公司 | 一种训练分类模型的方法、数据分类的方法及装置 |
CN112116030A (zh) * | 2020-10-13 | 2020-12-22 | 浙江大学 | 一种基于向量标准化和知识蒸馏的图像分类方法 |
CN112487948A (zh) * | 2020-11-27 | 2021-03-12 | 华中师范大学 | 一种基于多空间融合的学习者学习过程的专注度感知方法 |
CN113610126A (zh) * | 2021-07-23 | 2021-11-05 | 武汉工程大学 | 基于多目标检测模型无标签的知识蒸馏方法及存储介质 |
CN114511532A (zh) * | 2022-01-28 | 2022-05-17 | 河北工业大学 | 基于特征引导的通道蒸馏的太阳能电池表面缺陷检测方法 |
US20220156593A1 (en) * | 2020-11-16 | 2022-05-19 | Salesforce.Com, Inc. | Systems and methods for video representation learning with a weak teacher |
CN115271063A (zh) * | 2022-07-07 | 2022-11-01 | 清华大学深圳国际研究生院 | 基于特征原型投影的类间相似性知识蒸馏方法与模型 |
CN115496213A (zh) * | 2022-08-23 | 2022-12-20 | 华中科技大学 | 一种基于结构特征知识的知识蒸馏方法及系统 |
CN115774851A (zh) * | 2023-02-10 | 2023-03-10 | 四川大学 | 基于分级知识蒸馏的曲轴内部缺陷检测方法及其检测系统 |
CN116468686A (zh) * | 2023-04-10 | 2023-07-21 | 安徽工业大学 | 一种基于软优化知识蒸馏的带钢表面缺陷识别方法 |
CN116681925A (zh) * | 2023-05-16 | 2023-09-01 | 昆明理工大学 | 一种基于自蒸馏二值神经网络的车辆分类方法 |
CN116912585A (zh) * | 2023-07-24 | 2023-10-20 | 河北工业大学 | 基于自监督学习和知识蒸馏的sar目标识别方法 |
-
2023
- 2023-11-22 CN CN202311561944.1A patent/CN117274724B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018107906A1 (zh) * | 2016-12-12 | 2018-06-21 | 腾讯科技(深圳)有限公司 | 一种训练分类模型的方法、数据分类的方法及装置 |
CN112116030A (zh) * | 2020-10-13 | 2020-12-22 | 浙江大学 | 一种基于向量标准化和知识蒸馏的图像分类方法 |
US20220156593A1 (en) * | 2020-11-16 | 2022-05-19 | Salesforce.Com, Inc. | Systems and methods for video representation learning with a weak teacher |
CN112487948A (zh) * | 2020-11-27 | 2021-03-12 | 华中师范大学 | 一种基于多空间融合的学习者学习过程的专注度感知方法 |
CN113610126A (zh) * | 2021-07-23 | 2021-11-05 | 武汉工程大学 | 基于多目标检测模型无标签的知识蒸馏方法及存储介质 |
CN114511532A (zh) * | 2022-01-28 | 2022-05-17 | 河北工业大学 | 基于特征引导的通道蒸馏的太阳能电池表面缺陷检测方法 |
CN115271063A (zh) * | 2022-07-07 | 2022-11-01 | 清华大学深圳国际研究生院 | 基于特征原型投影的类间相似性知识蒸馏方法与模型 |
CN115496213A (zh) * | 2022-08-23 | 2022-12-20 | 华中科技大学 | 一种基于结构特征知识的知识蒸馏方法及系统 |
CN115774851A (zh) * | 2023-02-10 | 2023-03-10 | 四川大学 | 基于分级知识蒸馏的曲轴内部缺陷检测方法及其检测系统 |
CN116468686A (zh) * | 2023-04-10 | 2023-07-21 | 安徽工业大学 | 一种基于软优化知识蒸馏的带钢表面缺陷识别方法 |
CN116681925A (zh) * | 2023-05-16 | 2023-09-01 | 昆明理工大学 | 一种基于自蒸馏二值神经网络的车辆分类方法 |
CN116912585A (zh) * | 2023-07-24 | 2023-10-20 | 河北工业大学 | 基于自监督学习和知识蒸馏的sar目标识别方法 |
Non-Patent Citations (5)
Title |
---|
JIA GUO 等: "Reducing the Teacher-Student Gap via Spherical Knowledge Disitllation", 《ARXIV》, pages 1 - 9 * |
JIALIN TIAN: "Structure-Aware Semantic-Aligned Network for Universal Cross-Domain Retrieval", 《SIGIR》, pages 278 - 289 * |
张凯兵 等: "基于双源自适应知识蒸馏的轻量化图像分类方法", 《西安工程大学学报》, vol. 37, no. 4, pages 82 - 91 * |
曲志昱 等: "基于知识蒸馏与注意力图的雷达信号识别方法", 《电子与信息学报》, vol. 44, no. 9, pages 3170 - 3177 * |
贲可荣: "基于自适应温度改进的可解释方法及实验验证", 《华中科技大学学报(自然科学版)》, vol. 50, no. 2, pages 124 - 129 * |
Also Published As
Publication number | Publication date |
---|---|
CN117274724B (zh) | 2024-02-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Yang et al. | Pipeline magnetic flux leakage image detection algorithm based on multiscale SSD network | |
Li et al. | A new lightweight deep neural network for surface scratch detection | |
CN112381787A (zh) | 一种基于迁移学习的钢板表面缺陷的分类方法 | |
CN110866536A (zh) | 一种基于PU learning的跨区域企业偷漏税识别方法 | |
CN111239137B (zh) | 基于迁移学习与自适应深度卷积神经网络的谷物质量检测方法 | |
CN113837238A (zh) | 一种基于自监督和自蒸馏的长尾图像识别方法 | |
JP2020004405A (ja) | 情報処理方法及び情報処理装置 | |
CN114372955A (zh) | 一种基于改进神经网络的铸件缺陷x射线图自动识别法 | |
CN113643268A (zh) | 基于深度学习的工业制品缺陷质检方法、装置及存储介质 | |
CN116580029B (zh) | 铝合金铸造成品的质检管控系统及其方法 | |
CN115393265A (zh) | 基于视觉域自适应学习的跨布匹瑕疵精准检测方法 | |
TW202117664A (zh) | 光學檢測二次圖像分類方法 | |
CN113962980A (zh) | 基于改进yolov5x的玻璃容器瑕疵检测方法及系统 | |
CN117274724B (zh) | 基于可变类别温度蒸馏的焊缝缺陷分类方法 | |
CN116883393B (zh) | 一种基于无锚框目标检测算法的金属表面缺陷检测方法 | |
CN117593243A (zh) | 可靠伪标签引导的压缩机外观自适应检测方法 | |
JP7123306B2 (ja) | 画像処理装置及び画像処理方法 | |
CN116912625A (zh) | 一种基于先验缺陷特征与sspcab注意力机制的数据增强方法 | |
CN107229944B (zh) | 基于认知信息粒子的半监督主动识别方法 | |
CN114818945A (zh) | 融入类别自适应度量学习的小样本图像分类方法及装置 | |
CN114627333A (zh) | 一种改进深度主动学习的锌浮选泡沫图像分类算法及系统 | |
CN110288592B (zh) | 一种基于概率语义分析模型的锌浮选加药状态评价的方法 | |
Monaco et al. | Simulation of waves propagation into composites thin shells by FEM methodologies for training of deep neural networks aimed at damage reconstruction | |
Lemghari et al. | Handling noisy annotations in deep supervised learning | |
CN111539306B (zh) | 基于激活表达可替换性的遥感图像建筑物识别方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |