级联卷积神经网络的制作方法

文档序号:16506179发布日期:2019-01-05 09:02阅读:333来源:国知局
级联卷积神经网络的制作方法

所公开的技术大体来说涉及神经网络,并且具体来说涉及用于级联卷积神经网络的方法和系统。



背景技术:

卷积神经网络(cnn)是本领域中已知的。这类网络通常用于图像中的对象检测和分类。卷积神经网络(cnn)通常由一个或多个层构造而成。在每个层处,进行运算。通常,这个运算是卷积运算和乘以激活函数中的一个。这个运算还可包括也称为下采样的汇集。

对于每个层,定义相应的设置元参数。这些元参数包括所使用的滤波器的数目、滤波器的大小、卷积下采样比的跨距、下采样大小的大小、下采样大小的跨距、所使用的激活函数等。现在参考图1,这个图是本领域中已知的cnn(大体标号为10)的示意图。cnn10用于检测诸如图像16的图像中的特征。神经网络10包括多个层,诸如层121(图1)。cnn10包括多个层121、122、……、12n和分类器14。输入图像16被供应到层121。层121至少将图像16与其相应的滤波器进行卷积并且将滤波器的输出中的每一个乘以激活函数。层121将其输出提供到层122,所述层122与相应的滤波器进行其相应的运算。这个过程重复,直到将层12n的输出提供到分类器14为止。层12n的输出是对应于cnn10中所使用的滤波器的特征的图。这个特征图涉及特征在与特征图相关联的相应的图像窗口内存在于输入图像16中的概率。层12n的输出处的特征图可体现为各自对应于一个特征的多个矩阵,其中每个矩阵中的条目的值表示输入图像16在与矩阵中的条目位置(即,条目的索引)相关联的特定图像窗口(即,边界框)中包括与那个矩阵相关联的特征的概率。图像窗口的大小是根据cnn10中的层数、核的大小和在卷积运算期间的核的跨距来确定的。

分类器14可为本领域中已知的任何类型的分类器(例如,随机森林分类器、支持向量机–svm分类器、卷积分类器等)。分类器14对cnn10被训练来检测的对象进行分类。分类器14可为每个图像窗口提供对象位于那个图像窗口中的相应的检测置信级以及分类信息。一般来说,分类器14的输出是与对应的图像窗口中的对象的检测和分类有关的值的一个或多个向量。这个或这些值的向量在本文中称为“分类向量”。

现在参考图2,这个图是本领域中已知的示例性cnn(大体标号为50)的示意图。cnn包括两个层:第一层511和第二层512。第一层511接收图像52作为到所述第一层511的输入。在第一层511中,进行卷积运算,而在第二层512中将激活函数应用于卷积的结果。图像52包括像素的矩阵,其中每个像素与相应的一个值(例如,灰度级值)或多个值(例如,颜色值)相关联。图像52可表示包括对象(例如,在街上行走的人、在公园玩耍的狗、街上的车辆等)的场景。

在第一层511中,将图像52与滤波器541和542中的每一个进行卷积。滤波器541和542也称为卷积核或仅称为核。因此,滤波器541和542中的每一个在图像中的所选定的位置上移位。在每个选定的位置处,将与滤波器重叠的像素值乘以所述滤波器的相应权重并且对这个乘法的结果求和(即,乘法和求和运算)。一般来说,选定的位置是通过使滤波器在图像上移位预定的步长(称为“跨距”)来定义的。滤波器541和542中的每一个对应于将要在图像中识别的特征。滤波器以及跨距的大小是由cnn设计者选择的设计参数。将图像52与滤波器541和542中的每一个进行卷积产生特征图,所述特征图包括两个特征图像或矩阵:滤波器541和542的相应的特征图像561和特征图像562(即,针对每个滤波器产生相应的图像)。特征图像中的每个像素或条目对应于一个乘法和求和运算的结果。因而,矩阵561和562中的每一个与对应于滤波器541和542中的相应一个的相应的图象特征相关联。另外,每个条目与关于输入图像52的相应的图像窗口相关联。因此,矩阵561和562中的每一个中的每个条目的值表示与所述条目相关联的图像窗口内的与所述矩阵相关联的特征的特征强度。应注意,特征图像561和562的大小(即,像素的数目)可小于图像52的大小。第一层511的输出被提供到第二层512。在第二层512中,然后应用特征图像561和562中的每一个中的每个值作为到激活函数58(例如,s形、高斯、双曲正切等)的输入。层512的输出然后被提供到分类器60,所述分类器60对图像52中的对象进行检测和分类并且产生用于特征图中的每个条目的分类向量。

在对图像中的对象进行检测和分类之前,需要确定诸如cnn10(图1)或cnn50(图2)的cnn所使用的各种滤波器的权重和函数的参数。这些权重参数是在训练过程中确定的。cnn的初始权重和参数(即,在训练开始之前)是任意地(例如,随机地)确定的。在训练期间,将其中对象已被检测并分类的一个或多个训练图像作为输入提供到cnn。换句话说,将具有用于每个图像窗口的预定相应的分类向量的图像作为输入提供到cnn。将cnn网络的层应用于每个训练图像,并且确定每个训练图像的相应的分类向量(即,对所述训练图像中的对象进行检测和分类)。将这些分量向量与预定分类向量进行比较。确定cnn的分类向量与预定分类向量之间的误差(例如,差的平方和、对数损失、柔性最大值对数损失)。然后使用这个误差在可包括一个或多个迭代的反向传播过程中更新cnn的权重和参数。

颁予li等人的公布“aconvolutionalneuralnetworkcascadeforfacedetection”针对包括三对网络的cnn。每一对含有分类(检测)网络和边界框回归网络。在检测期间,生成图像金字塔以允许图像的多尺度扫描。然后,使用第一分类网络(det12)来扫描图像中的所有窗口并且对展现出低置信度的窗口进行滤波。使用第一边界框回归网络(clb12)来校正所有剩余窗口的位置。然后应用非最大值抑制来移除具有高重叠度的窗口。在下一级段中,使用第二分类网络(det24)来对剩余窗口进行滤波,接着是进行边界框回归的第二边界框回归网络(clb24)。最终,使用第三分类网络(det48),接着是第三边界框回归网络(clb48)。



技术实现要素:

所公开的技术的一个目的是提供新颖的卷积神经网络方法和系统。根据所公开的技术,因而提供用于检测至少一个图像中的至少一个对象的卷积神经网络系统。所述系统包括多个对象检测器,所述多个对象检测器对应于所述至少一个图像中的预定图像窗口大小。每个对象检测器与关于所述至少一个图像的相应的下采样比相关联。每个对象检测器包括相应的卷积神经网络和与所述卷积神经网络耦合的对象分类器。所述相应的卷积神经网络包括多个卷积层。所述对象分类器根据来自所述卷积神经网络的结果对所述图像中的对象进行分类。与相同相应的下采样比相关联的对象检测器定义至少一个对象检测器分组。对象检测器分组中的对象检测器与共用的卷积层相关联。

根据所公开的技术的另一个方面,因而提供卷积神经网络方法,所述卷积神经网络方法包括以下步骤:根据多个下采样比对图像进行下采样,以产生多个下采样图像。每个下采样图像与相应的下采样比相关联。所述方法还包括以下步骤:针对每个下采样图像,通过对应的卷积神经网络检测处于关于至少一个图像的预定图像窗口大小的对象;及对所述图像中的对象进行分类。检测与相同相应的下采样比相关联的相应的下采样图像中的对象的卷积神经网络定义至少一个卷积神经网络分组。卷积神经网络分组中的卷积神经网络与共用的卷积层相关联。

附图说明

所公开的技术通过以下结合附图进行的详细描述将得到更充分地理解和领会,在附图中:

图1是本领域中已知的cnn的示意图;

图2是本领域中已知的示例性cnn的示意图;

图3a和3b是根据所公开的技术的一个实施方案的用于检测输入图像中的对象的cnn系统的示意图;

图4是根据所公开的技术的另一个实施方案来构造并操作的用于检测输入图像中的对象的示例性cnn系统的示意图;

图5a-5h是根据所公开的技术的又一个实施方案的用于确定训练集合的其中具有对象的图像的示意图;

图6是根据所公开的技术的另一个实施方案来操作的确定用于神经网络的训练集合的方法的示意图;并且

图7是根据所公开的技术的又一个实施方案来操作的用于cnn的方法的示意图。

具体实施方式

所公开的技术通过提供用于检测图像中的对象的cnn网络系统来克服现有技术的缺点。根据所公开的技术的cnn网络包括多个对象检测器。每个对象检测器与图像中的相应的预定图像窗口大小相关联。每个对象检测器与在到所述对象检测器的输入处的关于图像的相应的下采样比相关联。每个对象检测器至少包括相应的cnn,所述cnn包括多个卷积层。每个卷积层将到所述卷积层的输入与多个滤波器进行卷积,并且通过激活函数处理这个卷积的结果。每个对象检测器还包括与卷积神经网络耦合的对象分类器,所述对象分类器用于根据来自卷积神经网络的结果对图像中的对象进行分类。与相同相应的下采样比相关联的对象检测器定义至少一个对象检测器分组。对象检测器分组中的对象检测器共享共用的卷积层。因而,可针对对象检测器分组中的所有对象检测器将这些共用的卷积层计算一次。

另外,根据所公开的技术,与关于cnn输入图像的相同相应的图像窗口大小相关联的对象检测器定义尺度检测器。每个尺度检测器与cnn输入图像的相应的尺度相关联。当尺度检测器展现出对象检测器和下采样器的相同配置时,并且当对象检测器中的cnn展现出具有相同特性的层分组时,对象检测器被训练成具有共用层,如以下进一步解释。一旦确定了训练尺度检测器的的cnn的权重和参数,就部署这个训练尺度检测器的副本以定义所公开的技术的cnn系统。

另外,通过使每个样本与特征参考位置对准并且随机地扰乱样本,用于训练cnn的样本的数目可增加到超过初始数目,如结合图5a-5h和图6进一步解释。

现在参考图3a和3b,这些图是根据所公开的技术的一个实施方案的用于检测输入图像106中的对象的cnn系统(大体标号为100)的示意图。cnn系统100包括多个尺度检测器1021、1022、……、102n和多个下采样器1041-104n-1。下采样器1041-104n-1中的每一个与相应的下采样比相关联。尺度检测器1022、……、102n中的每一个在其输入处与相应的下采样器1041-104n-1耦合。因而,每个尺度检测器与关于输入图像106的相应的下采样比(即,尺度)相关联。尺度检测器1021在其输入处接收输入图像106(即,尺度检测器1021的相应的下采样比是一)。系统100可被视为多尺度对象检测器,其中尺度检测器1022、……、102n中的每一个在其输入处接收输入图像106的下采样版本。换句话说,尺度检测器1021、1022、……、102n中的每一个与输入图像106的相应的尺度相关联。在图3a中,下采样器1041-104n-1布置成一连串下采样器,其中每个下采样器在其输入处接收先前下采样器的输出(即,在其输入处接收输入图像106的下采样器1041除外)。然而,下采样器1041-104n-1可并行布置,其中每个下采样器在其输入处接收输入图像106并且通过与尺度检测器1022、……、102n中的相应一个相关联的对应的下采样比对输入图像106采样。

参考图3b,其中描绘的是尺度检测器102i,所述尺度检测器102i是尺度检测器1021、1022、……、102n中的一个。对象检测器102i包括多个对象检测器1081、1082、……、108l和多个(l-1个)下采样器,其中的下采样器110l-1和110l-2描绘于图3b中。对象检测器1081、1082、……、108l中的每一个包括相应的cnn和分类器。每个cnn包括多个卷积层。对象检测器1081包括m1个层,对象检测器1082包括m2个层,并且对象检测器1083包括m3个层,其中m1、m2和m3是整数。不失一般性,m3>=m2>=m1。

对象检测器中的每一个还与关于在其输入处的图像的相应的图像窗口大小相关联。在图3b中展示的实例中,对象检测器1081与关于在其输入处的下采样图像的图像窗口大小i1×i2相关联,对象检测器1082与关于在其输入处的下采样图像的图像窗口大小k1×k2相关联,并且对象检测器108l与关于在其输入处的图像的图像窗口大小j1×j2相关联(即,所述图像可以是下采样图像,或者当对象检测器108l位于尺度检测器1021中时是原始输入图像106)。i1、k1和j1对应于图像窗口大小的宽度并且i2、k2和j2对应于图像窗口大小的高度。因而,对象检测器1081、1082、……、108l中的每一个与关于输入图像106的相同相应的图像窗口大小相关联。这个相应的图像窗口大小(即,接收域)与以下各项有关:在到对象检测器的输入处与每个1081、1082、……、108l相关联的下采样比、每个对象检测器中的卷积层的数目、卷积运算期间的核的大小和核的跨距。

每个cnn的输出与相应的分类器耦合。检测器1081、1082、……、108l-1中的每一个的输入与相应的下采样器耦合。每个下采样器和对象检测器108l接收图像105,所述图像105可为在其输入处的输入图像106的下采样版本。下采样器中的每一个通过相应的下采样比对到所述下采样器的输入图像进行下采样,并且将下采样图像提供到对象检测器1081、1082、……、108l-1中的相应一个。因此,1081、1082、……、108l中的每一个与关于输入图像106的相应的下采样比相关联。这个相应的下采样比是通过下采样器1041-104n-1的下采样比和与对象检测器1081、1082、……、108l中的每一个耦合的下采样器的下采样比来确定的。

对象检测器1081、1082、……、108l中的每一个中的相应的cnn的每个层对提供到所述层的图像与对应的滤波器进行卷积。每个cnn的输出是对应于所述cnn所使用的滤波器的特征的图。特征图包括值的条目。特征图中的每个条目的每个值表示与所述条目相关联的图像窗口内的特征相关联的各种滤波器的特征强度。这个特征图被提供到相应的分类器。每个分类器对cnn系统100被训练来检测的对象进行分类并且为每个图像窗口提供分类向量。这个分类向量包括与对象位于那个图像窗口中的检测置信级有关的值并且还可包括图像窗口校正因数(即,边界框回归),如以下进一步详述。

如以下结合图4进一步举例说明,对象检测器1081、1082、……、108l中的每一个与关于输入图像104的相应的下采样比相关联。具有相同相应的下采样比的对象检测器定义对象检测器分组。根据所公开的技术,对象检测器分组中的对象检测器与共用的卷积层相关联(即,因为到这些对象检测器的输入图像是相同的)。因而,针对每个对象检测器分组仅需要将这些共用的卷积层计算一次。

如以上提到的,对象检测器1081、1082、……、108l中的每一个的输出与关于输入图像106的相应的图像窗口大小相关联。因而,当使用多个尺度检测器时,可能有超过一个对象检测器与相同相应的图像窗口大小相关联。因此,这些对象检测器中的仅一个可用于对输入图像104中的对象(即,在与相应的图像窗口大小相关联的图像窗口内)进行检测和分类。然而,如果检测置信级是不充分的,则可使用具有更大数目的层的另一个对象检测器,因而降低(即,平均来说)计算复杂性(例如,在进行的运算的数目方面)。另一个对象检测器仅处理对象位于其中的概率超过预定值的图像窗口。换句话说,在使用另一个对象检测器之前,根据由第一对象检测器确定的概率移除与背景有关的图像窗口。

现在参考图4,这个图是根据所公开的技术的另一个实施方案来构造并操作的用于检测输入图像中的对象的示例性cnn系统(大体标号为200)的示意图。示例性cnn系统200包括两个尺度检测器:第一尺度检测器2021和第二尺度检测器2022;以及下采样器218。第一尺度检测器2021和第二尺度检测器2022中的每一个包括多个对象检测器和多个下采样器。下采样器在图4中缩写为“ds”。第一尺度检测器2021包括对象检测器2041、2042和2043以及下采样器210和212。第二尺度检测器2022包括对象检测器2061、2062和2063以及下采样器214和216。对象检测器2041、2042、2043、2061、2062和2063中的每一个包括相应的cnn和相应的分类器(图4中缩写为“class”)2051、2052、2053、2071、2072和2073。每个cnn包括多个卷积层(图4中缩写为“l”)。对象检测器2041和2061的cnn包括m1个层,对象检测器2042和2062的cnn包括m2个层并且对象检测器2043和2063的cnn包括m3个层,其中m1、m2和m3是整数。不失一般性,m3>=m2>=m1。

对象检测器中的每一个还与关于在其输入处的图像的相应的图像窗口大小相关联。在图4中展示的实例中,对象检测器2041和2061与关于在其输入处的下采样图像的图像窗口大小i1×i2相关联,对象检测器2042和2062与关于在其输入处的下采样图像的图像窗口大小k1×k2相关联并且对象检测器2043和2063与关于在其输入处的图像的图像窗口大小j1×j2相关联(即,仅到对象检测器2063的输入图像被下采样)。i1、k1和j1对应于图像窗口大小的宽度并且i2、k2和j2对应于图像窗口大小的高度。因而,对象检测器2041、2042、2043、2061、2062和2063中的每一个与关于输入图像208的相应的图像窗口大小相关联。这个相应的图像窗口大小是根据与对象检测器2041、2042、2043、2061、2062和2063中的每一个相关联的在其输入处的下采样比、每个对象检测器中的卷积层的数目、卷积运算期间的核的大小和核的跨距来确定的。对象检测器2041、2042、2043、2061、2062和2063中的每一个的关于输入图像208的相应的图像窗口大小通过与对象检测器2041、2042、2043、2061、2062和2063中的每一个相关联的相应的下采样比与所述对象检测器的输入处的相应的图像窗口大小有关。例如,检测器2041的关于输入图像208的相应的图像窗口大小是r2*i1×r2*i2。类似地,检测器2042的关于输入图像208的相应的图像窗口大小是r1*k1×r1*k2。

每个卷积网络的输出与相应的分类器2051、2052、2053、2071、2072和2073的输入耦合。在图4中所描绘的布置中,对象检测器2041、2042、2043、2061、2062和2063中的每一个与相应的下采样器耦合。对象检测器2041的输入与下采样器210的输出耦合。对象检测器2042的输入与下采样器212的输出耦合。对象检测器2061的输入与下采样器214的输出耦合。对象检测器2062的输入与下采样器216的输出耦合并且对象检测器2063的输入与下采样器218的输出耦合。下采样器214和216的输入还与下采样器218的输出耦合。

对象检测器2043、下采样器210、下采样器212和下采样器218在其输入处接收输入图像208。下采样器210、下采样器212和下采样器218中的每一个通过其相应的下采样比对输入图像208进行下采样。下采样器210将下采样图像提供到对象检测器2041。下采样器212将下采样图像提供到对象检测器2042并且下采样器218将下采样图像提供到对象检测器2063,提供到下采样器214并且提供到下采样器216。下采样器214进一步对提供到所述下采样器214的图像进行下采样,并且将两次下采样的图像提供到对象检测器2061。下采样器216也进一步对提供到所述下采样器216的图像进行下采样,并且将两次下采样的图像提供到对象检测器2062。

对象检测器2041、2042、2043、2061、2062和2063中的每一个中的相应的cnn的每个层将提供到所述层的图像与对应的滤波器进行卷积。每个cnn的输出是对应于在cnn中使用的滤波器的特征的图。如以上所描述,特征图包括值,其中特征图中的每个条目的每个值表示与所述条目相关联的图像窗口内的特征相关联的各种滤波器的特征强度。特征图中的每一个被提供到分类器2051、2052、2053、2071、2072和2073中的相应一个。

分类器2051、2052、2053、2071、2072和2073中的每一个接收相应的矩阵作为到所述分类器的输入。分类器2051、2052、2053、2071、2072和2073中的每一个确定分类向量。这个分类向量包括与一个或多个对象(即,cnn被训练来检测的对象)位于与提供到所述分类器的特征图相关联的图像窗口中的每一个处的概率有关的值。此外,由分类器2051、2052、2053、2071、2072和2073中的每一个确定的分类向量包括与用于提供到所述分类器的特征图相关联的图像窗口中的每一个的图像窗口校正因数有关的值。这些图像窗口校正因数包括例如对图像窗口的宽度和高度的校正。这些图像窗口校正因数还可包括对图像窗口的位置以及图像窗口的定向的校正。这些图像窗口校正因数是cnn被训练来提供的分类向量的一部分,如以下进一步详述。分类向量包括例如二进制值,所述二进制值指定样本属于特定类。例如,向量[1,0]指示样本属于“face”类并且不属于“not-face”类。分类向量可包括超过两个类。另外,这个向量可包括诸如3d姿势、属性(年龄、面部性别、汽车的颜色或品牌)、边界框回归目标值等另外的信息的数值表示

分类器2051、2052、2053、2071、2072和2073中的每一个可体现为卷积分类器,所述卷积分类器将一个或多个分类滤波器与特征图进行卷积(例如,1×1×q×n滤波器,其中q为特征图中的矩阵的数目并且n为与有待确定的分类信息有关的分类滤波器的数目),其中这种一个或多个滤波器的输出是以上提到的概率和校正因数。这样的卷积分类器的参数是在cnn的训练期间确定的,如以下进一步解释。

如以上提到的,对象检测器2041、2042、2043、2061、2062和2063中的每一个与在所述对象检测器的输入处的、关于到cnn200的输入图像208(即,正在对其中的对象进行检测的图像)的相应的下采样比相关联。此外,如以上提到的,在其输入处具有相同相应的下采样比的对象检测器定义对象检测器分组。在cnn系统200中,下采样器212和218通过相同第一下采样比r1对输入图像208进行下采样。下采样器216进一步通过下采样比r1对输入图像208进行下采样。因而,与对象检测器2062相关联的采样比是r1*r1。下采样器210通过不同于r1的第二下采样比r2对输入图像208进行下采样。当r2=r1*r1时,则对象检测器2041和2062与相同相应的下采样比(即,r2)相关联并且定义对象检测器分组(即,如图4中的左对角线影线所指示)。类似地,对象检测器2042和2063与相同下采样比(即,r1)相关联并且定义另一个对象检测器分组(即,如图4中的垂直影线所指示)。下采样器214通过下采样比r2对来自下采样器218的输出进行下采样。应注意,图4中所描绘的下采样布置仅作为实例被引入本文中。作为另一个实例,因为在图4中,使用三个下采样比(即,r1、r2和r1*r2),所以三个下采样器是足够的,其中每个下采样器的输出被提供到与所述下采样器的下采样比相关联的对象检测器。这样的三个下采样器可并行布置或布置成一连串下采样器。

根据所公开的技术,在其中的输入处与相同相应的下采样比相关联的对象检测器定义对象检测器分组。同一对象检测器分组中的对象检测器与共用的卷积层相关联(即,因为到这些对象检测器的输入图像的大小是相同的)。这些共用的卷积层共享相同的卷积核(即,滤波器)并且对其输入处的相同图像大小进行操作。因而,针对每个对象检测器分组仅需要将这些共用的卷积层计算一次。在图4中,对象检测器2041和2062与在其输入处的相同相应的下采样比相关联并且定义对象检测器分组。因而,对象检测器2041和2062中的层1-m1是共用层。因而,在对象检测期间可将对象检测器2041和2062中的层1-m1计算一次。对象检测器2062使用来自层m1的结果来继续并且计算层m1+1-m2。类似地,对象检测器2042和2063与相同相应的下采样比相关联并且定义对象检测器分组。因而,对象检测器2042和2063中的层1-m2是共用层并且可被计算一次。对象检测器2063使用来自层m2的结果来继续并且计算层m2+1-m3。一般来说,因为分组中的对象检测器可与不同的尺度检测器相关联。因而,对象检测器分组中的对象检测器的cnn可被视为以图像金字塔的不同尺度产生特征图,并且由一个对象检测器的cnn以一个尺度产生的特征图由另一个对象检测器的cnn以另一个尺度来使用。

另外,如以上提到的,对象检测器2041、2042、2043、2061、2062和2063中的每一个的输出与关于输入图像208的相应的图像窗口大小相关联。具体地说,来自对象检测器2041、2042和2043的输出与图像208中的相同第一图像窗口大小相关联。类似地,来自对象检测器2061、2062和2063的输出与图像208中的相同第二图像窗口大小相关联。因而,对于第一图像窗口大小,对象检测器2041、2042和2043中的仅一个可用于对输入图像208中的对象进行检测和分类。类似地,对于第二图像窗口大小,对象检测器2061、2062和2063中的仅一个可用于对输入图像208中的对象进行检测和分类。通常,选择具有展现出更小数目的层的cnn的对象检测器。然而,如果检测置信级是不充分的,则可使用具有更大数目的层的不同检测器,因而降低(即,平均来说)计算复杂性。例如,如果由对象检测器2041产生的检测置信度是不充分的,则应使用对象检测器2042。然而,对象检测器2042可仅处理对象位于其中的概率超过预定值的图像窗口。换句话说,在使用对象检测器2042之前,根据由对象检测器2041确定的概率移除与背景有关的图像窗口。

训练

如以上所描述,根据所公开的技术的cnn包括多个尺度检测器。每个尺度检测器包括多个对象检测器。每个对象检测器包括相应的cnn。当尺度检测器中的每一个展现出对象检测器和下采样器的相同配置时,并且当对象检测器中的cnn展现出具有相同特性(即,展现出相同的滤波器大小、跨距和激活函数,并且相同地排序)的层分组时,则对象检测器的cnn被训练成具有共用层。

本文中上文和下文的术语“具有相同特性的层分组”涉及其中每个分组中的层展现出相同的滤波器大小、跨距和激活函数,并且分组中的层相同地排序的层分组。本文中上文和下文的术语“共用层”涉及具有相同特性的层分组(即,在不同的对象检测器中),其中分组中的对应层(即,每个分组中的第一层、每个分组中的第二层等)具有相同的权重和参数。例如,参考图4,尺度检测器2021和2022展现出对象检测器和下采样器的相同配置。此外,对象检测器2041、2042、2043、2061、2062和2063的cnn中的层1-m1是具有相同特性的层分组,并且这些对象检测器的相应的cnn被训练成具有共用层。另外,对象检测器2042、2043、2062和2063的cnn中的层m1+1-m2也是具有相同特性的层分组并且这些对象检测器的相应的cnn被训练成具有共用层。类似地,对象检测器对象检测器2043和2063的cnn的层m2+1-m3是具有相同特性的层分组并且这些对象检测器的相应的cnn被训练成具有共用层。

根据一个替代方案,为cnn系统中的对象检测器提供各自具有预定的相应分类向量的一个或多个相同训练样本。所述一个或多个样本的大小对应于与每个对象检测器相关联的关于在其输入处的图像的图像窗口大小(例如,图3b和4中的i1×i2、k1×k2和j1×j2)。每个对象检测器使用相应的cnn和分类器来对提供到所述对象检测器的训练样本中的对象进行检测和分类并且产生每个样本的相应的分类向量。将这些分量向量与预定分类向量进行比较。确定由对象检测器的相应的cnn产生的分类向量与相应的预定分类向量之间的误差(例如,差的平方和、对数损失、柔性最大值对数损失)。然后针对每个相应的对象检测器中的每个cnn的权重和参数确定用于使这个误差最小化的权重和参数的校正因数。然后相应地更新cnn的权重和参数。然后对所有对象检测器的相应的cnn中具有相同特性的所有层分组的权重和参数求平均并且应用于具有相同特性的相应的层分组以产生共用层。例如,对用于所有对象检测器中的所有cnn的前m1层的权重和参数求平均。类似地,对用于所有对象检测器中的所有cnn的m1+1-m2层的权重和参数求平均等。应注意,当用相同的权重和参数初始化cnn时,对更新的权重和参数求平均与对校正因数求平均并且根据这些平均的校正因数更新权重和参数是等效的。

根据另一个替代方案,当尺度检测器中的每一个展现出对象检测器和下采样器的相同配置时,并且当对象检测器中的cnn展现出具有相同特性的层分组时,则可训练尺度检测器的单个实例。尺度检测器的这一单个实例在本文中称为“训练尺度检测器”。为了用训练尺度检测器训练根据所公开的技术的cnn,为训练尺度检测器提供各自具有预定相应的分类向量的训练样本。根据一个替代方案,将包括一系列对象和边界框的图像提供到训练尺度检测器。根据另一个替代方案,样本展现出与关于到尺度检测器中的对象检测器的输入的最大图像窗口大小(例如,图3b和4中的j1×j2)类似(即,未必相同)的大小。然后对这些样本进行下采样(即,通过训练尺度检测器的下采样器,这些下采样器类似于对象检测器102i中的下采样器110l-1和110l-2—图3b),以产生展现出其它对象检测器的相应的大小(例如,图3b和4中的i1×i2、k1×k2)的训练样本。每个对象检测器使用相应的cnn和分类器来对提供到所述对象检测器的训练样本中的对象进行检测和分类并且产生每个样本的相应的分类向量。将这些分量向量与预定分类向量进行比较。确定cnn的分类向量与预定分类向量之间的误差。

为了使用如以上结合图3a、3b和4所描述的配置中的多个尺度检测器,然后针对训练尺度检测器中的每个相应的对象检测器中的每个cnn的权重和参数确定用于使以上提到的误差最小化的权重和参数的校正因数。然后相应地更新cnn的权重和参数。然后对训练尺度检测器中的所有对象检测器的相应的cnn中具有相同特性的所有层分组的权重和参数求平均并且应用于具有相同特性的相应的层分组以产生共用层。一旦确定训练尺度检测器的cnn的权重和参数,就部署这个训练尺度检测器的副本以实现尺度检测器1081-108n(图3a)中的每一个并且定义所公开的技术的cnn系统。

在训练期间,更新cnn的权重和参数,使得这个误差被最小化。这样的最优化可使用例如梯度下降过程(诸如随机梯度下降(sgd))来实现。根据梯度下降过程,针对所有样本平均对针对cnn中的每个层和每个样本确定的权重和参数(或新权重和参数)的校正。对权重和参数的校正是根据误差相对于cnn的权重和参数的偏导数来确定的(即,因为cnn可被视为复合函数)。在多次迭代中重复这个过程,经过确定的迭代次数或直到误差低于预定值为止。根据sgd,在迭代中的每一个中,在迭代中的每一个中仅使用样本的一部分。此外,使用链式法则,需要到层的输入、层的输出和所述输出相对于误差的导数来确定所述层的权重和参数的导数。

如以上提到的,由根据所公开的技术的cnn提供的分类向量包括图像窗口校正因数。为了训练cnn来提供图像窗口校正因数,在训练期间,确定对应于每个分类向量(即,如通过特征图中的这个向量的索引定义)的图像窗口的位置和定向与样本的实际位置和定向之间的差。使用例如随机梯度下降使这个差最小化。

训练数据

一般来说,cnn被训练来检测输入图像中的对象并且产生与cnn被训练来检测的对象存在于输入图像中的各种位置处的概率有关的信息。使用训练集合来训练cnn,所述训练集合包括各自与预定分类向量相关联的样本(图像或任何其它数据)。用于训练的样本通常是从图像裁切的图像窗口。每个样本根据图像窗口与图像中的对象的重叠加以分类(即,针对样本确定类)。当样本不与图像中的任何对象重叠时,将那个样本分类为背景。如以上提到的,训练过程修改cnn参数以降低cnn的输出值和与所使用的样本相关联的值之间的误差(例如,差的平方和、对数损失、柔性最大值对数损失)

根据所公开的技术,在给定具有初始数目的训练样本的初始训练集合的情况下,用已检测并分类的对象,可使训练集合中的训练样本的数目增加到超过所述初始数目。换句话说,由初始训练集合产生具有更大数目的训练样本的训练集合。现在参考图5a-5h,这些图是根据所公开的技术的又一个实施方案的用于确定训练集合的其中具有对象(例如,面部)的图像250、280和310的示意图。最初,在图像250、280和310中检测对象253、255、283、285、313和315。此后,在检测到的对象周围定义展现出预定大小的四边形边界。这样的四边形边界在本文中上文和下文称为对象的“边界框”。

图像250、280和310中的对象253、255、283、285、313和315中的每一个以相应的边界框为界限。在图像250中,对象253以边界框252为界限并且对象255以边界框254为界限。在图像280中,对象283以边界框282为界限并且对象285以边界框284为界限。在图像310中,对象313以边界框312为界限并且对象315以边界框314为界限。每个边界框展现出相应的大小。在图像250、280和310中,举例说明两个不同的边界框大小。边界框252、282和314展现第一大小并且边界框254、284和312展现第二大小。每个边界框与相应的相对坐标系统相关联。边界框252与坐标系统256相关联,边界框254与坐标系统258相关联,边界框282与坐标系统286相关联,边界框284与坐标系统288相关联,边界框312与坐标系统316相关联并且边界框214与坐标系统318相关联。

对于每个对象关键点,在与那个边界框相关联的坐标系统中确定相应的特征位置。在图5a-5h中展示的实例中,对象的特征类型是面部的眼睛、鼻子和嘴巴(即,对象是面部)。参考图5b,点2601和2602表示眼睛的位置,点262表示鼻子的位置并且点2641、2642和2643表示面部253的嘴巴在边界框252的坐标系统256中的位置。类似地,点2661和2662表示眼睛的位置,点268表示鼻子的位置并且点2701、2702和2703表示对象255的嘴巴在边界框254的坐标系统258中的位置。参考图5d,点2901和2902表示眼睛的位置,点292表示鼻子的位置并且点2941、2942和2943表示对象283的嘴巴在边界框282的坐标系统286中的位置。类似地,点2961和2962表示眼睛的位置,点298表示鼻子的位置并且点3001、3002和3003表示对象285的嘴巴在边界框284的坐标系统288中的位置。参考图5f,点3201和3202表示眼睛的位置,点322表示鼻子的位置并且点3221、3222和3223表示对象313的嘴巴在边界框312的坐标系统316中的位置。类似地,点3261和3262表示眼睛的位置,点328表示鼻子的位置并且点3291、3292和3293表示对象315的嘴巴在边界框314的坐标系统218中的位置。通常,将相应的坐标系统中的对象关键点的位置归一化为例如介于0与1之间(即,边界框拐角位于坐标[0,0]、[0,1]、[1,1]、[1,0]处)。换句话说,分别关于边界框位置和大小来归一化相应的边界框252、254、282、284、312和314的坐标系统256、258、286、288、316和316。因而,各种特征的位置可能有关而独立于边界框大小。

参考图5g,将各种对象关键点的归一化位置描绘为叠加在任意边界框330中。因为边界框的坐标系统被归一化(即,一个坐标系统中的位置对应于另一个坐标系统中的相同位置),所以可对与不同边界框中的相同对象关键点类型(例如,眼睛)相关联的位置求平均。

此后,对于每个对象关键点类型(例如,眼睛、鼻子、嘴巴),确定特征参考位置。参考图5h,对于任意大小的边界框,点3361表示点2601、2901、3261、2661、2961和3201的位置的平均位置,并且点3362表示点2602、2902、3262、2662、2962和3202的位置的平均位置。点338表示点262、292、328、268、298和322的位置的平均位置。点3401表示点2641、2941、3291、2701、3001和3241的位置的平均位置。点3402表示点2642、2942、3292、2642、3002和3242的位置的平均位置,并且点3403表示点2643、2943、3293、2703、3003和3243的位置的平均位置。

这些平均位置定义特征参考位置。点3361和3362定义眼睛的特征参考位置,点338定义鼻子的参考位置,并且点3401、3401和3403定义嘴巴的参考位置。

一旦确定这些关键点参考位置,就将初始训练样本中的每一个中的每个对象与这些关键点参考位置对准,使得每个对象的关键点在通过使选定的对准成本函数(例如,对象关键点与关键点参考位置之间的距离的平方误差)最优化所确定的程度上与相应的关键点参考位置对准。此后,从这个参考位置扰乱训练样本中的每一个,因而创建新的训练样本。扰乱包括对象的水平移位、垂直移位、定向移位中的至少一个。每个样本的扰乱是根据选定的概率分布(例如,高斯)随机地确定。使用这些扰乱,可使训练集合中的训练样本的数目增加到超过其初始大小。这个过程也称为“训练样本增大”并且由此产生的训练样本称为“增大的训练样本”。在图5a-5h中展示的示例性训练集合中,每个图像包括展现两个边界框大小的训练样本。然而,一般来说,展现一个大小的边界框的训练样本可按比例缩放以产生展现不同大小的边界框的训练样本。这个按比例缩放的边界框随后可用作训练样本。

现在参考图6,这个图是根据所公开的技术的另一个实施方案来操作的确定用于神经网络的训练集合的方法的示意图。在步骤350中,在训练集合的多个图像中检测对象和相应的对象关键点,并且在每个检测到的对象周围定义展现预定大小的边界框。对象可例如由人类观察者(即,手动地)确定。对象也可通过使用自动检测器来确定或以半自动化方式确定(例如,对象是由自动检测器检测并且由人类观察者证实)。

在步骤352中,确定每个对象关键点在边界框内的位置。在步骤354中,针对对象关键点类型,确定相应的关键点参考位置。相应的关键点参考位置是根据相同类型的对象关键点的平均位置确定的,平均值是根据初始训练集合中的所有对象的对象关键点位置确定的。

在步骤356中,将初始训练集合中的所有训练样本与相应的参考位置对齐。

在步骤358中,从参考位置随机地扰乱对准的样本中的每一个,由此创建新样本。

现在参考图7,这个图是根据所公开的技术的又一个实施方案来操作的用于cnn的方法的示意图。在步骤400中,由初始训练集合产生增大的训练样本。本文中以上结合图5a-5h和6描述。

在步骤402中,训练对象检测器的cnn以具有共用层。根据一个替代方案,对对象检测器的具有相同特性的所有层分组的权重和参数(或其校正因数)求平均以产生共用层。根据另一个替代方案,训练单个训练尺度检测器并且部署训练尺度检测器的副本,从而定义cnn系统。每个副本与输入图像的相应的按比例缩放版本相关联,训练尺度检测器的副本定义cnn系统。

在步骤404中,通过使用已定义的cnn系统在至少一个图像中对至少一个对象进行检测和分类。在至少一个图像中对至少一个对象进行检测和分类包括以下子步骤:

根据多个下采样比对图像进行下采样,以产生多个下采样图像,每个下采样图像与相应的下采样比相关联;

针对每个下采样图像,通过对应的cnn检测处于关于图像的预定图像窗口大小的对象;以及

对图像中的对象进行分类。检测相应的下采样图像中的对象并且与相同相应的下采样比相关联的cnn定义至少一个cnn分组。卷积网络分组中的cnn与共用的卷积层相关联。

参考图4,如以上所描述,对象检测器2041和2062的相应的cnn定义cnn分组。类似地,对象检测器2042和2063的相应的cnn定义cnn分组。

本领域技术人员将了解的是,所公开的技术并不限于上文特定示出并描述的内容。相反,所公开的技术的范围仅由以下权利要求书限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1