一种基于多任务学习的工业缺陷检测方法与流程

文档序号:28098743发布日期:2021-12-22 08:48阅读:178来源:国知局
一种基于多任务学习的工业缺陷检测方法与流程

1.本发明涉及工业缺陷检测技术领域,尤其涉及一种基于多任务学习的工业缺陷检测方法。


背景技术:

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


技术实现要素:

5.(一)要解决的技术问题
6.本发明实施例提供一种基于多任务学习的工业缺陷检测方法,用以解决现有的传统的工业缺陷检测方法容易受到成像条件、缺陷与背景的差异小、图像对比度低、同一类型的缺陷尺度和外观变化大等因素干扰,导致检测效果不稳定,而无法达到实际使用要求的问题。
7.(二)发明内容
8.本发明实施例提供一种基于多任务学习的工业缺陷检测方法,其特征在于,包括以下步骤:
9.步骤一:采集待检测图片进行统一的预处理操作,分批输入分类模型;
10.步骤二:分类模型的基础网络输出图片对应的特征图像;
11.步骤三:在输出层,分别由两个分支(由全连接层和sigmoid激活层构成)处理步骤二得到的特征图像,输出图片属于ng图片的概率和图片属于各种缺陷的概率。
12.步骤四:综合考虑两个分支的输出值来判断待检测图片是否包含缺陷以及缺陷类别。通过ok/ng二分类分支判断是否为正常图片,如果不是正常图片,则选取multilabel分类分支输出的概率值中高于阈值的类别作为预测的缺陷类别,如果所有类别概率都低于阈值则选取概率值最高的类别作为缺陷类别。
13.多任务分类网络采用端到端的方式进行模型训练。训练过程中,根据预先设定损失函数计算网络输出的预测值和期望输出(真实值)之间的误差,再通过反传误差更新网络的权重

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

(1

p
t
)
γ
log(p
t
)
21.其中,(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]
第二,在学习两个相关联的任务时,通过合理设计的损失函数和训练方式,不同任务的学习过程可以起到相互促进的作用,从而提升模型的性能。
[0031]
第三,推理过程中,综合考虑两个分支的输出值来判断输入图片是否包含缺陷以及缺陷类别。通过ok/ng二分类分支判断是否为正常图片,如果不是正常图片,则选取multilabel缺陷分类分支的输出值中超过阈值的类别作为缺陷类别,如果所有缺陷类别都低于阈值则选取最大输出值对应的类别作为缺陷类别。
附图说明
[0032]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0033]
图1是本发明实施例中的一种基于多任务学习的工业缺陷检测方法的流程框图;
[0034]
图2是本发明实施例中的一种基于多任务学习的工业缺陷检测方法的模型训练流程图;
[0035]
图3是本发明实施例中的一种基于多任务学习的工业缺陷检测方法的模型测试流程图。
[0036]
图4是本发明实施例中的一种基于多任务学习的工业缺陷检测方法的光伏电池片工业缺陷检测数据集示例图片。
具体实施方式
[0037]
为了验证本实施例提供的方法的效果,本实施例在光伏电池片的工业数据上做了实验。该数据集包含ok图片和5种缺陷类别的图片,缺陷类别分别为破片、交叉隐裂、单条隐裂、虚焊和断栅,数据集按照4:1的数据比例划分为训练集和测试集,测试集中各类别图片数量如表1所示。各类别示例图片如图4所示,从图中可以看出,处理该实验数据主要存在以下难点:图片的背景比较复杂,背景纹理会干扰缺陷的判断;而某些缺陷的特征存在相似性,有些样本的类内差异会大于类间差异。此外,在实际工业场景中,异常样本的外观和背景变化大,缺陷的分辨率非常小,有些低频缺陷的数量难以收集,训练样本的数量非常少,这些干扰都会使模型训练变得困难。
[0038]
本实施例以seresnext50作为基础网络,对比了multilabel分类方法和本发明提出的基于多任务学习的分类方法,其中,6类别multilabel分类模型(训练类别为ok和5种缺
陷类别)和5类别multilabel分类模型(训练类别为5种缺陷类别,ok样本为不属于任何一种训练类别的负样本)分别记为model1和model2。实验中,训练、测试和评估的过程完全一致。测试结果见表1、表2和表3,关于评估方法,本实施例采用了漏报率、误报率和召回率为0.995时的准确率precision@(recall>=0.995)值作为评价标准。 precision@(recall>=0.995)表征了模型在极高召回率情况下模型的准确度,漏报率和误报率表征了模型判断图片是否存在缺陷的能力,从这两项指标都可以看出本发明提出的分类方法要优于multilabel分类方法。
[0039]
表1测试集各类别图片数量
[0040][0041]
表2对比实验结果
[0042][0043]
表3漏报率与误报率对比
[0044][0045]
综上所示,实验充分验证了本方案提供的基于多任务学习的工业缺陷检测方法的优点。
[0046]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可
以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1