一种基于多任务学习的工业缺陷检测方法技术

技术编号:31501421 阅读:18 留言:0更新日期:2021-12-22 23:18
本发明专利技术涉及工业缺陷检测技术领域,公开了一种基于多任务学习的工业缺陷检测方法,将缺陷分类任务细分为两个子任务,分别正常/异常(ok/ng)二分类问题(记为task1)、n种缺陷类别的multilabel分类问题(记为task2),构建基于卷积神经网络(CNN)的分类模型来解决该问题。分类模型由base model和head两部分组成。其中,base model负责提取输入图像的图像特征得到对应的特征图像,不同任务的base model采用hardsharing的连接方式共享网络权重。head为输出层,由base model引出两个分支,分别用于解决task1和task2;两个分支分别由全连接层和sigmod函数构成,输出ng类别的概率和n种缺陷的类别概率。该方法可缓解目前工业缺陷检测方法容易受到成像条件、缺陷与背景的差异小、图像对比度低、同一类型的缺陷尺度和外观变化大等干扰,导致检测效果不稳定的问题。导致检测效果不稳定的问题。导致检测效果不稳定的问题。

【技术实现步骤摘要】
一种基于多任务学习的工业缺陷检测方法


[0001]本专利技术涉及工业缺陷检测
,尤其涉及一种基于多任务学习的工业缺陷检测方法。

技术介绍

[0002]工业缺陷检测,是一种通过机器视觉算法来自动识别工业相机拍摄的图像中的瑕疵部位的技术。具体而言,工业缺陷检测需要判断图像中是否存在缺陷并识别缺陷的种类,进而分析得出工业产品的瑕疵程度。该技术可广泛应用于各个工业领域中,以代替人工检测,提高产品生产效率、检测精度及稳定性。
[0003]传统的基于机器视觉的工业缺陷检测方法,一般需要根据检测物体表面反射性质选择合适的成像方案(如明场成像、暗场成像和混合成像等),从而获得光照均匀的图像,以突出物体表面的缺陷,再采用图像处理算法或人工设计特征加分类器的方式来识别图像中是否存在缺陷。但在真实的工业环境下,成像条件复杂多变,带来图像噪声大、亮度变化等问题,此外,还面临缺陷与背景的差异小、图像对比度低、同一类型的缺陷尺度和外观变化大等挑战,传统的检测方法容易受到上述因素的干扰,导致检测效果不稳定,而无法达到实际使用要求。
[0004]近年来,卷积神经网络(Convolutional Neural Network,CNN)由于其强大的特征表达能力(可克服缺陷背景、颜色、纹理、形状等方面变化带来的干扰),在工业检测场景中,得到了广泛的应用。基于CNN分类器的工业缺陷检测问题可建模为异常图像分类问题,该问题的目标为:识别图片是正常(ok)图片还是异常(ng)图片,并判断ng图片的类别。由于一张图像中可能存在多个缺陷,因而可以通过多标签(multilabel)分类模型来解决该问题。工业缺陷检测场景下的异常图片分类问题与一般的multilabel 图像分类问题的区别在于:1)工业缺陷检问题中的样本类别非常不平衡,正常样本的数量要远高于异常样本;2)在multilabel分类问题中,一张图片可包含任意数目的任意类别的标签,而工业缺陷检测的特殊性在于:一张图片可以存在多种缺陷类别,但如果存在缺陷则该图片的类别一定不属于正常图片;3)工业缺陷检测场景中的模型评价标注也不同于一般的分类问题,该场景下模型区分正常和异常样本的能力的重要性要远高于模型区分不同类别异常样本的能力;此外,该场景要求模型在极低的漏报率的情况下能尽可能的压低误报,即要求模型有极高的召回率。直接将 multilabel分类模型用于该场景存在的问题是,如果将ok样本作为训练类别的一类,multilabel分类问题的特点是各个类别是不互斥的,而工业缺陷检测问题的特殊性在于,ok类别与其他类别是互斥的。而如果将ok样本作为不属于任何一种训练类别的负样本,由于工业缺陷检测问题中ok样本要远多于异常样本,则会导致负样本的数量远高于正样本,这会影响 CNN模型的训练和收敛。

技术实现思路

[0005](一)要解决的技术问题
[0006]本专利技术实施例提供一种基于多任务学习的工业缺陷检测方法,用以解决现有的传统的工业缺陷检测方法容易受到成像条件、缺陷与背景的差异小、图像对比度低、同一类型的缺陷尺度和外观变化大等因素干扰,导致检测效果不稳定,而无法达到实际使用要求的问题。
[0007](二)
技术实现思路

[0008]本专利技术实施例提供一种基于多任务学习的工业缺陷检测方法,其特征在于,包括以下步骤:
[0009]步骤一:采集待检测图片进行统一的预处理操作,分批输入分类模型;
[0010]步骤二:分类模型的基础网络输出图片对应的特征图像;
[0011]步骤三:在输出层,分别由两个分支(由全连接层和sigmoid激活层构成)处理步骤二得到的特征图像,输出图片属于ng图片的概率和图片属于各种缺陷的概率。
[0012]步骤四:综合考虑两个分支的输出值来判断待检测图片是否包含缺陷以及缺陷类别。通过ok/ng二分类分支判断是否为正常图片,如果不是正常图片,则选取multilabel分类分支输出的概率值中高于阈值的类别作为预测的缺陷类别,如果所有类别概率都低于阈值则选取概率值最高的类别作为缺陷类别。
[0013]多任务分类网络采用端到端的方式进行模型训练。训练过程中,根据预先设定损失函数计算网络输出的预测值和期望输出(真实值)之间的误差,再通过反传误差更新网络的权重

具体包括以下步骤:
[0014]步骤1)设定初始化网络参数、最大迭代次数,初始学习率等参数;
[0015]步骤2)对正常样本进行欠采样,异常样本进行过采样;
[0016]步骤3)随机采样每个批次的样本,对每个样本进行统一的预处理,将预处理后的样本作为网络的前向输入;
[0017]步骤4)计算每个样本的网络输出,并结合样本的真实值计算损失值,反向回传损失,更新网络权重;
[0018]步骤5)判断损失值是否达到目标值或是否达到最大迭代次数,若达到则保存模型并计算个类别分类阈值;若未达到则返回执行步骤 3)。
[0019]模型训练过程中,选取FL(p
t
)损失函数为作为两个分类任务的损失函数,
[0020]FL(p
t
)=

(1

p
t
)
γ
log(p
t
)
[0021]其中,(1

p
t
)
γ
相当于交叉熵损失的调制因子,γ≥0为focusing超参数,p
t
为模型的预测概率,具体定义如下:
[0022][0023]其中,y∈{

1,1}为输入图片的真实类别,p∈[0,1]为模型预测值,表示输入图片属于该类别(y=1)的概率。
[0024]整体的损失函数定义为:两个任务的loss的加权和,权重都为1,具体公式如下:
[0025]L=L1+L2;
[0026]其中,L1和L2分别为task1和task2的FL(pt)损失函数值。
[0027](三)有益效果
[0028]本专利技术实施例提供的一种基于多任务学习的工业缺陷检测方法,将缺陷分类任务
分解为两个子任务,通过训练CNN分类模型来同时解决两个任务。考虑到工业缺陷检测问题的特殊性,即正常类别和缺陷类别互斥、重视模型区分ok和ng样本的能力,本专利技术在通常的缺陷分类任务外,增加了一个子任务为ok/ng二分类问题来解决该问题。具体而言,将工业缺陷检测任务分解为以下两个子任务:一个是判断图片是否是为正常图片,另一个是判断图片的缺陷类别。此方法具有以下有益效果:
[0029]第一,本专利技术设计了基于多任务学习的CNN分类模型框架来解决工业缺陷检测问题,模型的训练过程需要对多个任务之间的共同信息进行建模,通过联合任务学习可获得比multilabel分类模型更好的分类精度和泛化性能。
[0030]第二,在学习两个相关联的任务时,通过合理设计的损失函数和训练方式,不同任务的学习过程可以起到相互促进的作本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于多任务学习的工业缺陷检测方法,包括以下步骤:步骤一:采集待检测图片进行统一的预处理操作,分批输入分类模型;步骤二:分类模型的基础网络输出图片对应的特征图像;步骤三:在输出层,分别由两个分支处理步骤二得到的特征图像,其中,两个分支分别为全连接层和sigmoid激活层,输出图片属于ng图片的概率和图片属于各种缺陷的概率。步骤四:综合考虑两个分支的输出值来判断待检测图片是否包含缺陷以及缺陷类别。通过ok/ng二分类分支判断是否为正常图片,如果不是正常图片,则选取multilabel分类分支输出的概率值中高于阈值的类别作为预测的缺陷类别,如果所有类别概率都低于阈值则选取概率值最高的类别作为缺陷类别。2.根据权利要求1所述的一种基于多任务学习的工业缺陷检测方法,其特征在于:所述步骤中的分类模型采用端到端的方式进行训练,即根据预先设定损失函数计算网络预测值和期望值之间的误差,通过反传误差更新网络权重来得到最优模型,具体包括以下步骤:步骤1)设定初始化网络参数、最大迭代次数,初始学习率等参数;步骤2)对正常样本进行欠采样,异常样本进行过采样;步骤3)随机采样每个批次的样本,对每个样本进行统一的预处理,将预处理后的样本作为网络的前向输入;步骤4)计算每个样本的网络输出,并结合样本的真实值计算损失值,反向回传损失,更新网络权重;步骤5)判断损失值...

【专利技术属性】
技术研发人员:李煜罗长志
申请(专利权)人:聚时科技上海有限公司
类型:发明
国别省市:

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

1