基于多尺度卷积和三线性全局注意力的表面缺陷检测方法与流程

文档序号:24189995发布日期:2021-03-09 14:48阅读:126来源:国知局
基于多尺度卷积和三线性全局注意力的表面缺陷检测方法与流程

1.本发明涉及工业缺陷检测领域,尤其涉及一种基于多尺度卷积和三线性全局注意力的 表面缺陷检测方法,在保证不降低模型性能的前提下,显著地减少样本标注成本,致力于 从弱监督学习标签中得到有效的缺陷物体的位置信息和形状信息。


背景技术:

2.在工业化过程中,由于不可抗拒的影响因素,工业器件表面可能出现缺陷,因此,表 面缺陷检测是保证生产质量的一项基本任务,通常都是人工筛选,需要对工人花费大量时 间进行培训。而这种方法效率低下、主观性强、限制产品的生产效率。通常,传统的缺陷 异常检测方法遵循相同的流程,针对特定的问题领域人工对图像特征进行设计并提取,但 由于缺陷的多种多样,上述的传统机器视觉方法很难对缺陷特征完整的建模迁移,复用性 不大,浪费大量的时间和人力成本。
3.而近年来,随着深度学习技术的复兴,许多优秀的卷积神经网络模型在过去几年中陆 续出现。深度学习在特征提取和检测分类上取得了非常好的结果,越来越多的学者和工程 人员开始将深度学习算法引入到缺陷检测领域中。与经典的机器学习方法相比,深度学习 算法能自动学习并挖掘出图像数据中具有代表性的特征,并已在表面缺陷控制中取得较高 的准确率。
4.但是已有的大多数深度学习方法具有一定的局限性:第一,多数深度学习的方法是一 种数据驱动的技术,往往需要大量的标注样本数据才能发挥作用。这是因为深度学习方法 为了保证得到的模型具有较好的性能,对数据集有所要求:一是用于训练和测试的数据集 要保持不同类别下的样本数据相差不大,满足独立同分布条件;二是要求训练样本数据集 要足够大,但在工业表面缺陷检测中这两个条件很难满足,采集和标记缺陷图像的成本较 高,而这导致采集到的缺陷图像数量非常有限,达不到现有神经网络方法训练的要求。 第二,目前基于深度学习的缺陷检测方法通常使用强监督的学习策略,如额外的物体边界 框或像素级标签来预测缺陷的位置,算法的效果在一定程度上取决于所提供的样本数量和 标注的质量。第三,现有的缺陷检测中,仅利用到了最深层的特征进行预测,并没有融合 浅层特征;第四,现有的缺陷检测往往都是在纹理背景重复性高的布匹图像上实验,并没 有在实际的工业图像中进行实验,从而忽略了工业图像中缺陷尺寸差异大、工业环境背景 复杂缺陷微小的问题,所以在工业应用中,往往是无法满足实际应用中的需要。


技术实现要素:

5.本发明提供了一种基于多尺度卷积和三线性全局注意力的表面缺陷检测方法,本发明 针对上述所提出的局限性,提出了一种弱监督的神经网络架构,在保证不降低模型性能的 前提下,显著的减少了样本的标注成本,能够较为精准的实现缺陷的自动检测,详见下文 描述:
6.一种基于多尺度卷积和三线性全局注意力的表面缺陷检测方法,所述方法包括以
下步 骤:
7.特征融合网络模块通过对原图经过两次下采样的操作分别得到浅层特征和深层特征, 之后对浅层和深层的特征映射合并,得到融合后的主干特征,解决网络下采样造成的信息 丢失的问题;
8.编解码网络模块中编码模块对主干特征进行卷积和池化操作,提取到图像在不同尺度 下的浅层特征图;在解码模块中会进行一系列上采样和卷积操作来获取深层特征图;中间 通过拼接操作将的浅层特征图同深层特征图融合在一起,共进行四次拼接操作;
9.三线性全局注意力模块共分为两个分支,第一个分支对浅层特征图通过线性操作转为 浅层注意力图,第二个分支对深层特征图获取其深层的特征权重,通过乘法操作将深层的 特征权重加权到浅层特征图上;
10.决策网络模块中使用全局平均池化和全局最大池化对解码模块的输出特征图进行处 理,并将结果拼接在一起,通过sigmoid激活函数输出表面缺陷图像存在缺陷的概率。
11.其中,所述特征融合网络模块包括:多尺度感受野模块,通过模拟人类视觉的感受野 从而增强其特征提取能力;
12.多尺度感受野卷积的左侧分支:使用1*1的卷积进行通道特征降维,修正非线性激活 函数relu,提高卷积神经网络的局部感知区域,采用不同尺寸卷积核的卷积层构成多分支 并行结构,增加感受野大小,并将不同尺寸的卷积层输出进行拼接;
13.多尺度感受野卷积的右侧分支:使用残差结构,将左侧与右侧的输出按预设比例求和。
14.进一步地,所述三线性全局注意力模块用深层的语义信息指导浅层的特征,并对浅层 特征进行注意力操作,将浅层的卷积特征图转为注意力图;
15.所述三线性全局注意力模块分为两个分支,第一分支中,浅层输入卷积特征图 (c
×
h
×
w)之后对其进行reshape操作使其为x
l
(c
×
hw),进行转置操作生成代 表浅层特征中各个通道之间的关系,将上述通道关系图与之前的特征图x再做一次整合即 操作,再经过reshape操作后,便可得到浅层特征注意力图;
16.第二分支中,深层输入卷积特征图x
h
经过压缩阶段,对空间维度上进行特征压缩, 之后进行激励阶段对特征通道进行建模其相关性,经过上述两次全连接的操作以及激活函 数的操作便可得到深层特征的注意力图,如下式所示:
17.attention(h)=σ(f2(δ(f1(x
h
))))
18.式中σ表示relu激活函数;δ表示sigmoid激活函数;
19.将深层特征的权重值通过乘法逐通道加权到已被增强的浅层特征图上。
20.本发明提供的技术方案的有益效果是:
21.1、考虑到在真实的工业生产环境中,缺陷图像采集成本非常高且标注数据较少的情 况下,本发明能够很好的适应少量的训练样本且标注成本较低,并使用批处理数据均衡策 略,减轻样本数据不均衡的问题;
22.2、考虑到现有的基于深度学习的缺陷检测通过使用强监督的学习策略,如额外的物 体边界框或像素级标签来预测缺陷的位置,本发明只使用图像级类别标注信息,无需使用 预先训练的权重,也不需要对图像数据增强操作,仅50%的缺陷图像实现精准的表面缺
陷 图像检测;
23.3、本发明设计的用于小数据量的弱监督学习下的深度卷积神经网络架构,其结合了 多尺度感受野的卷积模块和三线性全局注意力机制,有效增强了缺陷图像中像素点之间的 差异,使得网络对图像中有判别性区域有较强的响应;
24.4、本发明在预测上,对表面缺陷进行了可视化的输出描述,使用图像级别类别标注 标签进行训练,可输出缺陷潜在位置的灰度图,用作分类结果的可视化解释。
附图说明
25.图1为弱监督网络模型的架构示意图;
26.图2为多尺度感受野卷积模块结构示意图;
27.图3为特征融合网络结构示意图;
28.图4为三线性全局注意力结构示意图;
29.图5为kolektorsdd表面缺陷数据集图像示意图;
30.图6为图像缺陷潜在位置可视化结果图;
[0031][0032]
图7为模型单张图片分类精度的检测时间示意图。
具体实施方式
[0033]
为使本发明的目的、技术方案和优点更加清楚,下面对本发明实施方式作进一步地详 细描述。
[0034]
为了解决背景技术中存在的技术问题,本发明聚焦于小数据的弱监督的注意力网络。 一方面为了缓解数据集不足的问题,对编解码网络进行改进,使网络适用于逐像素的缺陷 定位任务,并提出多尺度感受野模块和三线性全局注意力模块,从图像级分类任务变为像 素级分类任务,且逐像素的定位结果可辅助最终的分类结果,也可用于分类结果的可视化 解释。另一方面,为了减少对标注数据的依赖,训练过程仅使用图像级别标签,标注成本 低,易于获取。但由于弱监督标签并不含有精准的位置信息,因此,本发明实施例主要致 力于如何从弱监督学习中得到有效的缺陷物体的位置信息和形状信息。
[0035]
实施例1
[0036]
本发明实施例描述了一种基于多尺度卷积和三线性全局注意力的表面缺陷检测方法, 如图1所示。
[0037]
整个网络由四个部分组成:特征融合网络模块、编解码网络模块、三线性全局注意力 模块以及最后的决策模块组成。其中第一特征融合网络模块将浅层和深层特征进行融合, 为编解码模块提供多层次的语义信息,其具有很强的捕捉局部细粒度特征的能力;第二编 解码网络模块复用卷积后相应尺度的特征实现语义信息的恢复;第三三线性全局注意力模 块通过自适应学习的方法来获取每个特征通道的重要程度,学习特征之间的相关性,根据 重要程度提升有用的特征并抑制对当前任务用处不大的特征。第四决策模块将全局平均池 化和全局最大池化提取的特征结果拼接在一起,并通过sigmoid激活函数输出表面缺陷图 像存在缺陷的概率。
[0038]
1、特征融合网络模块
[0039]
在第一特征融合网络模块中,针对缺陷图像中缺陷尺寸差异大的问题,例如有的缺陷 占了图片的小部分,而有的缺陷占了图片中的大部分位置,因此特征融合网络模块需要具 有较强的捕捉局部细粒度特征的能力,本发明实施例提出了一种新的多尺度感受野模块。 通过模拟人类视觉的感受野从而增强其特征提取能力,如图2所示。
[0040]
其具体实现过程如下:图2左侧部分首先使用1*1的卷积进行通道特征降维,其不仅 可以减少通道的维度数从而降低计算量,还可以修正非线性激活函数relu,提高了卷积神 经网络的局部感知区域,采用不同尺寸卷积核的卷积层构成多分支并行结构,增加感受野 大小,并将不同尺寸的卷积层输出进行拼接,通过融合不同的特征极大丰富了语义信息。 图2右侧使用残差结构,其可以很好的提高网络的性能,加速网络训练,最后将左侧与右 侧的输出按一定比例求和。
[0041]
另一方面,为了给编解码网络模块提供多层次的语义信息,将浅层和深层特征进行融 合,特征融合模块的结构细节如图3所示。输入图像经过两层卷积和一层最大池化得到 feature level1,具体操作如下:利用3*3的卷积核(步长为1)来捕获高分辨率图像中的小目 标缺陷,在每个卷积层后都加入了归一化和非线性激活函数relu,池化层采用2*2的内核, 其可以起到减少计算量以及图像分辨率,捕获图像局部信息差异变化的作用。之后featurelevel1经过多尺度卷积模块和最大池化得到feature level2,由于feature level1和featurelevel2为两个不同尺度的特征映射,因此在拼接操作之前需要采用一次上采样操作将 feature level1和feature level2缩放到同一尺度。
[0042]
2、编解码网络模块
[0043]
在第二编解码网络模块中,对传统的u型结构进行了改进,使其更轻量更准确,具体 操作如下:在编码网络中对特征融合网络生成的特征进行一系列的卷积池化操作,每一 个卷积块操作由两个3*3卷积以及一个2*2的最大池化层所构成,其中在每个卷积后面会 紧跟非线性激活函数relu,共进行四次下采样的操作,在下采样操作中图像的空间分辨率 逐渐减少,特征维度逐渐增大,编码网络层次式学习到目标特征,编码网络中学到的特征 中浅层特征具有更多的空间信息,包含边缘和位置信息,而深层特征包含更多的语义类别 信息。在编码网络的最后一个卷积层加入三线性全局注意力模块,对特征进行压缩激活处 理提高对有效特征的利用能力,之后再将特征送入解码网络中。
[0044]
解码网络采用了与u-net相似的跳跃连接方式,对编码网络学习的特征进行空间分辨 率的恢复,特征经过解码网络的上采样操作之后会与编码网络对应维度的特征进行拼接操 作,重复这个过程从而形成一个u型结构。该结构使得解码器能够学习到在编码器中丢 失的相关特征,并弥补解码过程中损失的空间信息等,之后再添加两个3*3的卷积层,增 强解码器的学习能力,使其学习到图像中具有判别性区域的特征。
[0045]
3、三线性全局注意力模块
[0046]
在第三三线性全局注意力模块中,针对之前的注意力机制工作中存在以下:计算量大、 未充分利用全局上下文信息,需手动设计pooling等复杂操作的问题,本发明实施例提出 了一种三线性全局注意力模块,如图4所示。核心思想是用深层的语义信息来指导浅层的 特征,并对浅层特征也进行了注意力操作,将浅层的卷积特征图转为注意力图。
[0047]
其中,三线性全局注意力模块分为两个分支,第一个分支对浅层特征进行操作,而第 二分支为深层特征操作,用于将全局上下文信息作为浅层特征的指导,从而实现类别的
定 位细节,具体操作如下:
[0048]
在第一分支中,浅层输入卷积特征图(c
×
h
×
w)之后对其进行reshape操作使其为x
l (c
×
hw),然后进行转置操作生成而可代表浅层特征中各个通道之间的关系, 然后将上述的通道关系图与之前的特征图x再做一次整合即操作,之后再经过 reshape操作后,便可得到浅层特征注意力图。通过上述该分支可以方便快速的将浅层特征 图转为注意力图,而这起到了对浅层特征细节部分增强的目的具体操作如式(1)所示:
[0049]
attention(l)=r(n(n(x
l
·
x
lt
)
·
x
l
))
ꢀꢀ
(1)
[0050]
而在第二分支中,深层输入卷积特征图x
h
会首先经过压缩阶段,对空间维度上进行 特征压缩,之后进行激励阶段对特征通道进行建模其相关性,经过上述两次全连接的操作 以及激活函数的操作便可得到深层特征的注意力图,具体操作如式(2)所示:
[0051]
attention(h)=σ(f2(δ(f1(x
h
))))
ꢀꢀ
(2)
[0052]
式中σ表示relu激活函数;δ表示sigmoid激活函数。
[0053]
在最后的重分配中,将富含语义信息的深层特征来指引对浅层特征进行选择,即将深 层特征的权重值通过乘法操作逐通道加权到已被增强浅层特征图上,
[0054]
具体操作如式(3)所示:
[0055]
4、决策模块
[0056]
决策模块的输入是来自编解码网络的输出,其主要由1*1卷积、全局平均池化和全局 最大池化所组成,具体操作如下:解码网络对特征进行空间分辨率恢复后,便得到所需的 分割输出图,其分辨率大小同输入图像一致,其中一条分支在分割输出图后添加一个1*1 的卷积模块,对其进行降维使得网络输出缺陷潜在位置的灰度图,用作分类结果的可视化 解释。另一条分支上对分割输出图进行全局最大池化和全局平均池化运算,替代了cnn 中的传统全连接层,通过全局最大池化运算可以增强模型的平移不变性以提高模型的预测 能力。
[0057]
与此全局平均池化运算赋予了每个通道实际的内在意义,在网络结构上正则化防止过 拟合,之后将上述的输出结果拼接在一起,产生6个输出神经元。最后这些神经元与1*1 卷积线性权值组合成最终输出的神经元,并通过sigmoid激活函数输出表面缺陷图像中存 在缺陷的概率。
[0058]
实施例2
[0059]
下面结合具体的实验对实施例1中的方案进行可行性验证,详见下文描述:
[0060]
1、实验设置
[0061]
数据集及评价指标:
[0062]
(1)kolektorsdd数据集
[0063]
用于本次训练和评估kolektorsdd表面缺陷数据集是由kolektor group (http://www.vicos.si/downloads/kolektorsdd)提供并注释的电子转向器的表面裂纹图像,数 据集在工业环境下采集,分辨率为1408*512像素,如图5所示。更具体来说,该数据集 是由50个有缺陷的电子转向器样本构成,每个转向器有多达8个表面这总共产生了399 张图片,其中52张为清晰可见的缺陷,并作为正样本,其余347张图片为无缺陷的负样 本,训练集中正样本数目为26张,负样本为224张;测试集中正样本数目为26张,负样 本为123张,
图中的第一行为包含正样本和负样本的kolektorsdd数据集,第二为 kolektorsdd图像的像素级标注标签。
[0064]
(2)实验细节
[0065]
所提出的sdd-net网络架构使用adam优化器在koletorsdd数据集上进行训练,学 习率大小设置为0.0001,一阶动量项0.5,二阶动量项0.999,迭代轮数为300轮。由于 图像大小较大以及gpu显存限制,在每次迭代过程仅使用单张图像,即批处理大小设置 为1。此外非缺陷图像的数量是缺陷图像数量的8倍,为了确保网络训练过程中的有缺陷 图像和无缺陷图像数量均衡,采取批处理数据均衡策略。具体而言,在训练过程的每次 偶数迭代轮数中读取有缺陷的图像,在每次奇数迭代轮数中读取无缺陷的图像,该策略能 够很好的分配缺陷图像和非缺陷图像,确保网络以恒定速率来观察缺陷图像和非缺陷图像, 减轻了工业缺陷检测任务中样本存在不均衡的问题。本发明实施例提出的sdd-net网络框 架实现了缺陷位置和缺陷存在概率的同步预测,该网络是使用facebook人工智能研究实验 室开发的pytorch机器学习人工智能框搭建的,在个人服务器上进行模型训练和测试,服 务器配置了ubuntu16.04的操作系统,4核amd ryzen 5 1500x cpu和11g nvidia getforcegtx 1080ti gpu驱动程序。
[0066]
(3)实验评估指标
[0067]
将表面缺陷检测作为图像二分类问题进行研究,即将图像分为两类:有缺陷的图像 和无缺陷的图像,sdd-net的可视化输出结果仅用作解释网络和定位缺陷位置,本次实 验评估选取精准率、召回率、f-分数和准确率,具体数学公式所示:
[0068][0069][0070][0071][0072]
在本次实验中,β=1即f1分数。式中:tp表示正确分类的正类别数;fp表示错误 分类的正类别数;tn表示正确分类的负类别数;fn表示错误分类的负类别数。在本实验 中,正类别是有缺陷的图像,负类别是无缺陷的图像。
[0073]
2、训练结果评价
[0074]
为评估所提出的sdd-net网络的有效性,本实验和多种网络进行了分类精度的对比, 其中包括:resnet101、se-resnet101、segnet、u-net、deeplabv3+、seg and dec network 这些卷积神经网络。
[0075]
为了保证实验结果只体现网络结构的差异而不受其它影响,对其中的segnet、u-net、 deeplabv3+分割网络添加分类模块,本研究进行全面的精度评价,包括:错误分类的正类 别数(fp),错误分类的负类别数(fn),精准率(precision),召回率(recall),准确度(auc), f1评分(f-score),总体精度(acc),参数量(million params)。
[0076]
表1将本发明实例所提出的方法与其它的常规方法进行了比较,本发明实施例提
出 的sdd-net具有很好的分类性能,对koletorsdd数据集的分类精度达到了99.33%,且其 参数量少,网络收敛速度快。相比与分类网络resnet101,由于分类网络的连续卷积和池 化,在全连接层之前的特征并不能很好的描述小样本数据集中的微小缺陷,分类效果并不 是很好。se-resnet101参考resnet101的结构,加入了特征压缩激活模块,分类性能相比 resnet101有了一定程度的提升,证明特征激活模块在小样本数据集缺陷提取的问题上有 效提升了模型能力,但其精准率过低仅68.57%,之后将经典的分割网络segnet、u-net、 deeplabv3+进行实验对比,在分割网络的输出后添加决策网络模块,实现最终的类别预测。 其中deeplabv3+性能最佳,在召回率为100%的情况下,平均准确率为97.99%,而tabernik 等人提出的强监督的两级网络结构seg and dec network,其首先使用像素级标签对分割网 络进行训练,之后使用图像级标签对分类网络训练,平均准确率达99.33%,然而这种方法 需要获取像素级标签,耗费大量的时间和人工精力。
[0077]
表1网络在kolektorsdd测试数据集上的精度评价对比
[0078][0079]
表2 sdd-net模型拆分实验
[0080][0081]
表3模型的训练参数和平均精度的对比
[0082][0083][0084]
本发明实例提出的sdd-net在训练样本较少的情况下仅需要图像级的标签就能达
到 良好的性能,其通过将不同卷积核大小的卷积组合成新特征,在解码网络中复用编码网络 中相应尺度的特征恢复低级视觉信息,并引入三线性全局注意力模块,其有效增强了缺 陷像素和非缺陷像素的差异,使网络可以很好的捕获小样本数据集下的异常区域。
[0085]
为了验证多尺度卷积模块和三级全局注意力模块对网络整体性能的贡献,本发明实施 例对sdd-net模型进行了拆分,分别验证了特征融合网络和三级全局注意力模型在模型中 起到的作用,测试结果如上述表2所示。实验结果表明,特征融合网络和三级全局注意力 机制加入之后,模型的性能分别有了一定程度上的提升。
[0086]
如图6所示为图像缺陷潜在位置可视化结果图,这里仅用作可视化结果的视觉解释, 其中(a)(d)是原始图像,(b)(e)是像素级标注标签,(c)(f)是本文sdd-net网络输出缺陷潜在 位置灰度图。从图6可以清楚的观察到本方法在仅使用图像级标签的前提下可以很好的聚 焦到输入图像中的异常区域,从而有效地区分缺陷样本。此外本方法提出的sdd-net网络 在模型参数还优于之前的方法,如图7及表3所示为模型在nvidia getforce gtx 1080ti 机器上实验获得的单张图片分类精度的检测时间,从图7中可以看到,与segnet,u-net, deeplabv3+和seg and dec方法相比,本发明具有更快的速度以及更好的平均精度,其使 用3.54m参数量实现,仅是u-net的参数量的一半,其检测单张图像为30毫秒。
[0087]
总的来说,本发明实施例采用基于多尺度卷积和三线性全局注意力的深度卷积神经网 络架构来预测表面缺陷检测,在小样本的电机转向器表面裂纹数据集上进行了验证,仅使 用图像级标签便可同时预测缺陷的位置和概率,获得优异的检测性能。可将网络用于训练 识别其它材料(如钢或玻璃)中的缺陷,使其在工业实际应用中发挥价值。
[0088]
本发明实施例对各器件的型号除做特殊说明的以外,其他器件的型号不做限制,只要 能完成上述功能的器件均可。
[0089]
本领域技术人员可以理解附图只是一个优选实施例的示意图,上述本发明实施例序号 仅仅为了描述,不代表实施例的优劣。
[0090]
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则 之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1