一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

异常检测方法、装置、电子设备及计算机可读存储介质与流程

2021-11-25 00:47:00 来源:中国专利 TAG:


1.本公开涉及人工智能技术领域,尤其涉及一种异常检测方法、装置、电子设备及计算机可读存储介质。


背景技术:

2.近年来,深度学习算法在各个领域都取得了巨大的进展,也在很多工业视觉检测领域取得了落地。但是,深度学习算法往往需要大量的、高质量的标注数据,而在需要使用实际产线中积累的样本来训练工业视觉检测模型的场景中,异常样本往往是极度稀缺的,使用常规的正样本深度学习方法所训练得到的异常检测模型对于异常样本的识别能力较差,从而降低了异常检测的准确性。并且,目前的异常检测模型通常基于深度卷积网络提取的图像特征进行检测处理的,缺乏对图像中语义信息的深度理解,从而进一步降低了异常检测的准确性。


技术实现要素:

3.本公开实施例提供一种异常检测方法、装置、电子设备及计算机可读存储介质,能够提高异常检测的准确性。
4.本公开实施例的技术方案是这样实现的:
5.本公开实施例提供一种异常检测方法,包括:
6.利用特征提取网络,对待检测图像进行不同尺度的特征处理,得到多尺度特征序列;
7.通过重构网络,基于所述多尺度特征序列进行重构,得到重构特征序列;其中,所述重构网络是使用正样本训练得到的;
8.根据所述重构特征序列与所述多尺度特征序列,确定每个像素位置上的特征差异;
9.基于所述特征差异,确定所述每个像素位置上的异常评分;
10.基于所述异常评分,绘制所述待检测图像对应的异常检测图像。
11.上述方法中,所述对待检测图像进行不同尺度的特征处理,得到多尺度特征序列,包括:
12.对所述待检测图像进行不同尺度的特征提取,得到多个不同尺度的特征;
13.将所述多个不同尺度的特征进行融合,得到多尺度特征;
14.对所述多尺度特征进行形状变换,得到所述多尺度特征序列。
15.上述方法中,所述重构网络包括:编码网络和解码网络;
16.所述通过重构网络,基于所述多尺度特征序列进行重构,得到重构特征序列,包括:
17.基于所述编码网络,对所述多尺度特征序列进行编码,得到编码序列;
18.通过所述解码网络,基于所述编码序列进行解码重构,得到所述重构特征序列。
19.上述方法中,所述根据所述重构特征序列与所述多尺度特征序列,确定每个像素位置上的特征差异,包括:
20.计算所述重构特征序列与所述多尺度特征序列中每个对应的序列位置上的特征差异,得到所述每个像素位置上的特征差异。
21.上述方法中,所述基于所述特征差异,确定所述每个像素位置上的异常评分,包括:
22.对每个像素位置上的所述特征差异进行通道平均,得到所述每个像素位置上的异常评分。
23.上述方法中,所述基于所述异常评分,绘制所述待检测图像对应的异常检测图像,包括:
24.在每个像素位置上的异常评分小于或者等于评分阈值的情况下,将该像素位置对应的像素值绘制为第一值;
25.在每个像素位置上的异常评分大于评分阈值的情况下,将该像素位置对应的像素值绘制为第二值;直至将所述待检测图像的像素位置绘制完成时,得到所述异常检测图像。
26.上述方法中,所述基于重构网络,对所述多尺度特征序列和预设的问询词序列进行重构,得到重构特征序列之前,所述方法还包括:
27.获取正样本与预设的初始问询词序列;
28.基于所述正样本与所述初始问询词序列,结合预设的正样本损失函数,对初始重构网络进行训练,直至得到所述重构网络;
29.其中,所述预设的正样本损失函数用于根据利用所述初始问询词序列对所述正样本进行重构得到的特征差异,评估所述初始重构网络对所述正样本的重构性能。
30.上述方法中,所述基于所述正样本与所述初始问询词序列,结合预设的正样本损失函数,对初始重构网络进行训练,直至得到所述重构网络,包括:
31.对所述正样本进行特征处理,得到多尺度正样本特征序列;
32.基于所述初始重构网络,对所述多尺度正样本特征序列和所述初始问询词序列进行重构,得到重构正样本特征序列;
33.根据所述重构正样本特征序列与所述多尺度正样本特征序列,确定正样本特征差异序列;
34.基于所述正样本特征差异序列与预设的正样本损失函数,计算当前正样本损失;
35.基于所述当前正样本损失和所述预设损失阈值,对所述初始重构网络进行训练调整,直至得到最终损失小于所述预设损失阈值的所述重构网络。
36.上述方法中,所述预设的正样本损失函数包括:回归损失函数,所述基于所述正样本特征差异序列与预设的正样本损失函数,计算当前正样本损失,包括:
37.通过所述回归损失函数,对所述正样本特征差异序列进行梯度平滑处理,得到所述当前正样本损失。
38.上述方法中,所述方法还包括:
39.在所述初始重构网络的训练过程中,对所述初始问询词序列进行迭代更新,直至最终损失小于所述预设损失阈值,得到所述预设的问询词序列。
40.本公开实施例提供一种异常检测装置,包括:
41.特征提取网络,用于对待检测图像进行不同尺度的特征处理,得到多尺度特征序列;
42.重构网络,用于基于所述多尺度特征序列进行重构,得到重构特征序列;所述重构网络是使用正样本训练得到的;
43.确定单元,用于根据所述重构特征序列与所述多尺度特征序列,确定每个像素位置上的特征差异;
44.评分单元,用于基于所述特征差异,确定所述每个像素位置上的异常评分;
45.检测单元,用于基于所述异常评分,绘制所述待检测图像对应的异常检测图像。
46.上述装置中,所述特征提取网络,还用于对所述待检测图像进行不同尺度的特征提取,得到多个不同尺度的特征;将所述多个不同尺度的特征进行融合,得到多尺度特征;对所述多尺度特征进行形状变换,得到所述多尺度特征序列。
47.上述装置中,所述重构网络包括:编码网络和解码网络;所述编码网络,用于对所述多尺度特征序列进行编码,得到编码序列;
48.所述解码网络,用于基于所述编码序列进行解码重构,得到所述重构特征序列。
49.上述装置中,所述确定单元,还用于计算所述重构特征序列与所述多尺度特征序列中每个对应的序列位置上的特征差异,得到所述每个像素位置上的特征差异。
50.上述装置中,所述评分单元,还用于对每个像素位置上的所述特征差异进行通道平均,得到所述每个像素位置上的异常评分。
51.上述装置中,所述检测单元,还用于在每个像素位置上的异常评分小于或者等于评分阈值的情况下,将该像素位置对应的像素值绘制为第一值;在每个像素位置上的异常评分大于评分阈值的情况下,将该像素位置对应的像素值绘制为第二值;直至将所述待检测图像的像素位置绘制完成时,得到所述异常检测图像。
52.上述装置中,所述异常检测装置还包括训练单元,所述训练单元,用于所述基于重构网络,对所述多尺度特征序列和预设的问询词序列进行重构,得到重构特征序列之前,获取正样本与预设的初始问询词序列;基于所述正样本与所述初始问询词序列,结合预设的正样本损失函数,对初始重构网络进行训练,直至得到所述重构网络;其中,所述预设的正样本损失函数用于根据利用所述初始问询词序列对所述正样本进行重构得到的特征差异,评估所述初始重构网络对所述正样本的重构性能。
53.上述装置中,所述训练单元,还用于对所述正样本进行特征处理,得到多尺度正样本特征序列;基于所述初始重构网络,对所述多尺度正样本特征序列和所述初始问询词序列进行重构,得到重构正样本特征序列;根据所述重构正样本特征序列与所述多尺度正样本特征序列,确定正样本特征差异序列;基于所述正样本特征差异序列与预设的正样本损失函数,计算当前正样本损失;基于所述当前正样本损失和所述预设损失阈值,对所述初始重构网络进行训练调整,直至得到最终损失小于所述预设损失阈值的所述重构网络。
54.上述装置中,所述预设的正样本损失函数包括:回归损失函数,所述训练单元,还用于通过所述回归损失函数,对所述正样本特征差异序列进行梯度平滑处理,得到所述当前正样本损失。
55.上述方法中,所述训练单元,还用于在所述初始重构网络的训练过程中,对所述初始问询词序列进行迭代更新,直至最终损失小于所述预设损失阈值,得到所述预设的问询
词序列。
56.本公开实施例提供一种电子设备,包括:
57.存储器,用于存储可执行指令;
58.处理器,用于执行所述存储器中存储的可执行指令时,实现本公开实施例提供的异常检测方法。
59.本公开实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现本公开实施例提供的异常检测方法。
60.本公开实施例具有以下有益效果:
61.通过正样本训练得到的重构网络,实现了对正常样本的特征分布的理解和建模,因此,在待检测图像中存在异常像素的情况下,通过重构网络对异常像素进行重构后的重构特征会与原始异常像素特征存在较大差距,也即对异常像素的重构的特征差异较大。因此,可以将重构后的特征差异作为异常评分,通过异常评分来得到对于待检测图像的像素级的检测结果,从而提高了异常检测的准确性。并且,通过多尺度特征与预设问询词共同进行重构,能够捕捉到待检测图像中更深层次的语义信息,从而进一步提高了异常检测的准确性。
附图说明
62.图1是本公开实施例提供的异常检测方法的一个可选的流程示意图;
63.图2是本公开实施例提供的对待检测图像进行多尺度的特征提取的过程示意图;
64.图3是本公开实施例提供的特征提取网络训练过程示意图;
65.图4是本公开实施例提供的编码器

解码器结构的重构网络的一种可选的结构示意图;
66.图5是本公开实施例提供的对重构特征序列进行形状变换,得到重构特征的过程示意图;
67.图6是本公开实施例提供的重构网络对待检测图像进行异常检测,得到每个像素位置的异常评分的过程示意图;
68.图7是本公开实施例提供的对待检测图像进行异常检测,得到异常检测图像的过程示意图;
69.图8是本公开实施例提供的异常检测图像的效果示意图;
70.图9是本公开实施例提供的重构网络的训练方法的一个可选的流程示意图;
71.图10是本公开实施例提供的重构网络的训练方法的一个可选的流程示意图;
72.图11是本公开实施例提供的完全正样本对应的训练损失计算过程示意图;
73.图12是本公开实施例提供的异常检测方法的一个可选的流程示意图;
74.图13是本公开实施例提供的一种异常检测装置的结构示意图;
75.图14是本公开实施例提供的一种电子设备的结构示意图。
具体实施方式
76.为了使本公开的目的、技术方案和优点更加清楚,下面将结合附图对本公开作进一步地详细描述,所描述的实施例不应视为对本公开的限制,本领域普通技术人员在没有
做出创造性劳动前提下所获得的所有其它实施例,都属于本公开保护的范围。
77.在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
78.在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本公开实施例能够以除了在这里图示或描述的以外的顺序实施。
79.除非另有定义,本文所使用的所有的技术和科学术语与属于本公开的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本公开实施例的目的,不是旨在限制本公开。
80.参见图1,图1是本公开实施例提供的异常检测方法的一个可选的流程示意图,将结合图1示出的步骤进行说明。
81.s101、利用特征提取网络,对待检测图像进行不同尺度的特征处理,得到多尺度特征序列。
82.本公开实施例中的异常检测方法适用于通过人工智能的图像处理方式进行异常检测的场景,示例性地,通过对产线上的产品图像进行异常检测,发现异常产品,如残次品等;或者,对批量图像进行异常检测,发现其中不符合预设整体规范的异常图像等等场景,具体的根据实际情况进行选择,本公开实施例不作限定。
83.在一些实施例中,电子设备可以通过图像采集设备,获取待检测物品,如产线上的产品的图像作为待检测图像,以通过本公开实施例的方法对待检测图像进行异常检测,以确定待检测物品是否存在异常。
84.本公开实施例中,电子设备可以采用特征提取网络,对待检测图像进行不同尺度的特征提取,得到待检测图像在多种尺度下的多个不同尺度的特征;并将多个不同尺度的特征进行融合,得到多尺度特征;对多尺度特征进行形状变换,将多维度的特征信息转换为序列形式,得到多尺度特征序列。
85.在一些实施例中,电子设备可以将包含多重特征提取层的cnn网络,如resnet

34的骨干网络作为特征提取网络,对待检测图像进行多重尺度的特征提取,利用resne

t34的底层特征提取层得到待检测图像的表观特征,如颜色,边界划分,对比度,亮度等等,利用resnet

34的高层提取层输出待检测图像的高层次的语义信息;电子设备将待检测图像的表观特征与高层次的语义信息作为多个不同尺度的特征,进行特征融合,得到多尺度特征。
86.示例性地,如图2所示,电子设备通过预先训练的cnn网络作为特征提取网络,对待检测图像i进行4种尺度的特征提取,得到4个尺度的特征b(i),其中,b(i)=f1,f2,f3,f4。这里,i表征cnn网络的第i个网络层。从图2中可以看出,不同特征提取层提取出的尺度特征的尺寸不同。电子设备可以先将不同尺寸的特征调整至同一尺寸,如统一调整至h
×
w,然后对调整尺寸后的4个特征进行特征融合,得到多尺度特征,如公式(1)所示:
87.88.公式(1)中,r代表调整尺寸的操作,c=∑
i
c
i
代表多尺度特征f的特征通道。可以看出,本公开实施例中,由不同特征提取层得到的多个不同尺度的特征具有不同水平的感受野,对待检测图像中可能存在的不同程度的异常区域非常敏感,因此,基于多尺度特征进行异常检测更有助于提高异常检测的准确性。
89.本公开实施例中,电子设备可以对多尺度特征进行形状变换,从而将多尺度特征转化为序列的形式,作为后续重构网络的输入。在一些实施例中,如图2所示,对于维度为h
×
w
×
c的多尺度特征f,电子设备可以对每个通道对应的h和w进行维度合并,实现对多尺度特征的形状变换,得到h
×
w个c维的多尺度特征向量,作为多尺度特征序列。
90.在一些实施例中,电子设备可以使用公开训练数据集,结合通用视觉任务的任务头部网络,如分类网络、目标检测网络、图像分割网络等,对初始特征提取网络进行预训练,得到特征提取网络。如图3所示,使用公开数据集的图像,对初始特征提取网络进行迭代的训练,在每轮训练过程中,使用初始特征提取网络对当前轮训练的图像进行多尺度特征提取,得到多尺度图像特征;使用任务头部网络基于多尺度图像特征进行图像处理,如分类预测,得到当前轮的预测结果;将当前轮的预测结果与当前轮训练的图像的真实值进行对比,利用损失函数,根据对比结果计算出当前轮损失,并基于当前轮损失对初始特征提取网络与任务头部网络进行参数调整。电子设备通过上述方法对初始特征提取网络和任务头部网络进行迭代地训练,直至达到预设训练条件时,得到特征提取网络。并舍弃任务头部网络,将特征提取网络用于本公开实施例中的多尺度特征提取处理。
91.这里,电子设备可以使用预训练好的任务头部网络与初始特征提取网络进行训练,也可以使用初始任务头部网络与初始特征提取网络进行共同训练,具体的根据实际情况进行选择,本公开实施例不作限定。
92.在一些实施例中,多尺度特征序列可以是包含任意形式词向量的特征词序列,如word2vec序列,glove序列,one

hot编码序列等等,具体的根据实际情况进行选择,本公开实施例不作限定。
93.s102、通过重构网络,基于多尺度特征序列进行重构,得到重构特征序列;其中,重构网络是使用正样本训练得到的。
94.本公开实施例中,正样本为图像中的各个像素点都正常,不存在异常像素点的样本。示例性地,可以是产线上的正常产品图或合格产品图,具体的根据实际情况进行选择,本公开实施例不作限定。
95.从统计学的角度来看,可以将样本图像中异常像素点的特征作为正常像素点的特征分布中的离群值。因此,本公开实施例可以通过模拟正常像素点的特征分布,使得初始重构网络在对正常像素点的特征进行重构处理时,学习到正常像素点的特征分布,因此对于异常像素点的特征进行重构处理的重构效果会大大降低,拉大正常像素点和异常像素点重构特征的优劣差距,从而使得初始重构网络具备对于正常像素点特征分布中的异常情况的识别能力,也即具备对异常样本的检测能力。
96.本公开实施例中,电子设备可以将序列到序列(sequence to sequence)的序列转换网络模型作为重构网络,以上述序列形式的多尺度特征序列为指导信息,结合指导信息对预设的问询词序列进行重构,得到重构特征序列,进而基于重构特征序列实现异常检测。
97.在一些实施例中,重构网络可以包括编码网络和解码网络;示例性地,重构网络可
以通过编码器

解码器(transformer)结构的神经网络来实现。其中,transformer是一种具有全局注意机制的深层神经网络,最早出现在自然语言处理领域。近年来,transformer以其强大的表示能力逐渐被广泛应用于计算机视觉任务中。目前,异常检测场景中还未涉及transformer的应用,而本公开实施例可以将transformer的应用扩展到异常检测场景中,利用transformer对于输入词序列的全局注意力捕捉,加强重构网络对语义信息的深层次理解,使得重构网络可以在理解图像深层语义特征的前提下实现特征重构。
98.本公开实施例中,电子设备基于重构网络中的编码网络,对多尺度特征序列进行编码,得到编码序列;并通过解码网络,基于编码网络输出的编码序列进行解码重构,从而可以原始的多尺度特征序列对应的重构特征序列。这里,重构网络在对输入的多尺度特征序列进行处理的过程中,可以利用预训练阶段中学习到的正样本的特性,如正样本的特征分布,来对多尺度特征序列进行编码与解码重构,使得重构得到的重构特征序列与原始的多尺度特征序列相接近。对重构网络的训练方式将在之后的步骤中进行说明。
99.在一些实施例中,如果直接通过transformer结构的重构网络对多尺度特征序列f
s
进行重构,会得到单输入单输出的重构特征序列其中,r表示重构操作。然而这种单输入单输出的方法容易导致重构网络仅能学习到简单的恒等映射,难以从输入的图像特征中理解到需要学习的任务目标,这样无论针对图像中的正常像素点还是异常像素点,模型都只能对输入的图像特征进行简单的恒等映射进行输出,无法习得对异常像素点的鉴别能力。因此,本公开实施例引入可学习的问询词序列,以问询词序列与多尺度特征序列作为重构网络的双输入来进行特征重构,得到重构特征序列。
100.在一些实施例中,本公开实施例中通过双输入单输出方法得到的重构特征序列可以表示为其中,q表示预设的问询词序列,预设的问询词序列与多尺度特征序列具有相同的特征维度。
101.本公开实施例中,问询词序列是一种可学习得到的向量序列。电子设备可以在重构网络的模型训练的启动阶段,对问询词序列中的向量进行初始化,并在训练重构网络的过程中迭代地对问询词序列进行更新,最终得到预设的问询词序列。
102.本公开实施例中,电子设备基于transformer结构的重构网络中的编码器部分,对多尺度特征序列进行编码,得到编码序列。电子设备可以以编码序列作为重构网络中的解码器部分的指导信息,用于对编码器的解码过程进行指导,从而基于编码序列,通过解码器对预设的问询词序列进行解码重构,得到重构特征序列。
103.在一些实施例中,transformer结构的重构网络可以如图4所示,包含由n个编码模块堆叠得到的编码器,以及由n个解码模块堆叠得到的解码器。其中,n个编码模块中的每个编码模块包含多头自注意力(multi

head attention)层、前馈网络(feed forward network,ffn)以及残差与归一化(add&normalize)层。示例性地,前馈网络可以是全连接神经网络。
104.示例性地,如图4所示,电子设备将图4中得到的多尺度特征序列输入编码器中,通过三个预设权值矩阵转换为用于注意力计算的q向量,k向量和v向量,进而通过多头自注意力层,根据q向量,k向量和v向量计算注意力值,并通过残差与归一化层根据计算得到的注意力值以及原始的q向量,k向量和v向量进行残差计算与归一化处理,通过前馈网络对处理
结果进行线性与非线性变换,再经过一次残差与归一化层,得到多尺度特征序列对应的编码序列,将编码序列输入解码器。进而,在解码器中,通过多头自注意力层与残差与归一化层对预设的问询词序列进行注意力值计算与残差归一化处理,并将编码器输出的编码序列与预设的问询词序列的处理结果进行合并,再次进行注意力值计算,得到合并注意力值,并结合预设的问询词序列的处理结果与合并注意力值进行残差与归一化处理,再通过前馈网络与残差归一化网络,得到重构特征序列。
105.在一些实施例中,如图4所示,电子设备还可以利用transformer置换不变的特性,在多头自注意力层的每层中加入位置信息,示例性地,可以是正弦位置信息,以通过位置信息进一步提高重构网络对语义的理解能力。具体的根据实际情况进行选择,本公开实施例不作限定。
106.这里,电子设备将从待检测图像中提取得到的多尺度特征序列作为指导信息,对可学习的问询词序列进行双输入方式的特征重构,可以使得重构网络结合问询词序列中的语义,在深层语义理解的基础上进行解码重构,从而提高重构特征的准确性,进一步提高异常检测的准确性。
107.s103、根据重构特征序列与多尺度特征序列,确定每个像素位置上的特征差异。
108.本公开实施例中,多尺度特征序列表征待检测图像中每个像素位置的原始特征,重构特征序列表征每个像素位置上,基于原始特征进行重构得到的重构特征。电子设备可以通过对比重构特征序列与多尺度特征序列之间的差异,确定每个像素位置上的特征差异,也即重构网络对待检测图像每个像素点的重构效果。
109.在一些实施例中,电子设备可以通过计算重构特征序列与多尺度特征序列中每个对应的序列位置上的特征差异,将多尺度特征序列与重构特征序列进行序列形式的差异对比,得到特征差异序列,特征差异序列中的每个特征差异对应于每个像素位置。电子设备可以通过特征差异序列得到每个像素位置上的特征差异。
110.在一些实施例中,如图5所示,图5中的多尺度特征处理过程与特征重构过程与s101和s102中的描述一致,此处不再赘述;如图5所示,电子设备得到重构特征序列后,还可以对重构特征序列进行形状变换,得到矩阵形式,如三维特征地图形式的重构特征。示例性地,电子设备可以将h
×
w个c维的重构特征序列,恢复成h
×
w
×
c维的重构特征。电子设备根据重构特征中的h和w维度,得到每个像素位置对应的c维的像素重构特征。同样地,电子设备根据多尺度特征序列对应的h
×
w
×
c维的多尺度特征,得到每个像素位置上的多尺度像素特征。电子设备计算每个像素位置上的像素重构特征与多尺度像素特征之间的差异,即可得到每个像素位置上的特征差异。
111.s104、基于特征差异,确定每个像素位置上的异常评分。
112.本公开实施例中,电子设备可以基于特征差异序列所表征的每个像素位置上的重构效果,确定每个像素位置上的异常评分,异常评分用于表征对应像素点是否为异常像素点。
113.在一些实施例中,电子设备可以通过每个像素位置上的特征差异进行通道平均的方式,来计算得到每个像素位置上的异常评分。示例性地,如公式(2)所示,如下:
114.115.公式(2)中,d'(u,i)为每个像素位置上的特征差异,c为每个特征差异对应的特征通道数,s(u)为通过对每个像素位置上的特征差异进行特征通道维度的平均,得到的异常评分。
116.本公开实施例中,电子设备也可以根据实际情况采用其他的计算方式,来根据每个像素位置上的特征差异对该像素点的重构效果进行评估,得到异常评分,具体的根据实际情况进行选择,本公开实施例不作限定。
117.在一些实施例中,基于图2与图4,电子设备使用重构网络对待检测图像进行异常检测,得到每个像素位置的异常评分的过程可以如图6所示。
118.s105、基于异常评分,绘制待检测图像对应的异常检测图像。
119.本公开实施例中,电子设备可以基于异常评分,分别对正常像素点与异常像素点进行区别绘制,得到待检测图像对应的异常检测图像。这样,就可以在异常检测图像中自动标记出异常区域。
120.在一些实施例中,电子设备可以将每个像素位置的异常评分与预设评分区间进行对比,根据异常评分落入的目标评分区间,以及预设评分区间与预设像素值的对应关系,确定每个像素位置对应的目标像素值。电子设备根据每个像素位置对应的目标像素值绘制出异常检测图像。
121.示例性地,在每个像素位置上的异常评分小于或者等于评分阈值的情况下,说明重构网络对该像素点的重构特征与原始特征相接近,重构效果较好,电子设备将该像素位置对应的像素值绘制为第一值,以表征该像素点为正常像素点;在每个像素位置上的异常评分大于评分阈值的情况下,说明重构网络对该像素点的重构特征与原始特征相差较大,重构效果不好,电子设备将该像素位置对应的像素值绘制为第二值,以表征该像素点为异常像素点;直至将待检测图像的像素位置绘制完成时,得到异常检测图像。这样,可以通过不同的像素值,在异常检测图像中分别标记出正常像素点和异常像素点,实现对待检测图像的异常检测。
122.在一些实施例中,如图7所示,电子设备可以通过深度卷积神经网络,对待检测图像进行不同尺度的特征提取,得到多尺度特征序列,在多尺度特征序列中添加特征信息,通过重构网络中的编码器,将添加了位置信息的多尺度特征序列嵌入到具有全局注意力机制的潜在特征空间中进行编码,得到编码序列。并通过重构网络中的解码器,以编码序列为解码过程的指导信息,对添加了位置信息的预设的问询词向量进行解码,得到特征重构序列。电子设备通过对于多尺度特征序列与特征重构序列的差异,得到待检测图像中每个像素位置的特征差异,并根据每个像素位置的特征差异确定每个像素位置上的异常评分,得到每个像素位置上对应的像素值并进行绘制,并将绘制得到的图像与原始的待检测图像进行融合,得到异常检测图像。示例性地,如图8所示,基于图6的异常检测方法,电子设备对待检测图像70进行得到的异常检测图像可以如71所示,可以看出,图8中通过不同的显示效果,在种子图像中标记出了种子发芽部分的异常图像区域。从而,实现了对产品进行异常检测的功能。
123.可以理解的是,本公开实施例中,通过正样本训练得到的重构网络,实现了对正常样本的特征分布的理解和建模,因此,在待检测图像中存在异常像素的情况下,通过重构网络对异常像素进行重构后的重构特征会与原始异常像素特征存在较大差距,也即对异常像
素的重构的特征差异较大。因此,可以将重构后的特征差异作为异常评分,通过异常评分来得到对于待检测图像的像素级的检测结果,从而提高了异常检测的准确性。并且,通过多尺度特征与预设问询词共同进行重构,能够捕捉到待检测图像中更深层次的语义信息,从而进一步提高了异常检测的准确性。
124.下面,将结合图9,对本公开实施例提供的重构网络的正样本训练过程进行说明。
125.s01、获取正样本与预设的初始问询词序列。
126.s02、基于正样本与初始问询词序列,结合预设的正样本损失函数,对初始重构网络进行训练,直至得到重构网络;其中,预设的正样本损失函数用于根据利用初始问询词序列对正样本进行重构得到的特征差异,评估初始重构网络对正样本的重构性能。本公开实施例中,电子设备可以获取正样本作为训练样本,并对问询词序列进行初始化赋值得到初始问询词序列,从而结合预设的正样本损失函数,进行对初始重构网络进行迭代训练,直至达到预设的训练条件时,得到重构网络。这里,预设的正样本损失函数用于根据利用初始问询词序列对正样本进行重构得到的特征差异,评估初始重构网络对正样本的重构性能。
127.在一些实施例中,基于图9,s02可以通过执行s021

s025的过程实现,如图10所示,将结合各步骤进行说明:
128.s021、对正样本进行特征处理,得到多尺度正样本特征序列。
129.本公开实施例中,对于迭代训练的每轮训练过程,电子设备可以通过特征提取网络,对正样本进行特征处理,得到多尺度正样本特征序列。
130.在一些实施例中,电子设备可以通过预训练完成的特征提取网络对正样本进行特征处理,也可以使用初始的特征提取网络,与初始重构网络进行协同训练,在每一轮训练过程中同步调整初始的特征提取网络与初始重构网络的网络参数,直至满足预设训练条件时,得到训练完成的特征提取网络与重构网络。具体的根据实际情况进行选择,本公开实施例不作限定。
131.本公开实施例中,电子设备对正样本进行特征处理的过程与s101的过程描述一致,此处不再赘述。
132.s022、基于初始重构网络,对多尺度正样本特征序列和初始问询词序列进行重构,得到重构正样本特征序列。
133.本公开实施例中,电子设备基于初始重构网络,以多尺度正样本特征序列为指导信息,对预设的初始问询词序列进行重构,得到重构正样本特征序列。上述重构过程与s102的过程描述一致,此处不再赘述。
134.s023、根据重构正样本特征序列与多尺度正样本特征序列,确定正样本特征差异序列。
135.本公开实施例中,正样本特征差异序列表征了重构网络对于每个像素点的多尺度像素特征进行重构,所得到的像素重构特征与原始的多尺度像素特征之间的差异,也即表征了重构网络对于每个像素点的重构效果。电子设备可以基于正样本特征差异序列,计算得到当前轮训练的正样本损失,并基于当前正样本损失和预设损失阈值,对初始重构网络进行训练调整,直至得到最终损失小于预设损失阈值的重构网络。
136.本公开实施例中,电子设备可以将重构正样本特征序列与多尺度正样本特征序列,以序列形式进行差异对比,得到正样本特征差异序列,根据正样本特征差异序列得到每
个像素位置上的正样本特征差异。
137.本公开实施例中,电子设备也可以将重构正样本特征序列进行形状变换,恢复为矩阵形式的重构正样本特征,进而将重构正样本特征中包含的每个像素位置上的重构正样本像素特征,与多尺度正样本特征序列对应的多尺度样本特征中,每个像素位置上的多尺度正样本像素特征,进行对应像素位置上的特征差异计算,得到每个像素位置的正样本特征差异。
138.在一些实施例中,电子设备可以通过公式(3),计算每个像素位置上的正样本特征差异,如下:
[0139][0140]
公式(3)中,f(u,i)为多尺度正样本特征,为重构正样本特征;u为像素位置的索引坐标,示例性地,可以是h
×
w大小的特征地图中每个像素位置的坐标。i为特征通道的索引。电子设备可以通过公式(3),对多尺度样本特征与重构样本特征进行像素位置的对位相减,得到每个像素位置u上的正样本特征差异d(u,i)。
[0141]
s024、基于正样本特征差异序列与预设的正样本损失函数,计算当前正样本损失。
[0142]
本公开实施例中,电子设备可以使用预设的正样本损失函数和,基于正样本特征差异序列来评估初始重构网络在当前轮训练过程中对正样本的特征重构效果,得到当前正样本损失。
[0143]
在一些实施例中,正样本可以包括:无标签的完全正样本,也即无真实值标注的,可靠的正常图像。预设的正样本损失函数包括:回归损失函数,电子设备可以通过将回归损失函数作为预设的正样本损失函数,通过回归损失函数,根据正样本特征差异序列,计算当前正样本损失。
[0144]
示例性地,回归损失函数可以包括平滑(smooth)l1损失、mse损失等等,具体的根据实际情况进行选择,本公开实施例不作限定。
[0145]
在一些实施例中,通过回归损失函数计算当前正样本损失的过程可以如图11所示,电子设备先根据重构正样本特征序列与多尺度正样本特征序列,得到的正样本特征差异序列,从而得到每个像素位置上的正样本特征差异;进而通过平滑损失函数,并对每个像素位置上的正样本特征差异进行数据平滑处理,得到当前正样本损失。如公式(4)所示,如下:
[0146][0147]
公式(4)中,l
nor
代表当前正样本损失。
[0148]
在一些实施例中,正样本可以包括:对应有图像级标注的真实值的正样本,示例性地,正样本可以是同时存在正样本与异常样本的训练样本集合中,真实值表征图像为正常图像的样本。预设的正样本损失函数包括:图像级损失函数电子设备基于正样本特征差异序列,计算当前正样本损失的过程可以如图12所示,包括s201

s204,如下:
[0149]
s201、对正样本特征差异序列进行通道维度的标量化处理,得到每个像素位置上的正样本特征差异度量。
[0150]
本公开实施例中,电子设备可以将正样本特征差异序列中表征每个像素位置上的
特征差异转换为通道维度的标量,使得每个像素位置只对应一个标量化的正样本特征差异度量。
[0151]
在一些实施例中,电子设备可以将正样本特征差异序列转换为矩阵形式的正样本特征差异,如h
×
w
×
c维的正样本特征差异,对每个像素位置上的c维正样本像素特征差异进行通道维度平均,也即c维平均,得到每个像素位置上的正样本特征差异度量。示例性地,如公式(5)所示:
[0152][0153]
公式(5)中,电子设备可以对每个像素位置u上的正样本像素特征差异进行c维均方差处理,得到作为初始的标量化处理结果,并进一步对进行平滑化处理,得到正样本特征差异度量φ(u)。
[0154]
s202、从每个像素位置上的正样本特征差异度量中,确定数值最大的k个最大正样本特征差异度量;k为大于1的正整数。
[0155]
本公开实施例中,电子设备可以根据每个像素位置上的正样本特征差异度量,对每个像素点的重构效果进行评估,从中选取重构效果较差的像素点,即φ(u)值较大的像素点来进行当前正样本损失的计算,以对正样本中重构效果较差的像素点进行针对性的优化。
[0156]
在一些实施例中,电子设备可以从每个像素位置上的正样本特征差异度量中,确定数值最大的k个最大正样本特征差异度量;其中,k为大于1的正整数。
[0157]
s203、对k个最大正样本特征差异度量进行平均,得到正样本特征平均差异度量。
[0158]
本公开实施例中,电子设备可以对上述k个最大正样本特征差异度量进行平均,得到正样本特征平均差异度量。
[0159]
示例性地,电子设备可以通过公式(6),计算正样本特征平均差异度量,如下:
[0160][0161]
公式(6)中,q为正样本特征平均差异度量。
[0162]
204、基于正样本特征平均差异度量、正样本的真实值和图像级损失函数,得到当前正样本损失。
[0163]
本公开实施例中,电子设备可以利用兼容正样本和异常样本的图像级损失函数来计算正样本对应的当前正样本损失。
[0164]
在一些实施例中,图像级损失函数包括:正常图像损失部分和异常图像损失部分,在真实值表征图像为正常图像的情况下,电子设备可以基于正常图像损失部分,将正样本特征平均差异度量,确定为当前正样本损失。其中,正样本特征平均差异度量与所述当前正样本损失成正相关,电子设备可以利用当前正样本损失,以减小正样本特征平均差异度量为目标,对初始重构网络进行参数调整,以使初始重构网络对正常图像进行重构的重构特征与原始特征相接近。
[0165]
这里,异常图像损失部分用于在针对异常样本进行处理时,计算异常样本对应的
当前异常样本损失。其中,异常样本为真实值表征图像为异常图像的样本,电子设备可以基于异常样本进行与s101

s103中类似的特征提取处理、重构、以及特征差异序列的计算,得到异常样本特征差异序列,并基于异常样本特征差异序列进行与s201

s203中类似的通道维度标量化处理与最大异常样本特征差异度量平均处理,得到异常样本特征差异度量。进而,电子设备就可以基于异常样本对应的异常样本特征差异度量,通过异常图像损失部分得到当前异常样本损失。其中,异常样本特征平均差异度量与当前异常样本损失成负相关。当前异常样本损失用于以增大异常样本特征平均差异度量为目标,对初始重构网络进行调整,以使初始重构网络对异常图像进行重构的重构特征与原始特征相远离。
[0166]
在一些实施例中,图像级损失函数可以如公式(7)所示,如下:
[0167]
l
img
=(1

y)q

αylog(1

exp(

q))
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7)
[0168]
公式(7)中,y为真实值,α为权重因子。以正样本对应的真实值为0,异常样本对应的真实值为1为例,(1

y)q为正常图像损失部分,

αylog(1

exp(

q))为异常图像损失部分。当y=0时,l
img
为当前正样本损失。当y=1时,l
img
为当前异常样本损失。可以看出,对于正常图像,q越小,即正常图像的重构特征与原始特征之间的距离越小,相应地,当前正样本损失也越小。也即当前正样本损失与正样本特征平均差异度量成正相关。对于异常图像,q越大,即异常图像的重构特征与原始特征之间的距离越大,相应地,当前异常样本损失越小。也即当前异常样本损失与异常样本特征平均差异度量成负相关。
[0169]
可以理解的是,本公开实施例中,利用兼容正样本和异常样本的图像级损失函数来计算正样本对应的当前正样本损失,对初始重构网络进行训练,为兼容使用不同类型的样本训练得到初始重构网络提供了实现基础,而提高了初始重构网络的训练方法的灵活性与兼容性。
[0170]
s025、基于当前正样本损失和预设损失阈值,对初始重构网络进行训练调整,直至得到最终损失小于预设损失阈值的重构网络。
[0171]
本公开实施例中,在电子设备通过预设的回归损失函数或对正样本特征差异度量进行平均,得到当前正样本损失的情况下,电子设备可以将当前正样本损失与预设损失阈值进行对比,在当前正样本损失大于预设损失阈值的情况下,以减小当前正样本损失为目标,对初始重构网络进行参数更新,并使用参数更新后的初始重构网络进行下一轮训练。电子设备通过上述过程对初始重构网络进行迭代训练,在最终损失小于预设损失阈值的情况下,得到重构网络。
[0172]
需要说明的是,在初始重构网络的训练过程中,初始问询词序列可以跟随初始重构网络的每轮更新进行更新,也可以根据自身的更新周期进行更新,直至最终损失小于预设损失阈值,得到预设的问询词序列。具体的根据实际情况进行选择,本公开实施例不做限定。
[0173]
可以理解的是,电子设备可以通过正样本损失函数,计算原始特征与重构特征之间的差距,来对初始重构网络针对完全正样本的重构能力进行评估,从而提高重构网络针对完全正样本的重构效果,使得重构网络对正常像素点进行重构的重构特征与原始特征尽量接近,这样,可以拉大与异常像素点的重构特征之间的泛化差距,使重构网络对正常像素点和异常像素点处理后的重构特征体现出明显的优劣差距,从而实现了利用重构网络输出的重构特征实现异常检测,并提高了异常检测的准确性。
[0174]
本公开实施例还提供一种异常检测装置,图13为本公开实施例提供的异常检测装置的结构示意图;如图13所示,异常检测装置500包括:
[0175]
特征提取网络501;用于对待检测图像进行不同尺度的特征处理,得到多尺度特征序列;
[0176]
重构网络502,用于基于所述多尺度特征序列进行重构,得到重构特征序列;所述重构网络是使用正样本训练得到的;
[0177]
确定单元503,用于根据所述重构特征序列与所述多尺度特征序列,确定每个像素位置上的特征差异;
[0178]
评分单元504,用于基于所述特征差异,确定所述每个像素位置上的异常评分;
[0179]
检测单元505,用于基于所述异常评分,绘制所述待检测图像对应的异常检测图像。
[0180]
在一些实施例中,所述特征提取网络501,还用于对所述待检测图像进行不同尺度的特征提取,得到多个不同尺度的特征;将所述多个不同尺度的特征进行融合,得到多尺度特征;对所述多尺度特征进行形状变换,得到所述多尺度特征序列。
[0181]
在一些实施例中,所述重构网络502包括:编码网络和解码网络;所述编码网络,用于对所述多尺度特征序列进行编码,得到编码序列;
[0182]
所述解码网络,用于基于所述编码序列进行解码重构,得到所述重构特征序列。
[0183]
在一些实施例中,所述确定单元503,还用于计算所述重构特征序列与所述多尺度特征序列中每个对应的序列位置上的特征差异,得到所述每个像素位置上的特征差异。
[0184]
在一些实施例中,所述评分单元504,还用于对每个像素位置上的所述特征差异进行通道平均,得到所述每个像素位置上的异常评分。
[0185]
在一些实施例中,所述检测单元505,还用于在每个像素位置上的异常评分小于或者等于评分阈值的情况下,将该像素位置对应的像素值绘制为第一值;在每个像素位置上的异常评分大于评分阈值的情况下,将该像素位置对应的像素值绘制为第二值;直至将所述待检测图像的像素位置绘制完成时,得到所述异常检测图像。
[0186]
在一些实施例中,所述异常检测装置还包括:训练单元;所述训练单元,用于所述基于重构网络,对所述多尺度特征序列和预设的问询词序列进行重构,得到重构特征序列之前,获取正样本与预设的初始问询词序列;基于所述正样本与所述初始问询词序列,结合预设的正样本损失函数,对初始重构网络进行训练,直至得到所述重构网络;其中,所述预设的正样本损失函数用于根据利用所述初始问询词序列对所述正样本进行重构得到的特征差异,评估所述初始重构网络对所述正样本的重构性能。
[0187]
在一些实施例中,所述训练单元,还用于对所述正样本进行特征处理,得到多尺度正样本特征序列;基于所述初始重构网络,对所述多尺度正样本特征序列和所述初始问询词序列进行重构,得到重构正样本特征序列;根据所述重构正样本特征序列与所述多尺度正样本特征序列,确定正样本特征差异序列;基于所述正样本特征差异序列与预设的正样本损失函数,计算当前正样本损失;基于所述当前正样本损失和所述预设损失阈值,对所述初始重构网络进行训练调整,直至得到最终损失小于所述预设损失阈值的所述重构网络。
[0188]
在一些实施例中,所述预设的正样本损失函数包括:回归损失函数,所述训练单元,还用于通过所述回归损失函数,对所述正样本特征差异序列进行梯度平滑处理,得到所
述当前正样本损失。
[0189]
在一些实施例中,所述预设的正样本损失函数包括:图像级损失函数,所述训练单元,还用于对所述正样本特征差异序列进行通道维度的标量化处理,得到每个像素位置上的正样本特征差异度量;从所述每个像素位置上的正样本特征差异度量中,确定数值最大的k个最大正样本特征差异度量;k为大于1的正整数;对所述k个最大正样本特征差异度量进行平均,得到正样本特征平均差异度量;
[0190]
基于所述正样本特征平均差异度量、所述正样本的真实值和所述图像级损失函数,得到所述当前正样本损失。
[0191]
在一些实施例中,所述图像级损失函数包括:正常图像损失部分和异常图像损失部分,
[0192]
所述训练单元,还用于基于所述正常图像损失部分,在所述真实值表征图像为正常图像的情况下,将所述正样本特征平均差异度量,确定为当前正样本损失;所述正样本特征平均差异度量与所述当前正样本损失成正相关;其中,
[0193]
所述异常图像损失部分用于在针对所述真实值表征图像为异常图像的异常样本进行处理的情况下,基于所述异常样本对应的异常样本特征差异度量,得到当前异常样本损失;所述异常样本特征平均差异度量与所述当前异常样本损失成负相关;所述当前异常样本损失用于以增大所述异常样本特征平均差异度量为目标,对所述初始重构网络进行调整。
[0194]
在一些实施例中,所述训练单元,还用于在所述初始重构网络的训练过程中,对所述初始问询词序列进行迭代更新,直至所述最终损失小于所述预设损失阈值,得到所述预设的问询词序列。
[0195]
在一些实施例中,所述检测单元505,还用于对每个像素位置上的所述特征差异进行通道平均,得到所述每个像素位置上的异常评分。
[0196]
在一些实施例中,所述检测单元505,还用于在每个像素位置上的异常评分小于或者等于评分阈值的情况下,将该像素位置对应的像素值绘制为第一值;在每个像素位置上的异常评分大于评分阈值的情况下,将该像素位置对应的像素值绘制为第二值;直至将所述待检测图像的像素位置绘制完成时,得到所述异常检测图像。
[0197]
需要说明的是,以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本公开装置实施例中未披露的技术细节,请参照本公开方法实施例的描述而理解。
[0198]
本公开实施例还提供一种电子设备,图14为本公开实施例提供的电子设备的结构示意图,如图14所示,电子设备2包括:存储器21和处理器22,其中,存储器21和处理器22通过通信总线23连接;存储器21,用于存储可执行计算机程序;处理器22,用于执行存储器21中存储的可执行计算机程序时,实现本公开实施例提供的异常检测方法。
[0199]
本公开实施例提供一种计算机可读存储介质,存储有计算机程序,用于引起处理器22执行时,实现本公开实施例提供的异常检测方法。
[0200]
在本公开的一些实施例中,存储介质可以是fram、rom、prom、eprom、eeprom、闪存、磁表面存储器、光盘、或cd

rom等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
[0201]
在本公开的一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
[0202]
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(html,hyper text markup language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
[0203]
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
[0204]
在一些实施例中,计算机可读存储介质可以是fram、rom、prom、ep rom、eeprom、闪存、磁表面存储器、光盘、或cd

rom等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
[0205]
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
[0206]
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(html,hyper text markup language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
[0207]
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
[0208]
综上所述,通过正样本训练得到的重构网络,实现了对正常样本的特征分布的理解和建模,因此,在待检测图像中存在异常像素的情况下,通过重构网络对异常像素进行重构后的重构特征会与原始异常像素特征存在较大差距,也即对异常像素的重构的特征差异较大。因此,可以将重构后的特征差异作为异常评分,通过异常评分来得到对于待检测图像的像素级的检测结果,从而提高了异常检测的准确性。并且,通过多尺度特征与预设问询词共同进行重构,能够捕捉到待检测图像中更深层次的语义信息,从而进一步提高了异常检测的准确性。
[0209]
以上所述,仅为本公开的实施例而已,并非用于限定本公开的保护范围。凡在本公开的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本公开的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献