一种基于混合监督学习的表面异常检测方法

文档序号:28271176发布日期:2021-12-31 19:46阅读:130来源:国知局
一种基于混合监督学习的表面异常检测方法

1.本发明涉及深度学习与工业检测技术领域,尤其涉及一种基于混合监督学习的表面异常 检测方法。


背景技术:

2.异常检测是指能够在一组同质自然图像中检测出异质或意外模式的检测,目前异常检测 有了大量的应用,其中就包括视觉工业检查。产品及其表面的质量检测是工业生产中的一个 重要环节,质量检测方法包括传统质量检测方法与基于深度学习的质量检测方法两大类,传 统的机器视觉的方法已被广泛应用于自动化视觉检测过程,随着工业自动化进程的不断推 进,新的基于深度学习的检测方法也已经开始被使用,传统的机器学习模型依赖人工分析与 提取缺陷特征获得的特定视觉检测任务,然后使用基于规则的先验知识或基于学习的分类器 作出决策,如支持向量机,神经网络与决策数等,在这种方法中系统性能严重依赖于特定特 征类型的准确表示,因此这种方法非常低效,主观且耗时;与传统机器学习方法不同,深度 学习模型由于可以自动从低级数据中学习特征,对复杂特征建模能力强,且无需人工干预, 因此深度学习模型更适合于异常检测任务,然而深度学习算法的成功很大程度上取决于用于 训练有效的深层网络的标记图像,由于异常样本在工业生产线上非常罕见,且像素级标注成 本较高导致训练数据缺乏,会严重影响模型的检测性能,因此通过减少所需的标注量和降低 预期的标签精度来最小化标注工作,同时提升检测效率与检测精度对提高工业产品经济效益 具有重要意义。


技术实现要素:

3.本发明的目的是克服现有技术中的缺点和不足,本发明提出一种基于混合监督学习的表 面异常检测方法,该方法由异常定位网络、自注意力网络与异常判别网络三部分组成,在标 签数量极少的条件下对异常进行精准检测与定位,准确高效完成工业表面检测任务。本发明 只需要对少量异常样本进行粗糙标注,无需提供大量精细标注的缺陷样本作为训练样本,减 轻了全监督学习的高精度标注需求,大大降低了标注成本,提高了检测效率。
4.为了解决上述技术问题,本发明提供了一种基于混合监督学习的表面异常检测方法,所 述方法包括以下步骤:
5.s1、获取包含异常样本和正常样本的图像数据并构建对应的数据集,其中,异常样本记 为正样本,正常样本记为负样本;
6.s2、将数据集中的所有图像数据裁剪为统一尺寸并按比例分为训练集和测试集,然后通 过标注工具对所有负样本以及训练集中少量的正样本和测试集中的所有正样本进行像素级 标注,得到包含部分正样本和所有负样本的标注后的像素级标签;
7.s3、将标注后的像素级标签的像素值进行归一化处理,并对归一化处理后的像素级标签 进行八倍下采样,得到八倍下采样后的标签y
mask
;然后利用膨胀函数对正样本中标注后的像 素级标签进行l倍膨胀以获取粗糙的像素级标签,对粗糙的像素级标签应用距离
变化算法进 行处理得到加权分割损失矩阵,最后对所得到的加权分割损失矩阵进行八倍下采样,从而得 到八倍下采样的加权分割损失矩阵;
8.s4、构建包括异常定位网络、自注意力网络和异常判别网络的神经网络模型,并将步骤 s2中得到的训练集中的图像数据及其对应的像素级标签和步骤s3中得到的八倍下采样的加 权分割损失矩阵输入所构建的神经网络模型中进行训练,得到异常检测神经网络模型;
9.s5、将采集到的待测图像数据输入所得到的异常检测神经网络模型中,通过异常检测神 经网络模型自动判别待测图像是否存在异常并对异常区域进行定位,进而实现待测物体表面 的异常检测。
10.优选地,所述步骤s2的具体实现方式为:首先,将数据集中获取的所有图像数据均裁 剪为统一尺寸w
×
h,w表示图像数据的宽度,h表示图像数据的高度,并将数据集中的正 样本和负样本按7:3的比例分为训练集和测试集;然后,通过标注工具labelme对训练集中 少量的正样本和测试集中的所有正样本进行像素级标注,即可获得包含像素级标签的输入数 据y与不含像素级标签的输入数据x,其中,缺陷区域像素值标记为255,背景区域像素值 标记为0。
11.优选地,所述步骤s3中八倍下采样的操作具体为:首先使用opencv中的 reflectionpad2d函数进行八倍镜像填充,然后进行步长为8,感受野为17
×
17的平均池化, 得到八倍下采样结果。
12.优选地,所述步骤s3的具体实现方式包括:
13.s31、将所有标注后的像素级标签数据的像素值进行归一化处理,像素值为255的像素 点归一化后像素值为1,像素值为0的像素点归一化后像素值为0;
14.s32、对像素值归一化后的像素值标签进行八倍下采样,得到八倍下采样后的像素级标 签数据y
mask

15.s33、利用膨胀函数对正样本中标注后的像素级标签进行k倍膨胀以获取粗糙的像素级 标签y

mask

16.s34、对粗糙的像素级标签y

mask
应用距离变化算法进行处理得到加权分割损失矩阵,并 对加权分割损失矩阵进行八倍下采样,从而得到八倍下采样后的加权分割损失矩阵y
mask_loss

17.优选地,所述步骤s33的具体操作为:基于opencv中的dilate函数,首先,将该函数的 感受野大小设置为l
×
l,感受野的锚点设置在感受野的中央位置;然后,通过该感受野对 正样本中标注后的像素级标签图像进行扫描并计算叠加区域的最大像素值;最后,将该感受 野锚点的位置用所计算出的最大像素值替代,进而得到膨胀后的粗糙的像素级标签y

mask

18.优选地,所述步骤s34中对粗糙的像素级标签应用距离变化算法进行处理是指计算每个 正像素点与最近的负像素点之间的距离,进而加权每个像素点在正样本像素级标签中的正像 素区域的影响,将相对距离值转换为损失的权重,即:
19.当检测到的像素点的像素值为1时,则该像素点损失的权重用公式表示为:
20.21.式(1)中,l
seg
(pix)
i
表示通过二元交叉熵损失计算得到的第i个正像素点损失的权重值, l(pix)
i
表示通过二元交叉熵损失计算得到的第i个正像素点的损失,ω()为缩放函数, d(pix)
i
表示第i个正像素点到最近的负像素点的距离,d(pix
max
)表示所有正像素点到最近 负像素点的距离的最大值,其中,ω(a)=w
pos
·
a
p
,w
pos
与p表示超参数,p表示随着像素点 不断远离中心时该像素点重要性降低的速率,w
pos
表示所有正像素点的附加标量权值,正像 素点是指正样本像素级标签中非0像素值的像素点,负像素点是指像素值为0的像素点;
22.当检测到的像素点的像素值为0时,则令该像素点损失的权重值为1。
23.优选地,所述步骤s4中的神经网络模型中的异常定位网络用于定位输入图像数据中的 缺陷位置,自注意力网络用于增强特征图的表达能力以提高网络缺陷定位精度,其包括用于 通道特征提取的通道自注意力网络和用于空间特征提取的空间自注意力网络,异常判别网络 用于判断输入图片是否存在异常并输出判别结果。
24.优选地,所述步骤s4中异常检测神经网络模型的训练包括:
25.s41、将训练集中的图像数据输入具有五个特征提取阶段的异常定位网络中进行特征提 取,其中,第i个特征提取阶段输出的特征图尺寸定义为a
j
,每个特征图的尺寸记为c
j
×
w
j
×
h
j
,j=1,2,3,4,5,c
j
表示第j个特征提取阶段输出特征图的通道数,w
j
和h
j
分别 表示第j个特征提取阶段输出特征图的宽和高,第五特征提取阶段的输出a5即异常定位网络 的输出;
26.s42、在异常定位网络特征提取的第三个特征提取阶段中引入自注意力网络,将异常定 位网络第二个特征提取阶段的输出特征图分为三路特征,第一路特征使用通道注意力网络进 行通道特征提取,第二路特征不进行处理,第三路特征使用空间注意力网络进行空间特征提 取,并将三路特征进行逐元素相乘后作为自注意力网络的输出a2′
,同时将异常定位网络第 三个特征提取阶段进行卷积操作后的特征图与自注意力网络输出的特征图a2′
进行逐元素相 加,然后进行池化操作后并作为第四个特征提取阶段的输入;
27.s43、将异常定位网络第四个特征提取阶段的输出a4和第五个特征提取阶段的输出a5联 合输入异常判别网络中进行异常判别;
28.s44、设计损失函数,根据损失函数反向传播对神经网络参数进行调整,进而获取最优 网络参数,得到最优的神经网络模型。
29.优选地,所述步骤s43的具体实现方式包括:首先,将异常定位网络第四个特征提取阶 段的输出a4和第五个特征提取阶段的输出a5进行concat后输入异常判别网络中进行三个阶 段的卷积和池化处理;然后将卷积和池化处理后的输出与异常定位网络第五个特征提取阶段 的输出a5分别进行全局平均池化和全局最大池化;最后,将全局池化后输出的四个特征图进 行concat,然后输入全连接层进行异常判别并输出判别结果。
30.优选地,所述步骤s44中损失函数用公式表示为:
31.l
total
=λ
·
l
seg

·
(1

λ)
·
l
dec
ꢀꢀꢀ
(2)
32.式(2)中,l
total
表示损失函数,l
seg
表示异常定位网络的总分割损失,l
dec
表示异常判 别网络的总分类损失,λ表示动态平衡因子,用于平衡异常定位网络和异常判别网络在总损 失中的占比,δ表示额外的分类损失权重。
33.与现有技术比较,本发明提供的基于混合监督学习的表面异常检测方法中的异常
检测神 经网络模型由异常定位网络、自注意力网络与异常判别网络三部分组成,只需要对少量异常 样本进行粗糙标注,无需提供大量精细标注的缺陷样本作为训练样本,减轻了全监督学习的 高精度标注需求,大大降低了标注成本,提高了检测效率,能够准确高效完成工业表面检测 任务。
附图说明
34.图1为本发明中一种基于混合监督学习的表面异常检测方法流程图;
35.图2为本发明中获取的缺陷数据及膨胀加权下采样处理后的缺陷标签;
36.图3为本发明中异常定位网络结构图;
37.图4为本发明中异常判别网络结构图;
38.图5为本发明中神经网络模型前向推断过程;
39.图6为本发明中异常检测神经网络模型检测结果示意图;
40.图7为本发明中异常检测神经网络模型输出的检测曲线。
具体实施方式
41.为了使本技术领域的人员更好地理解本公开的技术方案,下面将结合本公开实施例中的 附图,对本公开实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是 本公开一部分的实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人 员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本公开保护的范围。
42.参照图1

图7所示,本发明提供了一种基于混合监督学习的表面异常检测方法,所述方 法包括以下步骤:
43.s1、获取包含异常样本和正常样本的图像数据并构建对应的数据集,其中,异常样本记 为正样本,正常样本记为负样本;
44.s2、将数据集中的所有图像数据裁剪为统一尺寸并按比例分为训练集和测试集,然后通 过标注工具对所有负样本以及训练集中少量的正样本和测试集中的所有正样本进行像素级 标注,得到包含部分正样本和所有负样本的标注后的像素级标签;
45.s3、将标注后的像素级标签的像素值进行归一化处理,并对归一化处理后的像素级标签 进行八倍下采样,得到八倍下采样后的标签y
mask
;然后利用膨胀函数对正样本中标注后的像 素级标签进行l倍膨胀以获取粗糙的像素级标签,对粗糙的像素级标签应用距离变化算法进 行处理得到加权分割损失矩阵,最后对所得到的加权分割损失矩阵进行八倍下采样,从而得 到八倍下采样后的加权分割损失矩阵;
46.s4、构建包括异常定位网络、自注意力网络和异常判别网络的神经网络模型,并将步骤 s2中得到的训练集中的图像数据及其对应的像素级标签和步骤s3中得到的八倍下采样的加 权分割损失矩阵输入所构建的神经网络模型中进行训练,得到异常检测神经网络模型;
47.s5、将采集到的待测图像数据输入异常检测神经网络模型中,通过异常检测神经网络模 型自动判别待测图像是否存在异常并对异常区域进行定位,进而实现待测物体表面的异常检 测。
48.本实施例中,以钢轨表面异常检测为例,首先获取钢轨表面正常的正常样本以及钢轨表 面异常的异常样本并进行预处理;然后构建包括异常定位网络、自注意力网络和异常判别网 络的神经网络模型,并将预处理图像数据输入神经网络模型中进行训练以获取异常检测神经 网络模型;最后将待测钢轨图像数据输入异常检测神经网络模型中,进而自动判别待测图像 是否存在异常并对异常区域进行定位,只需要对少量异常样本进行粗糙标注,无需提供大量 精细标注的缺陷样本作为训练样本,减轻了全监督学习的高精度标注需求,大大降低了标注 成本,提高了检测效率,能够准确高效完成工业表面检测任务。
49.其中,对所述数据集中图像数据进行像素级标注的具体实现方式为:首先,将数据集中 获取的所有图像数据均裁剪为统一尺寸w
×
h,w表示图像数据的宽度,h表示图像数据的 高度,并将数据集中的正样本和负样本按7:3的比例分为训练集和测试集;然后,通过标注 工具labelme(是麻省理工的计算机科学和人工智能实验室研发的图像标注工具,可以使用 该工具创建定制化标注任务或执行图像标注)对所有负样本以及训练集中少量的正样本和测 试集中的所有正样本进行像素级标注,即可获得包含像素级标签的输入数据y与不含像素级 标签的输入数据x,其中,包含像素级标签的输入数据y表示部分训练集中的图像数据和所 有测试集中的图像数据,不含像素级标签的输入数据x表示训练集中没有标注的另一部分图 像数据,缺陷区域像素值标记为255,背景区域像素值标记为0。
50.本实施例中,所有钢轨图像数据包括尺寸不一的正样本410张和负样本962张,钢轨图 像数据裁剪后的统一尺寸w
×
h为320
×
512,正样本和负样本按7:3的比例分为训练集和测 试集,训练集包括288张正样本和674张负样本,测试集数据包括122张正样本和288张负 样本,通过标注工具labelme对所有负样本以及训练集中随机31张正样本和测试集中所有正 样本进行像素级标注,将缺陷区域像素值标记为255,背景区域像素值标记为0,进而得到 包含获得像素级标签的输入数据y和不含像素级标签的输入数据x,其中负样本的像素级标 签尺寸为320
×
512,像素值均标记为0。
51.如图2、图6所示,对标注后的像素级标签进行处理的具体实现方式包括:
52.s31、将所有标注后的像素级标签数据的像素值进行归一化处理,像素值为255的像素 点归一化后像素值为1,像素值为0的像素点归一化后像素值为0;
53.s32、对像素值归一化后的像素值标签进行八倍下采样,得到八倍下采样后的像素级标 签数据y
mask

54.s33、利用膨胀函数对正样本中标注后的像素级标签进行l(l=1,3,5,7)倍膨胀以获取 粗糙的像素级标签y

mask
,其具体操作为:基于opencv中的dilate函数(一种用特定结构元 素对输入图像进行膨胀操作的函数),首先,将该函数的感受野大小设置为l
×
l,感受野 的锚点设置在感受野的中央位置;然后,通过该感受野对八倍下采样后的正样本像素级标签 图像进行扫描并计算叠加区域(即感受野与特征图叠加的区域,也就是感受野滑动窗口的区 域,本实施例中,该窗口大小为l
×
l)的最大像素值;最后,将该感受野锚点的位置用所 计算出的最大像素值替代,进而得到膨胀后的粗糙的像素级标签y

mask

55.s34、对粗糙的像素级标签y

mask
应用距离变化算法进行处理得到加权分割损失矩阵,并 对加权分割损失矩阵进行八倍下采样,从而得到八倍下采样后的加权分割损失矩阵,由于粗 糙的像素级标签的缺陷边缘真实像素值是不准确的,进而不能准确判断边缘处缺陷是否存 在,因此需要对粗糙的像素级标签的缺陷区域中心关注更多,以减轻在缺陷边
缘产生错误的 概率,即将距离变化算法应用于粗糙的像素级标签计算相应的加权分割损失矩阵以实现对缺 陷区域中心更多的关注,其具体操作为:计算每个正像素点与最近的负像素点之间的距离, 加权每个像素点在正样本像素级标签中的正像素区域的影响,将相对距离值转换为损失的权 重,通过应用距离变化算法后,所有正像素点的损失权重介于0到1之间,所有负像素点的 损失权重均为1,即:
56.当检测到的像素点的像素值为1(即该像素点为正像素点)时,则该像素点的损失权重 用公式表示为:
[0057][0058]
式(1)中,l
seg
(pix)
i
表示通过二元交叉熵损失计算得到的第i个正像素点的损失的权重 值,l(pix)
i
表示通过二元交叉熵损失计算得到的第i个正像素点的损失,ω()为缩放函数, d(pix)
i
表示第i个正像素点到最近的负像素点的距离,d(pix
max
)表示所有正像素点到最近负 像素点的距离的最大值,其中,ω(a)=w
pos
·
a
p
,w
pos
与p表示超参数,p表示随着像素点不 断远离中心时该像素点重要性降低的速率,w
pos
表示所有正像素点的附加标量权值,正像素 点是指正样本像素级标签中非0像素值的像素点,负像素点是指像素值为0的像素点;
[0059]
当检测到的像素点的像素值为0(即该像素点为负像素点)时,则令该像素点损失的权 重值为1,从图2中可以看出,由于负样本像素级标签指的是正常图片(不存在异常或缺陷), 其像素级标签是纯黑的图,但是正样本标签缺陷区域的像素值不为0,非0像素值不是纯黑 的,会有黑色部分和白色部分,其中白色部分就是缺陷位置。由此可知,通过对粗糙的像素 级标签应用距离变化算法后,会得到一个值在0

1范围内的矩阵,然后将这个矩阵与膨胀后 的正样本中标注后的像素级标签对应位置的像素点相乘,使膨胀后越靠近非零像素点中心位 置的像素点与更接近1的值相乘,越靠近0像素点的像素值与接近0的值相乘,从而加大了 中心处的影响。由于,加权分割损失的白色阴影表示具有更大权重的像素,从图2可以看出 下采样后的加权分割损失矩阵中,背景区域为白色表示背景区域每个像素点损失权重为1, 同时观察缺陷区域,可以看到越靠近缺陷中心的像素点,其损失权重值越接近1,越靠近缺 陷边缘的像素点,其损失权重越接近0。
[0060]
本实施例中,对归一化处理后的像素级标签以及对加权分割损失矩阵进行八倍下采样的 操作具体为:首先使用opencv(一个跨平台计算机视觉和机器学习软件库)中的 reflectionpad2d函数(一种利用输入边界的反射来填充输入张量的函数)进行八倍镜像填充, 然后进行步长为8和感受野为17的平均池化,最后对归一化处理后的像素级标签或对加权 分割损失矩阵进行八倍采样。
[0061]
所述reflectionpad2d函数的输入尺寸为[n,c,h
in
,w
in
],输出尺寸为[n,c,h
out
,w
out
],其 中n表示设置的batch size(批次,即一次输入网络中进行训练的样本数目),c表示通道 维度,h
in
表示输入的高,w
in
表示输入的宽,h
out
表示输出的高,w
out
表示输出的宽,则八 倍下采样用公式表示为;
[0062]
h
out
=h
in
+paddingtop+paddingbottom
ꢀꢀꢀ
(3)
[0063]
w
out
=w
in
+paddingleft+paddingright
ꢀꢀꢀ
(4)
[0064]
式(3)和(4)中,(paddingleft,paddingright,paddingtop,paddingbottom)表示
手动设 置的padding因子,本实施例中,padding因子为(8,8,8,8)。
[0065]
如图3、图4、图5和图7所示,所述神经网络模型中的异常定位网络用于定位输入图 像数据和标签数据中的缺陷位置,自注意力网络用于增强特征图的表达能力以提高网络缺陷 定位精度,其包括用于通道特征提取的通道自注意力网络和用于空间特征提取的空间自注意 力网络,异常判别网络用于判断输入图片是否存在异常并输出判别结果。
[0066]
本实施例中,所述异常定位网络共包含五个特征提取阶段,在第三个特征提取阶段融入 自注意力网络,异常判别网络的输入为特征提取的第四个特征提取阶段和第五个特征提取阶 段的输出,将特征提取的第四个特征提取阶段和第五个特征提取阶段的输出进行concat和三 个阶段的卷积和池化后并与特征提取的第五个特征提取阶段输出分别进行全局池化,并将全 局池化后的特征图合并后输入全连接层进行异常判别并输出判别结果。
[0067]
本实施例中,通过将训练集中的样本数据及其对应的像素级标签和八倍下采样的加权分 割损失矩阵输入构建的神经网络模型中进行多次训练以获取最优模型参数,进而得到异常检 测神经网络模型,所述异常检测神经网络模型的训练步骤具体包括:
[0068]
s41、将训练集中的图像数据输入具有五个特征提取阶段的异常定位网络中进行特征提 取,其中,第j个特征提取阶段输出的特征图尺寸定义为a
j
,每个特征图的尺寸记为 c
j
×
w
j
×
h
j
,j=1,2,3,4,5,c
j
表示第j个特征提取阶段输出特征图的通道数,w
j
和h
j
分别 表示第j个特征提取阶段输出特征图的宽和高,第五个特征提取阶段的输出a5即异常定位网 络的输出,具体包括:
[0069]
s411、第一个特征提取阶段包括两个卷积层(conv)与一个最大池化层(max pooling), 第一个特征提取阶段的输入为c
in
通道,尺寸为w
in
×
h
in
的特征图,第一个特征提取阶段的输 出为c1通道,尺寸为w1×
h1的特征图,c
in
=3,w
in
×
h
in
=320
×
512,c1=32,w1×
h1=160
×
256, 其中,每个卷积层使用32个感受野为3
×
3的卷积核对输入进行处理,第一个卷积层的输入 为第一个特征提取阶段的输入,第二个卷积层的输入为第一个卷积层的输出,两个卷积层的 输出均为32通道,尺寸为320
×
512的特征图,然后使用感受野为2
×
2的最大池化层对第二 个卷积层的输出特征图进行处理,得到32通道,尺寸为160
×
256的特征图,即第一个特征 提取阶段的输出;
[0070]
s412、第二个特征提取阶段包括三个卷积层(conv)与一个最大池化层(max pooling), 第二个特征提取阶段的输入为第一个特征提取阶段的输出,第二个特征提取阶段的输出为 c2通道,尺寸为w2×
h2的特征图,c2=64,w2×
h2=80
×
128,其中,该阶段每个卷积层均 使用64个感受野为5
×
5的卷积核对输入进行处理,该阶段的第一个卷积层的输入为第一个 特征提取阶段的输出,该阶段第二个卷积层的输入为该阶段第一个卷积层的输出,该阶段第 三个卷积层的输入为该阶段第二个卷积层的输出,该阶段三个卷积层的输出均为64通道, 尺寸为160
×
256的特征图,然后使用感受野为2
×
2的最大池化层对该阶段第三个卷积层的输 出特征图进行处理,得到64通道,尺寸为80
×
128的特征图,即特征提取第二个特征提取阶 段的输出;
[0071]
s413、第三个特征提取阶段包括四个卷积层(conv)与一个最大池化层(max pooling), 第三个特征提取阶段的输入为第二个特征提取阶段的输出与自注意力网络的输出,第三个特 征提取阶段的输出为c3通道,尺寸为w3×
h3的特征图,c3=64,w3×
h3=40
×
64,其中, 该阶段中每个卷积层均使用64个感受野为7
×
7的卷积核对输入进行处理,该阶段第一个卷 积层的输入为第二阶段的输出,该阶段第二个卷积层的输入为该阶段第一个卷积层的输出, 该阶段第三个卷积层的输入为该阶段第二个卷积层的输出,该阶段第四个卷积层的输入为该 阶段第三个卷积层的输出,该阶段四个卷积层的输出均为64通道,尺寸为80
×
128的特征图, 然后将该特征图与自注意力网络输出的特征图进行逐元素相加,得到64通道,尺寸为80
×
128 的特征图,有效增强特征图的表达能力,再使用感受野为2
×
2的最大池化层对相加后的特征 图进行处理,得到64通道,尺寸为40
×
64的特征图,即特征提取第三个特征提取阶段的输 出;
[0072]
s414、第四个特征提取阶段包含一个卷积层(conv),第四个特征提取阶段的输入为第 三个特征提取阶段的输出,第四个特征提取阶段的输出为c4通道,尺寸为w4×
h4的特征图, c4=1024,w4×
h4=40
×
64,该阶段卷积层使用1024个感受野为15
×
15的卷积核对输入进行 处理,该阶段卷积层的输入为第三个特征提取阶段的输出,该阶段卷积层的输出为1024通 道,尺寸为40
×
64的特征图,即特征提取第四个特征提取阶段的输出;
[0073]
s415、第五个特征提取阶段包含一个卷积层(conv),第五个特征提取阶段的输入为第 四个特征提取阶段的输出,第五个特征提取阶段的输出为c5通道,尺寸为w5×
h5的特征图, c5=1,w5×
h5=40
×
64,该阶段卷积层使用1个感受野为1
×
1的卷积核对输入进行处理,该 阶段卷积层的输入为第四个特征提取阶段的输出,该阶段卷积层的输出为1通道,尺寸为 40
×
64的特征图,即特征提取第五个特征提取阶段的输出,该输出特征图即为分割特征图 f
out_seg
;其中,本实施例中,所述加权分割损失矩阵是用于计算对应损失的,而标签后的像 素级标签数据是为了让网络进行对比检测,均不需要提取特征,只需要对输入的样本图像进 行特征提取即可;
[0074]
s42、在异常定位网络的第三个特征提取阶段中引入自注意力网络,将异常定位网络第 二个特征提取阶段的输出特征图分为三路特征,第一路特征使用通道注意力网络进行通道特 征提取,第二路特征不进行处理,第三路特征使用空间注意力网络进行空间特征提取,并将 三路特征进行逐元素相乘后作为自注意力网络的输出a2′
,同时将异常定位网络第三个特征 提取阶段进行卷积操作后的特征图与自注意力网络输出的特征图a2′
进行逐元素相加,然后 进行池化操作后并作为第四个特征提取阶段的输入,具体为:
[0075]
s421、将异常定位网络第二个特征提取阶段输出的尺寸为c2×
w2×
h2的特征图a2输入 通道注意力网络,c2=64,w2×
h2=80
×
128,并将输入特征图a2分为三路进行通道特征提 取,所述通道注意力网络包括:
[0076]
s4211、第一路使用32个感受野为1
×
1的卷积核对输入特征图a2进行处理,将特征图a2尺寸变换为c2/2
×
w2×
h2,c2/2
×
w2×
h2=32
×
80
×
128,然后再进行reshape操作(表示在 元素个数不变的情况下降特征图的矩阵进行变换操作),进而输出尺寸为c2/2
×
w2h2,c2/2
×
w2h2=32
×
10240的特征图;
[0077]
s4212、第二路使用1个尺寸为1
×
1的卷积对输入特征图a2进行处理,将特征图a2尺寸 变换为1
×
w2×
h2,1
×
w2×
h2=1
×
80
×
128,然后再进行reshape操作,进而输出尺寸为 w2h2×1×
1,w2h2×1×
1=10240
×1×
1的特征图,再使用softmax函数(表示一种激活函数) 进行处理;
[0078]
s4213、第三路对输入特征图a2不进行任何处理;
[0079]
s4214、将步骤s4211得到的特征图和步骤s4212得到的输出特征图进行矩阵乘法,得 到尺寸为c2/2
×1×
1的特征图,c2/2
×1×
1=32
×1×
1,然后使用64个感受野为1
×
1的卷积核 对得到尺寸为c2/2
×1×
1的特征图进行处理,进而将特征图尺寸变换为c2×1×
1, c2×1×
1=64
×1×
1,再使用sigmoid函数(表示另一种激活函数)进行处理;
[0080]
s4215、将步骤s4213中输出的特征图与步骤s4214输出的特征图按通道维度相乘,即 进行w2×
h2次乘法操作,w2×
h2=10240,进而输出尺寸为c2×
w2×
h2, c2×
w2×
h2=64
×
80
×
128的特征图;
[0081]
s422、将异常定位网络第二个特征提取阶段输出的尺寸为c2×
w2×
h2的特征图a2输入 空间注意力网络,c2×
w2×
h2=64
×
80
×
128,并将输入特征图a2分为三路进行空间特征提取, 所述空间注意力网络为;
[0082]
s4221、第一路使用32个感受野为1
×
1的卷积核对输入特征图a2进行处理,将特征图a2尺寸变换为c2/2
×
w2×
h2,c2/2
×
w2×
h2=32
×
80
×
128,然后进行reshape操作,进而输出 尺寸为c2/2
×
w2h2,c2/2
×
w2h2=32
×
10240的特征图;
[0083]
s4222、第二路使用32个感受野为1
×
1的卷积核对输入特征图a2进行处理,将特征图a2尺寸变换为c2/2
×
w2×
h2,c2/2
×
w2×
h2=32
×
80
×
128,然后进行全局池化,进而得到尺寸 为c2/2
×1×
1,c2/2
×1×
1=32
×1×
1的特征图,然后再进行reshape操作,特征图尺寸变换为 1
×
c2/2,1
×
c2/2=1
×
32,最后使用softmax函数进行处理;
[0084]
s4223、第三路对输入特征图a2不进行任何处理;
[0085]
s4224、将步骤s4221输出的特征图与步骤s4222输出的特征图进行矩阵乘法,得到尺 寸为1
×
w2h2的特征图,即1
×
w2h2=1
×
10240,然后进行reshape操作,进而得到尺寸为 1
×
w2×
h2,1
×
w2×
h2=1
×
80
×
128的特征图,再使用sigmoid函数进行处理;
[0086]
s4225、将步骤s4223输出的特征图与步骤s4224输出的特征图按空间维度相乘,即进 行c2次乘法操作,其中c2=64,进而输出尺寸为c2×
w2×
h2,c2×
w2×
h2=64
×
80
×
128的特 征图;
[0087]
s423、将步骤s421和步骤s422输出的特征图与输入特征图a2进行逐元素相乘,进而 得到自注意力网络的输出a2′
,尺寸为c2×
w2×
h2,c2×
w2×
h2=64
×
80
×
128;
[0088]
s43、将异常定位网络第四个特征提取阶段的输出a4和第五个特征提取阶段的输出a5联 合输入异常判别网络中进行异常判别,具体为:首先,将异常定位网络第四个特征提取阶段 的输出进行concat(按通道维度进行合并,如:尺寸为5
×5×
2的特征图与尺寸为5
×5×
16 的特征图经过concat后得到尺寸为5
×5×
18的特征图)后输入异常判别网络中进行三个阶 段的卷积和池化处理(即异常判别网络包括第一卷积和池化阶段、第二卷积和池化阶段以及 第三卷积和池化阶段);然后将卷积和池化处理后的输出与异常定位网络第五个特征提取阶 段的输出分别进行全局平均池化和全局最大池化;最后,将全局池化后输出的四个特征图(即 全局平均池化后的两个特征图和全局最大池化后的两个特征图)进行concat,然后输入全连 接层进行异常判别并输出判别结果,具体为:
[0089]
s431、将异常定位网络第四个特征提取阶段输出特征图(尺寸为c4×
w4×
h4, c4×
w4×
h4=1024
×
40
×
64)与第五个特征提取阶段的输出特征图(尺寸为c5×
w5×
h5, c5×
w5×
h5=1
×
40
×
64)进行concat,进而输出尺寸为c6×
w6×
h6的特征图, c6×
w6×
h6=1025
×
40
×
64;
[0090]
s432、将步骤s431输出的特征图输入异常判别网络的第一卷积和池化阶段进而输出c
b1
通道,尺寸为w
b1
×
h
b1
的特征图,c
b1
=8,w
b1
×
h
b1
=20
×
32,其中,异常判别网络第一卷积 和池化阶段包含一个池化层与一个卷积层,首先对该阶段的输入进行感受野为2
×
2的最大池 化,得到1025通道,尺寸为20
×
32的特征图,然后使用8个感受野为3
×
3的卷积核对第一 卷积和池化阶段池化后的特征图进行处理,得到8通道,尺寸为20
×
32的特征图,即异常判 别网络第一卷积和池化阶段的输出;
[0091]
s433、将异常判别网络第一卷积和池化阶段的输出特征图输入异常判别网络的第二卷积 和池化阶段进而输出c
b2
通道,尺寸为w
b2
×
h
b2
的特征图,c
b2
=16,w
b2
×
h
b2
=10
×
16,其 中,异常判别网络第二卷积和池化阶段包含一个池化层与一个卷积层,首先对该阶段的输入 进行感受野为2
×
2的最大池化,得到8通道,尺寸为10
×
16的特征图,然后使用16个感受 野为5
×
5的卷积核对池化后的特征图进行处理,得到16通道,尺寸为10
×
16的特征图,即 异常判别网络第二卷积和池化阶段的输出;
[0092]
s434、将异常判别网络第二卷积和池化阶段的输出特征图输入异常判别网络的第三卷积 和池化阶段,进而输出c
b3
通道,尺寸为w
b3
×
h
b3
的特征图,c
b3
=32,w
b3
×
h
b3
=5
×
8,其 中异常判别网络第三卷积和池化阶段包含一个池化层与一个卷积层,首先对该阶段的输入进 行感受野为2
×
2的最大池化,得到16通道,尺寸为5
×
8的特征图,然后使用32个感受野为 7
×
7的卷积核对池化后的特征图进行处理,得到32通道,尺寸为5
×
8的特征图,即异常判 别网络第三卷积和池化阶段的输出;
[0093]
s435、将异常判别网络第三卷积和池化阶段的输出分别输入全局平均池化与全局池化 层,进而得到两个32通道,尺寸为1
×
1的特征图,同时将异常定位网络第五个特征提取阶 段的输出f
out_seg
分别输入全局平均池化与全局池化层,进而得到两个1通道,尺寸为1
×
1的 特征图,将所得到的的四个特征图进行concat后得到66通道,尺寸为1
×
1的特征图,最后 将66通道、尺寸为1
×
1的特征图输入全连接层,从而输出异常判别结果;
[0094]
s44、设计损失函数,根据损失函数反向传播对神经网络参数进行调整,进而获取最优 网络参数,得到最优的神经网络模型,所述损失函数用公式表示为:
[0095]
l
total
=λ
·
l
seg

·
(1

λ)
·
l
dec
ꢀꢀꢀ
(2)
[0096]
式(2)中,l
total
表示损失函数,l
seg
表示异常定位网络的总分割损失,l
dec
表示异常判 别网络的总分类损失,λ表示动态平衡因子,用于平衡异常定位网络和异常判别网络在总损 失中的占比,δ表示额外的分类损失权重,其中,所述异常定位网络的损失和异常判别网络 的损失均可通过二元交叉熵损失函数计算得到。
[0097]
所述异常定位网络输出第n个样本的第k个像素点的分割损失用公式表示为:
[0098]
l
seg_n_k


(x
n_k
*log(ν(z
n_k
))+(1

x
n_k
)*log(1

ν(z
n_k
)))*y
mask_loss

k
ꢀꢀꢀ
(6)
[0099]
式(6)中,n表示数据集中的第n个样本,n_k表示第n个样本中的第k个像素,z
n_k
表示第n个样本的第k个像素点样本预测为正的概率,x
n_k
表示第n个样本的第k个像素点 的标签,ν表示sigmoid函数,y
mask_loss
表示八倍下采样后的加权分割损失矩阵,y
mask_loss

k
表 示第n个样本的加权分割损失矩阵的第k个像素点的损失权值;
[0100]
根据公式(6)可以计算出总分割损失l
seg
,即:根据公式(6)先计算出数据集中所有 样本的所有像素点的损失并相加,然后除以样本数与每个样本对应特征图像素点数的积,其 中,每个样本对应特征图像素点数就是分割网络输出通道为1的特征图中像素点的数
目,也 就是宽与高缩小八倍后的原样本的数目。
[0101]
所述异常判别网络输出的第n个样本的分类损失用公式表示为:
[0102]
l
dec_n


(y
n
*log(ν(t
n
))+(1

y
n
)*log(1

ν(t
n
)))
ꢀꢀꢀ
(7)
[0103]
式(7)中,n表示第n个样本,t
n
表示第n个样本预测为正样本的概率,y
n
表示第n个 样本的标签,ν表示sigmoid函数;
[0104]
根据公式(7)可计算出总分类损失l
dec
,即:根据公式(7)先计算出每一个样本的分 类损失并相加,然后除以样本数。
[0105]
本实施例中,由于在初始训练阶段,在训练分割网络的同时训练分类网络很容易导致训 练的不稳定,故引入了动态平衡因子λ,使训练开始阶段学习分割网络,然后逐渐向只学习 分类网络的方向发展,其中,所述动态平衡因子λ用公式表示为:
[0106][0107]
式(8)中,h为当前训练epoch的索引,h
epoch
代表训练epoch总数,训练epoch表示将 所有样本均输入异常判别网络中训练一次。
[0108]
本实施例中,δ设置为0.01,进而能够进一步减少早期训练阶段噪声对分割特征学习的 影响,其中,所述训练epoch设置为正样本和负样本交替采样,即,一次训练epoch的样本 数是指训练负样本数目的两倍。
[0109]
如图7所示,图7a示出了异常检测神经网络模型输出的损失与精度曲线,图7b示出了 异常检测神经网络模型输出的pr曲线(精度

召回率曲线),图7c示出了异常检测神经 网络模型输出的roc曲线,pr曲线和roc曲线均为异常检测神经网络模型的常性能指 标,图7a中的测试精度曲线(即validation ap曲线)的趋势为先倾斜向上并逐步趋于平 稳,图7a中训练损失曲线的趋势为先倾斜向下并逐步趋于平稳,从图7a中可以看出,在 测试集中,所述异常检测神经网络模型的检测准确率约等于1;由图7b可以得出平均精度 (average precision)为0.9970,即ap=99.7%;图7c中,横轴表示假正率,纵轴表示真 正率,其中, 假正表示模型被预测为正的负样本,真正表示模型预测为正的正样本,由图7c可以得出 auc=99.83%,auc表示图7c中曲线与横轴、纵轴形成的最大面积,因此,从图7中可 以得出所述异常检测神经网络模型的检测精度高于99.5%。
[0110]
需要说明的是,图3中,第一阶段、第二阶段、第三阶段、第四阶段和第五阶段分别对 应本发明中的第一特征提取阶段、第二特征提取阶段、第三特征提取阶段、第四特征提取阶 段和第五特征提取阶段。
[0111]
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何 熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构 思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1