训练面部检测模型的方法和装置以及面部检测方法和装置与流程

文档序号:14941134发布日期:2018-07-13 20:49阅读:127来源:国知局

本公开涉及图像处理领域,具体涉及可以快速并精确地进行面部检测的训练面部检测模型的方法和装置以及面部检测方法和装置。



背景技术:

面部检测技术是计算机视觉的重要研究内容之一,也是面部识别、面部追踪等技术的关键步骤之一。鉴于卷积神经网络(cnn)在解决计算机视觉领域多个问题时都取得了良好的效果,近年来,人们尝试利用cnn模型进行面部检测。基于cnn的面部检测主要分为两个步骤:一是提取可能存在面部的候选区域;二是利用cnn判断面部的候选区域是否存在面部。图1示出了基于卷积神经网络进行人脸检测的结构流程示例。如图1所示,在基于cnn进行人脸检测的算法中,通常首先生成人脸候选区域;再把原始图像输入到卷积层,生成输入图像的特征图;把人脸候选区域对应的特征图区域输入到全连接层,进而判断该候选区域是否存在人脸,从而生成人脸检测结果。目前人脸候选区域的生成方式主要采用在原始图像上或者在与原始图像对应的特征图上滑动窗口,然后判断该窗口是否为人脸位置候选区域。图2是示出现有技术中在原始图像上滑动窗口来判断人脸位置候选区域的示例的图。如图2所示,将原始图像划分为若干图像块,然后依次判断每个图像块是否是人脸位置候选区域。图3是示出现有技术中在与原始图像对应的特征图上滑动窗口来判断人脸位置候选区域的示例的图。如图3所示,将原始图像输入到卷积网络,在通过卷积网络生成的特征图上进行滑动窗口操作,从而判断人脸候选区域。这两种方式耗时都较长,导致生成人脸候选区域的时间远大于cnn判断候选区域是否存在人脸所花费的时间。



技术实现要素:

在下文中给出了关于本公开的简要概述,以便提供关于本公开的某些方面的基本理解。但是,应当理解,这个概述并不是关于本公开的穷举性概述。它并不是意图用来确定本公开的关键性部分或重要部分,也不是意图用来限定本公开的范围。其目的仅仅是以简化的形式给出关于本公开的某些概念,以此作为稍后给出的更详细描述的前序。

鉴于以上问题,本公开的目的是提供一种可以快速并精确地进行面部检测的训练面部检测模型的方法和装置以及面部检测方法和装置。

根据本公开的一方面,提供了一种训练面部检测模型的方法,包括:训练至少两个区域识别模型,所述至少两个区域识别模型中的每个区域识别模型与面部的一个不同部位相关联,可以用于识别输入图像中可能属于与该区域识别模型相关联的部位的区域。

根据本公开的另一方面,提供了一种训练面部检测模型的装置,包括:训练单元,被配置成训练至少两个区域识别模型,所述至少两个区域识别模型中的每个区域识别模型与面部的一个不同部位相关联,可以用于识别输入图像中可能属于与该区域识别模型相关联的部位的区域。

根据本公开的又一方面,提供了一种面部检测方法,包括:对输入图像应用分别与面部的一个不同部位相关联的至少两个预定区域识别模型,从而可以从输入图像识别出可能属于与每个预定区域识别模型相关联的部位的区域;根据关于面部结构的先验知识和部位的所识别出的区域,可以获得输入图像中的待检测面部的候选区域;以及使用检测模型来判断待检测面部的候选区域中是否存在面部,从而可以检测出待检测面部所存在的区域。

根据本公开的其它方面,还提供了用于实现上述根据本公开的方法的计算机程序代码和计算机程序产品以及其上记录有该用于实现上述根据本公开的方法的计算机程序代码的计算机可读存储介质。

在下面的说明书部分中给出本公开实施例的其它方面,其中,详细说明用于充分地公开本公开实施例的优选实施例,而不对其施加限定。

附图说明

本公开可以通过参考下文中结合附图所给出的详细描述而得到更好的理解,其中在所有附图中使用了相同或相似的附图标记来表示相同或者相似的部件。所述附图连同下面的详细说明一起包含在本说明书中并形成说明书的一部分,用来进一步举例说明本公开的优选实施例和解释本公开的原理和优点。其中:

图1示出了基于卷积神经网络进行人脸检测的结构流程示例;

图2是示出现有技术中在原始图像上滑动窗口来判断人脸位置候选区域的示例的图;

图3是示出现有技术中在与原始图像对应的特征图上滑动窗口来判断人脸位置候选区域的示例的图;

图4是示出根据本公开的实施例的训练面部检测模型的方法的流程示例的流程图;

图5是示出根据本公开实施例的根据人脸关键点的位置信息对面部部位进行分割标注的示例的图;

图6是示出根据本公开实施例的在每个区域识别模型的至少一个层中采用多个不同大小的滤波器的示例的图;

图7是示出根据本公开的实施例的训练面部检测模型的装置的功能配置示例的框图;

图8是示出根据本公开的实施例的面部检测方法的流程示例的流程图;

图9是示意性地示出根据本公开实施例的初始基准区域以及处于不同方向的基准区域的示例的图;

图10示意性地示出了根据本公开实施例的待检测面部的候选区域的生成的结构流程的示例;

图11示意性地示出了根据本公开实施例的判断待检测面部的候选区域中是否存在面部的结构流程的示例;

图12是示出根据本公开的实施例的面部检测装置的功能配置示例的框图;以及

图13是示出作为本公开的实施例中可采用的信息处理装置的个人计算机的示例结构的框图。

具体实施方式

在下文中将结合附图对本公开的示范性实施例进行描述。为了清楚和简明起见,在说明书中并未描述实际实施方式的所有特征。然而,应该了解,在开发任何这种实际实施例的过程中必须做出很多特定于实施方式的决定,以便实现开发人员的具体目标,例如,符合与系统及业务相关的那些限制条件,并且这些限制条件可能会随着实施方式的不同而有所改变。此外,还应该了解,虽然开发工作有可能是非常复杂和费时的,但对得益于本公开内容的本领域技术人员来说,这种开发工作仅仅是例行的任务。

在此,还需要说明的一点是,为了避免因不必要的细节而模糊了本公开,在附图中仅仅示出了与根据本公开的方案密切相关的设备结构和/或处理步骤,而省略了与本公开关系不大的其它细节。

根据本公开的一方面,提出了一种训练面部检测模型的方法,该训练面部检测模型的方法可以训练分别与面部的一个不同部位相关联的至少两个区域识别模型,以利用所述至少两个区域识别模型快速自动地识别输入图像中可能属于与每个区域识别模型相关联的部位的区域。

下面结合附图详细说明根据本公开的实施例。

首先,将参照图4描述根据本公开实施例的训练面部检测模型的方法400的流程示例。图4是示出根据本公开的实施例的训练面部检测模型的方法400的流程示例的流程图。如图4所示,根据本公开的实施例的训练面部检测模型的方法400包括训练步骤s402。

首先,在训练步骤s402中,训练至少两个区域识别模型,所述至少两个区域识别模型中的每个区域识别模型与面部的一个不同部位相关联,可以用于识别输入图像中可能属于与该区域识别模型相关联的部位的区域。

可以将面部划分成不同的部位例如左眼、右眼、左脸颊、右脸颊、鼻子、嘴以及下巴等。在训练步骤s402中,根据本公开实施例的训练面部检测模型的方法400可以训练分别与面部的上述一个不同部位相关联的至少两个区域识别模型,以利用所述至少两个区域识别模型快速识别输入图像中可能属于与每个区域识别模型相关联的部位的区域。

优选地,可以基于面部的部位的标注区域位置信息,分别训练每个区域识别模型。即,可以通过面部关键点位置信息对面部各个部位进行分割,并使用面部各个部位的标注区域位置信息分别训练每个区域识别模型。

具体地,选择存在面部关键点位置标注信息(标注的关键点个数可以是5、13、21、68等)的面部数据,根据面部关键点的位置信息,求包含所有特定位置关键点的至少一个矩形框(每个矩形框内包括面部一个部位的标注区域位置信息),所述至少一个矩形框可以将人脸划分成若干个部分,从而完成面部部位的分割标注。并且,可以使用面部各个部位的标注区域位置信息分别训练每个区域识别模型。以上用矩形框包括面部一个部位的标注区域位置信息仅是示例,还可以采用椭圆形等包括面部一个部位的标注区域位置信息。为方便,以下均以矩形框为例进行描述。

图5是示出根据本公开实施例的根据人脸关键点的位置信息对面部部位进行分割标注的示例的图。如图5所示,一共存在68个面部关键点位置标注信息,根据这些面部关键点的位置信息,可以得到7个矩形框,这7个矩形框分别包括位于左眼、右眼、左脸颊、右脸颊、鼻子、嘴以及下巴区域的关键点。然后,可以使用这7个矩形框内的标注区域位置信息分别训练7个区域识别模型中的每个区域识别模型。

优选地,每个区域识别模型用于根据输入图像生成特征图,该特征图可以表示输入图像中的像素属于与该区域识别模型相关联的部位的可能性。

具体地,利用标注的面部不同部位分别训练一个区域识别模型。每个区域识别模型的输入是一副包含完整的原始图像和相应面部部位的位置标注图。其中面部部位的位置标注图是一副和原始图像尺寸大小相等的二值图像,相应面部部位区域标记为1,面部其他部位和非面部区域标记为0。每个区域识别模型将输出一个特征图,特征图中的点表示输入图像中的像素属于与该区域识别模型相关联的部位的可能性。在对每个区域识别模型训练时,为了提高区域识别模型的精度,要求与该区域识别模型对应的面部部位在特征图中的响应远大于面部其他部位或者非面部的响应。进一步地,可以设定阈值(可以根据经验确定该阈值)来对响应图(即特征图)进行二值化操作,从而得到面部的各个部位的响应区域。即,如果输入图像中的像素属于与该区域识别模型相关联的部位,则该特征图中与该像素相应位置处的点标记为1,而如果输入图像中的像素不属于与该区域识别模型相关联的部位,则该特征图中与该像素相应位置处的点标记为0,那么在对每个区域识别模型训练时,要求所生成的特征图和位置标注图尽可能相似,这样所生成的特征图能够精确地表示所对应的面部部位区域。

优选地,每个区域识别模型可以包括多个层,在多个层中的至少一个层中可以采用不同大小的多个滤波器,并且可以将多个滤波器的响应进行组合所得到的结果作为下一层的输入,以提高特征图反映输入图像中的像素属于与区域识别模型相关联的部位的可能性的准确度。

具体地,为了提高区域识别模型的精度,每个区域识别模型可以包括多个层,在多个层中的至少一个层中可以采用不同大小的多个滤波器,如1×1、3×3、5×5等大小的滤波器。例示而非限制,可以将多个滤波器的响应进行多项式组合,以及将多项式组合的结果作为下一层的输入,从而提高特征图反映所述可能性的准确度。除了多项式组合之外,还可以对多个滤波器的响应进行其他组合,这里不再累述。

例示而非限制,每个区域识别模型可以是全卷积网络。另外,每个区域识别模型还可以是除了全卷积网络之外的其他模型。

以下为了方便描述,以每个区域识别模型是全卷积网络为例来描述在每个区域识别模型的至少一个层中采用多个不同大小的滤波器的示例。图6是示出根据本公开实施例的在每个区域识别模型的至少一个层中采用多个不同大小的滤波器的示例的图。在图6中,为了方便描述,假设全卷积网络的输入为右脸颊标注图像,在该标注图像中,填充有黑色的矩形框表示原始图像中的面部的右脸颊区域。如图6所示,全卷积网络包括n个卷积层,即卷积层1、卷积层2、…、卷积层n,其中,n为大于1的整数。以卷积层1为例,输入被分别输入到3个不同大小的滤波器即1×1、3×3、5×5的滤波器,并且将这3个滤波器的响应结果进行多项式组合(图6中的α、β以及γ分别为加权系数,α、β以及γ可以分别根据经验确定)从而得到新的响应结果即输出,然后将该输出作为卷积层2的输入。如图6所示,该全卷积网络的输出(即卷积层n的输出)为原始图像对应的二值化后的特征图,在该二值化后的特征图中,与右脸颊对应区域的值为1(用黑色表示),而与面部中其他部位和非面部对应的区域为0(用白色表示)。从图6中可以看出,用面部的右脸颊区域训练该全卷积网络,使得训练后的该全卷积网络可以识别输入图像中可能属于右脸颊的区域。

为了进一步加快区域识别模型的训练速度,可以共享不同区域识别模型的部分参数。例示而非限制,在每个区域识别模型是全卷积网络的情况下,可以共享不同全卷积网络的相同层的参数,例如,可以共享全卷积网络中包括的卷积层的前一层或前两层的参数。

综上所述,根据本公开的实施例的训练面部检测模型的方法400不需要在原始图像或者原始图像的特征图上滑动窗口就可以识别输入图像中可能属于与区域识别模型相关联的部位的区域,从而可以进行快速面部检测。此外,根据本公开的实施例的训练面部检测模型的方法400中的每个区域识别模型与面部的一个不同部位相关联,因此可以进行更精确的面部检测。

与上述训练面部检测模型的方法实施例相对应地,本公开还提供了以下训练面部检测模型的装置的实施例。

图7是示出根据本公开的实施例的训练面部检测模型的装置700的功能配置示例的框图。

如图7所示,根据本公开的实施例的训练面部检测模型的装置700可以包括训练单元702。接下来将描述该单元的功能配置示例。

在训练单元702中,训练至少两个区域识别模型,所述至少两个区域识别模型中的每个区域识别模型与面部的一个不同部位相关联,可以用于识别输入图像中可能属于与该区域识别模型相关联的部位的区域。

可以将面部划分成不同的部位例如左眼、右眼、左脸颊、右脸颊、鼻子、嘴以及下巴等。在训练单元702中,根据本公开实施例的训练面部检测模型的装置700可以训练分别与面部的上述一个不同部位相关联的至少两个区域识别模型,以利用所述至少两个区域识别模型快速识别输入图像中可能属于与每个区域识别模型相关联的部位的区域。

优选地,可以基于面部的部位的标注区域位置信息,分别训练每个区域识别模型。即,可以通过面部关键点位置信息对面部各个部位进行分割,并使用面部各个部位的标注区域位置信息分别训练每个区域识别模型。

具体地,选择存在面部关键点位置标注信息的面部数据,根据面部关键点的位置信息,求包含所有特定位置关键点的至少一个矩形框(每个矩形框内包括面部一个部位的标注区域位置信息),所述至少一个矩形框可以将人脸划分成若干个部分,从而完成面部部位的分割标注。并且,可以使用面部各个部位的标注区域位置信息分别训练每个区域识别模型。

基于面部的部位的标注区域位置信息来分别训练每个区域识别模型的示例可以参见以上方法实施例中相应位置的描述,在此不再重复。

优选地,每个区域识别模型用于根据输入图像生成特征图,该特征图可以表示输入图像中的像素属于与该区域识别模型相关联的部位的可能性。

根据输入图像生成特征图的示例可以参见以上方法实施例中相应位置的描述,在此不再重复。

优选地,每个区域识别模型可以包括多个层,在多个层中的至少一个层中可以采用不同大小的多个滤波器,并且可以将多个滤波器的响应进行组合所得到的结果作为下一层的输入,以提高特征图反映输入图像中的像素属于与区域识别模型相关联的部位的可能性的准确度。

具体地,为了提高区域识别模型的精度,每个区域识别模型可以包括多个层,在多个层中的至少一个层中可以采用不同大小的多个滤波器,如1×1、3×3、5×5等大小的滤波器。例示而非限制,可以将多个滤波器的响应进行多项式组合,以及将多项式组合的结果作为下一层的输入,从而提高特征图反映所述可能性的准确度。除了多项式组合之外,还可以对多个滤波器的响应进行其他组合,这里不再累述。

在每个区域识别模型的至少一个层中采用多个不同大小的滤波器的示例可以参见以上方法实施例中相应位置的描述,在此不再重复。

例示而非限制,每个区域识别模型可以是全卷积网络。另外,每个区域识别模型还可以是除了全卷积网络之外的其他模型。

为了进一步加快区域识别模型的训练速度,可以共享不同区域识别模型的部分参数。例示而非限制,在每个区域识别模型是全卷积网络的情况下,可以共享不同全卷积网络的相同层的参数,例如,可以共享全卷积网络中包括的卷积层的前一层或前两层的参数。

综上所述,根据本公开的实施例的训练面部检测模型的装置700不需要在原始图像或者原始图像的特征图上滑动窗口就可以识别输入图像中可能属于与区域识别模型相关联的部位的区域,从而可以进行快速面部检测。此外,根据本公开的实施例的训练面部检测模型的装置700中的每个区域识别模型与面部的一个不同部位相关联,因此可以进行更精确的面部检测。

应指出,尽管以上描述了根据本公开的实施例的训练面部检测模型的装置的功能配置,但是这仅是示例而非限制,并且本领域技术人员可根据本公开的原理对以上实施例进行修改,例如可对各个实施例中的功能模块进行添加、删除或者组合等,并且这样的修改均落入本公开的范围内。

此外,还应指出,这里的装置实施例是与上述方法实施例相对应的,因此在装置实施例中未详细描述的内容可参见方法实施例中相应位置的描述,在此不再重复描述。

应理解,根据本公开的实施例的存储介质和程序产品中的机器可执行的指令还可以被配置成执行上述训练面部检测模型的方法,因此在此未详细描述的内容可参考先前相应位置的描述,在此不再重复进行描述。

相应地,用于承载上述包括机器可执行的指令的程序产品的存储介质也包括在本发明的公开中。该存储介质包括但不限于软盘、光盘、磁光盘、存储卡、存储棒等等。

根据本公开的另一方面,提供了一种面部检测方法,该面部检测方法可以快速并精确地进行面部检测。

下面,将参照图8描述根据本公开的实施例的面部检测方法800的流程示例。图8是示出根据本公开的实施例的面部检测方法800的流程示例的流程图。如图8所示,根据本公开的实施例的面部检测方法800包括识别区域步骤s802、获得候选区域步骤s804以及判断步骤s806。

在识别区域步骤s802中,可以对输入图像应用分别与面部的一个不同部位相关联的至少两个预定区域识别模型,从而可以从输入图像识别出可能属于与每个预定区域识别模型相关联的部位的区域。

例示而非限制,所述至少两个预定区域识别模型可以是利用根据本公开实施例的训练面部检测模型的方法400得到的区域识别模型,更具体地,每个预定区域识别模型可以是利用根据本公开实施例的训练面部检测模型的方法400得到的全卷积网络。另外,所述至少两个预定区域识别模型也可以是利用其它方法得到的区域识别模型,只要所述至少两个预定区域识别模型中的每个预定区域识别模型分别与面部的一个不同部位相关联并且用于识别输入图像中可能属于与该预定区域识别模型相关联的部位的区域即可。

具体地,在识别区域步骤s802中,通过所述至少两个预定区域识别模型中的每个预定区域识别模型得到输入图像在该预定区域识别模型下的特征图,设定阈值(该阈值可以根据经验确定)来对特征图进行二值化操作,从而得到面部中与该预定区域识别模型相关联的部位的响应区域。根据特征图和输入图像的位置对应关系,就可以获得与这些响应区域对应的输入图像中的区域,即输入图像的面部中与该预定区域识别模型相关联的部位的位置区域。

由此可见,由于所述至少两个预定区域识别模型分别与面部的一个不同部位相关联,因此利用所述至少两个预定区域识别模型中的每个预定区域识别模型可以从输入图像自动识别出可能属于与每个预定区域识别模型相关联的部位的区域。

优选地,可以共享所述至少两个预定区域识别模型中的不同区域识别模型中的参数,以加快识别的速度。例示而非限制,在每个预定区域识别模型是全卷积网络的情况下,可以共享不同全卷积网络的相同层的参数,例如,可以共享全卷积网络中包括的卷积层的前一层或前两层的参数,以加快识别的速度。

在获得候选区域步骤s804中,可以根据关于面部结构的先验知识和部位的所识别出的区域,获得输入图像中的待检测面部的候选区域。

具体地,在获得候选区域步骤s804中,可以根据有关面部部位与面部整体区域的相对大小和相对位置关系的先验知识以及利用所述至少两个预定区域识别模型所识别出的部位的区域,估计出输入图像中可能存在面部的区域即待检测面部的候选区域。

优选地,可以通过以下方式获得输入图像中的待检测面部的候选区域:可以基于关于面部部位和面部整体区域的相对大小和相对位置关系的先验知识以及部位的所识别出的区域,估计待检测面部的相对位置从而获得待检测面部的初始基准区域,并且可以将初始基准区域作为待检测面部的候选区域;以及可以将初始基准区域依次旋转预定角度以获得处于不同方向的基准区域,并且可以将处于不同方向的基准区域也作为待检测面部的候选区域。

具体地,对于利用每个预定区域识别模型识别出的面部的一个部位的区域,可以基于关于该面部部位和面部整体区域的相对大小和相对位置关系的先验知识以及利用所识别出的该部位的区域,估计待检测面部的相对位置从而获得待检测面部的初始基准区域;由于实际场景中面部可能存在于各个角度,因此将该初始基准区域旋转特定角度以获得处于不同方向的基准区域。可以将基于每个识别出的面部的部位的区域得到的初始基准区域和处于不同方向的基准区域都作为待检测面部的候选区域,由此可以更精确地进行面部检测。其中,可以根据经验来确定上述预定角度。

下面以识别出的面部的一个部位为例来示意性地示出将基准区域旋转特定角度的示例。图9是示意性地示出根据本公开实施例的初始基准区域以及处于不同方向的基准区域的示例的图。假设图9的a中用黑色填充的矩形框是利用预定区域识别模型识别出的面部的右脸颊的区域。基于关于右脸颊部位和面部整体区域的相对大小和相对位置关系的先验知识以及所识别出的该右脸颊部位的区域,可以估计出待检测面部的相对位置从而获得待检测面部的基准区域,在图9中,为了图示的清楚性,没有画出精确的该基准区域,而是以识别出的右脸颊区域代表该基准区域。图9的b到h中用黑色填充的矩形框分别示出了将右脸颊区域依次旋转预定角度后得到的处于不同方向的右脸颊区域(由于右脸颊区域代表基准区域,因此处于不同方向的右脸颊区域代表了处于不同方向的基准区域)。

如上所述,每个预定区域识别模型可以是全卷积网络。图10示意性地示出了根据本公开实施例的待检测面部的候选区域的生成的结构流程的示例。在图10中,第一行中最左侧的图像是包括待检测面部的输入图像;将输入图像分别输入到全卷积网络1、全卷积网络2、…、以及全卷积网络n(其中,n为大于1的整数),可以得到输入图像在不同全卷积网络的响应结果,即,可以得到输入图像中与每个全卷积网络相关联的部位的特征响应区域,为了简化,图10中第一行的第二个图像中所示的不规则图形分别示意性地示出了面部的六个部位即左眼、右眼、左脸颊、右脸颊、鼻子、以及下巴所对应的特征响应区域;根据上述特征响应区域与输入图像之间的位置对应关系,可以获得这些响应区域对应的输入图像区域即输入图像中面部的左眼、右眼、左脸颊、右脸颊、鼻子、以及下巴所在的区域,在图10中第一行中的第三个图像中示意性地示出了输入图像中面部的左眼、右眼、左脸颊、右脸颊、鼻子、以及下巴所在的区域;另外,在图10中第二行的图像中示意性地示出了基于所得到的上述部位的区域和关于面部结构的先验知识分别获得的待检测面部的基准区域,此处为了简单,没有示出处于不同方向的基准区域;此外,为了直观地示出待检测面部的候选区域,在图10中第一行的第四个图像中示意性地将上述待检测面部的基准区域一起表示在输入图像上。

以上获得输入图像中的待检测面部的候选区域的方式仅是示例,还可以通过本领域中的其他技术手段获得输入图像中的待检测面部的候选区域,这里不再累述。

在判断步骤s806中,可以使用检测模型来判断待检测面部的候选区域中是否存在面部,从而检测出待检测面部所存在的区域。

具体地,在判断步骤s806中,可以使用检测模型来判断在获得候选区域步骤s804中获得的待检测面部的候选区域中是否存在面部,从而检测出待检测面部所存在的区域。

例示而非限制,检测模型可以是卷积神经网络。另外,检测模型也可以是除卷积神经网络之外的其他模型。

优选地,在判断步骤s806中,可以通过以下方式判断待检测面部的候选区域中是否存在面部:将输入图像输入到卷积神经网络的卷积层,生成输入图像的特征图;将与待检测面部的候选区域对应的特征图的区域输入到卷积神经网络的全连接层;以及基于所述输入图像的特征图和与待检测面部的候选区域对应的特征图的区域,判断待检测面部的候选区域中是否存在面部。

图11示意性地示出了根据本公开实施例的判断待检测面部的候选区域中是否存在面部的结构流程的示例。

在图11中,第二行中最左侧的图像是包括待检测面部的输入图像,将该输入图像输入到卷积神经网络的卷积层,生成输入图像的特征图。图11中第一行的图示基本与图10的第一行的图示相同,这里不再累述。图11中第一行的第三个图像中用白色框包围的区域示意性地示出了待检测面部的候选区域。将与上述待检测面部的候选区域对应的特征图的区域输入到卷积神经网络的全连接层;然后可以基于输入图像的特征图和与待检测面部的候选区域对应的特征图的区域,判断待检测面部的候选区域中是否存在面部,图11的第三行的图像中用白色框包围的区域表示检测出来的面部。

综上所述,根据本公开的实施例的面部检测方法800不需要在原始图像或者原始图像的特征图上滑动窗口就可以筛选出面部的候选区域,从而可以进行快速面部检测。此外,根据本公开的实施例的面部检测方法800中的每个预定区域识别模型与面部的一个不同部位相关联,因此可以进行更精确的面部检测。

与上述面部检测方法实施例相对应地,本公开还提供了以下面部检测装置的实施例。

图12是示出根据本公开的实施例的面部检测装置1200的功能配置示例的框图。

如图12所示,根据本公开的实施例的面部检测装置1200可以包括识别区域单元1202、获得候选区域单元1204以及判断单元1206。接下来将描述各个单元的功能配置示例。

在识别区域单元1202中,可以对输入图像应用分别与面部的一个不同部位相关联的至少两个预定区域识别模型,从而可以从输入图像识别出可能属于与每个预定区域识别模型相关联的部位的区域。

例示而非限制,所述至少两个预定区域识别模型可以是利用根据本公开实施例的训练面部检测模型的方法400得到的区域识别模型,更具体地,每个预定区域识别模型可以是利用根据本公开实施例的训练面部检测模型的方法400得到的全卷积网络。另外,所述至少两个预定区域识别模型也可以是利用其它方法得到的区域识别模型,只要所述至少两个预定区域识别模型中的每个预定区域识别模型分别与面部的一个不同部位相关联并且用于识别输入图像中可能属于与该预定区域识别模型相关联的部位的区域即可。

具体地,在识别区域单元1202中,通过所述至少两个预定区域识别模型中的每个预定区域识别模型得到输入图像在该预定区域识别模型下的特征图,设定阈值(该阈值可以根据经验确定)来对特征图进行二值化操作,从而得到面部中与该预定区域识别模型相关联的部位的响应区域。根据特征图和输入图像的位置对应关系,就可以获得与这些响应区域对应的输入图像中的区域,即输入图像的面部中与该预定区域识别模型相关联的部位的位置区域。

由此可见,由于所述至少两个预定区域识别模型分别与面部的一个不同部位相关联,因此利用所述至少两个预定区域识别模型中的每个预定区域识别模型可以从输入图像自动识别出可能属于与每个预定区域识别模型相关联的部位的区域。

优选地,可以共享所述至少两个预定区域识别模型中的不同区域识别模型中的参数,以加快识别的速度。例示而非限制,在每个预定区域识别模型是全卷积网络的情况下,可以共享不同全卷积网络的相同层的参数,例如,可以共享全卷积网络中包括的卷积层的前一层或前两层的参数,以加快识别的速度。

在获得候选区域单元1204中,可以根据关于面部结构的先验知识和部位的所识别出的区域,获得输入图像中的待检测面部的候选区域。

具体地,在获得候选区域单元1204中,可以根据有关面部部位与面部整体区域的相对大小和相对位置关系的先验知识以及利用所述至少两个预定区域识别模型所识别出的部位的区域,估计出输入图像中可能存在面部的区域即待检测面部的候选区域。

优选地,可以通过以下方式获得输入图像中的待检测面部的候选区域:可以基于关于面部部位和面部整体区域的相对大小和相对位置关系的先验知识以及部位的所识别出的区域,估计待检测面部的相对位置从而获得待检测面部的初始基准区域,并且可以将初始基准区域作为待检测面部的候选区域;以及可以将初始基准区域依次旋转预定角度以获得处于不同方向的基准区域,并且可以将处于不同方向的基准区域也作为待检测面部的候选区域。

具体地,对于利用每个预定区域识别模型识别出的面部的一个部位的区域,可以基于关于该面部部位和面部整体区域的相对大小和相对位置关系的先验知识以及利用所识别出的该部位的区域,估计待检测面部的相对位置从而获得待检测面部的初始基准区域;由于实际场景中面部可能存在于各个角度,因此将该初始基准区域旋转特定角度以获得处于不同方向的基准区域。可以将基于每个识别出的面部的部位的区域得到的初始基准区域和处于不同方向的基准区域都作为待检测面部的候选区域,由此可以更精确地进行面部检测。其中,可以根据经验来确定上述预定角度。

待检测面部的候选区域的生成的示例可以参见以上方法实施例中相应位置的描述,在此不再重复。

在判断单元1206中,可以使用检测模型来判断待检测面部的候选区域中是否存在面部,从而检测出待检测面部所存在的区域。

具体地,在判断单元1206中,可以使用检测模型来判断在获得候选区域单元1204中获得的待检测面部的候选区域中是否存在面部,从而检测出待检测面部所存在的区域。

例示而非限制,检测模型可以是卷积神经网络。另外,检测模型也可以是除卷积神经网络之外的其他模型。

优选地,在判断单元1206中,可以通过以下方式判断待检测面部的候选区域中是否存在面部:将输入图像输入到卷积神经网络的卷积层,生成输入图像的特征图;将与待检测面部的候选区域对应的特征图的区域输入到卷积神经网络的全连接层;以及基于所述输入图像的特征图和与待检测面部的候选区域对应的特征图的区域,判断待检测面部的候选区域中是否存在面部。

判断待检测面部的候选区域中是否存在面部的示例可以参见以上方法实施例中相应位置的描述,在此不再重复。

综上所述,根据本公开的实施例的面部检测装置1200不需要在原始图像或者原始图像的特征图上滑动窗口就可以筛选出面部的候选区域,从而可以进行快速面部检测。此外,根据本公开的实施例的面部检测装置1200中的每个预定区域识别模型与面部的一个不同部位相关联,因此可以进行更精确的面部检测。

应指出,尽管以上描述了根据本公开的实施例的面部检测装置的功能配置,但是这仅是示例而非限制,并且本领域技术人员可根据本公开的原理对以上实施例进行修改,例如可对各个实施例中的功能模块进行添加、删除或者组合等,并且这样的修改均落入本公开的范围内。

此外,还应指出,这里的装置实施例是与上述方法实施例相对应的,因此在装置实施例中未详细描述的内容可参见方法实施例中相应位置的描述,在此不再重复描述。

应理解,根据本公开的实施例的存储介质和程序产品中的机器可执行的指令还可以被配置成执行上述面部检测方法,因此在此未详细描述的内容可参考先前相应位置的描述,在此不再重复进行描述。

相应地,用于承载上述包括机器可执行的指令的程序产品的存储介质也包括在本发明的公开中。该存储介质包括但不限于软盘、光盘、磁光盘、存储卡、存储棒等等。

另外,还应该指出的是,上述系列处理和装置也可以通过软件和/或固件实现。在通过软件和/或固件实现的情况下,从存储介质或网络向具有专用硬件结构的计算机,例如图13所示的通用个人计算机1300安装构成该软件的程序,该计算机在安装有各种程序时,能够执行各种功能等等。

在图13中,中央处理单元(cpu)1301根据只读存储器(rom)1302中存储的程序或从存储部分1308加载到随机存取存储器(ram)1303的程序执行各种处理。在ram1303中,也根据需要存储当cpu1301执行各种处理等时所需的数据。

cpu1301、rom1302和ram1303经由总线1304彼此连接。输入/输出接口1305也连接到总线1304。

下述部件连接到输入/输出接口1305:输入部分1306,包括键盘、鼠标等;输出部分1307,包括显示器,比如阴极射线管(crt)、液晶显示器(lcd)等,和扬声器等;存储部分1308,包括硬盘等;和通信部分1309,包括网络接口卡比如lan卡、调制解调器等。通信部分1309经由网络比如因特网执行通信处理。

根据需要,驱动器1310也连接到输入/输出接口1305。可拆卸介质1311比如磁盘、光盘、磁光盘、半导体存储器等等根据需要被安装在驱动器1310上,使得从中读出的计算机程序根据需要被安装到存储部分1308中。

在通过软件实现上述系列处理的情况下,从网络比如因特网或存储介质比如可拆卸介质1311安装构成软件的程序。

本领域的技术人员应当理解,这种存储介质不局限于图13所示的其中存储有程序、与设备相分离地分发以向用户提供程序的可拆卸介质1311。可拆卸介质1311的例子包含磁盘(包含软盘(注册商标))、光盘(包含光盘只读存储器(cd-rom)和数字通用盘(dvd))、磁光盘(包含迷你盘(md)(注册商标))和半导体存储器。或者,存储介质可以是rom1302、存储部分1308中包含的硬盘等等,其中存有程序,并且与包含它们的设备一起被分发给用户。

以上参照附图描述了本公开的优选实施例,但是本公开当然不限于以上示例。本领域技术人员可在所附权利要求的范围内得到各种变更和修改,并且应理解这些变更和修改自然将落入本公开的技术范围内。

例如,在以上实施例中包括在一个单元中的多个功能可以由分开的装置来实现。替选地,在以上实施例中由多个单元实现的多个功能可分别由分开的装置来实现。另外,以上功能之一可由多个单元来实现。无需说,这样的配置包括在本公开的技术范围内。

在该说明书中,流程图中所描述的步骤不仅包括以所述顺序按时间序列执行的处理,而且包括并行地或单独地而不是必须按时间序列执行的处理。此外,甚至在按时间序列处理的步骤中,无需说,也可以适当地改变该顺序。

另外,根据本公开的技术还可以如下进行配置。

附记1.一种训练面部检测模型的方法,包括:

训练至少两个区域识别模型,所述至少两个区域识别模型中的每个区域识别模型与面部的一个不同部位相关联,用于识别输入图像中可能属于与该区域识别模型相关联的部位的区域。

附记2.根据附记1所述的训练面部检测模型的方法,其中,基于面部的部位的标注区域位置信息,分别对每个区域识别模型进行训练。

附记3.根据附记1所述的训练面部检测模型的方法,其中:

每个区域识别模型用于根据输入图像生成特征图,所述特征图表示输入图像中的像素属于与该区域识别模型相关联的部位的可能性。

附记4.根据附记3所述的训练面部检测模型的方法,其中,每个区域识别模型包括多个层,在所述多个层中的至少一个层中采用不同大小的多个滤波器,并且将所述多个滤波器的响应进行组合所得到的结果作为下一层的输入,以提高所述特征图反映所述可能性的准确度。

附记5.根据附记1所述的训练面部检测模型的方法,其中,每个区域识别模型是全卷积网络。

附记6.一种训练面部检测模型的装置,包括:

训练单元,被配置成训练至少两个区域识别模型,所述至少两个区域识别模型中的每个区域识别模型与面部的一个不同部位相关联,用于识别输入图像中可能属于与该区域识别模型相关联的部位的区域。

附记7.根据附记6所述的训练面部检测模型的装置,其中,基于面部的部位的标注区域位置信息,分别对每个区域识别模型进行训练。

附记8.根据附记6所述的训练面部检测模型的装置,其中:

每个区域识别模型用于根据输入图像生成特征图,所述特征图表示输入图像中的像素属于与该区域识别模型相关联的部位的可能性。

附记9.根据附记8所述的训练面部检测模型的装置,其中,每个区域识别模型包括多个层,在所述多个层中的至少一个层中采用不同大小的多个滤波器,并且将所述多个滤波器的响应进行组合所得到的结果作为下一层的输入,以提高所述特征图反映所述可能性的准确度。

附记10.根据附记6所述的训练面部检测模型的装置,其中,每个区域识别模型是全卷积网络。

附记11.一种面部检测方法,包括:

对输入图像应用分别与面部的一个不同部位相关联的至少两个预定区域识别模型,从而从所述输入图像识别出可能属于与每个预定区域识别模型相关联的部位的区域;

根据关于面部结构的先验知识和部位的所识别出的区域,获得所述输入图像中的待检测面部的候选区域;以及

使用检测模型来判断所述待检测面部的候选区域中是否存在面部,从而检测出所述待检测面部所存在的区域。

附记12.根据附记11所述的面部检测方法,其中,通过以下方式获得所述输入图像中的待检测面部的候选区域:

基于关于面部部位和面部整体区域的相对大小和相对位置关系的先验知识以及部位的所识别出的区域,估计所述待检测面部的相对位置从而获得所述待检测面部的初始基准区域,并且将所述初始基准区域作为所述待检测面部的候选区域;以及

将所述初始基准区域依次旋转预定角度以获得处于不同方向的基准区域,并且将所述处于不同方向的基准区域也作为所述待检测面部的候选区域。

附记13.根据附记11所述的面部检测方法,其中,共享所述至少两个预定区域识别模型中的不同区域识别模型中的参数,以加快识别的速度。

附记14.根据附记11所述的面部检测方法,其中,所述检测模型是卷积神经网络。

附记15.根据附记14所述的面部检测方法,其中,通过以下方式判断所述待检测面部的候选区域中是否存在面部:

将所述输入图像输入到所述卷积神经网络的卷积层,生成所述输入图像的特征图;

将与所述待检测面部的候选区域对应的特征图的区域输入到所述卷积神经网络的全连接层;以及

基于所述输入图像的特征图和与所述待检测面部的候选区域对应的特征图的区域,判断所述待检测面部的候选区域中是否存在面部。

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