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

一种基于记存机制的异常检测方法、装置和介质与流程

2021-11-15 17:34:00 来源:中国专利 TAG:


1.本发明涉及的是一种图像处理技术领域的异常检测方法,具体地说,是一种基于记存(memory)机制的异常检测方法。


背景技术:

2.异常检测在过去几十年中一直是计算机视觉领域中相当活跃的研究方向,这项技术有着较高的商业价值以及工业应用价值,它在公共安防、风险管理、金融监管、ai安全性、工业产品缺陷检测、医疗看护和健康风险管理等领域有着直接的应用。现有的异常检测算法,仍然存在着很多的难点和挑战:不确定性,异常和很多的不确定性相关联,例如不确定的数据结构和分布,有一些异常在没有实际发生之前都是不确定的,这使得异常检测难以基于异常的视觉特征建模;稀缺性,异常样本通常是相当稀缺的,想要收集一个带有大量标注的异常数据集是相当困难也是几乎不太可能的,这导致在大多数任务中无法使用大规模有标注的数据集;异构性,异常是不规则的,因此一类异常可能和另一类异常表现出完全不同的异常特征,甚至同一类异常也会存在特征上的变化。
3.目前,基于对异常模式的认识的不同,异常检测可以分为两种不同的方向:(1)基于异常特征建模。该类方法主要使用目标检测模型学习图像中异常区域的特征:即将有标注的异常样本输入网络训练,网络输出检测框预测异常区域的位置和类别,这类方法更关注于有标记的异常本身的特征,其目的在于检测出具有特定视觉特征的异常,对于所有异常完全已知并且拥有足量标记数据的情况下,这种方法可以实现较好的检测效果。(2)基于正常特征建模。该类方法通常只需要正常样本用于网络的训练,该类方法更关注于正常样本特征,在检测过程中通过特征对比将特征远离正常特征的样本视作异常样本,这类方法最大的优点在于不需要有标注的异常样本作为训练样本,这可以极大程度上减少数据收集中的人力和钱力开销,在异常并不是完全已知并且数据收集代价较高时更具有吸引力,但是这类方法的问题在于,可能将特征不同于正常特征的样本都归类于异常。
4.由于异常的不确定性和稀缺性,基于正常特征建模的异常检测算法更值得关注,基于正常特征建模的异常检测算法中有通过建立特定的学习任务来学习正常特征的方法,如自编码器网络和生成对抗网络,也可以使用预训练的网络提取正常特征,然后进行特征对比以检测异常。
5.在自编码器网络、生成对抗网络和特征对比这些方法中,当前检测效果最好的是使用深层卷积网络提取特征然后进行特征对比的方法。基于特征对比的异常检测在训练阶段需要存储大量的正常特征,测试阶段每个测试样本的特征需要和所有正常特征对比以得到异常得分,复杂度随着测试样本和训练样本数量呈二次方增加,当训练阶段储存的正常特征量较大时,远远不能达到实时检测的需求。比如,中国专利申请cn202011441942.5,公开一种基于生成对抗网络和记忆模块的异常检测方法,但仍旧无法解决上述的问题,不能达到实时检测的需求。


技术实现要素:

6.针对现有技术中基于特征对比的异常检测方法存在的上述不足,本发明的目的是提出一种基于记存机制的异常检测方法、装置和介质。
7.本发明的第一方面,提供一种基于记存机制的异常检测方法,包括:
8.构建基于记存机制的异常检测网络,所述检测网络包括特征提取网络和记存模块,其中,所述记存模块中包含写入操作和读出操作,所述特征提取网络输出的多尺度特征图作为记存模块的输入;
9.在训练阶段,利用所述记存模块的写入操作更新其中的原型特征,其中,所述特征提取网络提取正常样本图像集的多尺度特征图,在每个尺度的特征图上构建一个记存模块,每个所述记存模块中使用m个原型特征高效地表征该尺度的特征图上所有的特征;
10.在测试阶段,利用所述记存模块的读出操作生成匹配特征,进而计算异常得分值。
11.可选地,所述利用所述记存模块的写入操作更新其中的原型特征,其中:所述记存模块中的原型特征都是随机初始化的,这些原型特征由记存模块的写入操作更新。
12.可选地,所述写入操作,包括:
13.正常样本的特征图上每个位置处的特征向量作为正常特征,将每个特征图中的所有正常特征输入对应的所述记存模块中;
14.对于每个所述原型特征,从这些正常特征中搜索一个子特征集以及对应的权重,该子特征集中每个特征距离最近的原型特征是该所述原型特征,对该子特征集中的特征加权求和后,再和所述原型特征相加,最后进行归一化后完成对原型特征的更新。
15.可选地,所述记存模块的写入操作对所述原型特征的更新是迭代进行的,其中:每一次输入新的特征图就对所述原型特征更新一次,迭代更新完成后,所述记存模块中的m个原型特征能高效地表征特征图上所有的特征,有效去除正常特征间大量的冗余信息。
16.可选地,所述利用所述记存模块的读出操作生成匹配特征,包括:
17.测试样本送入特征提取网络提取出多尺度特征图,对于特征图上的任一特征向量,称之为查询特征;
18.利用所述记存模块的读出操作给所述查询特征生成匹配特征;
19.计算所述查询特征和所述匹配特征之间的欧式距离,将该欧氏距离作为该位置处的异常得分值。
20.可选地,利用所述记存模块的读出操作给所述查询特征生成匹配特征,包括:
21.使用k近邻算法从记存模块中得到和所述查询特征最相近的k个原型特征以及对应的权重;
22.对所述k个原型特征加权并求和后得到所述查询特征的匹配特征。
23.可选地,在所述训练阶段、所述测试阶段,还包括对样本的预处理,其中:
24.所述预处理包括将图像统一缩放并裁剪到ho
×
wo分辨率,然后对图像的rgb三通道分别使用均值[0.485,0.456,0.406]和标准差[0.229,0.224,0.225]归一化到[0,1]之间。
[0025]
可选地,不同尺度下的所述记存模块中原型特征数量m是不同的,在大尺度下原型特征数量更少,在小尺度下原型特征数量更多。
[0026]
本发明第二方面,提供一种基于记存机制的异常检测装置,包括至少一个处理器、
以及至少一个存储器,其中,所述存储器存储有计算机程序,当所述程序被所述处理器执行时,使得所述处理器能够执行所述的基于记存机制的异常检测方法。
[0027]
本发明的第三方面,提供一种计算机可读存储介质,当所述存储介质中的指令由设备内的处理器执行时,使得所述设备能够执行所述的基于记存机制的异常检测方法。
[0028]
与现有技术相比,本发明实施例具有如下至少一种有益效果:
[0029]
本发明上述提供的基于记存机制的异常检测方法、装置及介质,可以只利用正常样本建模,就可以实现异常检测及定位,避免了对大规模有标注的异常样本数据集的需求,通过使用记存模块中的原型特征高效表征正常特征的方式,有效去除了正常特征间的冗余信息,因为原型特征数量是固定的,因此复杂度不随训练样本数量增加而增加,记存模块的引入使得基于特征对比的异常检测达到了实时检测的要求,更加适合于工业视觉及公共安防等场景中的应用。
附图说明
[0030]
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
[0031]
图1为本发明一实施例中整体异常检测方法流程图;
[0032]
图2为本发明一较优实施例中整体异常检测方法具体流程图;
[0033]
图3为本发明一实施例中记存模块的读出操作流程图;
[0034]
图4为本发明一实施例中记存模块的写入操作流程图。
具体实施方式
[0035]
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进。这些都属于本发明的保护范围。
[0036]
参照图1所示,一种基于记存机制的异常检测方法,包括:
[0037]
s100,构建基于记存机制的异常检测网络,检测网络包括特征提取网络和记存模块,记存模块中包含写入操作和读出操作;
[0038]
s200,在训练阶段,利用记存模块的写入操作更新其中的原型特征,原型特征可以高效地表征正常样本中的正常模式,其中,特征提取网络提取正常样本图像集的多尺度特征图,在每个尺度的特征图上构建一个记存模块,每个记存模块中使用m个原型特征高效地表征该尺度的特征图上所有的特征。
[0039]
s300,在测试阶段,利用记存模块的读出操作生成匹配特征,进而计算异常得分值。
[0040]
本发明上述实施例通过引入记存机制实现了用尽可能少的原型特征高效地表征正常背景特征,有效减少了基于特征对比的异常检测算法的运算开销,该基于记存机制的异常检测方法可以达到实时检测的要求,更加适合于工业场景中的应用。
[0041]
上述实施例中,可以基于resnet、vgg和efficientnet等深层卷积网络构造一个多尺度特征提取网络,如图2所示,异常检测网络包括基础特征提取网络resnet和记存模块,
记存模块中包含写入操作和读出操作。
[0042]
参照图2所示,为了使得原型特征可以高效地表征正常样本中的正常模式,在部分优选实施例中,s200具体可以采用如下方式进行:将经预处理的正常样本图像集normal images,送入特征提取网络提取出多尺度特征图{f1,f2,...,f
n
},在每个尺度的特征图f
i
上构建一个记存模块m
i
,记存模块中使用m个原型特征(prototype)高效地表征特征图上所有的特征。
[0043]
进一步的,记存模块中的原型特征都是随机初始化的,这些原型特征由记存模块的写入操作更新。具体的,参照图4所示,写入操作的流程为:首先将特征图中的所有正常特征(特征图上每个位置处的特征向量都称为正常特征,对于h
×
w分辨率的特征图,总共有h
·
w个正常特征)输入对应记存模块中,对于每个原型特征p
m
,从这些正常特征中搜索一个和其距离最近的子特征集{q
k
|k∈u
m
}(u
m
标注子特征集中的特征在正常特征集中的引索)以及对应的权重{v

k,m
|k∈u
m
},对这个子特征集中的特征加权求和后,再和原型特征p
m
相加,最后再做l2归一化后完成对p
m
的更新。记存模块的写入操作对原型特征的更新是迭代进行的,每一次输入新的特征图就对原型特征更新一次,迭代更新完成后,记存模块中的m个原型特征{p1,p2,...,p
m
}可以高效地表征特征图上所有的特征,有效去除正常特征间大量的冗余信息。
[0044]
本实施例中,对于正常图像集normal images的预处理,可以包括对图像的缩放、裁剪和归一化,缩放和裁剪的目的是保证输入图像大小一致,从而可以批量输入到特征提取网络中,归一化的目的是保证输入网络的数值大小合理,不会引起数值溢出的问题。比如,在一实施例中,对样本尺度缩放的方法可以为:将有所训练样本统一缩放并裁剪到256
×
256分辨率。当然,在另一实施例中,对输入图像归一化的方法可以为:对于图像rgb三通道,分别使用均值[0.485,0.456,0.406]和标准差[0.229,0.224,0.225]归一化到[0,1]之间。
[0045]
在一具体实施例中,上述记存模块的写入操作更新原型特征的方式为:假设特征图f
i
的分辨率为h
i
×
w
i
,该特征图上总共有k=h
i
×
w
i
个查询特征(即正常特征),首先使用k个查询特征和m个原型特征生成m
×
k的余弦相似度矩阵,然后沿着m
×
k的相似度矩阵的水平方向使用softmax函数得到每一个原型特征和每一个查询特征间的匹配概率v
k,m
,如下式所示:
[0046][0047]
然后,对于每一个原型特征,选出和其最相近的查询特征来更新该原型特征(如果一个查询特征最相近的原型特征是该特征,则这个查询特征被选出),使用u
m
来标注和第m个原型特征最相近的所有查询特征的引索,原型特征的更新方式如下式所示:
[0048][0049]
上式中l2表示l2归一化,可以表示为:v

k,m
表示在u
m
中对v
k,m
做最大值归一化,如下式所示:
[0050][0051]
在特征提取网络生成的多尺度特征图中,对于每个尺度的特征图f
i
都会构建一个对应的记存模块m
i
,用于高效表征该尺度下所有正常特征。
[0052]
记存模块中自适应地将输入的正常特征整合到固定数量的原型特征上,并利用整合到原型特征上的这些特征更新原型特征,原型特征可以有效过滤冗余背景信息,更高效地表征正常样本中的正常模式。
[0053]
上述实施例中,不同尺度下的记存模块中原型特征数量是不同的,一般来说在大尺度下原型特征数量更少,在小尺度下原型特征数量更多,比如,在下采样倍数为{4
×
,8
×
,16
×
,32
×
}的特征图上,记存模块中原型特征数量m分别为{640,320,160,80}。
[0054]
在执行上述s300测试时,测试样本image经过和训练阶段时一样的预处理后,送入特征提取网络提取出多尺度特征图,对于特征图上的任一特征向量,称之为查询特征q,利用记存模块的读出操作给q生成匹配特征q

,然后计算q和q

之间的欧式距离作为该位置处的异常得分值。读出操作流程为:使用k近邻算法(k nearest neighbor)从记存模块中得到和q最相近的k个原型特征以及对应的权重{w1,w2,...,w
k
},对这k个特征加权并求和后得到q的匹配特征q


[0055]
参照图3所示,在部分优选实施例中,s300中记存模块的读出操作生成匹配特征的方式为:首先计算查询特征q和m个原型特征之间的余弦相似度,这样将会生成1
×
m的余弦相似度向量,然后对该相似度向量使用softmax函数,得到该查询特征和每一个原型特征之间的匹配概率,从所有匹配概率中得到k个匹配概率值最大的值作为权重{w1,w2,...,w
k
},以及对应的原型特征然后对这k个原型特征加权求和得到匹配特征,如下式所示:
[0056][0057]
计算出q的匹配特征q

之后,再计算q和q

之间的欧式距离作为查询特征q对应位置处的异常得分值s,s=‖q

q

‖2。于是,特征图f
i
(h
i
×
w
i
分辨率)会得到一个h
i
×
w
i
分辨率的异常得分图。
[0058]
为了取得更好的检测结果,在上述实施例的基础上,检测方法还可以进一步包括s400,即:将每个尺度特征图f
i
生成的分辨率为h
i
×
w
i
的异常得分图(记为a
i
)上采样到原图大小h
o
×
w
o
,然后将所有上采样后的异常得分图平均后作为最终的异常得分图,公式化表示为:其中up表示上采样操作。s400的作用是融合多尺度下的检测结果,从而有效处理异常区域尺度多变的问题。更好地,可以优选使用双线性插值函数作为上采样函数。
[0059]
在本发明上述实施例中,在测试阶段,记存模块的功能是,通过m个原型特征(prototype)高效表征所有输入的正常特征;记存模块中的原型特征是随机初始化的,在训练阶段由记存模块的写入操作迭代更新;在测试阶段,将待检测样本送入深层卷积网络得
到多尺度特征图;在每个尺度特征图上,从之前训练阶段构建的对应尺度的记存模块中,利用记存模块的读出操作给每个特征生成一个匹配特征;匹配特征和该特征之间的距离作为该位置处的异常得分;将不同尺度下得到的异常得分图上采样到原图大小,平均后得到该测试样本的异常得分图;异常得分图中值越大的位置表示越有可能出现异常,其中的最大值作为样本整体的异常得分。
[0060]
进一步的,将本发明上述实施例中提出的方法应用于工业场景中异常检测时,包括构建利用待检测图片送入cnn网络产生不同层次的特征;将不同层次的特征送入对应的记存模块中,更新记存模块中的原型特征,记存模块中的原型特征可以有效表征该尺度下的所有正常特征;利用k近邻算法从记存模块中给查询特征生成匹配特征,查询特征和匹配特征间的距离就作为异常得分;将不同尺度的异常得分上采样到原图大小,平均后生成最终的异常得分图;整个检测过程包括四个环节:
[0061]
一、待检测图片送入cnn网络进行多层卷积运算产生不同层次的特征。将图片送入resnet网络,对输入图像进行多层卷积等运算得到图片的多尺度特征图。
[0062]
二、利用记存模块去除特征图中的冗余信息。利用记存模块的写入操作自适应地将正常特征聚焦到原型特征上,然后利用这些正常特征更新原型特征。具体操作如图4所示。在训练时,本实例将经过缩放和裁剪后的图片(原图:任意分辨率,缩放和裁剪后:256
×
256)送入cnn网络,提取图片的多尺度特征,使用下采样倍数为{4
×
,8
×
,16
×
}的特征图作为多尺度特征图;每个尺度下的特征图送入到特定的记存模块中,通过记存模块的写操作将所有正常特征整合到特定的原型特征上,然后更新原型特征,不同尺度下记存模块中的原型特征数量也不同,从4
×
到16
×
的特征图对应记存模块中的原型特征数量依次为640、320和160。
[0063]
三、利用k近邻算法为查询特征生成匹配特征。在记存模块中找到k个和该查询特征最相近的原型特征,然后基于特征间相似度计算出该查询特征和这些特征间的匹配概率,在通过加权求和的方式将这些特征合成为匹配特征。图2为记存模块读出操作的流程图。
[0064]
四、上采样合并异常得分图。在一个特定尺度的特征图中,所有的查询特征都可以从记存模块中读出一个匹配特征,两者之间的欧式距离作为该特征在特征图位置处的异常得分,此时生成的异常得分图和特征图大小一致,再使用双线性插值函数将这些异常得分图上采样到原图大小,平均所有上采样后的异常得分图作为最终的异常得分图。
[0065]
本发明上述实施例通过引入记存机制实现了用尽可能少的原型特征高效地表征正常背景特征,有效减少了基于特征对比的异常检测算法的运算开销,可以达到实时检测的要求,更加适合于工业场景中的应用。
[0066]
在本发明另一实施例中,还提供一种基于记存机制的异常检测装置,包括至少一个处理器、以及至少一个存储器,其中,所述存储器存储有计算机程序,当所述程序被所述处理器执行时,使得所述处理器能够执行上述任一项实施例的基于记存机制的异常检测方法。
[0067]
在本发明另一实施例中,还提供一种计算机可读存储介质,当所述存储介质中的指令由设备内的处理器执行时,使得所述设备能够执行上述任一项所述的基于记存机制的异常检测方法。
[0068]
本领域内的技术人员应明白,本发明的实施例可提供为方法、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd

rom、光学存储器等)上实施的计算机程序产品的形式。
[0069]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0070]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0071]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0072]
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
[0073]
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
再多了解一些

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

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

相关文献