CN116310519A - 一种半监督深度学习的表面缺陷分类方法 - Google Patents
一种半监督深度学习的表面缺陷分类方法 Download PDFInfo
- Publication number
- CN116310519A CN116310519A CN202310148239.2A CN202310148239A CN116310519A CN 116310519 A CN116310519 A CN 116310519A CN 202310148239 A CN202310148239 A CN 202310148239A CN 116310519 A CN116310519 A CN 116310519A
- Authority
- CN
- China
- Prior art keywords
- network
- training
- weight
- loss
- student network
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 38
- 230000007547 defect Effects 0.000 title claims abstract description 33
- 238000013135 deep learning Methods 0.000 title claims abstract description 19
- 238000012549 training Methods 0.000 claims abstract description 74
- 238000007781 pre-processing Methods 0.000 claims abstract description 8
- 238000012360 testing method Methods 0.000 claims abstract description 5
- 230000006870 function Effects 0.000 claims description 35
- 238000004364 calculation method Methods 0.000 claims description 22
- 238000011176 pooling Methods 0.000 claims description 21
- 230000000694 effects Effects 0.000 claims description 15
- 230000004913 activation Effects 0.000 claims description 12
- 238000012545 processing Methods 0.000 claims description 10
- 230000008569 process Effects 0.000 claims description 7
- 238000013528 artificial neural network Methods 0.000 claims description 6
- 238000013507 mapping Methods 0.000 claims description 6
- 238000005070 sampling Methods 0.000 claims description 6
- 230000003213 activating effect Effects 0.000 claims description 5
- 238000010606 normalization Methods 0.000 claims description 4
- 241000540325 Prays epsilon Species 0.000 claims description 3
- 238000006073 displacement reaction Methods 0.000 claims description 3
- 238000001914 filtration Methods 0.000 claims description 3
- 150000003839 salts Chemical class 0.000 claims description 3
- 235000002566 Capsicum Nutrition 0.000 claims description 2
- 239000006002 Pepper Substances 0.000 claims description 2
- 235000016761 Piper aduncum Nutrition 0.000 claims description 2
- 235000017804 Piper guineense Nutrition 0.000 claims description 2
- 244000203593 Piper nigrum Species 0.000 claims description 2
- 235000008184 Piper nigrum Nutrition 0.000 claims description 2
- 238000001514 detection method Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 101100460704 Aspergillus sp. (strain MF297-2) notI gene Proteins 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000001627 detrimental effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
Images
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/08—Learning methods
-
- 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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
- G06T7/0004—Industrial image inspection
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- 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)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Multimedia (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Quality & Reliability (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种半监督深度学习的表面缺陷分类方法,包括S1,从数据集的每一个类别都随机选取70%的数据作训练集,剩余的作为测试集;S2,对训练集进行离线数据增强,将训练集扩充3倍;S3,数据预处理;S4,从扩充训练集中随机抽取30%的标记样本,剩余的训练样本作为无标记样本;S5,构建并初始化学生网络f(θs_t);S6,构建并初始化教师网络f(θt_t);S7,迭代训练学生网络和教师网络的权重参数;S8,保存网络模型权重,将需要分类的表面缺陷图像进行预处理再输入学生网络;学生网络预测分类类别,完成分类。本发明不仅可以在只有少量标记样本条件下实现表面缺陷分类任务,还可以在类别不平衡数据集中完成分类任务,适用范围更广。
Description
技术领域
本发明属于自动缺陷检测技术领域,涉及一种半监督深度学习的表面缺陷分类方法。
背景技术
工业产品制造过程中工业产品不可避免会存在缺陷,比如可能存在印记、坑、油污和针孔等缺陷,这些缺陷一方面影响产品外观,一方面存在安全隐患。因此,在生产加工过程对工业产品表面进行缺陷检测十分必要。传统的基于图像处理的缺陷检测方法需要针对特定的问题人工设计特定的特征,再利用分类器或者规则进行分类,该方法要求苛刻的成像环境且适应性差。深度学习在图像分类领域展示了巨大的优越性,也是工业产品缺陷检测领域最具潜力的智能化方法。但目前流行的监督深度学习方法非常依赖大量的有标记样本,而在许多实际问题中往往无法提供大量带有标记的训练样本,同时实际样本数据也可能存在类别不平衡问题。
发明内容
为解决上述问题,本发明提供一种半监督深度学习的表面缺陷分类方法,包括以下步骤:
S1,从数据集的每一个类别都随机选取70%的数据作训练集,剩余的作为测试集;
S2,对训练集进行离线数据增强,将训练集扩充3倍;
S3,数据预处理;
S4,从扩充训练集中随机抽取30%的标记样本,剩余的训练样本作为无标记样本;
S5,构建并初始化学生网络f(θs_t);
S6,构建并初始化教师网络f(θt_t);
S7,迭代训练学生网络和教师网络的权重参数;
S8,保存网络模型权重,经过S7的迭代训练后,保存学生网络权重,然后将需要分类的表面缺陷图像进行预处理再输入学生网络;学生网络预测分类类别,完成分类。
优选地,所述S2中离线数据增强包括:均值滤波处理、添加高斯噪声和添加椒盐噪声。
优选地,所述S5中学生网络结构包括5个卷积层,其中,第一个卷积层其输入通道为3,输出通道为64,卷积核尺寸为3*3,步长为1,输入图片格式为224*224*3,经过第一个卷积层后的输出特征为222*222*64,然后在第一个卷积层后面添加注意力模块,接着是RELU激活函数以及过滤器参数为2*2,步长为2的最大池化层,经过最大池化操作后的特征维度大小是111*111*64;接着是第二个卷积层,其输入通道是64,输出通道是128,卷积核尺寸为3*3,步长为2,经过第二个卷积层后的特征图大小是55*55*128,在第二个卷积层后面添加注意力模块,然后是RELU激活函数以及滤波器参数为2*2,步长为2的最大池化层,经过最大池化操作后的特征维度大小是27*27*128;接着是第三个卷积层,其输入通道是128,输出通道是256,卷积核尺寸为3*3,步长为2,经过第三个卷积层后的特征图大小是13*13*256。然后在第三个卷积层后面是注意力模块,然后是RELU激活函数以及过滤器参数为2*2,步长为2的最大池化层,经过第三个卷积层后的特征图大小是6*6*256;接着是第四个卷积层,其输入通道是256,输出通道是1024,卷积核尺寸为1*1,步长为2,经过第四个卷积层后的特征图大小是3*3*1024,然后是RELU激活函数以及滤波器参数为2*2,步长为2的最大池化层,经过最大池化操作后的特征维度大小是1*1*1024;接着是第五个卷积层,其输入通道是1024,输出通道是分类图像的种类个数,最后接着softmax分类层,用于计算输出属于每一类的概率。
优选地,所述注意力模块的计算过程包括:
输入特征F1经过BN层后,其每个通道乘以一个权重Wi,然后被输入sigmoid()激活函数,最后得到输出特征Mc,
Mc=sigmoid(Wi(BN(F1))
其中,BN层的计算方式为:
其中,μB和σ2B分别表示输入特征的平均值和方差,ε是辅助参数,防止分母为0;γ是比例因子,β是位移因子,这两个参数的取值会随着网络训练更新优化;Bin为BN层的输入特征,Bout为BN层的输出特征;
权重Wi的计算方式为:
其中,n表示总通道数量,λi和λj分别表示第i个和第j个通道的比例因子,eλi为和eλj为对这两个比例因子进行指数化处理。
优选地,所述S5中学生网络的初始化包括:使用Xavier进行权值初始化,其中初始权值采用标准差为sqrt(2/(n_in+n_out)),均值为0的正态分布,其中n_in和n_out分别为每一层输入神经网络的数量和输出神经网络的数量。
优选地,所述S6中将学生网络的网络架构和权重参数复制一份作为教师网络。
优选地,所述S7中定义当前叙述的是t时刻的训练流程,包括以下步骤:
S71,采样标记数据X,对X进行弱增强处理,并采样无标记数据U,同时对其进行弱增强和强增强处理,得到两份无标记数据;
S72,计算监督损失:将经过弱増强数据扩充后的标记样本X输入到学生网络f(θs_t-1),其中,θs_t-1表示学生网络的权重参数,t-1表示当前网络的权重参数是t-1时刻学习到的;然后,利用学生网络f(θs_t-1)计算标记样本X的预测值px;最后采用CFL损失函数计算方法计算标记样本的预测px与其样本X对应的标签Y之间的距离作为监督损失;
S73,计算无监督损失:无标签样本U经过强增强数据扩充后输入到学生网络,学生网络f(θs_t-1)计算其预测值pu;同时,无标记样本U经过弱增强数据扩充后输入到教师网络f(θt_t-1),教师网络计算其预测值qu,θt_t-1表示教师网络的权值参数,然后进行学习效果预估和动态阈值计算;最后使用CFL损失函数计算学生网络的预测pu与伪标签qu的距离作为无监督损失loss_u;
S74,计算总损失:在获得了有监督损失值loss_x和无监督损失值loss_u后计算总损失:loss=loss_x+λuloss_u,其中,未标记损失权重λμ设置为1;
S75,更新网络权值:得到总损失后,反向传播计算学生网络权重梯度,然后,利用SGD优化器更新学生网络的权重,得的t时刻的学生网络权重f(θs_t),在更新学生网络权重后,利用t时刻学生网络权重更新教师网络权重f(θt_t-1),获得了t时刻的教师网络f(θt_t),到此,学生网络和教师网络都学习到了t时刻训练步骤的权重参数。
优选地,所述S73中学习效果预估包括以下步骤:
S731,对每个类别统计所有超过固定阈值的样本数量,将统计出的数量作为学习效果,公式为:
其中,σt(c)表示c类别在t时刻的学习效果,pm,t(y|un)表示网络对无标记样本un在t时刻的预测,N表示无标记样本的总数,σt(c)越大表示c类别的学习效果越好;
S732,进行归一化:σt(c)是对样本的一个计数,它的大小会随数据集变化,因此需要对其进行归一化使其范围在0到1之间,这里归一化分母num(c)是c类别的无标记样本的数量,每个类别的动态阈值考虑到每个类别的数量,解决类间样本数量不平衡问题带来的干扰;K是类别数量,用以保证动态阈值的下限不低于/>
S733,进行非线性映射,使得阈值有一个非线性增加曲线,公式为:
Tt(c)=M(βt(c))·τ
其中,M(x)是一个非线性映射凸函数,当βt(c)小于预设值时,该函数使阈值增长,并随着βt(c)的增大而变得更加敏感,置信阈值τ取值0.95。
优选地,所述S73中动态阈值计算包括:取教师网络预测结果qu中的最大值,如果其最大值超过βt(c),βt(c)表示当前时刻c类别的阈值,c类别为最大值所属的类别,那么认为该样本的预测结果和其真实标签是一致的,将保留这个样本参与无标签数据损失项的计算,否则,本次训练将抛弃该样本,不允许该样本参与当前步骤训练。
优选地,所述S73中CFL损失函数计算包括:
总体计算公式为:
CFL(p,y)=ξLhc+(1-ξ)Llc
其中,y表示真实类别,p∈[0,1]表示模型的预测概率,γ和γhc是可以调节的超参数,γhc设置为3,γlc设置为3,Lhc损失项关注高置信度的训练样本,Llc则关注低置信度的样本,并通过一个与epoch有关的超参数使网络在训练早期和快结束时期更加关注置信度高的训练样本的贡献,而在中期更加侧重置信度低的训练样本;
随训练epoch变化的参数:
其中,ei表示当前的训练epoch,en表示总的训练epoch次数,周期性因子fc≥1,fc设置为4。
本发明有益效果至少包括:提出的表面缺陷分类方法不仅可以在只有少量标记样本条件下实现表面缺陷分类任务,还可以在类别不平衡数据集中完成分类任务,适用范围更广。同时,本文方法适应性很强,可以根据实际数据集复杂程度选择卷积网络。
附图说明
图1为本发明半监督深度学习的表面缺陷分类方法的步骤流程图;
图2为本发明半监督深度学习的表面缺陷分类方法的迭代训练流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
相反,本发明涵盖任何由权利要求定义的在本发明的精髓和范围上做的替代、修改、等效方法以及方案。进一步,为了使公众对本发明有更好的了解,在下文对本发明的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本发明。
参见图1,为本发明实施例的本发明的技术方案为半监督深度学习的表面缺陷分类方法的示意图,包括以下步骤:
S1,从数据集的每一个类别都随机选取70%的数据作训练集,剩余的作为测试集;
S2,对训练集进行离线数据增强,将训练集扩充3倍;具体实施例中,分别经过如下三种数据增强方式:均值滤波处理、添加高斯噪声和添加椒盐噪声,再将这些增强后的数据样本放在一起,得到原有训练集3倍大的扩充训练集;
S3,数据预处理,将扩充训练集和测试集的数据都调整为224×224×3的统一格式;
S4,从扩充训练集中随机抽取30%的标记样本,剩余的训练样本作为无标记样本;定义标记训练数据集(X,Y),其中样本为X,对应的标记为Y,同时定义无标记训练集为U;
S5,构建并初始化学生网络f(θs t),其中,θs t表示学生网络的权重参数;学生网络结构包括5个卷积层,其中,第一个卷积层其输入通道为3,输出通道为64,卷积核尺寸为3*3,步长为1,输入图片格式为224*224*3,经过第一个卷积层后的输出特征为222*222*64,然后在第一个卷积层后面添加注意力模块,接着是RELU激活函数以及过滤器参数为2*2,步长为2的最大池化层,经过最大池化操作后的特征维度大小是111*111*64;接着是第二个卷积层,其输入通道是64,输出通道是128,卷积核尺寸为3*3,步长为2,经过第二个卷积层后的特征图大小是55*55*128,在第二个卷积层后面添加注意力模块,然后是RELU激活函数以及滤波器参数为2*2,步长为2的最大池化层,经过最大池化操作后的特征维度大小是27*27*128;接着是第三个卷积层,其输入通道是128,输出通道是256,卷积核尺寸为3*3,步长为2,经过第三个卷积层后的特征图大小是13*13*256。然后在第三个卷积层后面是注意力模块,然后是RELU激活函数以及过滤器参数为2*2,步长为2的最大池化层,经过第三个卷积层后的特征图大小是6*6*256;接着是第四个卷积层,其输入通道是256,输出通道是1024,卷积核尺寸为1*1,步长为2,经过第四个卷积层后的特征图大小是3*3*1024,然后是RELU激活函数以及滤波器参数为2*2,步长为2的最大池化层,经过最大池化操作后的特征维度大小是1*1*1024;接着是第五个卷积层,其输入通道是1024,输出通道是分类图像的种类个数,最后接着softmax分类层,用于计算输出属于每一类的概率。
注意力模块的计算过程包括:
输入特征F1经过BN层后,其每个通道乘以一个权重Wi,然后被输入sigmoid()激活函数,最后得到输出特征Mc,
Mc=sigmoid(Wi(BN(F1))
其中,BN层的计算方式为:
其中,μB和σ2B分别表示输入特征的平均值和方差,ε是辅助参数,防止分母为0;γ是比例因子,β是位移因子,这两个参数的取值会随着网络训练更新优化;Bin为BN层的输入特征,Bout为BN层的输出特征;BN(Batch Normalization)层为用在激活函数前,用来使上一层的输出,分布在均值为0,方差为1的情况下,也就是对下一层的输入做归一化的操作,这样就能够使它经过激活函数时能够有一定的梯度,从而避免值太大而进入饱和区,梯度就非常小了,不利于梯度下降。
权重Wi的计算方式为:
其中,n表示总通道数量,λi和λj分别表示第i个和第j个通道的比例因子,eλi为和eλj为对这两个比例因子进行指数化处理。
学生网络的初始化包括:使用Xavier进行权值初始化,其中初始权值采用标准差为sqrt(2/(n_in+n_out)),均值为0的正态分布,其中n_in和n_out分别为每一层输入神经网络的数量和输出神经网络的数量。
S6,构建并初始化教师网络f(θt_t),具体实施例中,将学生网络的网络架构和权重参数复制一份作为教师网络;
S7,迭代训练学生网络和教师网络的权重参数;
S8,保存网络模型权重,经过S7的迭代训练后,保存学生网络权重,然后将需要分类的表面缺陷图像进行预处理再输入学生网络;学生网络预测分类类别,完成分类。
具体实施例中,S7中定义当前叙述的是t时刻的训练流程,参见图2,包括以下步骤:
S71,采样标记数据X,对X进行弱增强处理,并采样无标记数据U,同时对其进行弱增强和强增强处理,得到两份无标记数据;其中,弱増强是将图片样本以50%的概率执行随机水平翻转或者随机裁剪操作。强增强则是对图像先随机调整图像亮度,再随机调整图像的对比度。
S72,计算监督损失:将经过弱増强数据扩充后的标记样本X输入到学生网络f(θs_t-1),其中,θs_t-1表示学生网络的权重参数,t-1表示当前网络的权重参数是t-1时刻学习到的;然后,利用学生网络f(θs_t-1)计算标记样本X的预测值px;最后采用CFL损失函数计算方法计算标记样本的预测px与其样本X对应的标签Y之间的距离作为监督损失;
S73,计算无监督损失:无标签样本U经过强增强数据扩充后输入到学生网络,学生网络f(θs_t-1)计算其预测值pu;同时,无标记样本U经过弱增强数据扩充后输入到教师网络f(θt_t-1),教师网络计算其预测值qu,θt_t-1表示教师网络的权值参数,然后进行学习效果预估和动态阈值计算;最后使用CFL损失函数计算学生网络的预测pu与伪标签qu的距离作为无监督损失loss_u;
具体实施例中,S73中学习效果预估包括以下步骤:
S731,对每个类别统计所有超过固定阈值的样本数量,将统计出的数量作为学习效果,公式为:
其中,σt(c)表示c类别在t时刻的学习效果,pm,t(y|un)表示网络对无标记样本un在t时刻的预测,N表示无标记样本的总数,σt(c)越大表示c类别的学习效果越好;
S732,进行归一化:σt(c)是对样本的一个计数,它的大小会随数据集变化,因此需要对其进行归一化使其范围在0到1之间,这里归一化分母num(c)是c类别的无标记样本的数量,每个类别的动态阈值考虑到每个类别的数量,解决类间样本数量不平衡问题带来的干扰;K是类别数量,用以保证动态阈值的下限不低于/>
S733,进行非线性映射,使得阈值有一个非线性增加曲线,公式为:
Tt(c)=M(βt(c))×τ
其中,M(x)是一个非线性映射凸函数,当βt(c)小于预设值时,该函数使阈值增长,并随着βt(c)的增大而变得更加敏感,置信阈值τ取值0.95。
S73中动态阈值计算包括:取教师网络预测结果qu中的最大值,如果其最大值超过βt(c),βt(c)表示当前时刻c类别的阈值,c类别为最大值所属的类别,那么认为该样本的预测结果和其真实标签是一致的,将保留这个样本参与无标签数据损失项的计算,否则,本次训练将抛弃该样本,不允许该样本参与当前步骤训练。
S73中CFL损失函数计算包括:
总体计算公式为:
CFL(p,y)=ξLhc+(1-ξ)Llc
其中,y表示真实类别,p∈[0,1]表示模型的预测概率,γ和γhc是可以调节的超参数,γhc设置为3,γlc设置为3,Lhc损失项关注高置信度的训练样本,Llc则关注低置信度的样本,并通过一个与epoch有关的超参数使网络在训练早期和快结束时期更加关注置信度高的训练样本的贡献,而在中期更加侧重置信度低的训练样本;
随训练epoch变化的参数:
其中,ei表示当前的训练epoch,en表示总的训练epoch次数,周期性因子fc≥1,fc设置为4。
S74,计算总损失:在获得了有监督损失值loss_x和无监督损失值loss_u后计算总损失:loss=loss_x+λuloss_u,其中,未标记损失权重λμ设置为1;
S75,更新网络权值:得到总损失后,反向传播计算学生网络权重梯度,然后,利用SGD优化器更新学生网络的权重,得的t时刻的学生网络权重f(θs_t),在更新学生网络权重后,利用t时刻学生网络权重更新教师网络权重f(θt_t-1),获得了t时刻的教师网络f(θt_t),到此,学生网络和教师网络都学习到了t时刻训练步骤的权重参数。
具体实施例中,教师网络训练步骤t时刻时的网络权重计算如下面公式所示:
θt_t=aθt_t-1+(1-a)θs_t
其中,a一个平滑系数的超参数,θt_t表示当前t时刻教师模型的权重,θt_t-1表示前一时刻教师模型的权重,θs_t表示当前t时刻学生模型的权重。
上述迭代训练中的一些参数设置如下:batch_size设置为32。最大训练周期设置为1024。使用动量为0.9的SGD优化器。迭代训练过程的学习率设置为如下公式:
上式中,η为初始学习率,设置为0.1;k为当前训练步骤,K为总的训练步骤次数。按照上式,学习率遵循余弦曲线有效地从η衰减到接近0。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种半监督深度学习的表面缺陷分类方法,其特征在于,包括以下步骤:
S1,从数据集的每一个类别都随机选取70%的数据作训练集,剩余的作为测试集;
S2,对训练集进行离线数据增强,将训练集扩充3倍;
S3,数据预处理;
S4,从扩充训练集中随机抽取30%的标记样本,剩余的训练样本作为无标记样本;
S5,构建并初始化学生网络f(θs_t);
S6,构建并初始化教师网络f(θt_t);
S7,迭代训练学生网络和教师网络的权重参数;
S8,保存网络模型权重,经过S7的迭代训练后,保存学生网络权重,然后将需要分类的表面缺陷图像进行预处理再输入学生网络;学生网络预测分类类别,完成分类。
2.根据权利要求1所述的一种半监督深度学习的表面缺陷分类方法,其特征在于,所述S2中离线数据增强包括:均值滤波处理、添加高斯噪声和添加椒盐噪声。
3.根据权利要求1所述的一种半监督深度学习的表面缺陷分类方法,其特征在于,所述S5中学生网络结构包括5个卷积层,其中,第一个卷积层其输入通道为3,输出通道为64,卷积核尺寸为3*3,步长为1,输入图片格式为224*224*3,经过第一个卷积层后的输出特征为222*222*64,然后在第一个卷积层后面添加注意力模块,接着是RELU激活函数以及过滤器参数为2*2,步长为2的最大池化层,经过最大池化操作后的特征维度大小是111*111*64;接着是第二个卷积层,其输入通道是64,输出通道是128,卷积核尺寸为3*3,步长为2,经过第二个卷积层后的特征图大小是55*55*128,在第二个卷积层后面添加注意力模块,然后是RELU激活函数以及滤波器参数为2*2,步长为2的最大池化层,经过最大池化操作后的特征维度大小是27*27*128;接着是第三个卷积层,其输入通道是128,输出通道是256,卷积核尺寸为3*3,步长为2,经过第三个卷积层后的特征图大小是13*13*256。然后在第三个卷积层后面是注意力模块,然后是RELU激活函数以及过滤器参数为2*2,步长为2的最大池化层,经过第三个卷积层后的特征图大小是6*6*256;接着是第四个卷积层,其输入通道是256,输出通道是1024,卷积核尺寸为1*1,步长为2,经过第四个卷积层后的特征图大小是3*3*1024,然后是RELU激活函数以及滤波器参数为2*2,步长为2的最大池化层,经过最大池化操作后的特征维度大小是1*1*1024;接着是第五个卷积层,其输入通道是1024,输出通道是分类图像的种类个数,最后接着softmax分类层,用于计算输出属于每一类的概率。
4.根据权利要求3所述的一种半监督深度学习的表面缺陷分类方法,其特征在于,所述注意力模块的计算过程包括:
输入特征F1经过BN层后,其每个通道乘以一个权重Wi,然后被输入sigmoid()激活函数,最后得到输出特征Mc,
Mc=sigmoid(Wi(BN(F1))
其中,BN层的计算方式为:
其中,μB和σ2B分别表示输入特征的平均值和方差,ε是辅助参数,防止分母为0;λ是比例因子,β是位移因子,这两个参数的取值会随着网络训练更新优化;Bin为BN层的输入特征,Bout为BN层的输出特征;
权重Wi的计算方式为:
其中,n表示总通道数量,λi和λj分别表示第i个和第j个通道的比例因子,eλi为和eλj为对这两个比例因子进行指数化处理。
5.根据权利要求4所述的一种半监督深度学习的表面缺陷分类方法,其特征在于,所述S5中学生网络的初始化包括:使用Xavier进行权值初始化,其中初始权值采用标准差为sqrt(2/(n_in+n_out)),均值为0的正态分布,其中n_in和n_out分别为每一层输入神经网络的数量和输出神经网络的数量。
6.根据权利要求5所述的一种半监督深度学习的表面缺陷分类方法,其特征在于,所述S6中将学生网络的网络架构和权重参数复制一份作为教师网络。
7.根据权利要求1所述的一种半监督深度学习的表面缺陷分类方法,其特征在于,所述S7中定义当前叙述的是t时刻的训练流程,包括以下步骤:
S71,采样标记数据X,对X进行弱增强处理,并采样无标记数据U,同时对其进行弱增强和强增强处理,得到两份无标记数据;
S72,计算监督损失:将经过弱増强数据扩充后的标记样本X输入到学生网络f(θs_t-1),其中,θs_t-1表示学生网络的权重参数,t-1表示当前网络的权重参数是t-1时刻学习到的;然后,利用学生网络f(θs_t-1)计算标记样本X的预测值px;最后采用CFL损失函数计算方法计算标记样本的预测px与其样本X对应的标签Y之间的距离作为监督损失;
S73,计算无监督损失:无标签样本U经过强增强数据扩充后输入到学生网络,学生网络f(θs_t-1)计算其预测值pu;同时,无标记样本U经过弱增强数据扩充后输入到教师网络f(θt_t-1),教师网络计算其预测值qu,θt_t-1表示教师网络的权值参数,然后进行学习效果预估和动态阈值计算;最后使用CFL损失函数计算学生网络的预测pu与伪标签qu的距离作为无监督损失loss_u;
S74,计算总损失:在获得了有监督损失值loss_x和无监督损失值loss_u后计算总损失:loss=loss_x+λuloss_u,其中,未标记损失权重λμ设置为1;
S75,更新网络权值:得到总损失后,反向传播计算学生网络权重梯度,然后,利用SGD优化器更新学生网络的权重,得的t时刻的学生网络权重f(θs_t),在更新学生网络权重后,利用t时刻学生网络权重更新教师网络权重f(θt_t-1),获得了t时刻的教师网络f(θt_t),到此,学生网络和教师网络都学习到了t时刻训练步骤的权重参数。
8.根据权利要求7所述的一种半监督深度学习的表面缺陷分类方法,其特征在于,所述S73中学习效果预估包括以下步骤:
S731,对每个类别统计所有超过固定阈值的样本数量,将统计出的数量作为学习效果,公式为:
其中,σt(c)表示c类别在t时刻的学习效果,pm,t(y|un)表示网络对无标记样本un在t时刻的预测,N表示无标记样本的总数,σt(c)越大表示c类别的学习效果越好;
S732,进行归一化:σt(c)是对样本的一个计数,它的大小会随数据集变化,因此需要对其进行归一化使其范围在0到1之间,这里归一化分母num(c)是c类别的无标记样本的数量,每个类别的动态阈值考虑到每个类别的数量,解决类间样本数量不平衡问题带来的干扰;K是类别数量,用以保证动态阈值的下限不低于/>
S733,进行非线性映射,使得阈值有一个非线性增加曲线,公式为:
Tt(c)=M(βt(c))×τ
其中,M(x)是一个非线性映射凸函数,当βt(c)小于预设值时,该函数使阈值增长,并随着βt(c)的增大而变得更加敏感,置信阈值τ取值0.95。
9.根据权利要求7所述的一种半监督深度学习的表面缺陷分类方法,其特征在于,所述S73中动态阈值计算包括:取教师网络预测结果qu中的最大值,如果其最大值超过βt(c),βt(c)表示当前时刻c类别的阈值,c类别为最大值所属的类别,那么认为该样本的预测结果和其真实标签是一致的,将保留这个样本参与无标签数据损失项的计算,否则,本次训练将抛弃该样本,不允许该样本参与当前步骤训练。
10.根据权利要求7所述的一种半监督深度学习的表面缺陷分类方法,其特征在于,所述S73中CFL损失函数计算包括:
总体计算公式为:
CFL(p,y)=ξLhc+(1-ξ)Llc
其中,y表示真实类别,p∈[0,1]表示模型的预测概率,γ和γhc是可以调节的超参数,γhc设置为3,γlc设置为3,Lhc损失项关注高置信度的训练样本,Llc则关注低置信度的样本,并通过一个与epoch有关的超参数使网络在训练早期和快结束时期更加关注置信度高的训练样本的贡献,而在中期更加侧重置信度低的训练样本;
随训练epoch变化的参数:
其中,ei表示当前的训练epoch,en表示总的训练epoch次数,周期性因子fc≥1,fc设置为4。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310148239.2A CN116310519A (zh) | 2023-02-22 | 2023-02-22 | 一种半监督深度学习的表面缺陷分类方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310148239.2A CN116310519A (zh) | 2023-02-22 | 2023-02-22 | 一种半监督深度学习的表面缺陷分类方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116310519A true CN116310519A (zh) | 2023-06-23 |
Family
ID=86831622
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310148239.2A Pending CN116310519A (zh) | 2023-02-22 | 2023-02-22 | 一种半监督深度学习的表面缺陷分类方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116310519A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116612120A (zh) * | 2023-07-20 | 2023-08-18 | 山东高速工程检测有限公司 | 一种针对数据不平衡的两阶段式道路缺陷检测方法 |
CN116862903A (zh) * | 2023-07-31 | 2023-10-10 | 梅卡曼德(北京)机器人科技有限公司 | 缺陷检测模型训练方法及装置、缺陷检测方法和电子设备 |
CN116883390A (zh) * | 2023-09-04 | 2023-10-13 | 合肥中科类脑智能技术有限公司 | 模糊抵抗性半监督缺陷检测方法、装置及存储介质 |
CN117291921A (zh) * | 2023-11-27 | 2023-12-26 | 哪吒港航智慧科技(上海)有限公司 | 集装箱偶发残损样本挖掘及学习方法、装置、设备、介质 |
-
2023
- 2023-02-22 CN CN202310148239.2A patent/CN116310519A/zh active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116612120A (zh) * | 2023-07-20 | 2023-08-18 | 山东高速工程检测有限公司 | 一种针对数据不平衡的两阶段式道路缺陷检测方法 |
CN116612120B (zh) * | 2023-07-20 | 2023-10-10 | 山东高速工程检测有限公司 | 一种针对数据不平衡的两阶段式道路缺陷检测方法 |
CN116862903A (zh) * | 2023-07-31 | 2023-10-10 | 梅卡曼德(北京)机器人科技有限公司 | 缺陷检测模型训练方法及装置、缺陷检测方法和电子设备 |
CN116883390A (zh) * | 2023-09-04 | 2023-10-13 | 合肥中科类脑智能技术有限公司 | 模糊抵抗性半监督缺陷检测方法、装置及存储介质 |
CN116883390B (zh) * | 2023-09-04 | 2023-11-21 | 合肥中科类脑智能技术有限公司 | 模糊抵抗性半监督缺陷检测方法、装置及存储介质 |
CN117291921A (zh) * | 2023-11-27 | 2023-12-26 | 哪吒港航智慧科技(上海)有限公司 | 集装箱偶发残损样本挖掘及学习方法、装置、设备、介质 |
CN117291921B (zh) * | 2023-11-27 | 2024-03-12 | 哪吒港航智慧科技(上海)有限公司 | 集装箱偶发残损样本挖掘及学习方法、装置、设备、介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116310519A (zh) | 一种半监督深度学习的表面缺陷分类方法 | |
CN111310862B (zh) | 复杂环境下基于图像增强的深度神经网络车牌定位方法 | |
US11631248B2 (en) | Video watermark identification method and apparatus, device, and storage medium | |
CN107316307B (zh) | 一种基于深度卷积神经网络的中医舌图像自动分割方法 | |
CN111126136B (zh) | 一种基于图像识别的烟雾浓度量化方法 | |
CN106803069B (zh) | 基于深度学习的人群高兴程度识别方法 | |
CN109101897A (zh) | 水下机器人的目标检测方法、系统及相关设备 | |
CN108491858A (zh) | 基于卷积神经网络的疲劳驾驶检测方法及系统 | |
CN111160249A (zh) | 基于跨尺度特征融合的光学遥感图像多类目标检测方法 | |
CN105718890A (zh) | 一种基于卷积神经网络的特定视频检测方法 | |
CN111145145B (zh) | 一种基于MobileNets的图像表面缺陷检测方法 | |
CN105718959B (zh) | 一种基于自编码的物体识别方法 | |
US11695898B2 (en) | Video processing using a spectral decomposition layer | |
CN111753918A (zh) | 一种基于对抗学习的去性别偏见的图像识别模型及应用 | |
CN110909672A (zh) | 一种基于双流卷积神经网络和svm的抽烟动作识别方法 | |
CN112883931A (zh) | 基于长短期记忆网络的实时真假运动判断方法 | |
CN110751670B (zh) | 一种基于融合的目标跟踪方法 | |
CN113538342A (zh) | 一种基于卷积神经网络的铝质气雾罐涂层质量检测方法 | |
CN112883930A (zh) | 基于全连接网络的实时真假运动判断方法 | |
CN116433909A (zh) | 基于相似度加权多教师网络模型的半监督图像语义分割方法 | |
CN115641575A (zh) | 一种基于稀疏候选框的叶蝉科农业害虫检测方法 | |
CN112541081B (zh) | 一种基于领域自适应的可迁移谣言检测方法 | |
CN116028803A (zh) | 一种基于敏感属性再平衡的去偏方法 | |
CN108615052A (zh) | 一种无同类训练样本情形下的图像识别方法 | |
Shang et al. | Real-time Accurate Object Counting for Smart Farms |
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 |