掌桥专利:专业的专利平台
掌桥专利
首页

图像异常检测方法、装置、设备及计算机可读存储介质

文献发布时间:2023-06-19 12:05:39


图像异常检测方法、装置、设备及计算机可读存储介质

技术领域

本公开涉及计算机视觉技术,尤其涉及一种图像异常检测方法、装置、设备及计算机可读存储介质。

背景技术

图像异常检测和异常定位在工业生产、医疗检测中具有重要意义。在现有的异常检测和定位方法中,通常只关注于图像的全局信息和局部信息的挖掘,难以全面地检测出图像中存在的异常,例如错位、交换、缺失等等,易产生漏判的问题。

发明内容

本公开实施例提供了一种图像异常检测方案。

根据本公开的一方面,提供一种图像异常检测方法,所述方法包括:对待处理图像中的第一区域进行特征提取,得到第一特征;对所述待处理图像中的第二区域进行特征提取,得到第二特征,其中,所述第二区域环绕所述待处理图像中的所述第一区域设置;对所述第一特征和所述第二特征进行异常检测,得到所述第一区域的异常得分;根据所述第一区域的异常得分,得到所述待处理图像的异常检测结果。

结合本公开提供的任一实施方式,所述对所述第一特征和所述第二特征进行异常检测,得到所述第一区域异常得分,包括:对所述第一特征和所述第二特征进行一致性检测和/或失真检测;根据一致性检测结果和/或失真检测结果,得到所述第一区域的异常得分,其中,所述一致性检测结果通过对所述第一特征和所述第二特征进行一致性检测得到;所述失真检测结果通过对所述第一特征和所述第二特征进行失真检测得到。

结合本公开提供的任一实施方式,所述对所述第一特征和所述第二特征进行一致性检测,包括:根据所述第一特征和所述第二特征之间的向量距离,确定所述第一特征和所述第二特征的一致性得分。

结合本公开提供的任一实施方式,所述对所述第一特征和所述第二特征进行失真检测,包括:根据第二特征和随机特征得到输入特征,其中,所述随机特征等概率地根据所述第一区域或生成区域获得,所述生成区域是通过在所述第一区域中随机增加扰动像素得到的;确定所述输入特征包含所述第一特征的概率;根据所述概率,得到所述第一区域中存在失真的置信度得分。

结合本公开提供的任一实施方式,所述根据一致性检测结果和/或失真检测结果,得到所述异常得分,包括:对所述第一特征和所述第二特征的一致性得分与所述第一区域中存在失真的置信度得分进行加权求和,得到所述第一区域的异常得分。

结合本公开提供的任一实施方式,所述待处理图像包括分块采样得到的至少两个第一区域;根据所述第一区域的异常得分,得到所述待处理图像的异常检测结果,包括:获取所述至少两个第一区域中每个第一区域的异常得分;根据所述至少两个第一区域的异常得分,得到所述待处理图像中各个像素的异常程度热力图。

结合本公开提供的任一实施方式,所述对待处理图像中的第一区域进行特征提取,得到第一特征,包括:通过第一特征提取网络对所述第一区域对应的图像进行特征提取,得到所述第一特征;所述方法还包括:在通用图像集上对经训练的深度神经网络进行知识蒸馏,得到中间特征提取网络;在目标场景对应的目标数据集的目标类别上对所述中间特征提取网络进行知识蒸馏,得到所述第一特征提取网络。

结合本公开提供的任一实施方式,所述对所述待处理图像中的第二区域进行特征提取,得到第二特征,包括:通过第二特征提取网络对所述第二区域对应的图像进行特征提取,得到所述第二特征;所述方法还包括:对所述第二特征提取网络和所述失真检测网络进行共同训练,训练的网络损失包括:第一损失,用于指示所述第一特征与所述第二特征之间的差异;第二损失,用于指示所述失真检测网络输出的分类结果与真实值之间的差异,其中,所述失真检测网络输出的分类结果指示输入特征属于所述第一区域样本或生成区域样本的概率,其中,所述生成区域样本是通过在所述第一区域样本中随机增加扰动像素得到的,所述第一区域样本的第一特征或所述生成区域样本的第一特征等概率地输入所述失真检测网络,所述真实值指示所述输入特征属于所述第一区域样本或生成区域样本。

结合本公开提供的任一实施方式,所述对所述待处理图像中的第二区域进行特征提取,得到第二特征,包括:利用多个卷积层对所述第二区域进行卷积操作;其中,所述多个卷积层中的每个卷积卷积层对应一个掩膜;每个卷积层对输入的掩膜操作结果进行卷积操作,所述掩膜操作结果利用所述卷积层对应的掩膜对所述卷积层的输入特征进行掩膜操作得到,所述卷积层对应的掩膜根据所述卷积层对所述掩膜的卷积结果进行更新;所述多个卷积层中的第一个卷积的输入特征是所述第二区域对应的图像,所述第二区域对应的图像是通过初始掩膜对所述待处理图像进行掩膜操作得到,所述初始掩膜中所述第一区域对应的像素值为第一像素值,所述第二区域对应的像素值为第二像素值。

根据本公开的一方面,提供一种图像异常检测装置,所述装置包括:第一获取单元,用于对待处理图像中的第一区域进行特征提取,得到第一特征;第二获取单元,用于对所述待处理图像中的第二区域进行特征提取,得到第二特征,其中,所述第二区域环绕所述待处理图像中的所述第一区域设置;第三获取单元,用于对所述第一特征和所述第二特征进行异常检测,得到所述第一区域的异常得分;异常检测单元,用于根据所述第一区域的异常得分,得到所述待处理图像的异常检测结果。

结合本公开提供的任一实施方式,所述第三获取单元具体用于:对所述第一特征和所述第二特征进行一致性检测和/或失真检测;根据一致性检测结果和/或失真检测结果,得到所述第一区域的异常得分,其中,所述一致性检测结果通过对所述第一特征和所述第二特征进行一致性检测得到;所述失真检测结果通过对所述第一特征和所述第二特征进行失真检测得到。

结合本公开提供的任一实施方式,所述第三获取单元在用于对所述第一特征和所述第二特征进行一致性检测时,具体用于:根据所述第一特征和所述第二特征之间的向量距离,确定所述第一特征和所述第二特征的一致性得分。

结合本公开提供的任一实施方式,所述第三获取单元在用于对所述第一特征和所述第二特征进行失真检测时,具体用于:根据第二特征和随机特征得到输入特征,其中,所述随机特征等概率地根据所述第一区域或生成区域获得,所述生成区域是通过在所述第一区域中随机增加扰动像素得到的;确定所述输入特征包含所述第一特征的概率;根据所述概率,得到所述第一区域中存在失真的置信度得分。

结合本公开提供的任一实施方式,所述第三获取单元在用于根据一致性检测结果和/或失真检测结果,得到所述异常得分时,具体用于:对所述第一特征和所述第二特征的一致性得分与所述第一区域中存在失真的置信度得分进行加权求和,得到所述第一区域的异常得分。

结合本公开提供的任一实施方式,所述待处理图像包括分块采样得到的至少两个第一区域;所述异常检测单元具体用于:获取所述至少两个第一区域中每个第一区域的异常得分;根据所述至少两个第一区域的异常得分,得到所述待处理图像中各个像素的异常程度热力图。

结合本公开提供的任一实施方式,所述第一获取单元具体用于:通过第一特征提取网络对所述第一区域对应的图像进行特征提取,得到所述第一特征;所述装置还包括第一训练单元,用于:在通用图像集上对经训练的深度神经网络进行知识蒸馏,得到中间特征提取网络;在目标场景对应的目标数据集的目标类别上对所述中间特征提取网络进行知识蒸馏,得到所述第一特征提取网络。

结合本公开提供的任一实施方式,所述第二获取单元具体用于:通过第二特征提取网络对所述第二区域对应的图像进行特征提取,得到所述第二特征;所述方法装置还包括第二训练单元,用于:对所述第二特征提取网络和所述失真检测网络进行共同训练,训练的网络损失包括:第一损失,用于指示所述第一特征与所述第二特征之间的差异;第二损失,用于指示所述失真检测网络输出的分类结果与真实值之间的差异,其中,所述失真检测网络输出的分类结果指示输入特征属于所述第一区域样本或生成区域样本的概率,其中,所述生成区域样本是通过在所述第一区域样本中随机增加扰动像素得到的,所述第一区域样本的第一特征或所述生成区域样本的第一特征等概率地输入所述失真检测网络,所述真实值指示所述输入特征属于所述第一区域样本或生成区域样本。

结合本公开提供的任一实施方式,所述第二获取单元具体用于:利用多个卷积层对所述第二区域进行卷积操作;其中,所述多个卷积层中的每个卷积卷积层对应一个掩膜;每个卷积层对输入的掩膜操作结果进行卷积操作,所述掩膜操作结果利用所述卷积层对应的掩膜对所述卷积层的输入特征进行掩膜操作得到,所述卷积层对应的掩膜根据所述卷积层对所述掩膜的卷积结果进行更新;所述多个卷积层中的第一个卷积的输入特征是所述第二区域对应的图像,所述第二区域对应的图像是通过初始掩膜对所述待处理图像进行掩膜操作得到,所述初始掩膜中所述第一区域对应的像素值为第一像素值,所述第二区域对应的像素值为第二像素值。

根据本公开的一方面,提供一种电子设备,所述设备包括存储器、处理器,所述存储器用于存储可在处理器上运行的计算机指令,所述处理器用于在执行所述计算机指令时实现本公开任一实施方式所述的图像异常检测方法。

根据本公开的一方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现本公开任一实施方式所述的图像异常检测方法。

根据本公开的一方面,提供一种计算机程序产品,包括计算机程序,所述程序被处理器执行时实现本公开任一实施方式所述的图像异常检测方法。

在本公开实施例中,首先对待处理图像中的第一区域进行特征提取,得到第一特征;同时对所述待处理图像中的第二区域进行特征提取,得到第二特征,其中,所述第二区域环绕所述待处理图像中的所述第一区域设置;之后,对所述第一特征和所述第二特征进行异常检测,得到所述第一区域的异常得分;并根据所述第一区域的异常得分,得到所述待处理图像的异常检测结果。由于本公开实施例考虑了待处理图像的局部信息和全局信息之间的关联,能够更全面地检测出待处理图像中存在的异常状况,提高了异常检测能力和效果;并且通过所述第一区域的异常得分,可以确定在所述待处理图像中存在异常的位置,从而实现异常定位。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本说明书的实施例,并与说明书一起用于解释本说明书的原理。

图1A是本公开至少一个实施例示出的一种图像异常检测方法的流程图;

图1B是本公开至少一个实施例示出的一种图像异常检测方法中第一区域和第二区域的示意图;

图2A是本公开至少一个实施例示出的一种图像异常检测方法的示意图;

图2B是本公开至少一个实施例示出的另一种图像异常检测方法的示意图;

图2C是本公开至少一个实施例示出的又一种图像异常检测方法的示意图;

图3是本公开至少一个实施例提出的图像异常检测网络的训练方法示意图;

图4是本公开至少一个实施例示出的图像异常检测方法的检测结果示意图;

图5是本公开至少一个实施例提出的图像异常检测方法与相关方法的检测效果的对比;

图6是本公开至少一个实施例示出的一种图像异常检测装置的示意图;

图7是本公开至少一个实施例示出的电子设备的结构示意图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

本发明实施例可以应用于计算机系统/服务器,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与计算机系统/服务器一起使用的众所周知的计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统、大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。

计算机系统/服务器可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。

图1A是本公开至少一个实施例示出的一种图像异常检测方法的流程图。如图1A所示,该方法包括步骤101~步骤104。

在步骤101中,对待处理图像中的第一区域进行特征提取,得到第一特征。

其中,所述第一区域是所述待处理图像中的一部分。例如,可以将所述待处理图像进行网格化采样,得到一系列的图像块,则可以将其中的每一个图像块依次作为所述第一区域。由于所述第一特征是部分图像的特征,可以将第一特征称为局部特征。

在一些实现方式中,可以从所述待处理图像中裁剪出所述第一区域对应的第一区域图像(patch);利用特征提取网络对所述第一区域图像进行特征提取,得到所述第一特征。为了与后续利用的特征提取网络进行区分,可以将此处的特征提取网络称为第一特征提取网络,或者局部特征提取网络。

在步骤102中,对所述待处理图像中的第二区域进行特征提取,得到第二特征。

其中,所述第二区域环绕所述待处理图像中的所述第一区域设置。在所述第一区域是所述待处理图像是多个图像块中的一个图像块的情况下,例如图1B中的第6号图像块,则环绕所述第一区域设置的第二区域如图1B中的虚线框中的第1、2、3、5、7、9、10、11号图像块所示。应当注意的是,当第一区域是位于待处理图像边缘处的图像块,可以在所述待处理图像的边缘外侧补像素值为0的图像块,以获得环绕所述第一区域设置的第二区域。

在一些实现方式中,第二区域为在所述待处理图像中所述第一区域以外的区域,也即所述第二区域则是对应第一区域以外的图像剩余部分。以图1B中第6号图像块为第一区域为例,在这种情况下所述第二区域是图像中除第6号图像块以外的所有图像块所形成的区域。

由于所述第二区域相较于第一区域包含的范围更大,因此可以将所述第一区域的第一特征称为局部特征,将第二区域的第二特征称为全局特征。

在一些实现方式中,在将所述第一区域从所述待处理图像裁剪出后,可以得到图像剩余部分,也即第二区域对应的图像,作为第二区域图像;利用特征提取网络对所述第二区域图像进行特征提取,得到所述第二特征。为了与对第一区域图像进行特征提取的特征提取网络进行区分,可以将此处的特征提取网络称为第二特征提取网络,或者全局特征提取网络。

在步骤103中,对所述第一特征和所述第二特征进行异常检测,得到所述第一区域的异常得分。

在本公开实施例中,可以将所述第一特征和所述第二特征输入多个异常检测头,通过多个异常检测头分别从不同角度进行检测,以得到表征所述第一区域存在异常置信度的异常得分(score)。

在步骤104中,根据所述第一区域的异常得分,得到所述待处理图像的异常检测结果。

在所述第一区域异常得分高于设定阈值的情况下,则可以确定所述第一区域存在异常,从而能够确定所述待处理图像中存在异常的位置。

在本公开实施例中,首先对待处理图像中的第一区域进行特征提取,得到第一特征;同时对所述待处理图像中的第二区域进行特征提取,得到第二特征,其中,所述第二区域环绕所述待处理图像中的所述第一区域设置;之后,对所述第一特征和所述第二特征进行异常检测,得到所述第一区域的异常得分;并根据所述第一区域的异常得分,得到所述待处理图像的异常检测结果。由于本公开实施例考虑了待处理图像的局部信息和全局信息之间的关联,能够更全面地检测出待处理图像中存在的异常状况,提高了异常检测能力和效果;并且通过所述第一区域的异常得到,可以确定在所述待处理图像中存在异常的位置,从而实现异常定位。

在一些实现方式中,所述第一特征提取网络可以是轻量化网络。

在一些实现方式中,可以采用知识蒸馏的方式对所述第一特征提取网络进行预训练。

首先,在通用图像集,例如ImageNet上对经训练的深度神经网络,例如RseNet-18进行知识蒸馏,得到中间特征提取网络;

之后,在目标场景对应的目标数据集的目标类别上对所述中间特征提取网络进行知识蒸馏,得到所述第一特征提取网络,使得第一特征提取网络可以适应目标场景。

在一些实现方式中,所述第二特征提取网络可以是深度神经网络。

为了防止局部特征干扰全局特征,本公开实施例提出了一种利用第二特征提取网络对所述第二区域图像进行特征提取。在该方法中,利用所述第二特征提取网络所包含的利用多个卷积层对所述第二区域进行卷积操作。

其中,所述多个卷积层中的每个卷积层对应一个掩膜;每个卷积层对输入的掩膜操作结果进行卷积操作,所述掩膜操作结果利用所述卷积层对应的掩膜对所述卷积层的输入特征进行掩膜操作得到,所述卷积层对应的掩膜根据所述卷积层对所述掩膜的卷积结果进行更新;

所述多个卷积层中的第一个卷积的输入特征是所述第二区域对应的图像,所述第二区域对应的图像是通过初始掩膜对所述待处理图像进行掩膜操作得到,所述初始掩膜中所述第一区域对应的像素值为第一像素值,所述第二区域对应的像素值为第二像素值。

具体地,针对其中任意一个卷积层(第i个卷积层,i为正整数,1

在每个位置进行的卷积操作可以利用公式(1)表示:

其中,⊙表示哈达玛积,X表示输入特征,M表示当前层的二进制掩膜,b表示偏置。由公式可见,在每个位置的卷积操作,对输入特征X进行掩膜操作得到第二区域中该位置对应的特征,对该特征进行卷积操作,

对于每一个池化层,特征图以正常池化进行更新,而掩膜M则更新为经过相同池化操作,再经过二值化操作得到的结果。通过上述方法,可以通过第二特征提取网络提取全局特征,而不被局部特征干扰。

为了挖掘所述待检测图像的局部特征和全局特征的关联性,本公开提出了一种异常检测网络:一致性检测网络。所述一致性检测网络用于确定所述局部特征和所述全局特征之间的向量距离。

在一个示例中,所述局部特征和所述全局特征之间的向量距离,可以用两者之间的均方差(Mean Squared Error,MSE)损失来计算,从而得到一致性检测结果。所述MSE损失可以利用公式(2)表示:

其中,Z

在正常的图像中,第一特征和第二特征应该是一致的、连续的,而在存在异常的图像中则相反。因此,可以利用一致性检测结果,例如MSE损失作为表征在第一图像中存在全局与局部不一致的得分函数,记为S

图2A是本公开至少一个实施例示出的一种图像异常检测方法的示意图。如图2A所示,利用图像异常检测网络210对所述待处理图像进行异常检测,可以得到异常检测结果。具体地,将第一区域图像201输入至所述图像异常检测网络210中的第一特征提取网络211,以提取所述第一区域图像201的第一特征;同时,将第二区域图像202输入至第二特征提取网络212,以提取所述第二区域图像202的第二特征。之后,将所述第一特征和所述第二特征同时输入至一致性检测网络213,以得到一致性检测结果。根据所述一致性检测结果,则可以得到所述第一区域的异常得分220。如上所述,所述一致性检测结果表征第一特征与第二特征之间的向量距离,则所述第一特征与所述第二特征之间的距离越大,则表明二者的一致性越差,因而异常得分越高;反之,距离越小,表明二者的一致性越好,因而异常得分越低。

在一些实现方式中,所述待处理图像包括多个第一区域,如231所示,而根据各个第一区域的异常得分,可以得到所述待处理图像的异常程度热力图233。例如,可以利用反距离权重(IDW,Inverse Distance Weighted)插值的方法,得到所述待处理图像中每个像素的异常分数,根据各个像素所属的异常分数区间,以相应的颜色显示像素,从而可以得到整个待处理图像的异常程度热力图。根据所述异常程度热力图,则可以确定待处理图像中的异常位置,实现对于图像异常的像素级定位。

在本公开实施例中,通过利用一致性检测网络挖掘全局特征和局部特征的一致性,可以提高图像异常检测网络的异常检测能力。

为了进一步挖掘图像的局部特征和全局特征的关联性,本公开提出了另一种异常检测网络:失真检测网络。所述失真检测网络可以是一个可训练的分类器,用于检测图像中是否存在失真(distortion),例如图像中是否存在弯曲的网络等情况,所述失真检测网络可以检测第一区域图像中是否存在小瑕疵。

图2B是本公开至少一个实施例示出的另一种图像异常检测方法的示意图。其与图2A所示方法的区别在于,将所述第一特征和所述第二特征同时输入至失真检测网络214,以得到失真检测结果,并通过失真检测结果得到所述第一区域的异常得分220。

在一个示例中,可以通过以下方法得到异常得分220。

首先,根据第二特征和随机特征得到输入特征。其中,所述随机特征等概率地根据所述第一区域或生成区域获取,所述生成区域是通过在所述第一区域中随机增加扰动像素得到的。

接下来,通过将所述输入特征输入至失真检测网络214,可以得到所述输入特征包含所述第一区域的第一特征的概率。

所述失真检测网络214可以包括至少一个全连接层,其中,最后一个全连接层输出所述输入特征包含所述第一区域的第一特征的概率。

最后,根据该概率可以得到所述第一区域中存在失真的置信度得分。该概率值越高,则表明所述第一区域图像中存在失真的可能性越大,则异常得分越高;反之,该概率值越低,表明第一图像中存在失真的可能性越小,则异常得分越低。

具体地,将所述第二特征Zg和随机特征Z*输入失真检测网络,通过所述失真检测网络输出所述随机特征Z*是第一特征Zl或生成区域的特征的概率p,p=C(Z*,Z

可以将根据所述概率所得到的第一区域存在失真的置信度得分记为S

s

其中,C(Z

在本公开实施例中,通过利用失真检测网络挖掘全局特征和局部特征中细微的信息失真,可以提高图像异常检测网络的异常检测能力。

图2C是本公开至少一个实施例示出的又一种图像异常检测方法的示意图。其与图2A所示方法的区别在于,将所述第一特征和所述第二特征输入至一致性检测网络213,得到一致性检测结果的同时,还将所述第一特征和所述第二特征输入至失真检测网络214,以得到失真检测结果,并通过所述一致性检测结果和所述失真检测结果共同得到所述第一区域的异常得分220。

在一个示例中,可以对一致性得分S

s=λ

其中,λs为权重系数,以平衡所述一致性得分和所述第一区域存在失真的置信度得分,所述权重系数的数值可以根据实际需要具体确定,例如,λs=0.8。

在本公开实施例中,通过利用一致性检测网络和失真检测网络共同挖掘全局特征和局部特征的关联,能够更全面地检测出待处理图像中存在的异常状况,提高了异常检测能力和效果。

本公开实施例提出了一种无监督的图像异常检测网络的训练方法。在训练阶段,只需要正常的样本,解决了全监督或半监督的训练方法中,异常图像样本难以收集,或者无穷尽所有可能的异常情况,导致训练得到的网络不适于绝对大多数异常检测场景的问题。

图3是本公开至少一个实施例提出的图像异常检测网络的训练方法示意图,所述异常检测网络310包括第一特征提取网络311、第二特征提取网络312、一致性检测网络313和失真检测网络314。在该训练方法中,将每张训练图像(正常图像)随机裁剪出固定尺寸的图像块,作为第一区域对应的图像301,将图像剩余区域作为第二区域对应的图像302。将所述第一区域对应的图像301输入至第一特征提取网络311,得到第一特征;将所述第二区域对应的图像302输入至所述第二特征提取网络312,得到第二特征。将所述第一特征和所述第二特征输入至一致性检测网络313,同时,还将所述第一特征和所述第二特征输入至失真检测网络314。通过指示第一特征与所述第二特征之间的差异的第一损失lI

在一个示例中,所述第二损失可以通过以下方式得到:

通过在第一区域上增加扰动像素,以得到生成区域。将所述第一区域的第一特征和所述生成区域的第一特征等概率地输入至失真检测网络,也即,或者将所述第一区域的第一特征与所述第二区域的第二特征同时输入所述失真检测网络,或者将所述生成区域的第一特征与所述第二区域的第二特征同时输入所述失真检测网络,以使所述失真检测网络判断输入的特征来自所述第一区域,或来自所述生成区域。

在训练过程中,所述失真检测网络中的分类器例如可以通过交叉熵损失进行监督,所述交叉熵损失如公式(5)所示:

l

其中,y为分类器的目标输出,即对于所述特征属于第一区域为0,属于生成区域为1,p表示输入特征包含第一特征的概率。

总的训练损失如公式(6)所示:

l=l

其中,λt是损失权重,以平衡不同的损失。

本质上,一致性损失(第一损失)用于引导全局特征网络去想象局部的分布,而第二损失(失真损失)则引导全局特征提取网络学习更细微的差别,增加分辨能力。同时,训练失真检测网络的目的是找出正常第一区域图像与异常区域图像之间的细微差别。

需要注意的是,在训练所述第二特征提取网络和所述失真检测网络的过程中,所述第一特征提取网络的参数可以是固定的。

本公开实施例提出的图像异常检测方法可用于工业生产线上的瑕疵品检测、损坏品检测、辅助医疗影像检测等等。以工业生产线上的瑕疵品检测为例,通过该图像异常检测方法对生产线图像进行检测,可以确定该生产线图像上是否存在异常,从而确定生产线上是否存在瑕疵品,并可以进一步确定瑕疵品的位置,在提高了质检准确率、效率的同时,也节省了人力。

图4是本公开至少一个实施例示出的图像异常检测方法的检测结果示意图。

其中,第一行示出了异常图像样本,第二行示出了异常的真实值,第三行示出了根据本公开实施例提出的图像异常检测方法得到的异常程度热力图。由图4可见,根据本公开实施例可以较好地检测出图像中的异常并进行异常定位。

图5示出了本公开实施例提出的图像异常检测方法与相关方法的检测效果的对比。其中,第一列为正常图像,第二列为异常图像,第三列为异常的真实值,第四行为相关方法的异常检测结果,第五列根据本公开实施例提出的图像异常检测方法得到的异常程度热力图。由图5可见,本公开相较于相关技术,能够更准确地检测出图像中的异常并进行异常定位。

图6示出本公开实施例示出的一种图像异常检测装置的示意图。如图6所示,该装置包括:第一获取单元601,用于对待处理图像中的第一区域进行特征提取,得到第一特征;第二获取单元602,用于对所述待处理图像中的第二区域进行特征提取,得到第二特征,其中,所述第二区域环绕所述待处理图像中的所述第一区域设置;第三获取单元603,用于对所述第一特征和所述第二特征进行异常检测,得到所述第一区域的异常得分;异常检测单元604,用于根据所述第一区域的异常得分,得到所述待处理图像的异常检测结果。

在一些实现方式中,所述第三获取单元具体用于:对所述第一特征和所述第二特征进行一致性检测和/或失真检测;根据一致性检测结果和/或失真检测结果,得到所述第一区域的异常得分,其中,所述一致性检测结果通过对所述第一特征和所述第二特征进行一致性检测得到;所述失真检测结果通过对所述第一特征和所述第二特征进行失真检测得到。

在一些实现方式中,所述第三获取单元在用于对所述第一特征和所述第二特征进行一致性检测时,具体用于:根据所述第一特征和所述第二特征之间的向量距离,确定所述第一特征和所述第二特征的一致性得分。

在一些实现方式中,所述第三获取单元在用于对所述第一特征和所述第二特征进行失真检测时,具体用于:根据第二特征和随机特征得到输入特征,其中,所述随机特征等概率地根据所述第一区域或生成区域获得,所述生成区域是通过在所述第一区域中随机增加扰动像素得到的;确定所述输入特征包含所述第一特征的概率;根据所述概率,得到所述第一区域中存在失真的置信度得分。

在一些实现方式中,所述第三获取单元在用于根据一致性检测结果和/或失真检测结果,得到所述异常得分时,具体用于:对所述第一特征和所述第二特征的一致性得分与所述第一区域中存在失真的置信度得分进行加权求和,得到所述第一区域的异常得分。

在一些实现方式中,所述待处理图像包括分块采样得到的至少两个第一区域;所述异常检测单元具体用于:获取所述至少两个第一区域中每个第一区域的异常得分;根据所述至少两个第一区域的异常得分,得到所述待处理图像中各个像素的异常程度热力图。

在一些实现方式中,所述第一获取单元具体用于:通过第一特征提取网络对所述第一区域对应的图像进行特征提取,得到所述第一特征;所述装置还包括第一训练单元,用于:在通用图像集上对经训练的深度神经网络进行知识蒸馏,得到中间特征提取网络;在目标场景对应的目标数据集的目标类别上对所述中间特征提取网络进行知识蒸馏,得到所述第一特征提取网络。

在一些实现方式中,所述第二获取单元具体用于:通过第二特征提取网络对所述第二区域对应的图像进行特征提取,得到所述第二特征;所述方法装置还包括第二训练单元,用于:对所述第二特征提取网络和所述失真检测网络进行共同训练,训练的网络损失包括:第一损失,用于指示所述第一特征与所述第二特征之间的差异;第二损失,用于指示所述失真检测网络输出的分类结果与真实值之间的差异,其中,所述失真检测网络输出的分类结果指示输入特征属于所述第一区域样本或生成区域样本的概率,其中,所述生成区域样本是通过在所述第一区域样本中随机增加扰动像素得到的,所述第一区域样本的第一特征和所述生成区域样本的第一特征等概率地输入所述失真检测网络,所述真实值指示所述输入特征属于所述第一区域样本或生成区域样本。

在一些实现方式中,所述第二获取单元具体用于:利用多个卷积层对所述第二区域进行卷积操作;其中,所述多个卷积层中的每个卷积卷积层对应一个掩膜;每个卷积层对输入的掩膜操作结果进行卷积操作,所述掩膜操作结果利用所述卷积层对应的掩膜对所述卷积层的输入特征进行掩膜操作得到,所述卷积层对应的掩膜根据所述卷积层对所述掩膜的卷积结果进行更新;所述多个卷积层中的第一个卷积的输入特征是所述第二区域对应的图像,所述第二区域对应的图像是通过初始掩膜对所述待处理图像进行掩膜操作得到,所述初始掩膜中所述第一区域对应的像素值为第一像素值,所述第二区域对应的像素值为第二像素值。

图7为本公开至少一个实施例提供的电子设备,所述设备包括存储器、处理器,所述存储器用于存储可在处理器上运行的计算机指令,所述处理器用于在执行所述计算机指令时实现本公开任一实现方式所述的图像异常检测方法。

本公开至少一个实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现本公开任一实现方式所述的图像异常检测方法。

本公开至少一个实施例还提供了一种计算机程序产品,包括计算机程序,所述程序被处理器执行时实现本公开任一实现方式所述的图像异常检测方法。

本领域技术人员应明白,本说明书一个或多个实施例可提供为方法、系统或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于数据处理设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的行为或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

本说明书中描述的主题及功能操作的实施例可以在以下中实现:数字电子电路、有形体现的计算机软件或固件、包括本说明书中公开的结构及其结构性等同物的计算机硬件、或者它们中的一个或多个的组合。本说明书中描述的主题的实施例可以实现为一个或多个计算机程序,即编码在有形非暂时性程序载体上以被数据处理装置执行或控制数据处理装置的操作的计算机程序指令中的一个或多个模块。可替代地或附加地,程序指令可以被编码在人工生成的传播信号上,例如机器生成的电、光或电磁信号,该信号被生成以将信息编码并传输到合适的接收机装置以由数据处理装置执行。计算机存储介质可以是机器可读存储设备、机器可读存储基板、随机或串行存取存储器设备、或它们中的一个或多个的组合。

本说明书中描述的处理及逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程计算机执行,以通过根据输入数据进行操作并生成输出来执行相应的功能。所述处理及逻辑流程还可以由专用逻辑电路—例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)来执行,并且装置也可以实现为专用逻辑电路。

适合用于执行计算机程序的计算机包括,例如通用和/或专用微处理器,或任何其他类型的中央处理单元。通常,中央处理单元将从只读存储器和/或随机存取存储器接收指令和数据。计算机的基本组件包括用于实施或执行指令的中央处理单元以及用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备,例如磁盘、磁光盘或光盘等,或者计算机将可操作地与此大容量存储设备耦接以从其接收数据或向其传送数据,抑或两种情况兼而有之。然而,计算机不是必须具有这样的设备。此外,计算机可以嵌入在另一设备中,例如移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏操纵台、全球定位系统(GPS)接收机、或例如通用串行总线(USB)闪存驱动器的便携式存储设备,仅举几例。

适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、媒介和存储器设备,例如包括半导体存储器设备(例如EPROM、EEPROM和闪存设备)、磁盘(例如内部硬盘或可移动盘)、磁光盘以及CD ROM和DVD-ROM盘。处理器和存储器可由专用逻辑电路补充或并入专用逻辑电路中。

虽然本说明书包含许多具体实施细节,但是这些不应被解释为限制任何发明的范围或所要求保护的范围,而是主要用于描述特定发明的具体实施例的特征。本说明书内在多个实施例中描述的某些特征也可以在单个实施例中被组合实施。另一方面,在单个实施例中描述的各种特征也可以在多个实施例中分开实施或以任何合适的子组合来实施。此外,虽然特征可以如上所述在某些组合中起作用并且甚至最初如此要求保护,但是来自所要求保护的组合中的一个或多个特征在一些情况下可以从该组合中去除,并且所要求保护的组合可以指向子组合或子组合的变型。

类似地,虽然在附图中以特定顺序描绘了操作,但是这不应被理解为要求这些操作以所示的特定顺序执行或顺次执行、或者要求所有例示的操作被执行,以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应被理解为在所有实施例中均需要这样的分离,并且应当理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中,或者封装成多个软件产品。

由此,主题的特定实施例已被描述。其他实施例在所附权利要求书的范围以内。在某些情况下,权利要求书中记载的动作可以以不同的顺序执行并且仍实现期望的结果。此外,附图中描绘的处理并非必需所示的特定顺序或顺次顺序,以实现期望的结果。在某些实现中,多任务和并行处理可能是有利的。

以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。

相关技术
  • 图像异常检测方法、装置、设备及计算机可读存储介质
  • 轨迹异常点检测方法和装置、电子设备、计算机程序产品及计算机可读存储介质
技术分类

06120113161293