基于自动编码器和聚类的异常检测的制作方法



1.本发明涉及图像中的异常检测。更具体地,本发明涉及数字图像中的异常(例如,对象的异常)的检测和定位。


背景技术:



2.正常数据与异常数据之间的区别是具有许多应用的不断增长的搜索领域。
3.其中之一是异常检测和定位。其目的是自动检测图像是“正常”还是“异常”,并且当检测到异常时,对该异常进行定位。其具体应用是在生产线中检测正常产品或异常产品。这可以通过拍摄各个产品的照片并自动检测该照片是对应于正常产品还是对应于异常产品来完成。例如,异常检测和定位可以被用于工业中的质量控制。这种质量控制包括在生产线的输出处拍摄产品的图像,然后根据数字图像自动验证产品中是否存在异常以及产品位于何处。这代表了对工业的非常显著的改进,因为人工检查是麻烦且昂贵的。然而,自动异常检测需要既精确又可靠,以满足工业标准并且高效地取代员工的视觉检查。
4.对什么是“正常”和什么是“异常”的自动检测是众所周知的难题,已经采用不同的方式来解决该难题,这通常依赖于学习和生成一个或更多个数据模型。
5.解决这个问题的第一种方法是执行监督学习。监督学习包括来自被标记的输入数据的学习模型:各个学习样本皆与指示该样本是正常还是异常的标签相关联。异常样本也可以与指示异常类型的标签相关联。一旦对该模型进行了训练,就可以使用它来将新样本分类为正常或异常。这种方法的问题是所述模型只能学习已经遇到的异常。因此,它们存在着有异常但其异常先前未被学习的样本将被分类为正常的很大风险。
6.另一方面,无监督学习可以检测异常而不需要被标记的异常学习数据。为了这样做,一些解决方案使用表示正常数据的样本集来学习数据的生成模型。这种模型的目的是根据噪声或者根据输入样本的压缩表示来生成很可能遵循无异常数据分布的输出样本。在图像处理中,典型值可以是从64维压缩数据空间产生256*256像素图像。这种模型主要有生成对抗网络(gan)、变分自动编码器(vae)、pixelcnn、以及这些模型的混合。给定样本,为了检测异常,现有的解决方案将该样本编码到其压缩数据空间中,然后对压缩表示进行解码,以获得称为“重建”的新的生成的样本。它们还允许通过将重建与输入样本进行比较来定位异常(例如,逐像素地),或者使用更多的全局滤波器,并且考虑样本中的与重建不同的区域是异常的定位。
7.通常,图像中的现有技术异常检测技术不能以像素精度来定位异常。而且,它们还缺乏检测先前未学习的异常的能力,并且需要用户在数据注释方面付出巨大努力。
8.bergmann,p.,s.,fauser,m.,sattlegger,d.,&steger,c.(2018).improving unsupervised defect segmentation by applying structural similarity to autoencoders.arxiv preprint arxiv:1807.02011提出了一种用于执行异常的检测和定位的方法。bergmann等人的方法使用自动编码器,其中,编码和解码神经网络都是cnn(卷积神经网络),并且对于各个像素,损失被计算为ssim(结构相似性)。bergmann的异常检测
要求多个相邻像素的ssim损失高于阈值。bergmann具有提供不需要用户进行系统数据注释的异常检测和定位方法的优点。
9.然而,bergmann的误差检测具有主要缺点:通常,自动编码器检测异常的边缘处的相异性。结果,异常像素通常彼此不相邻。
10.因此,需要一种用于图像中的对象的自动异常检测和定位方法,其需要用户进行有限水平的注释和监督,同时允许对误差的可靠的逐像素定位。


技术实现要素:



11.为此,本发明公开了一种计算机实现方法,该计算机实现方法包括以下步骤:获得由数字摄像机拍摄的对象的输入数字图像;使用自动编码器来将输入数字图像编码成压缩图像,并且将该压缩图像解码成重建图像;计算重建图像与输入数字图像之间的逐像素相异性;检测具有高于相异性阈值的逐像素相异性的像素作为相异像素;检测至少一个相异像素簇的存在或不存在;如果检测到相异像素簇的存在,则计算所述相异像素簇的凸包络,所述凸包络表示异常。
12.有利地,所述计算机实现方法还包括以下步骤:使用有监督多类图像分类机器学习引擎,将输入数字图像在所述凸包络内的像素分类成异常类。
13.有利地,所述计算机实现方法还包括以下步骤:将输入图像在凸包络内的像素用于训练有监督多类图像分类机器学习引擎以检测异常。
14.有利地,如果检测到相异像素簇,则所述计算机实现方法还包括以下步骤:向用户显示输入图像在凸包络内的像素;从用户接收异常标签;将输入图像凸包络内的所述像素以及所述标签用于训练所述有监督多类图像分类机器学习引擎以检测异常。
15.有利地,所述计算机实现方法还包括以下步骤:在所述输入图像中并且在解压缩图像中,向所述用户同时显示所述凸包络内的所述像素。
16.有利地,像素簇是由以下项来限定的:相异像素的连通图,这些相异像素中的各个相异像素皆位于等于或小于最大阈值距离的距离处,该最大阈值距离是等于或大于最小像素阈值的多个相异像素的最大距离阈值,所述连通图的边缘等于最大阈值距离;不属于所述连通图并且位于等于或小于属于所述连通图的相异像素的所述最大阈值距离的距离处的相异像素。
17.有利地,所述计算机实现方法包括以下步骤:计算输入数字图像中的对象的分割掩模,并且其中,所述计算逐像素相异性的步骤仅针对属于分割掩模的像素来执行。
18.有利地,计算分割掩模的步骤包括:使用分割自动编码器来生成重建图像的阿尔法(alpha)通道,所述阿尔法通道表示分割掩模,并且其中,所述分割自动编码器已经在包括以下项的训练阶段期间被训练:对于训练集中的对象类的各个参考实例对象,获得实例对象的数字图像、以及限定该实例对象的分割掩模的参考阿尔法通道;使用所述训练集对自动编码器进行训练,以最小化损失函数,对于参考实例对象来说,该损失函数包括自动编码器的输出端处的解压缩向量的阿尔法通道的像素与限定参考实例对象的分割掩模的参考阿尔法通道的像素之间的差值。
19.有利地,损失函数是分别表示以下项的三个项的加权和:kullbak-leibler散度;输入图像的像素与重建图像的像素之间的差值;自动编码器的输出端的解压缩向量的阿尔
法通道的像素与限定参考实例对象的分割掩模的参考阿尔法通道的像素之间的所述差值。
20.有利地,输入图像的像素与重建图像的像素之间的所述差值乘以所述参考阿尔法通道。
21.有利地,所述分割自动编码器是用于将输入数字图像编码成压缩图像并且将压缩图像解码成重建图像的自动编码器。
22.有利地,在监督学习阶段期间已经确定了至少一个参数值,并且所述方法包括以下步骤:获得异常被标记的至少一个图像;将所述至少一个参数值设定成至少一个预定义值;使用所述至少一个预定义值计算所述至少一个图像上的异常的检测得分的第一值;迭代地:将所述至少一个参数值修改成至少一个另一值,该至少一个另一值被预期与所述至少一个预定义值相比导致对较少数量的异常的检测;使用所述至少一个另一值来重新计算异常的所述检测得分;以便标识所述至少一个参数的至少一个优化值,该优化值是所述至少一个参数的最远值,对于该最远值来说,检测得分具有第一值;将所述至少一个参数的值设定成所述至少一个优化值。
23.有利地,所述至少一个参数值包括:相异性阈值的值,其中,较高的值被预期为导致对较少数量异常的检测;最大阈值距离的值,其中,较低的值被预期为导致对较少数量异常的检测;最小像素阈值的值,其中,较高的值被预期为导致对较少数量异常的检测;所述监督学习阶段包括:优化对相异性阈值的值;然后,优化最大阈值距离的值、以及包括最大阈值距离的组合修改的最小像素阈值的值、以及最小像素阈值的值,以在检测得分具有第一值的同时获得异常像素的最大密度。
24.本发明还公开了一种装置,该装置包括:针对数字摄像机的入口;至少一个处理逻辑单元,所述至少一个处理逻辑单元被配置为:获得由数字摄像机拍摄的对象的输入数字图像;使用自动编码器将输入数字图像编码成压缩图像,并且将该压缩图像解码成重建图像;计算重建图像与输入数字图像之间的逐像素相异性;检测具有高于相异性阈值的逐像素相异性的像素作为相异像素;检测至少一个相异像素簇的存在或不存在;如果检测到相异像素簇的存在,则计算所述相异像素簇的凸包络,所述凸包络表示异常。
25.本发明还公开了一种用于训练机器学习引擎的计算机程序产品,所述计算机程序产品包括计算机代码指令,该计算机代码指令被配置为:获得由数字摄像机拍摄的对象的输入数字图像;使用自动编码器将输入数字图像编码成压缩图像,并且将该压缩图像解码成重建图像;计算重建图像与输入数字图像之间的逐像素相异性;检测具有高于相异性阈值的逐像素相异性的像素作为相异像素;检测至少一个相异像素簇的存在或不存在;如果检测到相异像素簇的存在,则计算所述相异像素簇的凸包络,所述凸包络表示异常。
附图说明
26.根据下面仅出于例示目的而提供的多个示例性实施方式及其附图的描述,本发明将被更好地理解并且其各种特征和优点将显现,其中:
27.图1公开了可以实现本发明的示例性装置的图片;
28.图2表示可以实现本发明的示例性装置的功能方案;
29.图3表示本发明的许多实施方式中的装置的示例;
30.图4a至图4d表示本发明的许多实施方式中的用于检测和定位数字图像中的异常
的计算机实现方法的多个示例;
31.图5表示本发明的许多实施方式中的自动编码器的示例;
32.图6表示本发明的许多实施方式中的示例性聚类步骤;
33.图7表示本发明的实施方式中的检测到的异常的显示示例;
34.图8表示本发明的许多实施方式中的参数选择的示例。
具体实施方式
35.图1表示可以实现本发明的示例性装置的图片。
36.该装置包括控制关节臂120的计算装置110。关节臂能够沿多个方位和方向进行旋转,以便围绕对象130移动端头121。该端头设置有能够以不同的光颜和强度照亮对象130的led、以及能够拍摄被照亮的对象130的图片的摄像机123。还将计算装置110连接至led和摄像机以控制照明、图像拍摄、并且接收所拍摄的图像。因此,计算装置110能够在许多不同的视角和拍摄条件(即,光、摄像机的变焦

)下,拍摄对象130的图片。
37.在本发明的许多实施方式中,计算装置还包括诸如输入接口(鼠标、键盘

)和输出接口(显示器、屏幕

)的用户接口(图1中未示出),以接收来自用户的命令,并且向用户显示从摄像机拍摄的图片、以及附加信息。
38.在本发明的许多实施方式中,计算装置110被配置成使用机器学习引擎在由摄像机123拍摄的图片中生成对象130的分割掩模,和/或根据由摄像机123拍摄的图像来检测对象130的异常。
39.在本发明的许多实施方式中,计算装置110还可以被配置成丰富机器学习引擎的训练集,和/或对机器学习引擎进行训练以生成分割掩模和/或检测与对象130相似的对象图片中的异常。图2提供了这种装置的功能方案的示例。
40.当然,图1的示例性装置不是限制性的,并且可以将本发明嵌入许多其它装置内。例如,本发明的计算装置可以从固定摄像机接收图像。
41.图2示出可以实现本发明的示例性装置的功能方案。
42.装置200是旨在执行工业设备的产品中的缺陷的检测、定位以及分类的计算装置。因此,其旨在用于工业设备的输出处的产品的质量控制。该装置例如可以具有图1所示的物理形状。
43.为此,对于各个待验证产品,装置200从至少一个数字摄像机240接收该产品的数字图像220。数字图像通常显示工业设备的背景前方的产品。在图2的示例中,图像220中表示的产品具有一个缺陷:两个油脂斑点230。
44.装置200包括至少一个处理逻辑单元210。根据本发明的各种实施方式,处理逻辑单元可以是根据软件指令、处理器的硬件配置、或其组合来操作的处理器。应理解,本文所讨论的任何或所有功能均可以以纯硬件实现和/或由根据软件指令操作的处理器来实现。还应理解,任何或所有软件指令均可以被存储在非暂时性计算机可读介质中。为了简单起见,在本公开的剩余部分中,将所述一个或更多个处理逻辑单元称为“处理逻辑单元”。然而,应注意,本发明的操作也可以在单个处理逻辑单元或者多个处理逻辑单元(例如,多个处理器)中执行。
45.处理逻辑单元210被配置成执行分割模块211,该分割模块211被配置成从图像220
生成分割掩模221,即,获得实际上表示该对象的像素。
46.可以以许多不同的方式来执行分割掩模的确定。值得注意的是,可以通过生成机器学习引擎(诸如,变分自动编码器或生成对抗网络(gan))使用分割掩模的生成来执行。本技术人于本技术的同一天提交了名为“improved generation of segmentation masks for an object in a digital image,based on an auto-encoder trained to generate an alpha channel(基于被训练以生成阿尔法通道的自动编码器改进生成针对数字图像中的对象的分割掩模)”的欧洲专利申请。该申请提供了一种非常高效的方法来生成分割掩模。该方法包括将训练集的各个样本图像与限定图像中的对象的分割掩模的参考阿尔法层相关联。在训练阶段期间,将阿尔法通道添加至各个图像,并且对自动编码器进行训练,以最小化包括阿尔法通道与关联的参考阿尔法通道之间的差值的损失。因此,对自动编码器进行训练,以从尽可能接近参考掩模/阿尔法通道的图像的现有颜分量(即,rgb、灰度分量

)生成采用阿尔法通道形式的分割掩模。当训练集的所有分割掩模分割同一种类的对象或者在生产线的输出处的同一种类产品的实例时,该方法能够为这种新对象准确地生成分割掩模。该方法尤其适合于与异常检测相关的应用,因为即使对于包括训练集中未遇到的异常的产品,该方法也能够正确地生成分割掩模。
47.处理逻辑单元210还被配置成执行异常检测模块222,该异常检测模块被配置成根据掩模221检测异常的存在或不存在,异常表示对象中的缺陷。异常检测模块还可以被配置成对异常进行定位和分类。在图2的示例中,异常检测模块212将检测图像包括异常,定位该异常232。在一些情况下,它可以进一步将异常分类为油脂。
48.异常检测模块212还依赖于生成机器学习引擎,诸如变分自动编码器或生成对抗网络(gan)。例如,通过变分自动编码器对所分割的对象进行编码和解码,然后在对象的输入图像与该对象的重建图像之间计算逐像素差值。逐像素差值高于阈值的像素被认为是相异像素,并且测试相异像素簇的存在。相异像素簇被认为是表示异常。
49.这种误差检测提供了许多优点。它首先提供在像素级精确的误差检测。如果在同一区域中存在多个相异像素,则使用聚类算法允许检测误差,但不要求像素是连续的。因此,可以微调用于判定像素是相异像素的阈值。另外,可以检测许多不同类型的异常,甚至是先前在训练集中没有遇到的异常。此外,该方法能够很好地辨别正常样本和异常样本,而只需要来自用户的有限监督。
50.当一起使用时,分割模块和异常检测模块还提供有利的协同效果。实际上,对象的良好分割允许只针对限定类型的对象来训练异常检测,而不受背景的影响。这极大地改进了异常检测的训练。另外,依赖于逐像素差值来检测异常的现有技术解决方案所面临的问题之一是,在所检测的对象的边缘处的相异像素的多个不正确检测的潜在存在(即,被检测为对象的相异像素的背景像素)。通过直接向异常检测提供不受背景像素影响的对象的图像,诸如由分割模块211提供的对象的精确分割克服了该问题。
51.如上说明的,分割模块211和异常检测模块212都是基于生成机器学习引擎的。它们可以使用同一生成机器学习引擎。这允许组合两个模块的训练,并且确保两个模块之间的操作的相干性。例如,分割模块211和异常检测模块212可以基于同一变分自动编码器,该变分自动编码器可以使用两个深度cnn来分别对图像进行编码和解码。因此,对于分割和检测异常都需要由自动编码器对各个图像进行单一编码和解码。而且,模块212中的异常检测
可以通过仅对以下像素评估像素相异性来简单地执行:该像素属于由自动编码器生成的阿尔法通道所限定的分割掩模。
52.仅借助于可以实现本发明的装置的示例来提供装置200。然而,该示例不是限制性的,并且本发明可应用于需要精确异常检测和/或有限用户监督的大量应用。另外,图2的示例性结构也不是限制性的。例如,可以在多个不同的装置上执行计算,可以在远程服务器中执行计算的一些部分,可以从图像的数据库而不是瞬时拍摄来获得图像。另外,即使图2描述了分割、然后异常检测的组合,也可以在无需对象的初步分割的情况下执行异常检测。类似地,根据本发明的各种实施方式,可以使用许多类型的不同分割方法。
53.图3示出本发明的许多实施方式中的装置的示例。
54.装置300是计算装置。尽管在图3中被表示为计算机,但是装置300可以是具有计算能力的任何种类的装置,诸如服务器,或者具有计算能力的移动装置,诸如智能手机、平板电脑、膝上型电脑、或者被定制为实现专用任务的计算装置。
55.装置300包括至少一个处理逻辑单元310。
56.处理逻辑单元300被配置成获得限定表示数字图像的输入数据样本330的输入向量。
57.为此,装置300包括针对至少一个数字摄像机340的入口(access)。数字摄像机可以是装置的一部分,或者可以被连接至装置300。可以使用到摄像机340的不同种类的有线或无线连接。
58.在本发明的许多实施方式中,装置300旨在在工业设备的输出处执行质量控制。由此,数字摄像机放置在工业设备的输出处,并且被配置成在生产线的末端拍摄各个产品的图像。然后,装置300被配置成分割图像上表示产品的对象,并且检测产品是否存在缺陷。
59.处理逻辑单元310被配置成执行自动编码器320。自动编码器是一类人工神经网络,其包括将样本编码成表示,或者较低维数的编码,然后将样本解码成重建样本,并且例如在liou,c.y.,cheng,w.c.,liou,j.w.,&liou,d.r.(2014).autoencoder for words.neurocomputing,139,84-96中进行了描述。参照图6更详细地描述自动编码器的原理。
60.重建样本与输入样本之间的逐像素差值被用于检测异常的存在,如将在图4a至图4d中更详细地描述的。
61.自动编码器320最初可以利用需要异常检测的同一产品的不同实例的图像来进行训练。例如,如果装置300旨在在轮胎工厂中执行质量控制,则可以用利用轮胎的图像来训练自动编码器320,以便被训练成对这种对象进行编码。
62.图4a至图4d示出本发明的许多实施方式中的用于检测和定位数字图像中的异常的计算机实现方法的多个示例。
63.图4a示出本发明的许多实施方式中的用于检测和定位数字图像中的异常的计算机实现方法的第一示例。
64.方法400a旨在检测和定位图像中的异常。更具体地,本发明适用于检测图像中的对象的异常。方法400a尤其是完全适于基于产品的图片来执行工业设备的生产的质量控制,即,基于产品的图片来检测该产品是否受到异常的影响,以及该异常被表示在图片中的位置。方法400a例如可以由装置200或300来实现。
65.方法400a包括获得由数字摄像机拍摄的对象的输入数字图像的第一步骤410。可以以许多不同的方式获得图像。例如,该图像可以从数据库中提取,或者由诸如摄像机340的摄像机拍摄。
66.方法400a还包括第二步骤和第三步骤:使用诸如自动编码器320的自动编码器将输入数字图像编码420成压缩图像,以及将压缩图像解码成421重建(也被称为解压缩)图像。若必要的话,可以将输入数字图像转换成被馈送至自动编码器的向量。在本发明的许多实施方式中,输入数字图像还可以被变换以馈送至自动编码器。例如,可以对该图像进行二次采样,或者可以对图像应用颜变换。
67.在训练阶段期间,自动编码器320先前已被训练,以对数字图像进行编码和解码。参照图5,更详细地描述根据本发明的自动编码器的功能。因此,自动编码器能够将图像编码成表示图像的基本特征的低维数潜在空间中的压缩图像,并且将压缩图像解码成解压缩(或重建)图像,如果不存在异常,则该解压缩图像提供图像“看起来像什么”的表示。
68.有利地,被用于训练自动编码器的训练集包括与需要检测异常的对象相同类的对象。例如,如果方法400a旨在检测生产线末端的某种香水瓶的异常,则可以有利地利用相同种类的香水瓶的图片来训练自动编码器,若可能的话,在类似的条件(即,缩放、视角、距产品的距离

)下拍摄图片,以使在限定的拍摄条件下,进一步优化自动编码器的潜在空间以表示产品。相同的原理可以被用于检测任何种类的对象或产品的异常。
69.方法400a还包括计算重建图像与输入数字图像之间的逐像素相异性的第四步骤430。这包括针对各个像素计算重建图像的像素与输入数字图像中的对应像素之间的相异性。根据本发明的各种实施方式,可以在图像的至少一个颜层上计算相异性。例如,可以使用灰度层中的像素差、在rgb图像的三个红、绿以及蓝层中的各个层中计算的绝对差之和、或者ycbcr或yuv空间中的图像的亮度层来计算相异性。可以以不同的方式为各个层计算相异性。例如,可以使用差值、绝对差值或平方差值。
70.在本发明的许多实施方式中,在亮度层(例如,ycbcr或yuv颜空间的y层的灰度级层)上,计算重建图像中的各个像素与输入数字图像中的对应像素之间的差的绝对值。
71.因此,步骤430允许针对各个像素获得其是否由自动编码器正确表示的指示,这是因为相异性越高,输入图像与重建图像之间的差值就越大。预期自动编码器不能正确地表示异常或缺陷,这是因为在训练阶段期间自动编码器的优化意味着属于异常的像素将不能被良好地编码,所以自动编码器试图重建标准外观样本。因此,在对象的异常区域中更频繁地遇到高像素相异性。
72.方法400a还包括将具有高于阈值的逐像素相异性的像素检测为相异像素的第五步骤440。
73.该步骤包括检测具有高相异性的像素(即,相异性高于阈值的像素)作为相异像素。它可以以不同的方式来实现。例如,可以使用预定义参数阈值:在方法400a开始时设定阈值,并且将具有高于阈值的相异性的所有像素视为相异像素。
74.另选地,将具有最高相异性的像素的百分比或比率视为相异的。例如,可以将具有最高相异性的1%像素视为相异像素。因此,阈值不是固定的,而是取决于图像中所有像素的相异性。这样的实施方式提供了仅考虑相异性的相对值的优点。因此,将像素检测为相异像素仅取决于其相异性与图像中的其它像素的相异性之间的比较,并因此不取决于拍摄条
件,诸如图像的总光度。
75.在步骤450的输出,建立相异像素的分布图。如果图像中没有异常,则相异像素将在图像上相当均匀地分布。另一方面,如果存在异常,则在异常所处的区域中将发现高度集中的相异像素。
76.方法400a还包括检测至少一个相异像素簇的存在或不存在的第六步骤450。相异像素簇指定在高密度相异像素的区域中紧密定位的一组相异像素。然而,不需要相异像素是邻近像素。如下将示出的,使用相异像素簇来检测和定位异常。
77.检测相异像素簇提供了许多优点:只有检测到多个紧密定位的相异像素,才检测到簇。因此,单个相异像素不足以触发异常的检测。此时,相异像素不必须是待定位的异常的邻居:因此,相异像素簇的存在提供了异常存在的极好指示,这同时降低了误报率,并且如果已经正确地选择了相异性阈值,则能够检测几乎所有的异常区域。
78.根据本发明的各种实施方式,步骤450可以使用大量不同的聚类算法。
79.在本发明的许多实施方式中,聚类是通过由ester,m.,kriegel,h.p.,sander,j.,&xu,x.(1996,august).a density-based algorithm for discovering clusters in large spatial databases with noise(用于发现大空间数据库中的具有噪声的簇的基于密度的算法).in kdd(vol.96,no.34,pp.226-231)描述的被称为dbscan的算法来执行的。参照图6,简要讨论该算法的原理。然而,本发明不限于该示例,并且可以使用各种聚类方法。
80.如果检测到相异像素簇的存在,则方法400a还包括计算所述相异像素簇的凸包络的第七步骤。
81.凸包络(也被称为凸壳(hull)或凸包(closure))通常被限定为包括一组点的最小凸集。因此,在本发明的过程中,相异像素簇的凸包络是包括形成该簇的所有像素的最小凸像素集。
82.可以使用许多不同的方法来确定凸包络。例如,已经由thang,x.,tang,z.,yu,j.,&guo,m.(2010).a fast convex hull algorithm for binary image(用于二进制图像的快速凸包算法).informatica,34(3)公开了一种合适的方法。
83.使用凸包络允许从可以由多个稀疏相异像素形成的像素簇中提取相干区域。因此,凸包络表示图像的异常区域。
84.方法400a提供了用于检测和定位图像中的异常的非常高效的方法。
85.实际上,如上面说明的,相异像素的聚类提供对异常存在的非常可靠的指示,并且使用凸包络允许形成表示来自簇的异常的相干区域。
86.另外,从由自动编码器重建的图像中确定相异像素允许对异常的逐像素定位,而聚类防止单个或有限数量的相异像素产生误报检测。
87.即使对于自动编码器的训练集中不存在的异常类型,方法400a也能够检测异常。实际上,当在表示图像的标准分布的重建图像与输入图像之间检测到相异像素时,检测到异常。因此,即使异常属于先前未遇到的异常类型,如果存在异常,那么也能检测到相异像素。
88.还可以对方法400a进行微调,这是因为它仅需要有限数量的参数:相异性阈值或者相异像素的目标比率、以及诸如像素密度和簇的像素之间的最大距离的少数聚类参数
(参见图6有关聚类的可能参数的更多细节)。
89.最后,仅当检测到相异像素簇时,才需要用户的监督。由于该方法降低了误报率,因此,方法400a几乎不需要用户的监督。
90.如果在图像中已经检测到多个不同的相异像素簇,则可以针对各个簇执行凸包络的计算。还可以针对各个簇重复将在图4b至图4d中描述的后续步骤。因此,可以检测和定位多个不同的异常。
91.图4b示出本发明的许多实施方式中的用于检测和定位数字图像中的异常的计算机实现方法的第二示例。
92.在一些情况下,旨在被检测的异常与图像中表示的限定类型的对象相关。例如,对于在工业设备的输出处的异常检测,检测特定类型的对象的异常(例如,如果工业设备生产香水瓶,则检测香水瓶的异常;由工业设备生产的一类锅的异常等)。在这样的情况下,该方法的效率可能由于对象周围(即,背景、图像中的其它对象

)的变化而降低。
93.为了进一步改善这种情况下的异常检测,方法400b包括方法400a的所有步骤,并且还包括计算输入数字图像中的对象的分割掩模的步骤470b。
94.分割掩模限定表示对象或不表示对象的像素。
95.在方法400b中,仅对属于分割掩模的像素执行计算逐像素相异性的步骤430。这意味着,仅由自动编码器来对表示异常被瞄准检测的对象的像素进行编码,并且仅对这些像素检测异常。
96.而且,避免了对象边缘处的重建误差。
97.这提高了该方法的效率,因为没有考虑对象背景的变化。而且,如果已经使用与已经被分割的对象相同类型的对象的实例的图像来训练自动编码器,则自动编码器在编码这种类型的对象方面非常高效。因此,增加了相异像素实际上表示异常的可能性。
98.根据本发明的各种实施方式,可以使用许多不同的分割技术。
99.例如,如图4b显示的,可以将第一分割技术应用于输入图像以分割对象,并且后续步骤(编码420、解码421、计算逐像素相异性430、检测相异像素440

)可以仅被应用于属于检测到的分割掩模的像素。
100.例如,本技术人在本技术的同日提交了题为“improved generation of segmentation masks for an object in a digital image,based on an auto-encoder trained to generate an alpha channel(基于被训练为生成阿尔法通道的自动编码器对用于数字图像中的对象的分割掩模的改进生成)”的欧洲专利申请。该专利申请公开了一种提供非常高效的结果的分割方法。
101.该方法依赖于使用自动编码器来生成对象类的实例的分割掩模,作为图像的阿尔法通道。即,阿尔法通道限定像素是属于对象还是属于背景。这可以以许多不同的方式来实现。例如,阿尔法值可以以范围从0(完全透明)到1(完全不透明)变动的标度来进行限定。因此,可以为被认为属于背景的任何像素设定阿尔法值0,并且为被认为属于对象的各个像素设定阿尔法值1。当然,该约定不是限制性的,并且技术人员可以限定用于限定属于阿尔法通道中的对象或背景的像素的任何约定。有利地,为限定的对象类特别训练分割。例如,可以对自动编码器进行训练,以生成用于以下任何对象类的分割掩模:汽车、勺子、车辆部件。对象类也可以是更精确的类,诸如在工业设备的输出处限定的产品。
102.在训练阶段中训练自动编码器以生成分割掩模。为此,训练集包括限定类的对象实例的参考图像。各个参考图像皆与参考阿尔法通道相关联,该参考阿尔法通道为参考图像中的实例对象限定参考分割掩模。这些参考分割掩模可以以不同的方式来获得。例如,专家用户可以为各个参考图像手动限定恰当的分割掩模。参考分割掩模也可以以更高效的方式来限定。例如,本技术人在本技术的同日提交了名为“improved generation of segmentation masks for training a segmentation machine learning engine(改进地生成用于训练分割机器学习引擎的分割掩模)”的专利申请,该专利申请提供了一种为参考图像的训练集生成参考分割掩模的高效技术。
103.在训练阶段期间,通过连续迭代来调谐自动编码器,以便在整个训练集上最小化损失函数。
104.对于各个参考图像,损失函数包括重建向量的阿尔法通道与表示分割掩模的关联参考阿尔法通道之间的差值。换句话说,在训练阶段期间自动编码器的损失函数的项之一在于考虑输出向量的阿尔法通道与参考阿尔法通道之间的差值。
105.因此,在训练阶段期间,自动编码器同时学习以对属于该类的对象的实例进行编码,并且生成表示对象实例的分割掩模的阿尔法通道。
106.在推断时间,例如在步骤470b中,自动编码器由此能够自动地生成对象的分割掩模作为图像的阿尔法通道。因此,只有阿尔法通道的值指示这些像素属于对象的像素才被考虑用于后续步骤。
107.尽管在图4b中,分割步骤470b被显示为预备步骤,但是该示例不是限制性的。例如,在本发明的许多实施方式中,使用同一自动编码器来生成分割掩模,并且获得对象的解压缩图像,其中,将计算逐像素相异性。因此,在这样的实施方式中,不存在单独的步骤470b,而是在步骤421的输出处,通过检查各个像素的阿尔法值来执行分割,以便验证像素是否属于所分割的对象。
108.之后,仅对由步骤421的输出处的解压缩图像中的阿尔法通道限定的分割掩模内的像素执行后续步骤430、440、450。
109.这简化了计算。另外,这简化了训练阶段,因为对于分割和异常检测都需要训练单个自动编码器。
110.图4c示出本发明的许多实施方式中的用于检测和定位数字图像中的异常的计算机实现方法的第三示例。
111.方法400c可以基于参照图4a和图4b公开的任何实施方式。它可以包括也可以不包括分割步骤470b。
112.除了方法400a或400b的步骤之外,方法400c包括步骤480c,该步骤基于相异像素的凸包络内的像素对异常进行分类480c。
113.实质上,步骤480c包括分析输入图像(其中,缺陷是明显的)中的表示异常的凸包络的像素,以及标识对应于该包络的异常类。
114.根据本发明的各种实施方式,可以将任何多类图像分类机器学习引擎用于分类步骤480c。例如,可以使用yolact、u-net、deeplab或fcn(全连接网络)。
115.多类图像分类机器学习引擎可以在用户的监督下被训练,该用户利用异常类来标记各个异常。
116.多类图像分类机器学习引擎的训练可以以不同的方式来执行。可以使用异常对象的初始图像集来执行初始训练。还可以通过在遇到异常时向用户提交对应图像用于分类来连续地丰富机器多类图像分类机器学习引擎的训练集。这参照图4d来进行更详细描述。
117.图4d示出本发明的许多实施方式中的用于检测和定位数字图像中的异常的计算机实现方法的第四示例。
118.方法400d可以基于利用图4a至图4c讨论的实施方式中的任一实施方式,即,方法400a、400b或400c中的任一方法。
119.如参照图4c所说明的,在许多实施方式中,一旦检测到异常,就使用多类图像分类机器学习引擎来基于凸包络中的像素对该异常进行分类。
120.方法400d旨在当检测到异常时,利用新的训练样本来丰富多类图像分类机器学习引擎的训练集。
121.为此,一旦获得了凸包络,就在步骤490d将凸包络中的像素显示给用户。将凸包络中的像素至少显示在对应于瞬时拍摄的输入图像中,以使用户可以检查所检测到的异常。
122.在本发明的许多实施方式中,针对表示拍摄的实际图像的输入图像以及显示由自动编码器重建/解压缩的图像的解压缩图像(即,如果不存在异常,则预期的图像)两者显示像素。因此,用户可以容易地将实际图像与看起来不存在异常的图像进行比较。图7提供了这种显示的示例。
123.根据本发明的各种实施方式,凸包络可以以许多不同的方式来显示。例如,可以只显示包络的内容。另选地,可以显示整个图像,并且可以突出显示凸包络。更一般地,并且可以使用允许用户清楚地标识属于包络的像素是什么的可能显示。
124.方法400d还包括从用户接收异常标签的步骤491d。为此,用户可以将异常的标签(其也可以是表示缺乏异常的标签)关联至簇/凸包络。标签例如可以由用户输入、在列表中选择、以及可以在现有标签中选择或创建。
125.因此,用户可以确认是否存在异常,并且指示异常的类型是什么。
126.因此,在步骤492d中,可以使用初始图像中的凸包络中的像素以及标签,来训练用于检测异常的有监督多类图像分类机器学习引擎。这可以被用于有监督多类图像分类机器学习引擎的初始训练或进一步训练。例如,可以将像素簇以及关联的标签用于丰富现有的训练集,而该训练集将被用于再次训练有监督多类图像分类机器学习引擎。
127.如果在图像中已经检测到多个不同的相异像素簇,则这可以针对各个簇加以重复。
128.该方法提供了许多优点。如上所述,通过根据本发明的方法进行异常检测是高效的,并且不会产生大量误报。因此,只有少数样本被视为异常。从而,用户所需的监督量是有限的。此时,用户可以专注于实际误差的标记。
129.在本发明的许多实施方式中,方法400d包括异常分类的步骤480c。因此,用户可以通过有监督多类图像分类机器学习来查看当前被指派给异常的标签,并且如果分类不正确则修改该标签。因此,用户可以确认分类与否。这可以例如被用于使用强化学习来进一步训练有监督多类图像分类机器学习引擎。
130.图5示出本发明的许多实施方式中的自动编码器的示例。
131.自动编码器例如已经在liou,cheng-yuan;huang,jau-chi;yang,wen-chie
(2008).“modeling word perception using the elman network(使用elm络对词感知进行建模)”.neurocomputing.71(16

18),以及liou,cheng-yuan;cheng,wei-chen;liou,jiun-wei;liou,daw-ran(2014).“autoencoder for words(用于词的自动编码器)”.neurocomputing.139:84

96中进行了描述。自动编码器是被训练为以无监督方式执行高效数据编码的一种类型的神经网络。
132.自动编码器包括:第一神经网络520,该第一神经网络520将输入向量x
t
编码成被记为z
t
的压缩向量(t表示迭代的索引);以及第二神经网络530,该第二神经网络将压缩向量z
t
解码成解压缩或重建向量根据本发明的各种实施方式,第一神经网络520和第二神经网络530中的各个神经网络皆是深度卷积神经网络(cnn)。实际上,已知深度cnn对于图像处理是非常高效的。
133.压缩向量z
t
具有比输入向量x
t
和重建向量低的维数:它是使用一组被称为潜在变量的变量来表达的,这些变量被认为表示向量的基本特征。因此,重建向量相似,但通常不严格等于输入向量x
t

134.在解码的输出处,可以计算重建误差或损失函数、以及损失函数的梯度两者。
135.为了训练自动编码器,执行多次迭代,各次迭代皆包括训练集的样本的编码和解码、损失函数的计算、以及自动编码器的自适应以最小化损失函数。通过这样做,对压缩向量p的潜在变量进行训练,以表示训练集的显著高级特征。换句话说,自动编码器的训练阶段提供了将训练样本压缩成最好地表示它们的少量潜在变量的无监督学习。
136.通常,编码和解码被称为前向传播(forward pass),自动编码器的自适应被称为后向传播(backward pass),该自动编码器的自适应主要在于根据损失函数的梯度来适应神经网络的权重和偏置,并且用于所有训练样本的完整的前向传播和后向传播被称为轮数(epoch)。
137.在本发明的许多实施方式中,自动编码器是变分自动编码器(vae)。变分自动编码器例如由kingma,,d.p.,&welling,m.(2013).auto-encoding variational bayes.arxiv preprint arxiv:1312.6114,或者diederik p.kingma和volodymyr kuleshov.stochastic gradient variational bayes and the variational autoencoder.in iclr,pp.1

4,2014进行了描述。变分自动编码器有利地提供了对某些数据集上的正常样本和异常样本的非常好的辨别。然而,本发明不限于这种类型的自动编码器,并且在本发明的过程中可以使用其它类型的自动编码器。
138.损失函数被记为并且例如可以是二次函数:
[0139][0140]
可以将损失函数的梯度记为
[0141]
然而,这只是借助于示例来提供的,并且可以使用不同的损失。特别地,可以将该二次函数替换成表示输入样本与解压缩样本之间的失真的另一函数。
[0142]
根据本发明的各种实施方式,可以针对一个或更多个颜层来计算像素差值。例如,可以在ycbcr或yuv颜空间的rgb层、灰度层或y层上计算像素差值。也可以将像素差值
整合在图像差值度量中,诸如psnr(峰值信噪比)或ssim(结构相似性)。
[0143]
损失函数还可以包括kullbak-leibler(kl)散度。kl差值表示压缩样本的散度。该项的最小化确保了潜在空间具有高斯分布,并由此优化了已经到相关潜在空间的概率。因此,该项确保潜在空间尽可能接近最优高斯分布。
[0144]
在本发明的许多实施方式中,变分自动编码器的损失因此被计算为:
[0145][0146]
组合二次函数和kl散度的这个函数允许确保使用生成模型,即,该模型能够生成从未被用于训练的样本。如上所述,可以将该二次函数替换成表示输入向量与输出向量之间的失真的另一函数,以使对自动编码器进行训练,从而生成与来自压缩样本的训练集的图像尽可能相似的图像。
[0147]
这些函数提供了用于训练自动编码器以表示训练集的总体解决方案。
[0148]
如上所提到的,在本发明的许多实施方式中,对自动编码器进行训练,以执行图像的编码和图像中对象的分割两者。在这样的实施方式中,第一神经网络520和第二神经网络530不是对称的:输入向量x
t
表示输入图像的颜层,而重建(或解压缩)向量另外包括表示图像的阿尔法通道的分量。
[0149]
自动编码器由此生成限定分割掩模的阿尔法通道。在训练阶段期间,训练集的各个图像皆与限定参考实例对象的分割掩模的参考阿尔法通道相关联,并且损失函数是以下项中的一个或更多个项的加权和:
[0150]-kullbak-leibler(kl)散度;
[0151]-输入向量的像素与重建向量的像素之间的差值;
[0152]-自动编码器的输出端的解压缩向量的阿尔法通道的像素与限定参考实例对象的分割掩模的参考阿尔法通道的像素之间的差值。
[0153]
因此,在训练阶段期间,同时训练自动编码器以提供对象的最佳潜在表示,并且生成与参考分割掩模尽可能相似的分割掩模。由此,对自动编码器进行训练来以像素精度分割对象。
[0154]
在本发明的许多实施方式中,像素差是逐像素与参考阿尔法通道相乘的。即,只考虑实际上属于参考实例对象的像素的重建差值。这允许损失函数的该项仅表示对象的重建误差,而不表示背景的重建误差。因此,通过使只包括表示实例对象的逐像素重建误差的项的实例函数最小化,来对神经网络进行训练,以重建尽可能接近真值(ground truth)的所分割的对象的表示,同时预测正确的分割。因此,损失函数变为:
[0155][0156]
其中,项阿尔法表示值阿尔法通道,这意味着仅对于被认为属于分割掩模的像素,考虑二次误差在训练阶段期间,其中,参考阿尔法通道是已知的,项阿尔法表示真值(参考阿尔法通道),而在推断期间,项阿尔法是解压缩的阿尔法通道。
[0157]
如上所提到的,表示自动编码器的输出处的解压缩向量的阿尔法通道与限定参考实例对象的分割掩模的参考阿尔法通道之间的差值的项允许自动编码器从表示对象的图像的颜像素中,学习如何生成同一类的实例对象的分割掩模。该差值例如可以被计算为:
[0158][0159]
其中,alpha
t
表示参考阿尔法通道,以及表示重建向量的阿尔法通道。
[0160]
因此,损失函数可以表达为:
[0161][0162]
其中,alpha
t
表示参考阿尔法通道,表示重建向量的阿尔法通道,以及λ(lambda)是限定阿尔法通道差值与损失的其它项相比的相对加权的超参数。
[0163]
在本发明的许多实施方式中,加权因子λ通过连续学习迭代(或轮数)而改变。例如,kl散度的相对加权因子以及输入向量的像素与重建向量的像素之间的差值的相对加权因子可以等于零,或者更一般地,在第一次迭代期间具有相对低的权重(相反地,在第一次迭代期间阿尔法通道差值的相对权重较高)。
[0164]
这允许第一迭代仅适配神经网络520、530的权重和偏置,或者主要生成正确的分割掩模。之后,对于连续的迭代,加权因子被设置为使得同时优化损失函数的这三项。这允许首先学习神经网络的通解以生成分割掩模,然后细化该解以生成更好的分割掩模,从而高效地表示对象并且具有解的良好分布。被称为课程学习的这个概念避免了在解空间的完全错误区域中收敛至解。在当前情况下,这避免了收敛至其中对象被很好地表示的解,并且分布非常好,但是阿尔法通道的所有像素均被设定成零,并且分割掩模的生成不起作用。
[0165]
更一般地,可以将解压缩的阿尔法通道与参考阿尔法通道之间的差值的加权系数λ设定成用于第一次迭代的高值,并且通过连续的迭代而减小,以使神经网络首先学习以生成正确的分割掩模,然后同时学习以细化分割掩模,提供对象的更好表示以及在潜在空间中使用更好的分布。
[0166]
图6示出本发明的许多实施方式中的示例性聚类步骤。
[0167]
如上所述,聚类步骤450可以以不同的方式来执行。
[0168]
在本发明的许多实施方式中,簇是基于相异像素的局部密度以及相异像素之间的距离的。这些实施方式依赖于被称为“dbscan”的聚类算法,并且上述附图和示例基于相对于“dbscan”算法的英文网页(在https://fr.wikipedia.org/wiki/dbscan可获)。在实践中,考虑两个参数:
[0169]-距离ε,其是簇的两个像素之间的最大距离;
[0170]-对于属于一个簇的像素的最小像素数量minpts,其限定了在像素周围的直径为ε的圆中需要到的最小相异像素数量。
[0171]
对于属于一个簇的像素,参数ε和minpts还隐含地限定了相异像素的最小局部密
度。
[0172]
在图6的示例中,已经标识了9个相异像素610、611、612、613、614、615、616、617以及618。在图的右侧示出了最大距离ε,并且分别围绕9个相异像素610、611、612、613、614、615、616、617以及618示出了半径为ε的9个圆620、621、622、623、624、625、626、627以及628。在该示例中,将最小像素数量minpts设定成3。
[0173]
在两个连续的步骤中执行簇检测。在第一步骤中,标识簇的“核心点”。然后,标识属于该簇但不是核心点的附加点。6个点610、611、612、613、614以及615在它们相应的圆620、621、622、623、624、625中都具有三个或更多个相异像素。因此,它们都属于作为“核心点”的簇。此时,将这些点全部直接或间接地互连。例如,点610直接连接至点611和612(即,它们的距离小于ε,并且点611和612处于以610为中心的半径为ε的圆620中),而点611直接连接至点610、611、615以及613。从而,点610间接连接至615和613。因此,所有点610、611、612、613、614以及615属于同一簇。
[0174]
点616和617也属于所述簇,因为即使它们的圆626、627中的相异像素的数量低于3,并因此它们不是所述簇的“核心点”,它们也位于所述簇的“核心点”像素的小于ε的距离处:616接近610,以及617接近614。由此,点616和617可以被视为所述簇的边界或边缘。
[0175]
与此相反,像素618是孤立的相异像素,因为它处于高于所述簇的任何像素的ε的距离处。因此,像素618不属于所述簇。
[0176]
总之,所述簇由以下项形成:
[0177]-像素610、611、612、613、614、以及615的连通图,这些像素中的各个像素皆位于等于或小于这样的最大阈值距离ε的距离处,即,该最大阈值距离是等于或高于最小像素阈值minpts的多个相异像素的最大阈值距离,所述连通图的边缘等于最大阈值距离ε;
[0178]-相异像素626、627,所述相异像素不属于所述连通图并且位于等于或小于属于所述连通图的相异像素的所述最大阈值距离ε的距离处。
[0179]
相异像素簇例如可以使用被称为dbscan(具有噪声的应用的基于密度的空间聚类)的算法来进行检测,dbscan由ester,m.,kriegel,h.p.,sander,j.,&xu,x.(1996,august).a density-based algorithm for discovering clusters in large spatial databases with noise(用于在大空间数据库中发现具有噪声的簇的基于密度的算法).in kdd(vol.96,no.34,pp.226-231)进行了详细描述。
[0180]
通常,使用聚类方法是有利的,因为即使像素不是邻近像素,同时不考虑隔离的相异像素,它也允许检测相异像素的局部高浓度。因此,相异像素簇的检测非常适合于检测其中输入图像与解压缩图像之间存在高差值的区域。
[0181]
图6所示的方法提供了非常好的结果。另外,用户可以容易地对该方法进行参数化,这是因为它仅使用两个参数(最大阈值距离ε、以及最小像素阈值minpts)。
[0182]
本发明当然不限于这种聚类技术,并且实际上在本发明的范围内可以使用任何聚类方法。
[0183]
图7示出本发明的实施方式中的检测到的异常的显示示例。
[0184]
显示器700向用户提供对象分割和异常检测的显示示例。在该示例中,在发动机的连接器上检测缺陷。显示器700示出了4个图像:
[0185]-发动机的总视图720,具有连接器的位置721;
[0186]-连接器711的输入图像710。硬币712位于连接器711上,硬币作为缺陷。输入图像710还示出了连接器的分割掩模713;
[0187]-针对属于分割掩模的像素,图像730示出了连接器731的解压缩图像(自动编码器的黄金样本(golden sample));
[0188]-针对属于分割掩模的像素,图像740示出具有连接器741和硬币742的输入图像。
[0189]
通过本发明的异常检测已经正确地检测到异常,并且向用户显示相异簇的凸包络。
[0190]
根据本发明的各种实施方式,这可以以许多不同的方式显示给用户。在图7的示例中,凸包络在输入数字图片的顶部被突出显示742,以使用户可以清楚地观察异常所在的位置。当然,本发明不限于该示例,并且可以在本发明中使用允许用户观察相异像素簇的任何显示器。
[0191]
在本发明的许多实施方式中,凸包络也被显示734在解压缩图片(即,黄金样本)的顶部上,以使用户能够查看同一区域在没有缺陷的图像中看起来是什么。
[0192]
在显示器700中,用户可以观看凸包络734,该凸包络被显示在与凸包络744相同的区域中,允许用户瞬时比较输入图像和解压缩图像之间的相异区域,并且更好地理解是什么造成了该异常。
[0193]
图7未示出的gui的其它要素还可以允许用户例如通过指示异常是硬币来注释该异常,以丰富被配置成基于凸包络744的内容对异常进行分类的有监督机器学习引擎的训练集。
[0194]
图7的示例展示了本发明准确地检测和定位图像中的异常的能力,而且还以允许用户非常清楚地理解异常是什么以及异常位于何处的方式来向用户显示异常。
[0195]
图8示出本发明的许多实施方式中的参数选择的示例。
[0196]
本发明的许多实施方式中的方法可以使用一个或更多个参数来进行参数化。例如,可以考虑以下参数:
[0197]-相异性阈值:这对应于在步骤440中用于辨别正常像素与异常像素的阈值:当像素的相异性高于相异性阈值时,该像素被认为是异常的。该阈值将被记为t;
[0198]-对于依赖于dbscan算法的使用的本发明的实施方式,如图6所示:
[0199]
о最大阈值距离,记为ε;
[0200]
о创建簇的最小选定像素数量,被记为m。该参数对应于图6中记为“minpts”的参数。
[0201]
该方法的结果取决于这些参数的值。总之,因此希望选择同时允许检测尽可能多的异常并限制误报的数量(即,不存在异常的异常检测数量)的参数值。
[0202]
各个参数皆可以采取“严格”值或“松弛”值。严格值对应于低异常数量的检测,而松弛值对应于高异常数量的检测。因此,松弛值增加了检测异常的机会,但也产生了误报,而严格值限制了误报的数量,但增加了丢失对现有异常的检测的机会。例如;
[0203]-当阈值t的值增加时,相异性阈值t的值变得更严格:当阈值t增加时,较少的像素将被检测为异常像素。这趋于减少误报的数量,但也可能减少检测到的异常的数量;
[0204]-当最大阈值距离ε的值减小时,最大阈值距离ε的值变得更严格:当最大阈值距离ε减小时,以相异像素为中心的检测其它相异像素的圆变得更小:因此,检测相异像素簇变
得更加困难。这趋于减少误报的数量,但也可能减少检测到的异常的数量;
[0205]-当最小阈值像素数量m的值增加时,最小阈值像素数量m的值变得更严格:当最小阈值像素数量m增加时,在以相异像素为中心的半径为ε的圆中需要较高数量的相异像素来检测簇:因此,检测相异像素簇变得更加困难。这趋于减少误报的数量,但也可能减少检测到的异常的数量。
[0206]
实际上难以选择参数的最优值,同时允许准确的异常检测,并且限制误报的数量。
[0207]
为了标识最优参数,在本发明的许多实施方式中,在监督学习阶段期间已经确定了至少一个参数值。监督学习阶段依赖于图像的注释训练集,即,其中标记了异常的至少一个图像的训练集。因此,在训练集的各个图像中,某人已经手动注释了表示异常的像素。
[0208]
然后,参数的优化基于以下原则;首先,将各个参数设定成初始松弛值。然后,使用参数的初始松弛值将异常检测方法400应用于训练集。由于参数值都是松弛的,因此,期望在该阶段检测几乎所有的异常。
[0209]
然后,计算异常检测的得分。异常检测的得分确定训练集中的所标记的异常被检测到的程度。该得分例如可以基于已经检测到的异常的数量(即,对于其,至少一个像素被检测为异常像素)和/或被检测为异常的像素的量(例如,对于各个异常实际上被检测为异常的异常像素的分数)。例如,在本发明的许多实施方式中,对于各个异常,限定像素的10%的检测范围:对于各个异常,计算得分的函数确定是否已经完全检测到该异常,并且如果是,则确定被检测为异常的像素的百分比是否在所标记的像素的0%至10%、所标记的像素的10%至20%等的范围内,并且计算得分以反映检测的准确性。因此,该得分表示异常检测的准确性的目标得分,其中检测到大量异常。值得注意的是,不一定期望得到完美的结果。
[0210]
然后,将所述值或参数迭代地修改成更严格的值,并且重新计算得分,而异常检测的得分仍保持恒定。
[0211]
换句话说,这在于逐步地将参数修改成更严格的值(例如,更高阈值t、更低的阈值ε、更高的阈值m

),但是只有在异常检测得分保持其初始值时才选择更严格的参数。
[0212]
因此,最终选择的参数对应于达到检测异常的目标得分的最严格的参数:
[0213]-参数的最终值对应于异常检测得分具有初始值的参数:因此,使用优化参数的检测得分与使用初始松弛参数的检测得分相同。因此,获得了极好的异常检测;
[0214]-此时,优化参数是允许该异常检测得分的最严格的参数,并因此是获得该得分的误报的最低数量。
[0215]
因此,该学习阶段允许在异常检测中获得极好的准确性,同时限制误报的数量。
[0216]
另外,仅需要有限数量的训练样本来优化参数。因此,用户只需要很少的注释工作量。
[0217]
在图8的示例中,考虑三个参数:相异性阈值t、最大阈值距离ε、以及最小阈值像素数量m。
[0218]
参数的值最初被设定成一组松弛值t
min
、ε
max
、以及m
min
。然后确定检测得分s0。
[0219]
在图8的示例中,参数的优化是以两个连续的步骤来执行的:
[0220]-首先,标识t的优化值;
[0221]-然后,联合地优化ε和m。
[0222]
曲线图810示出了参数t的优化:水平轴表示t的值,而垂直轴表示检测得分s的值。
由线段811和812形成的曲线表示当该方法与参数t、ε
max
、以及m
min
一起使用时的得分s的值。
[0223]
参数t的优化值因此是对应于点813的值t1:如线段812所示,对于t在区间[t
min
;t1]中的各个值;使用参数集{t、ε
max
、m
min
}的得分等于s0。与此相反,当t》t1时,如线段811所示,s的值减小。因此,t1是t的最高值,或者是距初始预定义值t
min
最远的值,对于该初始预定义值,s=s0。
[0224]
可以迭代地计算参数t1的值。例如,可以根据二分法,通过将t设定成正值t>t
min
,迭代地计算:
[0225]-如果s=s0,则增加t;
[0226]-如果s<s0,则减小t。
[0227]
可以在连续的迭代期间更新t的增加或减小量。更具体地,该量通过增加/减少的连续迭代而逐渐减小,以便收敛至t的最优值。
[0228]
然后,联合优化ε和m,其中t的值被固定在t=t1。曲线图820表示参数ε和m的迭代优化。水平轴表示ε的值,而垂直轴表示m的值。因此,松弛值位于曲线图的右下处,而严格值位于曲线图的左上处。
[0229]
将{t、ε、m}的值设定在{t1、ε
max
、m
min
}。这由点821来表示。
[0230]
首先,标识ε1的值,该值对应于ε的最低(即,距ε
max
最远)值,对于该值,使用参数集{t1、ε、m
min
}的检测得分等于s0。该值例如可以根据二分法通过迭代地进行以下处理来确定:
[0231]-如果s<s0,则增加ε;
[0232]-如果s=s0,则减小ε。
[0233]
因此,这导致在点822处的中间参数集{t1、ε1、m
min
}。
[0234]
然后,利用固定的t1和ε1、以相同的原理对参数m进行优化:标识值m1,该值对应于m的最高值,对于该最高值,使用参数集{t1、ε1、m}的检测得分等于s0。该值例如可以增加m直到s<s0,或者根据二分法,通过迭代地进行以下处理来确定:
[0235]-如果s<s0,则减小m;
[0236]-如果s=s0,则增加m。
[0237]
因此,这导致在点823处的中间参数集{t1、ε1、m1}。
[0238]
然后,通过联合优化ε和m以保持值s=s0,同时增加由ε和m的值对所限定的异常像素密度,来获得进一步优化的集合。曲线830、831、832中的各个曲线皆对应于恒定密度的曲线。术语“恒定密度”是指ε和m的两个值对对应于相异像素的相同密度以检测簇。实际上,因为m是检测簇的圆中的最小相异像素数量,并且ε表示该簇的最大半径,对于各个值对{ε、m},检测簇的最小密度ρ可以被计算为:
[0239]
因此,曲线830、831、832中的各个曲线皆由方程m=ε2*π*ρ来限定,其中常数ρ。在以下情况下,参数对{ε、m}将被认为好于另一参数对:
[0240]-使用参数{t1、ε、m}的检测得分等于s0。实际上,最后选择的参数将必然导致检测与该得分相关联;
[0241]-它们被关联至更高的密度。例如,如果ρ2》ρ1,则与密度ρ2》ρ1相关联的参数对将被认为好于与密度ρ1相关联的参数对。
[0242]
曲线831对应于ρ=ρ1,并因此m=ε2*π*ρ1。曲线832对应于ρ=ρ2,并因此m=ε2*π*
ρ2。曲线830对应于ρ=1(簇中的所有像素均为相异像素),并因此m=ε2*π。
[0243]
这里值得注意的是,下面的“禁区”已被打上虚线,这是因为它们对应于不可能的参数组合:
[0244]-m<m
min

[0245]-曲线830左侧的面积,因为它对应于簇中的相异像素的密度ρ>1,因而相异像素比总像素数多,而这是不可能的。
[0246]
在点823处,簇中的最小异常像素密度为
[0247]
优化的下一步骤是通过首先计算ε2=ε1+1来修改ε和m两者;这对应于与参数{t1、ε2、m1}相对应的中间点824;如果ε2=ε1+1≥ε
max
,其中,ε
max
是ε的预定义最大值,则该过程停止。
[0248]
然后,如果ε2<ε
mam
,则下一步骤在于标识m的新优化值:值m2。m2的确定类似于m1的确定:t1和ε2是固定的,并且高于m1的新值m2被标识,同时利用参数组合{t1、ε2、m2},s=s0。这对应于与密度ρ2相对应的曲线832上的点825。在这种情况下,密度ρ2高于ρ1。将参数组合{t1、ε2、m2}选择为新的优化参数,这是因为它们与检测得分s0以及更高的密度ρ2》ρ1相关联。反之,如果密度将低于或等于ρ1,则该过程停止,并且将参数组合{t1、ε1、m1}选择为最优参数组合。在本发明的许多实施方式中,用于选择m2的m的候选值是的m的候选值是的值。因此,将仅测试导致密度高于ρ1的m的值。这避免了测试获得较低密度并因此无法形成新的优化参数的值,以便限制标识优化参数的计算复杂度。
[0249]
然后,该过程继续进行ε和m的联合优化的新步骤:通过计算ε3=ε2,然后当s=s0时,增加m的值,但是这次,所得到的参数组合{t1、ε3、m3}对应于低于ρ2的异常像素密度:停止该过程,并且最优参数组合是先前的组合{t1、ε2、m2}。如果达到ε=ε
max
的最大值,即,如果ε3=ε
max
,那么也可以停止该过程。
[0250]
换句话说,执行优化ε和m的迭代(其全局地增加为标识簇所需的异常像素密度),直到:
[0251]-达到ε的最大值ε
max
;或者
[0252]-在联合地修改ε和m时的检测得分s<s0。在这种情况下,ε和m的先前优化值被保持。
[0253]
因此,这允许获得ε和m的最优组合,对于该组合,检测得分s=s0,从而确保检测到大量异常,同时需要最高异常像素密度来形成簇,从而确保检测到有限数量的误报。
[0254]
在图8的示例中,该过程因此被停止,并且最优参数组合为{t1、ε2、m2}。
[0255]
该方法提供了使用有限次迭代来达到最优结果的优点。它还避免了到局部最优值。因此,当聚类算法是dbscan时,它确保以有限的计算复杂度来选择最优参数(即,具有s=s0的最严格参数)。
[0256]
上述示例是作为本发明的实施方式的非限制性例示而给出的。它们不以任何方式限制由所附权利要求限定的本发明的范围。

技术特征:


1.一种计算机实现方法(400a、400b、400c、400d),所述计算机实现方法包括以下步骤:-获得(410)由数字摄像机拍摄的对象的输入数字图像;-使用自动编码器(320)将所述输入数字图像编码(420)成压缩图像,并且将所述压缩图像解码(421)成重建图像;-计算(430)所述重建图像与所述输入数字图像之间的逐像素相异性;-将具有高于相异性阈值的逐像素相异性的像素检测(440)作为相异像素;-检测(450)至少一个相异像素簇的存在或不存在;-如果检测到相异像素簇的存在,则计算(460)所述相异像素簇的凸包络,所述凸包络表示异常。2.根据权利要求1所述的计算机实现方法(400c),所述计算机实现方法还包括以下步骤:使用(480c)有监督多类图像分类机器学习引擎,来将所述输入数字图像在所述凸包络(744)内的像素分类成异常类。3.根据权利要求1所述的计算机实现方法(400d),所述计算机实现方法还包括以下步骤:使用所述输入图像在所述凸包络(744)内的所述像素来训练有监督多类图像分类机器学习引擎以检测异常。4.根据权利要求3所述的计算机实现方法(400d),如果检测到相异像素簇,则所述计算机实现方法还包括以下步骤:-向用户显示(490d)所述输入图像在所述凸包络(744)内的所述像素;-从所述用户接收(491d)异常标签;-使用(492d)所述输入图像在所述凸包络内的所述像素以及所述标签来训练所述有监督多类图像分类机器学习引擎以检测异常。5.根据权利要求4所述的计算机实现方法,所述计算机实现方法还包括以下步骤:在所述输入图像中并且在解压缩图像中,向所述用户同时显示所述凸包络内的所述像素。6.根据权利要求1至5中的一项所述的计算机实现方法,其中,像素簇是由以下来限定的:-相异像素(610、611、612、613、614、以及615)的连通图,这些相异像素中的各个相异像素皆位于等于或小于最大阈值距离(ε)的距离处,所述最大阈值距离是等于或小于最小像素阈值的多个相异像素的最大阈值距离,所述连通图的边缘等于所述最大阈值距离;-相异像素(626、627),所述相异像素不属于所述连通图并且位于等于或小于属于所述连通图的相异像素的所述最大阈值距离(ε)的距离处。7.根据权利要求1至6中的一项所述的计算机实现方法(400b、400c、400d),所述计算机实现方法包括以下步骤:计算所述输入数字图像中的对象的分割掩模(470b),并且其中,计算(430)逐像素相异性的所述步骤是仅针对属于所述分割掩模的像素来执行的。8.根据权利要求7所述的计算机实现方法,其中,计算所述分割掩模的所述步骤包括:使用分割自动编码器来生成所述重建图像的阿尔法通道,所述阿尔法通道表示所述分割掩模,并且其中,所述分割自动编码器已经在包括以下的训练阶段期间进行了训练:-对于训练集中的对象类的各个参考实例对象,获得所述实例对象的数字图像、以及限定所述实例对象的分割掩模的参考阿尔法通道;-使用所述训练集对所述自动编码器进行训练,以最小化损失函数,所述损失函数对于
参考实例对象来说包括这样的差值,即,所述自动编码器的输出端处的解压缩向量的阿尔法通道的像素与限定所述参考实例对象的所述分割掩模的所述参考阿尔法通道的像素之间的差值。9.根据权利要求8所述的计算机实现方法,其中,所述损失函数是分别表示以下内容的三项的加权和:-kullbak-leibler(kl)散度;-所述输入图像的像素与所述重建图像的像素之间的差值;-所述自动编码器的输出端处的所述解压缩向量的所述阿尔法通道的像素与限定所述参考实例对象的所述分割掩模的所述参考阿尔法通道的像素之间的所述差值。10.根据权利要求9所述的计算机实现方法,其中,所述输入图像的像素与所述重建图像的像素之间的所述差值乘以所述参考阿尔法通道。11.根据权利要求8至10中的一项所述的计算机实现方法,其中,所述分割自动编码器是所述自动编码器(320),所述自动编码器用于将所述输入数字图像编码(420)成压缩图像,并且将所述压缩图像解码(421)成重建图像。12.根据前述权利要求中的任一项所述的计算机实现方法,其中,在监督学习阶段期间已经确定了至少一个参数值,所述方法包括以下步骤:-获得异常被标记的至少一个图像;-将所述至少一个参数值设定成至少一个预定义值;-使用所述至少一个预定义值计算所述至少一个图像上的所述异常的检测得分的第一值;-迭代地:

将所述至少一个参数值修改成至少一个另一值,所述至少一个另一值被预期与所述至少一个预定义值相比,导致对较少数量的异常的检测;

使用所述至少一个另一值来重新计算所述异常的所述检测得分;

以便标识所述至少一个参数的至少一个优化值,所述至少一个优化值是所述至少一个参数的最遥远值,对于所述最遥远值来说,所述检测得分具有所述第一值;-将所述至少一个参数的值设定成所述至少一个优化值。13.根据从属于权利要求5时的权利要求12所述的计算机实现方法,其中:-所述至少一个参数值包括:

所述相异性阈值的值,其中,预期较高的值以导致对较少数量异常的检测;

所述最大阈值距离(ε)的值,其中,预期较低的值以导致对较少数量异常的检测;

所述最小像素阈值的值,其中,预期较高的值以导致对较少数量异常的检测;-所述监督学习阶段包括:

所述相异性阈值的值的优化;

然后,对所述最大阈值距离的值、以及包括所述最大阈值距离的组合修改的所述最小像素阈值的值、以及所述最小像素阈值的值进行优化,以在所述检测得分具有所述第一值的同时获得异常像素的最大密度。14.一种装置(300),所述装置包括:-针对数字摄像机(340)的入口;

至少一个处理逻辑单元(310),所述至少一个处理逻辑单元被配置为:

获得(410)由所述数字摄像机拍摄的对象的输入数字图像;

使用自动编码器(320)将所述输入数字图像编码(420)成压缩图像,并且将所述压缩图像解码(421)成重建图像;

计算(430)所述重建图像与所述输入数字图像之间的逐像素相异性;

将具有高于相异性阈值的逐像素相异性的像素检测(440)作为相异像素;

检测(450)至少一个相异像素簇的存在或不存在;

如果检测到相异像素簇的存在,则计算(460)所述相异像素簇的凸包络,所述凸包络表示异常。15.一种用于训练机器学习引擎的计算机程序产品,所述计算机程序产品包括计算机代码指令,所述计算机代码指令被配置为:-获得(410)由数字摄像机拍摄的对象的输入数字图像;-使用自动编码器(320)将所述输入数字图像编码(420)成压缩图像,并且将所述压缩图像解码(421)成重建图像;-计算(430)所述重建图像与所述输入数字图像之间的逐像素相异性;-将具有高于相异性阈值的逐像素相异性的像素检测(440)作为相异像素;-检测(450)至少一个相异像素簇的存在或不存在;-如果检测到相异像素簇的存在,则计算(460)所述相异像素簇的凸包络,所述凸包络表示异常。

技术总结


本发明公开了数字图像中的对象的异常检测方法,其中,将该对象的图像通过自动编码器进行编码和解码,然后在对象的输入图像与该对象的重建图像之间计算逐像素差值。逐像素差值高于阈值的像素被认为是相异像素,并且测试相异像素簇的存在。相异像素簇被认为是表示异常。常。常。


技术研发人员:

G

受保护的技术使用者:

阿诺特尔布莱恩公司

技术研发日:

2021.03.26

技术公布日:

2022/12/22

本文发布于:2024-09-24 21:26:42,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/47237.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:相异   像素   所述   异常
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议