在阿尔法通道中的基于自动编码器的分割掩模生成的制作方法

文档序号:33174296发布日期:2023-02-04 03:13阅读:52来源:国知局
在阿尔法通道中的基于自动编码器的分割掩模生成的制作方法

1.本发明涉及在数字图像中生成对象的分割掩模(segmentation mask)的领域。更具体地说,涉及在图像中生成可以表示正常对象或包括缺陷的对象的分割掩模。


背景技术:

2.如今,数字图像是越来越多的应用的基础。数字图像可以从大量源中拍摄,并表示各种事物,诸如,风景、对象或人。当对象在图像上被表示为在背景后面时,将该对象从背景中分离出来对许多应用很有用,以便仅对该对象执行图像分析而不受背景的影响。例如,在工业中与质量控制有关的应用就是这种情况,其中对象中是否存在缺陷、以及对缺陷的表征与定位是基于对象的图像自动执行的。在这种情况下,如果首先将对象从背景中分离出来,使得检测仅对该对象执行,而不受背景内容的影响,那么对缺陷的检测效率会更高。对象与背景之间的分离通常是通过定义分割掩模来完成的。分割掩模是指示图像中属于目标对象的像素和不属于该对象的像素(例如,背景像素)的掩模。
3.通常,自动分割是通过以下步骤执行的:训练有监督机器学习引擎,以使用包括一种类型的对象的训练集和对应的掩模来生成这种类型的对象的分割掩模。在训练阶段结束时,该有监督机器学习引擎必须能够从新图像中自动生成这种对象的分割掩模,即,当提供了未知图像时,必须能够将目标类型的对象从图像的背景中分离。因此,自动生成分割掩模的一般挑战包括将来自给定类型的对象从图像的背景中正确分离。然而,出于多种原因,这可能是一项艰巨的任务。首先,同一类型的对象可能是在不同的条件下(光线、取向、变焦
……
)被拍摄的,因此会以不同的大小、形状或颜色显示在图像上。变化的背景也可能使分割变得困难。
4.现有技术以不同的方式解决这些挑战。第一种方法包括在详细控制的状况下拍摄对象的图像。例如,可以在对象位于具有限定光线的黑盒中时拍摄对象的图像,使得背景由黑色像素定义。在该解决方案允许对象与背景之间的有效分离的情况下,其成本高、难以管理并且需要大量空间。因此,它不适用于需要快速分析大量产品的工业应用,诸如,对生产线中的缺陷进行检测。
5.通常,生成分割掩模的经典算法(诸如,由mclachlan,g.j.,&basford,k.e.(1988).mixture models:inference and applications to clustering(混合模型:对集群的推断和应用)(vol.38).new york:m.dekker公开的那些经典算法)包括将每个像素都分类为前景像素或背景像素。这种算法最流行的解决方案之一是被称为“grabcut”且由rother,c.,kolmogorov,v.,&blake,a.(2004)."grabcut"interactive foreground extraction using iterated graph cuts(使用迭代图割的互动前景提取).acm transactions on graphics(tog),23(3),309-314公开的解决方案。然而,这些算法很难识别复杂的背景,并且只有在背景与要分割的对象有很大差异时才能表现良好。此外,分割解决方案通常需要由专家进行细化,其干预时间长且成本高。
6.另一种选择包括通过假设变换仅是由于摄像机的视角或变焦的差异来标识已知
形状的变换。被称为“sift”(尺度不变特征变换)的这种解决方案是例如由lowe,d.g.(1999,september).object recognition from local scale-invariant features(从本地尺度不变特征的对象识别).in proceedings of the seventh ieee international conference on computer vision(vol.2,pp.1150-1157).ieee来描述的。然而,这些方法不能在光照改变或要检测的对象的变化/变形的情况下正确分割对象。
7.其它方法依赖于无监督深度学习来分割场景。这例如是eslami,s.a.,heess,n.,weber,t.,tassa,y.,szepesvari,d.,&hinton,g.e.(2016).attend,infer,repeat:fast scene understanding with generative models(利用生成模型的快速场景理解).in advances in neural information processing systems(pp.3225-3233)公开的“attend infer repeat(参加推断重复)”(air)的情况,或是burgess,c.p.,matthey,l.,watters,n.,kabra,r.,higgins,i.,botvinick,m.,&lerchner,a.(2019).monet:unsupervised scene decomposition and representation(无监督场景分解和表示).arxiv preprint arxiv:1901.11390公开的“monet”的情况。然而,这些方法存在训练时间很长的缺点,并且对与训练集的对象不同的对象(例如,生产线的异常对象)进行检测的能力非常有限。
8.实例分割的其它解决方案依赖于有监督深度学习。最著名的是he,k.,gkioxari,g.,doll
á
r,p.,&girshick,r.(2017).mask r-cnn.in proceedings of the ieee international conference on computer vision(pp.2961-2969)公开的“mask r-cnn(掩模r-cnn)”和bolya,d.,zhou,c.,xiao,f.,&lee,y.j.(2019).yolact:real-time instance segmentation(实时实例分割).in proceedings of the ieee international conference on computer vision(pp.9157-9166)公开的“yolact”。这些解决方案提供了对任何类型的背景、部分遮挡和对象变形都具有鲁棒性的优点。这些属性对于在各种情况下都能够对对象类型的实例进行分割是必不可少的。
9.然而,由于这些解决方案中的每一个解决方案都被训练为提取被认为属于已定义对象类的实例的像素,因此当面对呈现缺陷的类的实例的图像时,它们具有以下缺点:从分割掩模中自然地排除与缺陷对应的一些像素或全部像素。这个缺点对于像工业控制质量这样的应用(其目的是从分割掩模中检测这些缺陷)来说是非常有害的,因为包含缺陷的大多数像素不会被提供给异常检测。即使训练集可能通过对象类的缺陷实例被丰富,现有技术解决方案在最好的状况下也仅能够正确分割受已经遇到的缺陷影响的实例。这是一个明显缺点,因为工业生产中可能会出现新的缺陷,而对产品或生产线的修改可能会导致新的、当前未知的缺陷出现。现有技术方法将不能正确分割受这种先前未知缺陷影响的类的实例。
10.因此,需要如下设备、方法或计算机程序:它能够对数字图像中的类的实例进行自动分割,对背景和拍摄条件的变化具有鲁棒性,并且即使对于受用于训练自动分割的训练集的任何样本中不存在的缺陷影响的类的实例,也能够正确生成分割掩模。


技术实现要素:

11.为此,本发明公开了一种用于训练至少一个自动编码器的计算机实现的方法,所述方法包括:对于训练集中的对象类的各个参考实例对象,获得参考实例对象的数字图像和定义参考实例对象的分割掩模的参考阿尔法通道;以及使用训练集训练自动编码器以使损失函数最小化,该损失函数包括针对参考实例对象的在自动编码器的输出处的解压缩向
量的像素的阿尔法通道与定义参考实例对象的分割掩模的参考阿尔法通道之间的差值;其中,损失函数是三个项的加权和,所述三个项分别表示:kullbak-leibler散度;输入向量的像素与解压缩向量的像素之间的差值;在自动编码器的输出处的解压缩向量的阿尔法通道的像素与定义参考实例对象的分割掩模的参考阿尔法通道的像素之间的差值。
12.有利地,输入向量的像素与解压缩向量的像素之间的所述差值与参考阿尔法通道相乘。
13.有利地,所述训练包括在训练集上的多次训练迭代,并且表示解压缩向量的阿尔法通道的像素与参考阿尔法通道的像素之间的差值的项的权重在连续迭代中减小。
14.有利地,所述计算机实现的方法包括:按比例缩小训练集的每个数字图像和每个对应的参考阿尔法通道,以针对训练集的每个参考实例对象,获得为多个相应分辨率的多个重新缩放的数字图像和多个重新缩放的参考阿尔法通道;分别使用为多个相应分辨率的重新缩放的数字图像和重新缩放的参考阿尔法通道来训练多个自动编码器。
15.有利地,自动编码器是变分自动编码器。
16.本发明还公开了一种用于训练至少一个自动编码器的设备,所述设备包括至少一个处理逻辑单元,其被配置用于:对于训练集中的对象类的各个参考实例对象,获得参考实例对象的数字图像和定义参考实例对象的分割掩模的参考阿尔法通道;以及使用所述训练集训练自动编码器以使损失函数最小化,该损失函数包括针对参考实例对象的在自动编码器的输出处的解压缩向量的像素的阿尔法通道与定义参考实例对象的分割掩模的参考阿尔法通道之间的差值;其中,损失函数是三个项的加权和,所述三个项分别表示:kullbak-leibler散度;输入向量的像素与解压缩向量的像素之间的差值;在自动编码器的输出处的解压缩向量的阿尔法通道的像素与定义参考实例对象的分割掩模的参考阿尔法通道的像素之间的差值。
17.本发明还公开了一种用于训练至少一个自动编码器的计算机程序产品,所述计算机程序产品包括计算机代码指令,该计算机代码指令被配置为:对于训练集中的对象类的各个参考实例对象,获得参考实例对象的数字图像和定义参考实例对象的分割掩模的参考阿尔法通道;以及使用所述训练集训练自动编码器以使损失函数最小化,该损失函数包括针对参考实例对象的在自动编码器的输出处的解压缩向量的像素的阿尔法通道与定义参考实例对象的分割掩模的参考阿尔法通道之间的差值;其中,损失函数是三个项的加权和,所述三个项分别表示:kullbak-leibler散度;输入向量的像素与解压缩向量的像素之间的差值;在自动编码器的输出处的解压缩向量的阿尔法通道的像素与定义参考实例对象的分割掩模的参考阿尔法通道的像素之间的差值。
18.本发明还公开了一种计算机实现的方法,所述计算机实现的方法包括:获得数字图像,该数字图像具有至少一个颜色通道;形成输入向量,该输入向量包括数字图像和阿尔法通道;使用自动编码器将输入向量编码成压缩向量,并将压缩向量解码成解压缩向量;基于所述解压缩向量的阿尔法通道获得数字图像中的对象的分割掩模;其中,自动编码器已经使用根据本发明的计算机实现的方法进行了训练。
19.本发明还公开了一种包括至少一个处理逻辑单元的设备,该处理逻辑单元被配置为:获得数字图像,该数字图像具有至少一个颜色通道;形成输入向量,该输入向量包括所述数字图像和阿尔法通道;使用自动编码器将输入向量编码成压缩向量,并将压缩向量解
码成解压缩向量;基于所述解压缩向量的阿尔法通道获得数字图像中的对象的分割掩模;其中,自动编码器已经使用根据本发明的计算机实现的方法进行了训练。
20.本发明还公开了一种包括计算机代码指令的计算机程序产品,所述计算机代码指令被配置为:获得数字图像,该数字图像具有至少一个颜色通道;形成输入向量,该输入向量包括数字图像和阿尔法通道;使用自动编码器将输入向量编码成压缩向量,并将压缩向量解码成解压缩向量;基于所述解压缩向量的阿尔法通道获得数字图像中的对象的分割掩模;其中,自动编码器已经使用根据本发明的计算机实现的方法进行了训练。
附图说明
21.根据以下仅出于例示目的而提供的多个示例性实施方式的描述及其附图,本发明将被更好地理解,并且其各种特征和优点将显现,在附图中:
[0022]-图1示出可以实现本发明的示例性设备的图片;
[0023]-图2示出可以实现本发明的示例性设备的功能方案;
[0024]-图3公开了受现有技术系统中的缺陷影响的对象类的实例的图片中的分割掩模的示例;
[0025]-图4示出本发明的多个实施方式中的设备的示例;
[0026]-图5示出在本发明的多个实施方式中用于训练自动编码器的计算机实现的方法的示例;
[0027]-图6示出本发明的多个实施方式中的自动编码器的示例;
[0028]-图7示出在本发明的多个实施方式中使用自动编码器的计算机实现的方法;
[0029]-图8示出由根据本发明的设备或方法在受缺陷影响的对象类的实例的图片中生成的分割掩模的示例。
具体实施方式
[0030]
图1示出可以实现本发明的示例性设备的图片。
[0031]
该设备包括控制关节臂120的计算设备110。关节臂能够在多个取向和方向上旋转,以便围绕对象130移动头部121。头部设置有能够以不同的光线颜色和强度照亮对象130的led、以及能够拍摄被照亮的对象130的图片的摄像机123。计算设备110还连接到led和摄像机以控制照明、图像拍摄并接收拍摄到的图像。因此,计算设备110能够在许多不同的视角和拍摄条件(即,光线、摄像机的变焦
……
)下拍摄对象130的图片。
[0032]
在本发明的多个实施方式中,计算设备还包括用户接口(在图1中未示出),例如,输入接口(鼠标、键盘
……
)和输出接口(显示器、屏幕
……
),以接收来自用户的命令,并向用户显示从摄像机拍摄的图片以及附加信息。
[0033]
在本发明的多个实施方式中,计算设备110被配置为使用机器学习引擎生成在由摄像机123拍摄的图片中的对象130的分割掩模,和/或根据摄像机123所拍摄的图像检测对象130的异常。
[0034]
在本发明的多个实施方式中,计算设备110还可以被配置为丰富机器学习引擎的训练集,和/或训练机器学习引擎以生成分割掩模和/或检测类似于对象130的对象的图片中的异常。图2提供了这种设备的功能方案的示例。
[0035]
当然,图1的示例性设备不是限制性的,并且本发明可以嵌入在许多其它设备内。例如,本发明的计算设备可以从固定摄像机接收图像。
[0036]
图2示出可以实现本发明的示例性设备的功能方案。
[0037]
设备200是旨在执行工业计划的产品中的缺陷的检测、定位和分类的计算设备。因此,它旨在被用于工业设备的输出处的产品的质量控制。例如,该设备可以具有图1所示的物理形状。
[0038]
为此,针对每个要验证的产品,设备200从至少一个数字摄像机240接收该产品的数字图像220。数字图像通常示出工业设备的背景后面的产品。在图2的示例中,图像220中表示的产品有一个缺陷:两个油脂点230。
[0039]
设备200包括至少一个处理逻辑单元210。根据本发明的各种实施方式,处理逻辑单元可以是根据软件指令操作的处理器、处理器的硬件配置或其组合。应当理解,本文讨论的任何功能或所有功能可以以纯硬件实现来实现和/或通过处理器根据软件指令操作来实现。还应当理解,任何或所有软件指令都可以存储在非暂时性计算机可读介质中。为了简单起见,在本公开的其余部分中,一个或更多个处理逻辑单元将被称为“处理逻辑单元”。然而,应当注意,本发明的操作也可以在单个处理逻辑单元中执行或在多个处理逻辑单元(例如,多个处理器)中执行。
[0040]
处理逻辑单元210被配置为执行分割模块211,该分割模块211被配置为从图像220生成分割掩模221,即,获得实际上表示对象的像素。如下文将进一步详细解释的,分割掩模的确定是使用自动编码器执行的,该自动编码器生成定义分割掩模的阿尔法通道。
[0041]
处理逻辑单元210还被配置为执行异常检测模块222,该异常检测模块222被配置为从掩模221检测是否存在异常,异常表示对象中的缺陷。异常检测模块还可以被配置为对异常进行定位和分类。在图2的示例中,异常检测模块212将检测图像包括异常,定位该异常232,并将异常分类为油脂。
[0042]
异常检测模块212可以依赖于生成机器学习引擎,诸如变分自动编码器或生成对抗网络(gan)。例如,通过变分自动编码器对经分割的对象进行编码和解码,然后计算对象的输入图像与对象的重建图像之间的逐像素差值(pixel-wise difference)。逐像素差值提供了异常位置的有效指示,因为当向变分自动编码器(该变分自动编码器已在包含没有任何缺陷(即“完美”)的对象实例的图像的数据集上进行了训练)提供包含缺陷的对象实例的图像作为输入时,则该自动编码器生成的解压缩输出向量将不包含原始图像中的任何缺陷。因此,异常所在的一些像素将在输入图像与输出图像之间明显不同。逐像素差值高于阈值的像素被视作是相异像素,并测试了相异像素簇的存在。相异像素簇被视作是表示异常。
[0043]
这种误差检测提供了许多优点。它首先提供了在像素级别上精确的误差检测。如果多个相异像素存在于同一区域中,则聚类算法的使用允许检测误差,但不需要像素是连续的。因此,可以微调用于决定像素是相异像素的阈值。此外,可以检测到许多不同类型的异常,甚至是先前在训练集中没有遇到的异常。此外,这种方法能够很好地区分正常样本和异常样本,只需要用户进行有限的监督。
[0044]
通常,要检测异常的对象的正确分割对于异常的正确检测、定位和分类至关重要,因为如果没有正确执行分割,属于该对象的像素可能不被用于异常检测,或者反过来可能会考虑将背景像素用于检测,并将其归类为异常,从而导致过多数量的假阳性检测。本发明
克服了这些问题,这将在下面更详细地解释。
[0045]
此外,分割模块211和异常检测模块212都可以基于相同的自动编码器。这允许将两个模块的训练进行组合,并确保两个模块之间操作的连贯性。自动编码器可以是变分自动编码器(vae),它可以使用两个深度cnn分别对图像进行编码和解码。因此,分割和检测异常都需要自动编码器对每个图像进行一次编码和解码。此外,模块212中的异常检测可以通过仅针对属于由自动编码器生成的阿尔法通道定义的分割掩模的像素评估像素相异性来简单地执行。
[0046]
设备200仅作为可以实现本发明的设备的示例来提供。然而,该示例不是限制性的,并且本发明可应用于需要正确分割对象的大量应用。此外,图2的示例性结构也不是限制性的。例如,计算可以在多个不同的设备上执行,计算的某些部分可以在远程服务器中执行,图像可以从图像数据库而不是瞬时拍摄中获得。
[0047]
图3公开了受现有技术系统中的缺陷影响的对象类的实例的图片中的分割掩模的示例。
[0048]
在图3的示例中,图片300表示受缺陷320影响的对象330,缺陷320在该示例中为油脂点。
[0049]
在该示例中,分割由上面已简要描述的被称为yolact的算法执行。该算法生成分割掩模310。然而,分割掩模排除了大多数的缺陷320。这是因为分割算法已经被训练来识别正常对象。因此,在分割算法的训练集中确实不曾存在的缺陷320中的大部分将被视作不属于对象。
[0050]
这种情况对于诸如异常检测或质量控制等的应用而言非常不利,因为准确地作为检测目标的缺陷将不被考虑。同样的问题出现在需要对如下对象进行分割的应用中:该对象可能包括在分割算法的训练集中不存在的异常特征或缺陷。
[0051]
尽管图3示出由称为yolact的算法执行的分割的输出,但对于所有现有技术实例分割算法都会出现相同的问题。
[0052]
图4示出本发明的多个实施方式中的设备的示例。
[0053]
设备400是计算设备。尽管在图4中示出为计算机,但设备400可以是具有计算能力的任何类型的设备(诸如,服务器),或是具有计算能力的移动设备(诸如,智能手机、平板计算机、膝上型计算机),或是专门定制以完成专门任务的计算设备。
[0054]
设备400包括至少一个处理逻辑单元410。
[0055]
处理逻辑单元400被配置为获得表示输入数据样本430的输入向量,该输入数据样本430表示数字图像。数字图像可以从多种源获得。例如,数字图像可以由数字摄像机440拍摄,或从图像数据库中获得。
[0056]
在本发明的多个实施方式中,设备400旨在在工业计划的输出处执行质量控制。因此,数字摄像机被放置在工业计划的输出处,并被配置为在生产线的末端处拍摄每个产品的图像。然后,设备400被配置为在图像上分割表示产品的对象,并检测产品是否存在缺陷。
[0057]
处理逻辑单元410被配置为执行自动编码器420。自动编码器是一种类型的人工神经网络,其包括将样本编码为表示,或更低维度的编码,然后将样本解码为重建样本,并且例如是在liou,c.y.,cheng,w.c.,liou,j.w.,&liou,d.r.(2014).autoencoder for words(用于词的自动编码器).neurocomputing,139,84-96中进行了描述。参考图6更详细地描述
自动编码器的原理。
[0058]
通常,本发明的设备旨在生成对象类的实例的分割掩模作为图像的阿尔法通道。也就是说,阿尔法通道定义了像素是否属于背景对象。这可以通过许多不同的方式来实现。例如,可以在0(完全透明)变化到1(完全不透明)的尺度上定义阿尔法值。因此,可以将被认为是属于背景的任何像素的阿尔法值设定为0,并且可以将被认为是属于对象的任何像素的阿尔法值设定为1。当然,该约定不是限制性的,并且本领域技术人员可以定义任何约定来定义属于阿尔法通道中的对象或背景的像素。有利地,针对定义的对象类专门训练分割。例如,自动编码器可以被训练为针对任何类的对象生成分割掩模:汽车、勺子、车辆零件。对象的类也可以是更精确的类,诸如,在工业工厂的输出处的定义产品。
[0059]
在训练阶段,对自动编码器进行训练,以生成分割掩模。为此,训练集包括定义类的对象实例的参考图像。每个参考图像都与为参考图像中的实例对象定义参考分割掩模的参考阿尔法通道相关联。这些参考分割掩模可以通过不同的方式获得。例如,专家用户可以为每个参考图像手动定义适当的分割掩模。参考分割掩模也可以以更有效的方式定义。例如,申请人于本技术的同一天递交了名为“improved generation of segmentation masks for training a segmentation machine learning engine(改进地生成用于训练分割机器学习引擎的分割掩模)”的专利申请,该申请提供了为参考图像的训练集生成参考分割掩模的有效技术。
[0060]
在训练阶段期间,在连续迭代中对自动编码器进行调整,以便使整个训练集上的损失函数最小化。
[0061]
对于每个参考图像,损失函数包括重建向量的阿尔法通道与表示分割掩模的相关联参考阿尔法通道之间的差值。换句话说,在训练阶段期间,自动编码器的损失函数的各项中的一项包括考虑输出向量的阿尔法通道与参考阿尔法通道之间的差值。
[0062]
因此,在训练阶段期间,自动编码器同时学习对属于该类的对象实例进行编码,并生成表示对象实例的分割掩模的阿尔法通道。将参考图5更详细地描述训练阶段。
[0063]
图7示出由一个或更多个处理逻辑单元410实现的方法。
[0064]
图5示出在本发明的多个实施方式中用于训练自动编码器的计算机实现的方法的示例。
[0065]
方法500包括针对训练集的对象类的每个参考实例对象获得实例对象的数字图像和定义该实例对象的分割掩模的参考阿尔法通道的第一步骤510。
[0066]
可以以许多不同的方式获得参考图像。例如,如果打算在工业设备的输出处对产品执行分割,则参考图像可以是例如在工业设备的输出处拍摄的相同类型的产品的图片。可以获得不同形式的图像,例如,它们可以是rgb图像或灰度图像。如参考图4所解释的,参考阿尔法通道分割掩模可以通过许多不同的方式获得,并且可以例如由专家用户定义。
[0067]
然后,方法500包括:使用训练集来训练520自动编码器,以使损失函数最小化。
[0068]
对于自动编码器的训练,针对每个参考实例对象的每个数字图像形成输入向量。因此,每个输入向量表示对应的图像。因此,输入向量由最初存在于图像中的分量形成,诸如,像素的rgb值或灰度值。因此,自动编码器将图像编码为压缩向量。然而,在解码时,自动编码器将这些压缩向量解码为解压缩向量,这些解压缩向量不仅包括最初存在于图像中的分量,而且还包括附加阿尔法通道。
[0069]
在训练阶段期间,输入向量被压缩然后被解压缩,并且基于解压缩向量来计算重建损失。通常,自动编码器的训练包括对图像进行编码和解码、计算损失并调整自动编码器的参数以使损失函数最小化的多次迭代。
[0070]
损失函数包括在自动编码器的输出处的解压缩向量的像素的阿尔法通道与定义参考实例对象的分割掩模的对应参考阿尔法通道之间的差值。也就是说,损失函数将取决于自动编码器的输出处的解压缩向量的阿尔法通道与表示相同实例对象分割的对应参考阿尔法通道之间的差值。
[0071]
因此,在训练阶段期间,针对训练集的图像,自动编码器将被参数化,以使解压缩的阿尔法通道与表示分割掩模的参考阿尔法通道之间的差值最小化。因此,在训练阶段结束时,自动编码器被训练成从对象类的实例对象的图像的彩色层或灰度层生成定义对象的分割掩模的阿尔法通道。
[0072]
出于多种原因,使用该方法训练的自动编码器提供了非常有效的结果。
[0073]
由于自动编码器将图像压缩到定义图像的基本特征的潜在空间中,因此当利用相同对象类的实例对象的图像进行训练时,自动编码器非常适合自动标识对象的基本特征。
[0074]
此外,当自动编码器从潜在空间重建对象时,自动编码器对异常(诸如,遮挡或对象中存在缺陷)具有鲁棒性。因此,本发明的自动编码器即使在具有包括缺陷的实例对象作为输入时,也将提供准确的分割掩模。
[0075]
当在诸如图2的上下文(在分割模块211和异常检测模块212中)之类的上下文中使用本发明的相同自动编码器时,仅是自动编码器就能够同时提供对象的分割掩模,从而去除所有背景信息,并提供对象的重建,从而允许基于所述重建图像与输入图像之间的逐像素相异性来检测异常。
[0076]
图6示出本发明的多个实施方式中的自动编码器的示例。
[0077]
例如,自动编码器已在liou,cheng-yuan;huang,jau-chi;yang,wen-chie(2008)."modeling word perception using the elman network(使用elman网络对词感知进行建模)".neurocomputing.71(16

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

96进行了描述。自动编码器是一种类型的神经网络,其被训练成以无监督的方式执行有效的数据编码。
[0078]
自动编码器包括第一神经网络620和第二神经网络630,第一神经网络620将输入向量x
t
编码成记为z
t
的压缩向量(t表示迭代的索引),第二神经网络630将压缩向量z
t
解码成解压缩向量或重建向量压缩向量z
t
的维数低于输入向量x
t
和重建向量压缩向量使用一组被称为潜在变量的变量来表示,这些变量被视作表示向量的基本特征。因此,重建向量是相似的,但一般不严格等于输入向量x
t
。如下所述,第一神经网络620和第二神经网络630不对称:输入向量x
t
表示输入图像的彩色层,而重建(或解压缩)向量还包括表示图像的阿尔法通道的分量。因此,自动编码器从图像的颜色分量生成阿尔法通道。根据本发明的各种实施方式,第一神经网络620和第二神经网络630中的每一者都是深度卷积神经网络(cnn)。事实上,已知深度cnn对图像处理非常有效。
[0079]
在解码的输出处,可以计算重建误差或损失函数以及损失函数的梯度。
[0080]
如前所述,为了训练自动编码器,执行多次迭代,每一次迭代包括对训练集的样本进行编码和解码、损失函数的计算、以及对自动编码器的自适应,以使损失函数最小化。通过这样做,对压缩向量的潜在变量p进行训练,以表示训练集的显著高级特征。换句话说,自动编码器的训练阶段提供了将训练样本压缩成最能表示这些样本的少量潜在变量的无监督学习。
[0081]
通常,编码和解码被称为前向传递,自动编码器的自适应(主要包括根据损失函数的梯度适应神经网络的权重和偏差)称为后向传递,所有训练样本的完整前向传递和后向传递称为轮数(epoch)。
[0082]
损失函数被记为可以将损失函数的梯度记为
[0083]
在本发明的多个实施方式中,自动编码器是变分自动编码器(vae)。变分自动编码器例如是在kingma,,d.p.,&welling,m.(2013).auto-encoding variational bayes(自动编码变分贝叶斯).arxiv preprint arxiv:1312.6114或diederik p.kingma and volodymyr kuleshov.stochastic gradient variational bayes and the variational autoencoder(随机梯度变分贝叶斯和变分自动编码器).in iclr,pp.1

4,2014所描述的。变分自动编码器有利地提供了对某些数据集上的正常样本和异常样本的非常良好的区分。然而,本发明不限于这种类型的自动编码器,并且在本发明的过程中可以使用其它类型的自动编码器。
[0084]
根据本发明的各种实施方式,损失函数是以下一项或更多项的加权和:
[0085]-kullbak-leibler(kl)散度;
[0086]-输入向量的像素与重建向量的像素之间的差值;
[0087]-在自动编码器的输出处的解压缩向量的阿尔法通道的像素与定义参考实例对象的分割掩模的参考阿尔法通道之间的像素差值。
[0088]
kl差值表示压缩样本的散度。该项的最小化确保了潜在空间具有高斯分布,从而优化了找到相关潜在空间的概率。因此,该项确保潜在空间尽可能接近最优的高斯分布。
[0089]
输入向量的像素与重建向量的像素之间的差值确保解压缩向量中的实例对象看起来与输入向量中的实例对象尽可能相似,因此潜在空间提供了待分割对象的良好表示。根据本发明的各种实施方式,该项可以以不同方式表达。例如,可以例如使用像素差值的二次函数来计算与对应像素的差值。例如,所述像素差值可以被计算为:
[0090][0091]
其中,项“阿尔法(alpha)”表示阿尔法通道的值,这意味着仅针对被认为属于分割掩模的像素来考虑二次误差在已知参考阿尔法通道的训练阶段期间,项阿尔法表示真值(参考阿尔法通道),而在推理期间,项阿尔法是解压缩的阿尔法通道。
[0092]
根据本发明的各种实施方式。可以在一个或更多个颜色层上计算像素差值。例如,可以在rgb层、灰度层或ycbcr颜色空间或yuv颜色空间的y层上计算像素差值。像素差值也可以集成在图像差值度量中,诸如,psnr(峰值信噪比)或ssim(结构相似性)。
[0093]
在本发明的多个实施方式中,像素差值逐像素乘以参考阿尔法通道。也就是说,只
考虑实际上属于参考实例对象的像素的重建差值。这允许损失函数的该项只表示对象的重建误差,而不是背景的重建误差。因此,通过最小化仅包括表示实例对象的逐像素重建误差的项的实例函数来训练神经网络,以提供对象的更有效表示。
[0094]
此外,训练自动编码器以有效地压缩和解压缩该类的实例对象允许自动编码器不仅被用于对象分割,而且还用于后续应用。例如,如果分割被用于异常检测,如图2的示例所示,并且如果异常检测本身依赖于对表示对象的图像进行的自动编码,则自动编码器可以被用于对象分割和异常检测。因此,整个应用需要自动编码器的单个训练阶段。这减少了训练阶段的计算需求。
[0095]
如上所述,表示在自动编码器的输出处的解压缩向量的阿尔法通道与定义参考实例对象的分割掩模的参考阿尔法通道之间的差值的项允许自动编码器学习如何从表示对象的图像的颜色像素生成同一类的实例对象的分割掩模。例如,这种差值可以计算为:
[0096][0097]
其中alpha
t
表示参考阿尔法通道,并且表示重建向量的阿尔法通道。
[0098]
因此,损失函数可以表示为:
[0099][0100]
其中alpha
t
表示参考阿尔法通道,表示重建向量的阿尔法通道,并且lambda是超参数,该超参数定义了阿尔法通道差值与损失的其它项相比的相对权重。
[0101]
在本发明的多个实施方式中,权重因子lambda在连续学习迭代(或轮数)上变化。例如,kl散度的相对权重因子以及输入向量的像素与重建向量的像素之间的差值的相对权重因子可能等于零,或者更一般地,在第一次迭代期间具有相对更低的权重(相反,阿尔法通道差值的相对权重在第一次迭代期间更高)。
[0102]
这允许第一次迭代仅适应或主要适应神经网络620、630的权重和偏差,以生成正确的分割掩模。之后,对于连续的迭代,设定权重因子,使损失函数的三个项同时被优化。这允许首先向神经网络学习生成分割掩模的通用解决方案,然后细化解决方案以生成甚至更好的分割掩模,从而有效地表示对象并具有解决方案的良好分布。这种被称为课程学习的概念避免了在解决方案空间的完全错误区域中收敛到解决方案。在目前的情况下,这避免收敛到如下解决方案,其中对象被很好地表示,并且分布非常良好,但是阿尔法通道的所有像素都被设定为零,并且分割掩模的生成不起作用。
[0103]
更一般地,解压缩的阿尔法通道与参考阿尔法通道之间的差值的权重系数lambda对于第一次迭代可以被设定为高值,并在连续迭代中减小,以便神经网络首先学习生成正确的分割掩模,然后同时学习以细化分割掩模,提供更好的对象表示并在潜在空间中使用更好的分布。
[0104]
在本发明的多个实施方式中,以多种分辨率并行执行训练。例如,如果输入图像的原始分辨率为1920
×
1080,则输入图像可以按比例缩小到960
×
600和480
×
300。定义分割
掩模的参考阿尔法通道可以相应地按比例缩小,以便可以使用相同的训练集并行训练对应于3个不同分辨率的三个自动编码器。这个分辨率的示例当然不是限制性的:更一般地,两个或更多个自动编码器可以通过按比例缩小输入图像和参考阿尔法通道以获得两个或更多个分辨率的输入图像和分割掩模来并行训练,并且分辨率可以根据输入图像的原始分辨率和目标细节的大小来定义。
[0105]
这允许能够以不同的分辨率执行有效分割。这对于依赖于实例对象分割的某些应用可能很有用。例如,在与异常检测有关的应用中,不同的分辨率可能允许检测不同大小的异常:虽然高分辨率可以有效检测小缺陷,但它可能无法有效检测大缺陷,反之亦然。因此,以多个分辨率对对象进行分割允许针对不同分辨率执行分割,并基于分割掩模改进应用的输出。潜在空间(即,压缩向量z
t
)的大小也可以根据目标分辨率进行自适应。例如,申请人注意到,在异常检测应用中,自动编码器最适合检测大小约为潜在空间中的潜在变量的空间感受野的四分之一的异常。
[0106]
图7示出在本发明的多个实施方式中的用于使用自动编码器的计算机实现的方法。
[0107]
方法700包括获得具有至少一个颜色通道的数字图像的第一步骤710。如参考图4所解释的,可以以许多不同的方式获得图像。例如,它们可以由摄像机拍摄,从数据库检索,通过通信通道接收等,并且数字图像可以具有各种形式,诸如,rgb图像或灰度图像。
[0108]
方法700还包括形成包括所述数字图像的输入向量的第二步骤720。
[0109]
方法700还包括使用自动编码器420将输入向量编码730为压缩向量的第三步骤,以及将压缩向量解码740为重建向量的第四步骤,该重建向量除了输入图像的颜色通道之外还包括阿尔法通道。
[0110]
自动编码器420已经根据本发明的实施方式(例如,参考图5描述的实施方式之一)中的方法进行训练。当自动编码器被训练为针对图像中的对象生成分割掩模时,重建向量的阿尔法通道将针对数字图像中的对象定义分割掩模。
[0111]
有利地,被用于训练自动编码器的训练集包括与需要获得分割的对象相比具有相同类的对象、以及定义分割掩模的对应参考阿尔法通道。例如,如果方法700旨在为生产线末端的某种香水瓶生成分割掩模,则自动编码器可以有利地利用相同类型香水瓶的图片进行训练,每个图像都与定义图像中香水瓶的分割掩模的参考阿尔法通道相关联。同一原理可用于生成适用于任何类型的对象或产品的分割掩模。
[0112]
最后,方法700包括基于所述重建向量的阿尔法通道获得数字图像中的对象的分割掩模的第五步骤750。这可以以一种直接方式完成,这取决于用于阿尔法通道的约定。例如,如果阿尔法值等于1表示像素属于对象,而阿尔法值等于0表示像素属于背景,则可以直接从重建的阿尔法通道中获得对象的分割掩模。
[0113]
如前所述,即使在对象受到训练集中未遇到的缺陷或异常的影响下,方法700也允许为定义类型的对象生成准确的分割掩模。方法700对于遮挡和对象背景的变化也是鲁棒的。
[0114]
此外,该方法提供了确保在任何状况下生成分割掩模的计算时间和资源都是有界的优点。
[0115]
此外,自动编码器的输出不仅可以用于生成分割掩模,还可以用于后续用途,诸
如,异常检测。
[0116]
参考图5讨论的所有实施方式都可以适用于方法700。例如,可以按比例缩小输入图像并以多种分辨率添加阿尔法通道,并且输入图像和对应的阿尔法通道可以以多于一种分辨率并行发送到多个自动编码器,这些自动编码器分别被训练以生成多个分辨率的分割掩模。
[0117]
图8示出由根据本发明的设备或方法在受缺陷影响的对象类的实例的图片中生成的分割掩模的示例。
[0118]
图片300表示与图3中表示的对象相似的对象310,其受到缺陷320的影响,在该示例中为油脂点。然而,在该示例中,根据本发明的方法已经生成了掩模830,其比现有技术的分割掩模330更准确地从背景中分割对象310。更具体地,掩模830很好地定义了对象310的一般形状,并且不从对象中排除表示缺陷320的像素。
[0119]
该示例表明,本发明允许生成比现有技术更准确的分割掩模(尤其是对于受缺陷或异常影响的对象)。
[0120]
上述示例是作为本发明实施方式的非限制性说明给出的。它们不以任何方式限制由所附权利要求限定的本发明的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1