基于域适应的跨场景带钢表面缺陷检测方法

文档序号:29910317发布日期:2022-05-06 01:12阅读:136来源:国知局
基于域适应的跨场景带钢表面缺陷检测方法

1.本发明属于缺陷检测技术领域,具体是一种基于域适应的跨场景带钢表面缺陷检测方法。


背景技术:

2.带钢是航空航天、机械和汽车工业等行业的主要原材料,在国民经济的发展中有举足轻重的作用。在带钢的生产过程中,由于工厂环境、轧辊的滚动速度与带钢运行速度不一、钢坯材料等因素的影响,其表面不可避免会存在一些缺陷,如划痕、渐变、油污、山水画、油点和油污等。对于带钢缺陷检测的传统方法是人工测量和判断。但带钢检测结果受检测人员主观意愿、情绪、视觉疲劳等人为因素的影响,从而出现漏检,误检的情况。机器视觉的检测系统可以克服人工检测的缺点,从而使检测结果标准、可量化,提高整个生产系统的自动化程度;既节约了人力成本,也避免人为统计数据所带来的错误。
3.最近国内外众多学者将深度学习技术大量应用在带钢的表面缺陷检测中,其中郝用兴等人(郝用兴,庞永辉.基于densenet的带钢表面缺陷智能识别系统研究[j].河南科技,2021,40(03):11-14.)提出了一种以卷积神经网络(densenet)为核心的带钢缺陷检测方法,将带钢图像通过densenet提取的特征流经bn层送入分类器给出最终预测检测结果。该方法需要大量带有标签的训练数据,而数据的标注需要大量的人力物力成本。深度领域适应技术能够缓解深度学习模型对标签数据的依赖。深度领域适应方法是深度迁移学习的一个代表分支,其利用一个与待检测数据集相似的有标签数据集作为源域,待检测数据集作为目标域,目标域数据可以不需要标注。
[0004]
现有的域适应方法不能直接应用到带钢的表面缺陷检测当中,原因是现有的域适应方法利用对抗生成网络,通过让域鉴别器无法判断特征的来源,提取源域和目标域的领域不变特征,实现源域向目标域的知识迁移。但这种方法仅利用一次对抗网络提取源域和目标域图像的整体特征的方法,首先,在训练模型时,两域分布很难对齐,并且提取的特征偏向于源域,降低模型在目标域上的泛化能力。其次,容易导致图像中不同属性的特征相互混淆,降低深度视觉特征的表达能力和模型的泛化能力。
[0005]
在带钢的实际生产中,由于不同生产线上生产工艺、设备参数、和成像条件等因素的变化,导致不同生产场景中的生产条件发生改变。而利用某种生产场景下的带钢缺陷图像进行训练的缺陷检测模型,仅能在这种生产场景下有较高的检测效果,无法在其他生产场景中有较高的泛化效果。但获取不同生产场景的数据集并训练模型,将消耗大量的人力物力。跨场景的缺陷检测指利用不同场景中存在的共性知识与规律,解决由成像条件和背景纹理带来的数据偏移问题。


技术实现要素:

[0006]
针对现有技术的不足,本发明的拟解决的技术问题是,提供一种基于域适应的跨场景带钢表面缺陷检测方法。
[0007]
为实现上述目的,本发明采用的技术方案如下:
[0008]
一种基于域适应的跨场景带钢表面缺陷检测方法,其特征在于,该方法的具体步骤如下:
[0009]
步骤1、获取源域数据集和目标域数据集;
[0010]
步骤2、域适应模型的设计:域适应模型包括光照分布对齐模块、纹理特征提取器、像素级域判别器、特征级域判别器和分类器;光照分布对齐模块提取源域图像和目标域图像的像素级光照特征,并将之投影到光照特征子空间;其次,将光照分布对齐模块与像素级域鉴别器进行对抗训练以实现无参考像素级光照分布对齐;然后,利用纹理特征提取器和特征级域鉴别器进行对抗训练以实现纹理特征分布对齐;最后,通过设计的损失函数实现端到端的多级分布对齐,实现面向开放场景跨光照条件下的带钢缺陷识别;
[0011]
步骤3、域适应模型的训练;
[0012]
1)将源域图像和目标域图像调整为统一大小;
[0013]
2)源域数据集和目标域数据集同时输入域适应模型,经过光照分布对齐模块后分为两支,一支进入像素级域判别器,经像素级域判别器最后一层流出;另一支进入纹理特征提取器,并在纹理特征提取器后再分为两支,一支进入特征级域判别器,经领域判别器最后一层流出,另一支进入分类器,经分类器最后一层流出;
[0014]
3)源域数据集和目标域数据集在光照分布对齐模块的输出端通过总的光照校正损失函数计算光照校正损失,源域数据集在分类器输出端通过分类损失函数计算分类损失,源域数据集和目标域数据集同时也在像素级域判别器和特征级域判别器输出端分别计算二像素级域判别器的训练损失和特征级域判别器的训练损失;
[0015]
4)损失函数反向传播更新参数;
[0016]
5)重复步骤2)-4),直到总的损失函数收敛,域适应模型训练完成,得到预训练的缺陷检测模型,预训练的缺陷检测模型包括训练后的光照分布对齐模块、纹理特征提取器和分类器;
[0017]
步骤4、将预训练的缺陷检测模型进行保存并移植到带钢生产线上的检测系统中;
[0018]
步骤5、线上测试阶段;带钢生产过程中在线采集的图像输入到预训练的缺陷检测模型中进行缺陷检测。
[0019]
与现有技术相比,本发明的有益效果是:
[0020]
本发明方法最关键的是将无监督的深度领域适应模型应用于跨场景的带钢表面缺陷检测中,拥有深度学习技术高效的检测效果而又缓解了深度学习对标签数据的依赖性,在保证识别准确性及实时性的前提下,不需要大量的带有标签的训练数据,减少了人力成本,训练好的模型对目标域数据有更好的泛化能力,其性能远远优于传统机器视觉和一般的领域适应方法。
[0021]
本发明的深度领域适应模型包括五个部分:以深度卷积神经网络为基础的光照分布对齐模块和纹理特征提取器,以全连接层为基础的分类器、像素级域判别器和特征级域判别器。不同于其他深度领域模型的是,本发明中的无监督域适应模型结合了以光照分布和纹理分布对齐以实现源域和目标域的分布对齐。
[0022]
一方面,该模型在光照分布对齐模块后面接一个像素级域鉴别器并与纹理特征提取器并联,该像素级域判别器对输入的特征分布是来自于源域还是目标域进行一个二类判
别。光照分布对齐模块以尽可能迷惑像素级域判别器结果为准来更新参数,而像素级域判别器以尽可能正确判断特征来源为准更新参数,在如此博弈中,最终收敛结果就会是经过光照分布对齐模块的特征不能够被强大的像素级域判别器判断其来源,此时源域和目标域的图像光照分布一致。另一方面,该模型在纹理特征提取器后面接一个特征级域判别器并与分类器并联,该特征级域判别器对输入的特征分布是来自于源域还是目标域进行一个二类判别。纹理特征提取器以尽可能迷惑特征级域判别器结果为准来更新参数,而特征级域判别器以尽可能正确判断特征来源为准更新参数,在如此博弈中,最终收敛结果就会是经过纹理特征提取器的特征不能够被强大的特征级域判别器判断其来源,此时的特征就是域不变的。
[0023]
本发明在深度领域适应模型的设计中通过光照特征和纹理特征两种对齐方式实现源域和目标域的领域分布对齐,一方面加强了两域对齐的程度,另一方面能够使目标域的数据参与到分类器的训练当中,在目标域上的泛化能力强,提高表面缺陷的识别率。
附图说明
[0024]
图1为本发明的流程图。
具体实施方式
[0025]
下面将结合附图对本发明的实施例进行清楚、完整地描述。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。
[0026]
如图1所示,本发明为一种基于域适应的跨场景带钢表面缺陷检测方法(简称方法),该方法的具体步骤如下:
[0027]
步骤1、获取源域数据集和目标域数据集:源域数据集包含多张源域图像,目标域数据集包含多张目标域图像;源域图像带有标签,一般为从不同生产厂家或不同生产线上采集的缺陷图像;目标域图像为从生产线上采集的待检测图像,源域图像和目标域图像的数据结构相似且为具有共同标签空间的图像;
[0028]
步骤2、域适应模型的设计:域适应模型包括光照分布对齐模块、纹理特征提取器、像素级域判别器、特征级域判别器和分类器;光照分布对齐模块提取源域图像和目标域图像的像素级光照特征,并将之投影到光照特征子空间;其次,将光照分布对齐模块与像素级域鉴别器进行对抗训练以实现无参考像素级光照分布对齐;然后,利用纹理特征提取器和特征级域鉴别器进行对抗训练以实现纹理特征分布对齐;最后,通过设计的损失函数实现端到端的多级分布对齐,实现面向开放场景跨光照条件下的带钢缺陷识别。
[0029]
光照分布对齐模块包括卷积神经网络和多层映射函数,源域图像和目标域图像输入卷积神经网络)卷积神经网络的提取的图像光照特征。卷积神经网络包含6个卷积层,每个卷积层由8个大小为3*3、步长为1的卷积核构成,用于提取输入图像的光照特征;多层映射函数包含迭代8次的映射函数,通过映射函数将所有的光照特征投影到相同的光照子空间,分别得到光照分布相同的源域图像和目标域图像;映射函数的每次迭代以光照特征作为参数,调整映射函数的幅度和图像的曝光率,映射函数定义为:
[0030]
le(i;p)=p/2
×
i2+i-p/2
ꢀꢀꢀ
(1)
[0031]
式中,le(i;p)表示映射函数,p∈[-1,1]表示输入图像的参数,i∈[-1,1]表示输入图像;
[0032]
纹理特征提取器以vgg-16网络为基础,包括五组卷积运算,每组卷积运算由两个或三个卷积层、及跟在相应卷积层后的批量归一层和一个池化层组成,经过五组卷积运算后最终输出32倍下采样的512个通道的特征图;在特征提取过程中融入多尺度特征融合策略,该策略是在第三组和第四组卷积运算的输出特征图后分别加一条支路,对每条支路进行卷积操作和池化操作,加上vgg-16本身的第五组卷积运算的输出一共有三条支路,每条支路的最终输出特征图大小均为4*4,将三个支路的输出特征图进行拉伸操作,拉伸成一维向量再拼接在一起形成一个4*4*3的一维向量,该一维向量就是融合后的特征向量。vgg-16网络的所有的卷积核大小为3
×
3、步长为1,池化窗口大小为2*2,步长为2;第三组卷积运算后面的支路的卷积核大小为3*3,步长为2,池化窗口大小2*2,步长2;第四组后面的支路的卷积核大小3*3,步长为1,池化窗口大小2*2,步长2。
[0033]
域适应模型的总的光照校正损失函数包括主要调整图像光照的曝光损失函数l
exp
和三个约束性损失,分别为空间损失函数l
spa
,结构相似性损失函数l
str
和平滑度损失函数l
tua
;曝光损失函数l
exp
将源域和目标域图像投影到相同的光照子空间,空间损失函数l
spa
用于度量输入图像和输出图像在相邻局部区域的对比度差异,结构相似性损失函数l
str
用于度量输入图像和输出图像之间的结构信息,平滑度损失函数l
tua
用于度量输入图像和输出图像相邻像素之间的对比度;总的光照校正损失函数定义为:
[0034]
l
img
=l
spa
+λ1l
str
+λ2l
exp
+λ3l
tua
ꢀꢀꢀ
(2)
[0035]
式中,λ1,λ2,λ3均为平衡系数;
[0036]
空间损失函数为:
[0037][0038]
式中,k表示局部区域的总数量,ω(i)表示与第i个局部区域相邻的四个子区域,j表示第j个子区域,y表示输入图像局部区域的像素平均值,i表示输出图像局部区域的像素平均值,局部区域的大小设置为4
×
4;
[0039]
结构相似性损失函数为:
[0040][0041]
曝光损失函数为:
[0042][0043]
式中,m表示不重叠的局部区域,大小设置为16
×
16,y表示校正图像中的局部平均像素值;e表示图像的局部光照水平;
[0044]
平滑度损失函数为:
[0045]
[0046]
式中,n表示迭代次数,和分别表示图像水平和垂直方向的梯度变化;
[0047]
分类损失函数如下:
[0048]
lc=l(c(f(xs)),ys)
ꢀꢀꢀ
(7)
[0049]
式中,l为交叉熵损失函数,f为纹理特征提取器的映射函数,c为分类器的映射函数,xs表示源域样本,ys表示源域样本标签;
[0050]
域判别器的结构实际上是一个二分类器,只需要对输入的特征向量进行一个二类判别,为了简化训练步骤,用一个特征反转操作代替域判别器和特征提取器的参数交替更新,该操作能够让对抗判别在训练时完全变成一个端到端的常规二分类问题,因此像素级域判别器和特征级域判别器的损失函数分别为:
[0051][0052]
式中,xs,x
t
表示源域样本和目标域样本,ds,d
t
是源域的域标签和目标域的域标签,f为纹理特征提取器的映射函数,d为域判别器的映射函数;
[0053]
基于上述说明,域适应模型最终总的损失函数如下:
[0054]
l
total
=l
cls
+αl
adv
+βl
img
ꢀꢀꢀ
(9)
[0055]
其中,α,β为平衡参数,用于在学习过程中调整这两个量之间的权衡;
[0056]
域适应模型各个部分的参数更新规则如下:
[0057][0058]
其中,μ表示学习率,θm表示光照分布对齐模块的参数,θf表示纹理特征提取器的参数,θc表示分类器的参数,θ
dp
表示像素级域判别器的参数,θ
df
表示特征级域判别器的参数;ds、d
t
分别表示源域的域标签和目标域的域标签;在反向传播过程中,光照校正损失函数l
cls
负责更新光照分布对齐模块的参数;对抗性损失函数l
adv
负责更新光照分布对齐模块、纹理特征提取器、像素级域判别器和特征级域判别器的参数;分类损失函数lc用于更新光照分布对齐模块、纹理特征提取器和整个分类器的参数;方程(10)的更新可以通过随机梯度下降(sgd)来实现。
[0059]
步骤3、域适应模型的训练:
[0060]
1)对源域图像和目标域图像进行适当裁剪或缩放成统一大小,调整后的图像大小240*240,并制作成小批量n的以适应于域适应模型输入的数据格式;
[0061]
2)源域数据集和目标域数据集同时输入域适应模型,在前向传播阶段,源域图像以小批量n输入域适应模型中,经过光照分布对齐模块后分为两支,一支进入像素级域判别器,经像素级域判别器最后一层流出;另一支进入纹理特征提取器,并在纹理特征提取器后再分为两支,一支进入特征级域判别器,经领域判别器最后一层流出,另一支进入分类器,经分类器最后一层流出;
[0062]
3)源域数据集和目标域数据集在光照分布对齐模块的输出端通过总的光照校正损失函数l
img
计算光照校正损失,源域数据集在分类器输出端通过分类损失函数lc计算分类损失,源域数据集和目标域数据集同时也在像素级域判别器和特征级域判别器输出端分别计算二像素级域判别器的训练损失和特征级域判别器的训练损失;
[0063]
4)损失函数反向传播更新参数;总的损失函数如式(9)所示,其模型参数的更新规则如式(10)所示;
[0064]
5)重复步骤2)-4),当整个训练数据集都参与训练一遍,模型的训练就完成一个周期,循环训练直到总的损失函数收敛,模型训练完成。
[0065]
步骤4:模型训练完毕后保存,并移植到带钢生产线上检测系统的服务器中;用于生产线上的模型只需要训练好的光照分布对齐模块、纹理特征提取器和分类器,像素级域鉴别器和特征级域判别器只是用来训练模型的,在测试阶段需要去掉。
[0066]
步骤5:线上测试阶段。线上采集的图像输入步骤4移植的用于生产线上的模型检测,单张图像检测时间为0.2s,满足生产效率的要求。
[0067]
本实施例对带钢表面划痕、渐变、油污、山水画、油点和油污6种缺陷图像进行了实验,所有缺陷的识别率均在98%以上。实验中的相关参数设置如下:输入图片大小240*240像素,训练小批量(batchsize)大小为32,训练100周期,每个周期200个小批量,每个周期200个小批量是指源域数据集总样本数/小批量大小32=200,周期对应模型训练中设置的循环训练周期;总的训练步数n=(源域数据集总样本数/小批量大小32)*循环训练周期));学习率0.0001,总的训练步数n为100*200,公式(9)中的α,β分别取0.66,0.34。
[0068]
训练中参数的设置是和具体数据集有关的,比如循环训练周期是根据总的损失函数的收敛程度决定的,收敛早且快,那么周期数适当小一些,反之大一些,模型训练时根据经验设置较大的循环训练周期,使其能满足在循环训练周期内实现总的损失函数达到收敛的目的。训练小批量的大小,不宜过小。
[0069]
本发明未述及之处适用于现有技术。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1