利用异常样本的边界引导式异常检测方法、装置与介质

文档序号:33368130发布日期:2023-03-08 01:15阅读:35来源:国知局
利用异常样本的边界引导式异常检测方法、装置与介质

1.本发明涉及图像处理技术领域,具体地说,是一种图像异常检测方法、装置与介质。


背景技术:

2.异常检测是计算机视觉领域中的热门研究方向,在公共安防、金融监管、网络安全、电商交易、工业缺陷检测等领域都具有很高的商业价值和应用价值。
3.异常检测的方法可以分为无监督的方法和有监督的方法。由于异常样本的缺失,异常检测的主流方法为无监督学习,即只从正常样本中学习。主流方法包括基于自动编码器网络、生成对抗网络和单类分类的方法。最近,大多数优秀的方法利用预先训练的深度模型,如deepknn、gaussianad、spade、padim和patchcore。另一些方法基于知识蒸馏、特征重建和归一化流来实现异常检测。
4.上述无监督方法聚焦于正常样本,忽略了异常样本。然而,只从正常样本中学习可能导致模型的判别性能不足。如果没有有效的鉴别能力,检测器的泛化能力就会受到限制,当面对未见过的异常样本时会诱发大量的假阴性和假阳性。
5.近年来,国内外学者开始研究利用监督学习来进行异常检测,最先进的方法包括离群点暴露和深度半监督异常检测。hendrycks等人提出了离群点暴露的方法,将大规模数据集中的随机自然图像称为离群点暴露,并探索利用这些数据来改善无监督异常检测。该方法利用成千上万的离群点暴露样本,在标准的异常检测基准上取得最先进的结果。deepsad是通过将无监督的deepsvdd方法推广到半监督的异常检测环境中,而建立的第一个利用少数异常样本的深度模型。ruff等人在交叉熵分类的基础上进一步修改了deepsad,集中了正常样本,这一修改大大提升了deepsad的性能。fcdd提出了扩展伪huber损失来构建一个半监督的异常定位框架。
6.然而,已知的异常样本不能代表所有种类的异常样本。上述监督方法可能导致模型对已知异常样本产生偏差,而不能推广到未知的异常样本。


技术实现要素:

7.针对现有技术中基于监督学习的异常检测方法存在的上述不足,本发明的目的是提出一种利用异常样本的边界引导式异常检测方法、装置和介质。
8.本发明的第一方面,提供一种利用异常样本的边界引导式异常检测方法,包括:
9.获取正常样本和异常样本,对所述异常样本通过随机增强的剪切粘贴方法进行增广;
10.利用预训练模型分别提取正常样本和异常样本特征,获得正常特征和异常特征;
11.学习所述正常特征,获得正常特征分布;
12.基于所述正常特征分布,确定正常分离边界和异常分离边界;
13.基于所述正常特征、异常特征、正常分离边界和异常分离边界,通过边界引导的半
推半拉法训练模型,学习更具有判别性的特征;
14.利用经过边界引导训练后的所述模型估计对数似然作为异常得分,检测出异常样本。
15.优选地,所述对所述异常样本通过随机增强的剪切粘贴方法进行增广,包括:
16.基于多个图像变换和每个图像变换的应用概率,构建增强集;
17.对每个异常样本随机选择所述增强集中的增强子集应用变换,获得增强的异常样本;
18.采用前景遮蔽策略选择粘贴位置;
19.切割所述增强的异常样本的异常区域;
20.将所述切割后的异常区域粘贴到正常样本中选定的所述粘贴位置上,生成模拟的异常样本。
21.优选地,所述学习所述正常特征,获得正常特征分布采用条件归一化流模型进行建模,其中:
22.所述条件归一化流模型根据变分公式近似估计输入特征分布;
23.所述条件归一化流模型的参数通过优化对数似然得到;
24.所述条件归一化流模型由耦合层组成,所述耦合层由全连接层实现,并加入二维感知的位置嵌入。
25.优选地,所述条件归一化流模型的参数通过优化对数似然得到,包括:
26.假定潜变量服从高斯分布,并通过特征的最大似然损失函数来优化条件归一化流模型。
27.优选地,所述基于所述正常特征分布,确定正常分离边界和异常分离边界,包括:
28.定义一个位置超参数β控制边界到中心的距离;
29.选择排序后的正态对数似然分布的第β个百分点作为正常分离边界bn;
30.引入一个边界超参数τ,并定义异常分离边界为ba=bn-τ。
31.优选地,所述基于所述正常特征、异常特征、正常分离边界和异常分离边界,通过边界引导的半推半拉法训练模型,学习更加具有判别性的特征,包括:
32.边界引导的半推半拉损失利用正态边界bn作为参考对象,并且只将对数似然值小于bn的正常特征拉到一起,将对数似然值大于ba的异常特征推离,至少距离bn边界τ单位;
33.利用最大似然损失函数和边界引导的半推半拉损失函数训练所述条件归一化流模型,学习更加具有判别性的特征。
34.优选地,所述利用经过边界引导训练后的模型估计对数似然作为异常得分,检测出异常样本,包括:
35.获取测试样本;
36.所述测试样本通过预训练模型提取样本特征;
37.所述测试样本特征通过训练得到的所述条件归一化流模型估计估计对数似然值作为异常得分;
38.若异常得分小于设定阈值,则判定为正常样本;若异常得分值大于设定阈值则判定为异常样本。
39.优选地,所述估计对数似然值作为异常得分,包括:
40.利用训练得到的归一化流模型对每个输入特征进行对数似然估计,获得对数似然值;
41.通过指数函数将所述对数似然值转换成似然值;
42.使用最大似然减去每个似然值,生成异常得分。
43.根据本发明的第二个方面,提供一种利用异常样本的边界引导式异常检测装置,包括至少一个处理器、以及至少一个存储器,其中,所述存储器存储有计算机程序,当所述程序被所述处理器执行时,使得所述处理器能够执行上述的利用异常样本的边界引导式异常检测方法。
44.根据本发明的第三个方面,提供一种计算机可读存储介质,当所述存储介质中的指令由设备内的处理器执行时,使得所述设备能够执行上述的利用异常样本的边界引导式异常检测方法。
45.与现有技术相比,本发明具有如下至少一种有益效果:
46.(1)本发明实施例中的利用异常样本的边界引导式异常检测方法,有利于形成一个更明确的、更具有判别性的决策边界,有效利用少数异常样本来学习一个更具辨别力的异常检测模型,能在已知异常样本上显示出出色的检测性能,并且对未知异常样本具有良好的泛化能力。
47.(2)本发明实施例中的利用异常样本的边界引导式异常检测方法,采用的随机增强的剪切粘贴方法,可以基于少量的异常样本进行数据扩充,可以有效地缓解监督学习中对异常样本大量数据的需求。
48.(3)本发明实施例中的利用异常样本的边界引导式异常检测方法,采用的条件归一化流模型来进行分布建模和异常得分估计,可以实现实时的异常检测。
附图说明
49.通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
50.图1为本发明一实施例中利用异常样本的边界引导式异常检测方法流程图;
51.图2为本发明一实施例中随机增强的剪切粘贴方法扩充异常数据集流程图;
52.图3为本发明一实施例中异常检测模型测试流程图。
具体实施方式
53.下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进。这些都属于本发明的保护范围。
54.参照图1所示,本实施例中利用异常样本的边界引导式异常检测方法,包括:
55.s1,获取正常样本和异常样本,对异常样本通过随机增强的剪切粘贴方法增广异常样本;
56.s2,利用预训练模型分别提取s1中的正常样本和异常样本特征,获得正常特征和异常特征;
57.s3,学习s2中得到的正常特征,获得正常特征分布。
58.s4,基于s3中的正常特征分布,确定正常分离边界和异常分离边界;
59.s5,基于s2中的正常特征、异常特征、s4中的正常分离边界和异常分离边界,通过边界引导的半推半拉法训练模型,学习更具有判别性的特征;
60.s6,利用s5中经过边界引导训练后的模型估计对数似然作为异常得分,检测出异常样本。
61.本发明上述实施例中通过利用异常样本来进行边界引导优化,有利于学习更具有判别性的特征,形成一个更明确而紧凑的决策边界,从而提高异常检测的准确性,更加适合于工业视觉及公共安防等场景中的应用。
62.在本发明的一个优选实施例中,实施s1。如图2所示,通过随机增强的剪切粘贴方法获取异常样本,可以参照以下操作:选择k个可用的图像变换和应用每个变换的概率构建增强集t={t1,...,tk|tk:i

i}:{翻转、旋转、平移、噪声、失真、亮度、锐度、平移、模糊},应用每个变换的概率分别为1.0,1.0,1.0,0.2,0.2,0.3,0.3,0.2,0.2;
63.随机选择一个包含s个变换的增强子集t
rs
~t来增强一个异常的样本:i
′a=t
rs
(ia)。
64.采用前景遮蔽策略选择粘贴位置。考虑到异常一般只出现在前景物体区域,因此为了保证模拟异常的语义,应该限制模拟异常在前景区域的位置。因此采用前景遮蔽策略,使用灰度二进制阈值算法来有效定位正常图像in中的前景对象mi=binary(in)。然后,从前景区域中选择一个随机的粘贴位置ra=rand(mi=1),以避免背景中产生的异常区域;其中,m_i表示对图像前景和背景的标注,m_i==1表示图像的前景区域,m_i==0表示图像的背景区域,rand(m_i==1)表示从前景区域中随机选择一个位置。
65.切割增强后的异常样本的异常区域:ra=cut(i'a)。
66.将裁剪后的异常区域粘贴到正常样本中的选定位置上,从而生成模拟的异常样本:i
sa
=paste(in,ra,ra)。
67.本发明上述实施例通过采取随机增强的剪切粘贴方法可以基于少量异常样本扩充至大量异常样本,可以有效地缓解监督学习中异常样本的稀缺性问题。
68.较佳实例中,采用了翻转、旋转、平移、噪声、失真、亮度、锐度、平移、模糊等八种变换方式构成了增强集。当然,在其他实施例中,也可以采用缩放、仿射变换、色彩抖动等变换,并不限于这八种变换。
69.在本发明的一个优选实施例中,实施s2,利用预训练模型分别提取正常样本和异常样本特征,其中预训练模型选用基于在imagenet上预训练过的efficient-b6模型构造一个特征提取器。当然,在其他实施例中,也可以采用其他检测模型,如resnet模型、vit模型等,并不限于efficient-b6模型。
70.在本发明的一个优选实施例中,实施s3,采用条件归一化流模型来学习正常特征分布。
71.用φ
θ
:x∈rd→
z∈rd来表示采用的归一化流模型。它是由耦合层组成,因此可以表示为φ
θ
=φ
l
·
...
·
φ2·
φ1,其中θ是可学习的模型参数,l是总层数。
72.由模型p
θ
(x)估计的输入分布可以根据以下变量变化公式计算:
[0073][0074]
其中,为变量x的映射到z域的隐变量,pz表示在z域的隐变量分布,是变换在y
l-1
的jaocabian矩阵,y
l-1
表示归一化流模型第l-1层的输出。
[0075]
归一化流可以用p
θ
(x)对特征分布p
x
进行近似。
[0076]
参数集θ是通过优化整个训练分布p
x
的对数似然得到的:
[0077][0078]
其中θ
*
表示优化得到最优的参数,表示参数θ可能的取值空间,表示对所有的输入变量x求均值损失;归一化流中的耦合层一般是由全连接层实现的,所以空间位置关系会因为二维特征图被压缩成一维而被破坏。为了保留位置信息,在将特征图输入归一化流模型之前,会在特征图中加入二维感知的位置嵌入编码。
[0079]
本发明上述实施例通过采用条件归一化流来估计正常特征分布,无需对输入样本的分布形式加以约束,可以有效地拟合任意概率密度分布。
[0080]
较佳实例中,采用条件归一化流进行分布估计。当然,在其他实施例中,也可以使用高斯混合模型、核密度估计等方法对特征的分布进行建模,并不局限于条件归一化流模型。
[0081]
本发明的一个优选实施例中,通过最大似然优化来训练所述条件归一化流模型。可以假设潜变量服从正态分布如下:
[0082][0083]
其中d表示特征维度,z表示潜变量。最大化整个训练分布p
x
上的对数似然来优化模型参数θ,如下:
[0084][0085]
用于优化的最大似然损失函数可以简化定义如下:
[0086][0087]
本发明上述实施例通过假设潜在变量服从正态分布,进而推导出最大似然优化的损失函数来训练条件归一化流模型,可以有效地优化模型进行正常样本的分布建模。
[0088]
较佳实例中,潜变量的预设分布为正态分布。当然,在其他实施例中,可以假设潜变量为多元高斯分布等其他分布,不止局限于正态分布。
[0089]
在本发明的一个优选实施例中,实施s4,在估计的分布中确定正常和异常的分离边界,具体可以参照以下操作:
[0090]
定义一个位置超参数β来控制边界到中心的距离。选择排序后的正态对数似然分布的第β个百分点(即β=5)作为正态边界bn,这也表明正常样本假阳性率的上限为β%。
[0091]
进一步引入了一个边界超参数τ,并定义了一个异常边界ba=bn-τ
[0092]
本发明上述实施例设置位置超参数β来控制边界到中心的距离,可以通过调节β有效地控制正常样本的假阳性率。同时,引入边界超参数τ来控制异常边界到正常边界的距离,可以通过调节τ有效地引导后序半推半拉损失函数对模型的影响程度。由于正常分离边界只依赖于正常样本分布,与异常样本无关,因此可以避免由已知异常样本不足引起的偏差问题。
[0093]
较佳实例中,利用位置超参数β和边界超参数τ来设置正常分离边界和异常分离边界。当然,在其他实施例中,可以根据概率密度值直接设置某阈值作为边界,或者直接取单一分离边界作为正常和异常的决策边界,并不局限于上述边界选取方法。
[0094]
在本发明的一优选实施例中,实施s5,基于正常特征、异常特征、正常分离边界和异常分离边界,通过边界引导的半推半拉法训练模型,学习更具有判别性的特征,具体的过程如下:
[0095]
边界引导的半推半拉损失可以利用正常分离边界bn作为参考对象,并且只将对数似然值小于正常分离边界bn的正常特征拉到一起,而将对数似然值大于异常分离边界ba的异常特征推离,至少距离bn边界τ单位。
[0096]
边界引导的半推半拉损失函数公式定义如下:
[0097][0098]
其中,bn=bn·1n
和ba=b
n-t=(b
n-τ)
·1m
是边界参数,将边界引导的半推半拉损失定义为基于l0范式的表述,以鼓励边界区域的稀疏对数似然分布,因为任何落入边界区域(ba,bn)的对数似然都会增加损失值。同时,由于对数似然的范围是(-∞,0),定义一个足够大的正则化项an(如an=10),并采用它将对数似然归一化到[-1,0]的范围。因此,最小化bg-spp损失将鼓励所有对数可能性p分布在[-1,ba]或[bn,0]区域。
[0099]
使上述目标函数最小化是一个经典的l0范式优化问题,通常是非连续的和非凸的。对于基于l0范式的原始表述,可得min((p
n-bn),0)∈[-1,0]n和max(p
a-ba),0)∈[0,1]m。由于l1范式是l0范式在单位超立方体[-1,1]
n+m
中的一个凸包络,可以将基于l0范式的形式转换为基于l1范式的形式,以方便优化。
[0100][0101]
因此,在第二个训练阶段,目标函数包含最大似然损失函数和边界引导的半推半拉损失函数,表示如下:
[0102][0103]
本发明的上述实施例中在第二阶段才引入边界引导的半推半拉损失函数,是因为需要先经过第一阶段,通过最大似然损失函数训练模型,得到一个较为稳定的对数似然分布,这样才能在该对数似然分布上找到一个合适的正常分离边界,然后才能引入边界引导的半推半拉损失函数进一步优化。本发明上述实施例提出边界引导的半推半拉式损失函数可以将对数似然值小于异常分离边界的正常特征拉到一起,而将对数似然大于异常分离边界的异常特征推离异常分离边界,从而鼓励模型学习更具有判别性的特征。同时,即使在没有异常样本的情况下,模型也可以通过损失的前半部分来进行优化。
[0104]
较佳实施例中,采用基于l0范式的损失形式,并进一步转换成基于l1范式的损失形式以方便优化。当然,也可以采用欧式距离、三元组损失等损失函数,不局限于所述损失函数。
[0105]
在本发明的一个优选实施例中实施s6,经过边界引导训练后的模型估计对数似然作为异常得分,检测出异常样本,其具体过程如下:
[0106]
首先利用训练得到的归一化流模型对每个输入特征x进行精确的对数似然估计,如下所示:
[0107][0108]
其中logp(x)指输入特征x的对数似然。根据估计的对数似然,可以通过指数函数将其转换成似然。由于最大化正常特征的对数似然来优化归一化流模型,似然可以直接表示正常程度。因此,可以通过使用最大对数似然来减去每个对数似然值来生成异常得分,如下所示。
[0109][0110]
其中s(x)表示x的异常得分。指数函数是单调的,所以对数似然可以等同于转换为异常得分。因此,对数似然分布中的分离边界等同于异常得分分布中的分离边界。
[0111]
本发明上述实施例中,采用估计的对数似然的相对值来作为异常得分,由于模型采用最大化正常特征的对数似然来优化,因此对数似然可以有效地表示正常程度。同时,直接对模型输出结果进行简单计算得到异常得分,有利于减小计算成本。
[0112]
当然,也可以采用似然值,或者采用其他归一化方法,不局限于上述的异常得分计算方式。
[0113]
如图3所示,在一具体实施例中,在测试过程中,可以利用训练得到的归一化流模型检测异常样本,可以参照以下操作:
[0114]
首先,获取测试样本。将测试样本通过预训练模型提取样本特征。将测试样本特征通过上述所训练得到的条件归一化流模型估计对数似然。根据对数似然值计算异常得分。若异常得分小于设定阈值,则判定为正常样本。若异常得分值大于设定阈值则判定为异常样本。
[0115]
本发明上述实施例中,测试样本依次通过预训练模型提取特征,特征通过归一化流估计对数似然,从而得到异常得分。因此仅需很低的计算成本,可以实现实时的异常检测,更加适用于工业缺陷检测等应用。
[0116]
在本发明另一实施例中,还提供一种利用异常样本的边界引导式异常检测装置,包括至少一个处理器、以及至少一个存储器,其中,所述存储器存储有计算机程序,当所述程序被所述处理器执行时,使得所述处理器能够执行上述任一项实施例的利用异常样本的边界引导式异常检测方法。
[0117]
在本发明另一实施例中,还提供一种计算机可读存储介质,当所述存储介质中的指令由设备内的处理器执行时,使得所述设备能够执行上述任一项所述的利用异常样本的边界引导式异常检测方法。
[0118]
本领域内的技术人员应明白,本发明的实施例可提供为方法、或计算机程序产品。
因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0119]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0120]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0121]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0122]
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
[0123]
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1