人脸检测方法及装置与流程

文档序号:15387390发布日期:2018-09-08 00:44阅读:330来源:国知局

本公开涉及计算机视觉技术领域,尤其涉及一种人脸检测方法及装置。



背景技术:

对图像进行人脸检测时,由于人脸在图像中的占比常常不同,而相关技术中的人脸检测技术只能针对某种特定人脸占比范围内的人脸进行检测,导致人脸检测的准确率和检出率较低。



技术实现要素:

有鉴于此,本公开提出了一种人脸检测方法及装置。

根据本公开的一方面,提供了人脸检测方法,包括:

通过至少两个不同的人脸检测模型检测待检测图像中的人脸框;

根据所述至少两个不同的人脸检测模型检测到的至少一个人脸框,确定所述待检测图像的人脸检测结果。

在一种可能的实现方式中,所述至少两个不同的人脸检测模型对应于不同的人脸图像占比。

在一种可能的实现方式中,所述至少一个人脸框具体为多个人脸框;

根据所述至少两个人脸检测模型检测到的至少一个人脸框,确定所述待检测图像的人脸检测结果,包括:

基于所述至少两个人脸检测模型检测到的多个人脸框的位置,对所述多个人脸框进行合并处理,得到人脸框合并结果;

根据所述人脸框合并结果,确定所述待检测图像的人脸检测结果。

在一种可能的实现方式中,基于所述至少两个人脸检测模型检测到的多个人脸框的位置,对所述多个人脸框进行合并处理,得到人脸框合并结果,包括:

若所述多个人脸框中的第一人脸框和第二人脸框之间的重合度大于或等于预设阈值,则将所述第一人脸框和所述第二人脸框进行合并,得到合并人脸框。

在一种可能的实现方式中,将所述第一人脸框和所述第二人脸框进行合并,得到合并人脸框,包括:

将所述合并人脸框确定为所述第一人脸框和所述第二人脸框中的一个人脸框。

在一种可能的实现方式中,在通过至少两个不同的人脸检测模型检测待检测图像中的人脸框之前,所述方法还包括:

对待处理图像进行基于灰度的均衡化处理,其中,基于灰度的均衡化处理用于增大所述待处理图像的像素值所分布的灰度级别区域;

根据均衡化处理后的待处理图像,确定待检测图像。

在一种可能的实现方式中,对所述待处理图像进行基于灰度的均衡化处理,包括:

对所述待处理图像进行直方图均衡化处理。

在一种可能的实现方式中,在确定所述待检测图像的人脸检测结果之后,所述方法还包括:

对所述待检测图像中的人脸区域进行切割,得到至少一个器官图像块;

提取所述至少一个器官图像块的器官的关键点信息。

在一种可能的实现方式中,提取所述至少一个器官图像块的器官的关键点信息,包括:

将所述至少一个器官图像块分别输入至少一个神经网络,其中,不同的器官图像块对应不同的神经网络;

通过所述至少一个神经网络分别提取各自输入的器官图像块的器官的关键点信息。

根据本公开的另一方面,提供了一种人脸检测装置,包括:

检测模块,用于通过至少两个不同的人脸检测模型检测待检测图像中的人脸框;

第一确定模块,用于根据所述至少两个不同的人脸检测模型检测到的至少一个人脸框,确定所述待检测图像的人脸检测结果。

在一种可能的实现方式中,所述至少两个不同的人脸检测模型对应于不同的人脸图像占比。

在一种可能的实现方式中,所述至少一个人脸框具体为多个人脸框;

所述第一确定模块包括:

合并子模块,用于基于所述至少两个人脸检测模型检测到的多个人脸框的位置,对所述多个人脸框进行合并处理,得到人脸框合并结果;

确定子模块,用于根据所述人脸框合并结果,确定所述待检测图像的人脸检测结果。

在一种可能的实现方式中,所述合并子模块用于:

若所述多个人脸框中的第一人脸框和第二人脸框之间的重合度大于或等于预设阈值,则将所述第一人脸框和所述第二人脸框进行合并,得到合并人脸框。

在一种可能的实现方式中,所述合并子模块用于:

将所述合并人脸框确定为所述第一人脸框和所述第二人脸框中的一个人脸框。

在一种可能的实现方式中,所述装置还包括:

均衡化处理模块,用于对待处理图像进行基于灰度的均衡化处理,其中,基于灰度的均衡化处理用于增大所述待处理图像的像素值所分布的灰度级别区域;

第二确定模块,用于根据均衡化处理后的待处理图像,确定待检测图像。

在一种可能的实现方式中,所述均衡化处理模块用于:

对所述待处理图像进行直方图均衡化处理。

在一种可能的实现方式中,所述装置还包括:

切割模块,用于对所述待检测图像中的人脸区域进行切割,得到至少一个器官图像块;

提取模块,用于提取所述至少一个器官图像块的器官的关键点信息。

在一种可能的实现方式中,所述提取模块包括:

输入子模块,用于将所述至少一个器官图像块分别输入至少一个神经网络,其中,不同的器官图像块对应不同的神经网络;

提取子模块,用于通过所述至少一个神经网络分别提取各自输入的器官图像块的器官的关键点信息。

根据本公开的另一方面,提供了一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行上述方法。

根据本公开的另一方面,提供了一种计算机可读存储介质,其上存储有计算机程序指令,其中,所述计算机程序指令被处理器执行时实现上述方法。

本公开的各方面的人脸检测方法及装置通过至少两个不同的人脸检测模型检测图像中的人脸框,并根据该至少两个不同的人脸检测模型检测到的至少一个人脸框,确定待检测图像的人脸检测结果,由此能够通过不同的人脸检测模型提高不同人脸图像占比的人脸的检出率,从而能够提高人脸检测的准确性。

根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。

附图说明

包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本公开的示例性实施例、特征和方面,并且用于解释本公开的原理。

图1示出根据本公开一实施例的人脸检测方法的流程图。

图2示出根据本公开一实施例的人脸检测方法中步骤s12的一示例性的流程图。

图3示出根据本公开一实施例的人脸检测方法的一示例性的流程图。

图4示出根据本公开一实施例的人脸检测方法的另一示例性的流程图。

图5示出根据本公开一实施例的人脸检测方法中步骤s14的一示例性的流程图。

图6示出根据本公开一实施例的人脸检测装置的框图。

图7示出根据本公开一实施例的人脸检测装置的一示例性的框图。

图8是根据一示例性实施例示出的一种用于人脸检测的装置800的框图。

图9是根据一示例性实施例示出的一种用于人脸检测的装置1900的框图。

具体实施方式

以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。

在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。

另外,为了更好的说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。

图1示出根据本公开一实施例的人脸检测方法的流程图。如图1所示,该方法包括步骤s11和步骤s12。

在步骤s11中,通过至少两个不同的人脸检测模型检测待检测图像中的人脸框。

本实施例中的待检测图像可以为呈现静态的图片或者照片等图像,也可以为呈现动态的视频中的视频帧等。待检测图像中的人脸可以为正脸,也可能存在一定角度偏转的侧脸,本公开实施例对待检测图像的具体实现不做限定。

在本公开实施例中,不同的人脸检测模型可以具有不同的网络参数。在一种可能的实现方式中,至少两个不同的人脸检测模型对应于不同的人脸图像占比。例如,不同的人脸检测模型是利用不同人脸图像占比的图像进行训练得到的,或者,不同的人脸检测模型的最佳应用图像(例如检出率最高等)具有不同的脸图像占比,等等,其中,人脸图像占比可以指人脸区域在整个图像中所占的比例,但本公开实施例对此不做限定。

作为该实现方式的一个示例,不同的人脸检测模型可以对待检测图像中不同尺寸的图像区域进行人脸检测。例如,可以通过第一人脸检测模型和第二人脸检测模型检测待检测图像中的人脸框,其中,第一人脸检测模型对待检测图像中每个24像素×24像素大小的图像区域进行人脸检测,第二人脸检测模型对待检测图像中每个64像素×64像素大小的图像区域进行人脸检测。又如,可以通过第一人脸检测模型、第二人脸检测模型和第三人脸检测模型检测图像中的人脸框,本公开实施例对人脸检测模型的数量以及多个人脸检测模型分别对应的网络参数和输入图像尺寸等具体实现不做限定。

作为该实现方式的另一个示例,不同的人脸检测模型可以对应于不同尺寸的输入图像。此时,可以对待检测图像进行尺寸调整处理,例如缩放或采样处理,得到不同的人脸检测模型分别对应的输入图像。例如,可以通过第一人脸检测模型、第二人脸检测模型和第三人脸检测模型检测待检测图像中的人脸框,其中,第一人脸检测模型的输入图像是通过将待检测图像缩小一倍得到的,第二人脸检测模型的输入图像是待检测图像本身,第三人脸检测模型的输入图像是通过将待检测图像放大一倍得到的,但本公开实施例对此不做限定。

在步骤s12中,根据至少两个不同的人脸检测模型检测到的至少一个人脸框,确定待检测图像的人脸检测结果。

例如,通过第一人脸检测模型检测到人脸框b1,通过第二人脸检测模型未检测到人脸框,则待检测图像的人脸检测结果包括人脸框b1;再例如,通过第一人脸检测模型检测到人脸框b1和人脸框b2,通过第二人脸检测模型检测到人脸框b3、人脸框b4和人脸框b5,则可以根据人脸框b1、人脸框b2、人脸框b3、人脸框b4和人脸框b5确定待检测图像的人脸检测结果。例如,可以确定待检测图像的人脸检测结果包括人脸框b1、人脸框b2、人脸框b3、人脸框b4和人脸框b5,但本公开实施例不限于此。

本实施例通过至少两个不同的人脸检测模型检测图像中的人脸框,并根据该至少两个不同的人脸检测模型检测到的至少一个人脸框,确定待检测图像的人脸检测结果,由此能够通过不同的人脸检测模型提高各种不同人脸图像占比的图像中人脸的检出率,从而能够提高人脸检测的准确性。

在一种可能的实现方式中,至少一个人脸框具体为多个人脸框。图2示出根据本公开一实施例的人脸检测方法中步骤s12的一示例性的流程图。如图2所示,步骤s12可以包括步骤s121和步骤s122。

在步骤s121中,基于至少两个人脸检测模型检测到的多个人脸框的位置,对多个人脸框进行合并处理,得到人脸框合并结果。

在一种可能的实现方式中,基于至少两个人脸检测模型检测到的多个人脸框的位置,对多个人脸框进行合并处理,得到人脸框合并结果,包括:若多个人脸框中的第一人脸框和第二人脸框之间的重合度大于或等于预设阈值,则将第一人脸框和第二人脸框进行合并,得到合并人脸框。

例如,通过第一人脸检测模型检测到人脸框b1和人脸框b2,通过第二人脸检测模型检测到人脸框b3、人脸框b4和人脸框b5。若人脸框b2和人脸框b4的重合度大于或等于预设阈值,则可以将人脸框b2和人脸框b4合并为人脸框b2’,并可以将人脸框b2’作为人脸框b2和人脸框b4的人脸框合并结果,即,可以将人脸框b2’作为人脸框b2和人脸框b4的合并人脸框。

作为该实现方式的一个示例,将第一人脸框和第二人脸框进行合并,得到合并人脸框,包括:将合并人脸框确定为第一人脸框和第二人脸框中的一个人脸框。

例如,若人脸框b2和人脸框b4的重合度大于或等于预设阈值,则可以将人脸框b2和人脸框b4的合并人脸框确定为人脸框b2或者人脸框b4。

作为该实现方式的另一个示例,作为该实现方式的一个示例,将第一人脸框和第二人脸框进行合并,得到合并人脸框,包括:根据第一人脸框的顶点坐标和第二人脸框的顶点坐标,确定合并人脸框的顶点坐标。

例如,可以将第一人脸框和第二人脸框的相应的顶点坐标的中点确定为合并人脸框的顶点坐标。在该例子中,若第一人脸框和第二人脸框的重合度大于或等于预设阈值,则可以将第一人脸框和第二人脸框的左上角顶点坐标的中点作为合并人脸框的左上角顶点坐标,将第一人脸框和第二人脸框的右上角顶点坐标的中点作为合并人脸框的右上角顶点坐标,将第一人脸框和第二人脸框的左下角顶点坐标的中点作为合并人脸框的左下角顶点坐标,将第一人脸框和第二人脸框的右下角顶点坐标的中点作为合并人脸框的右下角顶点坐标,从而确定合并人脸框的大小和位置。其中,合并人脸框可以指第一人脸框和第二人脸框合并得到的人脸框。例如,若人脸框b2和人脸框b4的重合度大于或等于预设阈值,则可以将人脸框b2和人脸框b4的左上角顶点坐标的中点作为合并人脸框b2’的左上角顶点坐标,将人脸框b2和人脸框b4的右上角顶点坐标的中点作为合并人脸框b2’的右上角顶点坐标,将人脸框b2和人脸框b4的左下角顶点坐标的中点作为合并人脸框b2’的左下角顶点坐标,将人脸框b2和人脸框b4的右下角顶点坐标的中点作为合并人脸框b2’的右下角顶点坐标,从而确定合并人脸框b2’的大小和位置。

又如,可以根据第一人脸框的顶点坐标、第二人脸框的顶点坐标、第一人脸框包含人脸的概率和第二人脸框包含人脸的概率,确定合并人脸框的顶点坐标。在该例子中,可以采用下式确定合并人脸框的顶点坐标,

其中,p1表示第一人脸框包含人脸的概率,p2表示第二人脸框包含人脸的概率,(x1lt,y1lt)表示第一人脸框的左上角顶点坐标,(x1rt,y1rt)表示第一人脸框的右上角顶点坐标,(x1lb,y1lb)表示第一人脸框的左下角顶点坐标,(x1rb,y1rb)表示第一人脸框的右下角顶点坐标,(x2lt,y2lt)表示第二人脸框的左上角顶点坐标,(x2rt,y2rt)表示第二人脸框的右上角顶点坐标,(x2lb,y2lb)表示第二人脸框的左下角顶点坐标,(x2rb,y2rb)表示第二人脸框的右下角顶点坐标,(x3lt,y3lt)表示合并人脸框的左上角顶点坐标,(x3rt,y3rt)表示合并人脸框的右上角顶点坐标,(x3lb,y3lb)表示合并人脸框的左下角顶点坐标,(x3rb,y3rb)表示合并人脸框的右下角顶点坐标。

作为该实现方式的一个示例,可以在两个人脸框的几何中心之间的距离小于第一阈值时,确定两个人脸框的重合度大于或等于预设阈值。

作为该实现方式的另一个示例,可以在两个人脸框的重合面积大于第二阈值时,确定两个人脸框的重合度大于或等于预设阈值。

作为该实现方式的另一个示例,可以在两个人脸框中的第一人脸框覆盖第二人脸框的覆盖面积占第二人脸框的面积的比例大于第三阈值时,确定两个人脸框的重合度大于或等于预设阈值。

其中,第一人脸框指的是两个人脸框中的其中一个人脸框,第二人脸框指的是两个人脸框中的另一个人脸框,“第一”和“第二”在此仅为表述和指代的方便,并不意味着在本公开的具体实现方式中一定会有与之对应的“第一人脸框”和“第二人脸框”。

需要说明的是,尽管以以上实现方式介绍了确定两个人脸框的重合度大于或等于预设阈值的方式如上,但本领域技术人员能够理解,本公开应不限于此。本领域技术人员可以根据实际应用场景需求和/或个人喜好灵活设置确定两个人脸框的重合度大于或等于预设阈值的方式。

在步骤s122中,根据人脸框合并结果,确定待检测图像的人脸检测结果。

例如,若人脸框b1、人脸框b3和人脸框b5中任意两个人脸框的重合度均小于预设阈值,人脸框b2和人脸框b4的人脸框合并结果为人脸框b2’,则可以确定待检测图像的人脸检测结果包括人脸框b1、人脸框b2’、人脸框b3和人脸框b5。

图3示出根据本公开一实施例的人脸检测方法的一示例性的流程图。如图3所示,该方法可以包括步骤s31至步骤s34。

在步骤s31中,对待处理图像进行基于灰度的均衡化处理,其中,基于灰度的均衡化处理用于增大待处理图像的像素值所分布的灰度级别区域。

本实施例中的待处理图像可以为灰度图像,也可以为非灰度图像。非灰度图像可以为rgb(红绿蓝)图像等。当然,非灰度图像也可以为除了rgb图像之外的其他形式的图像,如yuv(明亮度色度)图像等。本实施例不限制待处理图像的具体形式。

在实际应用中,由于暗光、逆光、过度曝光或者其他复杂光照因素往往会使待处理图像的图像质量受到影响,因此,这些因素的存在通常不利于人脸检测。例如,暗光场景(包括部分暗光场景等)下的待处理图像中的至少部分图像区域内的像素值(如灰度图像的像素值)通常会集中在较低的数值区域范围,这使得待处理图像中的至少部分图像区域的纹理梯度较小,从而会使待处理图像中的目标对象(如人脸等)的特征较为模糊,这往往会导致在针对暗光场景下的待处理图像进行图像处理时,存在无法获得检测结果或者获得的检测结果的准确率较低的现象。再例如,由于过度曝光场景下的整体光线非常明亮,逆光场景下的背景光线非常明亮,复杂光照场景下的光线的多样性等因素,往往会使待处理图像中的目标对象的轮廓以及细节纹理等目标对象的至少部分特征较为模糊,因此,在直接针对过度曝光、逆光或者复杂光照等场景下的待处理图像进行图像处理时,往往会存在无法获得检测结果或者检测结果的准确率较低的现象。本实施例通过对待处理图像进行基于灰度的均衡化处理,可以使待处理图像的对比度和/或亮度等指标得到较为合理的调整,从而可以在一定程度上避免暗光、过度曝光、逆光以及复杂光照等因素对待处理图像的图像质量的影响,进而有利于提高人脸检测结果的准确性。

在本实施例中,可以对待处理图像的全部区域进行基于灰度的均衡化处理,也可以对待处理图像的部分区域进行基于灰度的均衡化处理,例如,可以针对待处理图像中的除外边框之外的其他区域进行基于灰度的均衡化处理。

在步骤s32中,根据均衡化处理后的待处理图像,确定待检测图像。

例如,可以将待检测图像确定为均衡化处理后的待处理图像。

在步骤s33中,通过至少两个不同的人脸检测模型检测待检测图像中的人脸框。

其中,对步骤s33参见上文对步骤s11的描述。

在步骤s34中,根据至少两个不同的人脸检测模型检测到的至少一个人脸框,确定待检测图像的人脸检测结果。

其中,对步骤s34参见上文对步骤s12的描述。

在一种可能的实现方式中,对待处理图像进行基于灰度的均衡化处理,包括:对待处理图像进行直方图均衡化处理。

作为该实现方式的一个示例,对待处理图像进行基于灰度的均衡化处理,包括:若待处理图像为灰度图像,则对待处理图像进行直方图均衡化处理。

在该示例中,若待处理图像为灰度图像,则对于暗光场景或者过度曝光场景的待处理图像而言,在经过均衡化处理后,待处理图像的像素值不再局限于一个小范围区域内(如较低像素值范围区域内或者较高像素值范围区域内),而是被等比例的扩展到大范围的多个灰度级别区域(如0-255范围区域),并均匀分布,从而使均衡化处理后的待处理图像通常具有与正常图像较为接近的对比度以及亮度等指标;例如,相比于暗光场景的原始的待处理图像而言,均衡化处理后的待处理图像通常具有较高的对比度及亮度等指标;再例如,相比于过度曝光场景的原始的待处理图像而言,均衡化处理后的待处理图像通常具有较低的对比度及亮度等指标。

在该示例中,若待处理图像为灰度图像,则对于逆光场景或者复杂光照场景等的待处理图像而言,待处理图像中的过暗以及过亮的区域的像素值不再局限于一个小范围区域内,而是被等比例的扩展到大范围的多个灰度级别区域(如0-255范围区域),并均匀分布,从而使待处理图像中的过暗或者过亮的区域在经由均衡化处理后,具有与正常图像较为接近的对比度和亮度等指标。

其中,上述正常图像可以指图像质量较佳的图像。例如,人脸轮廓清晰明显,且人脸纹理细节清晰明显的图像。

由上述描述可知,本实施例确定的待检测图像的画面会更清晰,人脸的轮廓以及细节纹理等特征会更加明显,从而有利于进行人脸检测,进而有利于提高人脸检测结果的准确性。

本实施例除了可以采用直方图均衡化处理的方式来对待处理图像进行基于灰度的均衡化处理,也可以采用其他方式来对待处理图像进行基于灰度的均衡化处理。例如,可以通过直接调节对比度和/或亮度等指标的方式来对待处理图像进行基于灰度的均衡化处理。

在一种可能的实现方式中,在待处理图像为rgb图像(下述称为待处理图像)的情况下,首先,可以将待处理图像转换为yuv图像,然后,对yuv图像的y通道像素值进行直方图均衡化处理,之后,将均衡化处理后的yuv图像转换为rgb图像,上述转换后的rgb图像即为本实施例中的均衡化处理后的待处理图像。由于y通道表示明亮度,即灰阶值,因此,该实现方式通过对yuv图像中的y通道像素值进行直方图均衡化处理,可以使均衡化处理后的yuv图像在灰度方面,具有与正常图像较为接近的对比度和亮度等指标,而由均衡化处理后的yuv图像转换为rgb图像后,转换后的rgb图像的整体对比度和亮度等指标与正常图像的对比度和亮度等指标较为接近。由此可知,均衡化处理后的rgb图像的画面会更加清晰,人脸的轮廓以及纹理细节等特征会更加明显,从而有利于进行人脸检测,进而有利于人脸检测结果的准确性。

在一种可能的实现方式中,在待处理图像为除rgb图像之外的其他形式的非灰度图像的情况下,同样可以采用先将待处理图像转换为yuv图像(如直接转换为yuv图像,再如先转换为rgb图像,再由rgb图像转换为yuv图像等),然后,对yuv图像的y通道像素值进行直方图均衡化处理,之后,再将均衡化处理后的yuv图像转换为相应形式的非灰度图像的方式,来获得均衡化处理后的待处理图像。针对除rgb图像之外的其他形式的非灰度图像进行基于灰度的均衡化处理的过程,在此不再一一例举说明。

在一种可能的实现方式中,在待处理图像为rgb图像的情况下,首先,可以将待处理图像转换为灰度图像,然后,对转换后的灰度图像进行直方图均衡化处理,直方图均衡化处理后的灰度图像即为本实施例中的均衡化处理后的待处理图像。由于待处理图像被转换为灰度图像,而均衡化处理后的待处理图像对应的灰度图像的画面会更加清晰,人脸的轮廓以及细节纹理等特征会更加明显,因此,本实施例有利于进行人脸检测,进而有利于提高人脸检测结果的准确性。

在一种可能的实现方式中,在待处理图像为除rgb图像之外的其他形式的非灰度图像的情况下,同样可以采用先将待处理图像转换为灰度图像,并对转换后的灰度图像进行直方图均衡化处理的方式,来获得均衡化处理后的待处理图像。针对除rgb图像之外的其他形式的非灰度图像进行基于灰度的均衡化处理的过程,在此不再一一例举说明。

在一种可能的实现方式中,本实施例在对待处理图像进行基于灰度的均衡化处理之前,可以先判断待处理图像的像素值所分布的灰度级别区域是否小于第四阈值,如果小于第四阈值,再执行对待处理图像进行基于灰度的均衡化处理的操作;而如果不小于第四阈值,则可以不再执行对待处理图像进行基于灰度的均衡化处理的操作。上述灰度级别区域可以反映出待处理图像是否存在暗光、逆光、过度曝光以及复杂光照等情况。当然,本实施例也可以不执行上述判断操作,而直接对待处理图像进行基于灰度的均衡化处理。

在一种可能的实现方式中,可以通过下述方式来确定待处理图像的像素值所分布的灰度级别区域:判断待处理图像中任一像素值(例如,像素的灰度值,再例如,像素的r通道数值、g通道数值以及b通道的数值的平均值等)对应的像素点数量是否达到第五阈值,如果达到第五阈值,则将上述像素值纳入到灰度级别区域的范围,而如果没有达到第五阈值,则不会将上述像素值纳入到灰度级别区域的范围。

图4示出根据本公开一实施例的人脸检测方法的另一示例性的流程图。如图4所示,该方法可以包括步骤s11至步骤s14。

在步骤s11中,通过至少两个不同的人脸检测模型检测待检测图像中的人脸框。

在步骤s12中,根据至少两个不同的人脸检测模型检测到的至少一个人脸框,确定待检测图像的人脸检测结果。

在步骤s13中,对待检测图像中的人脸区域进行切割,得到至少一个器官图像块。

在一种可能的实现方式中,可以从待检测图像的人脸区域中切割出一个或者两个或者更多数量的器官图像块。其中,切割出的器官图像块可以包括眼睛图像块、眉毛图像块和嘴巴图像块中的一个或多个。其中,眼睛图像块可以为左眼图像块、右眼图像块或者双眼图像块;眉毛图像块可以为左眉图像块、右眉图像块或者双眉图像块;嘴巴图像块可以为上嘴唇图像块、下嘴唇图像块或者双唇图像块(即包含有上嘴唇和下嘴唇的图像块)。

在一种可能的实现方式中,可以根据图像的初始人脸关键点信息,对待检测图像中的人脸区域进行切割,得到待检测图像中的人脸区域的至少一个器官图像块。例如,可以根据待检测图像的初始人脸关键点信息中的初始眼睛关键点,确定出左眼所在区域、右眼所在区域或者双眼所在区域,并可以根据左眼所在区域、右眼所在区域或者双眼所在区域对待检测图像的人脸区域进行切割,得到眼睛图像块;又如,可以根据待检测图像的初始人脸关键点信息中的初始眉毛关键点,确定出左眉所在区域、右眉所在区域或者双眉所在区域,并可以根据左眉所在区域、右眉所在区域或者双眉所在区域对待检测图像的人脸区域进行切割,得到眉毛图像块;又如,可以根据待检测图像的初始人脸关键点信息中的初始嘴巴关键点,确定出上嘴唇所在区域、下嘴唇所在区域或者双唇所在区域,并可以根据上嘴唇所在区域、下嘴唇所在区域或者双唇所在区域对待检测图像的人脸区域进行切割,得到嘴巴图像块。在该实现方式中,可以对切割出的器官图像块进行放大或者缩小调整,以使调整后的器官图像块具有预定大小。其中,预定大小可以根据神经网络对输入的图像块的要求来决定。

在一种可能的实现方式中,可以从待检测图像的人脸区域中切割出左眼图像块、右眼图像块以及嘴巴图像块。

在一种可能的实现方式中,图像的初始人脸关键点信息可以包括各初始人脸关键点的编号信息以及各初始人脸关键点在待检测图像中的坐标信息等。其中,初始人脸关键点信息所包括的初始人脸关键点的数量可以小于或者等于某一设定值。例如,初始人脸关键点信息包括21或者68或者106个初始人脸关键点。

在一种可能的实现方式中,可以采用神经网络提取图像的初始人脸关键点,获得初始人脸关键点信息。其中,神经网络可以为相关技术中的神经网络。其中,神经网络可以包括用于检测人脸位置的人脸检测深度神经网络以及用于检测人脸关键点的人脸关键点深度神经网络。该实现方式可以先将图像输入至人脸检测深度神经网络中,由人脸检测深度神经网络输出待检测图像的人脸位置信息(如人脸外接框信息),然后,可以将待检测图像以及人脸位置信息输入至人脸关键点深度神经网络中,由人脸关键点深度神经网络根据人脸位置信息确定出待检测图像中需要检测的区域,并可以针对需要检测的区域的图像进行人脸关键点检测,从而人脸关键点深度神经网络可以针对待检测图像输出初始人脸关键点信息。

在步骤s14中,提取至少一个器官图像块的器官的关键点信息。

在一种可能的实现方式中,可以设置有一个或者两个或者更多数量的神经网络,且各神经网络分别用于从其输入的器官图像块中提取出相应的器官关键点信息。

图5示出根据本公开一实施例的人脸检测方法中步骤s14的一示例性的流程图。如图5所示,步骤s14可以包括步骤s141和步骤s142。

在步骤s141中,将至少一个器官图像块分别输入至少一个神经网络,其中,不同的器官图像块对应不同的神经网络。

在一种可能的实现方式中,不同类别的器官图像块对应不同的神经网络。也就是说,如果两个器官图像块中的器官的类别不相同(例如,某一器官图像块中的器官为眼睛,另一器官图像块中的器官为嘴巴),则这两个器官图像块需要提供给不相同的两个神经网络。如果两个器官图像块中的器官的类别相同(例如,某一器官图像块中的器官为左眼,另一器官图像块中的器官为右眼),则这两个器官图像块可以提供给同一个神经网络。神经网络可以为针对人脸某器官的关键点信息定位任务采用监督、半监督或无监督等方式预先训练完成的神经网络,训练的具体方式本实施例并不限定。例如,神经网络可采用监督方式预先训练完成,如采用人脸某器官的标注数据预先训练神经网络。神经网络的网络结构可以根据关键点信息定位任务的需要灵活设计,本实施例并不限制。例如,神经网络可以包括但不限于卷积层、非线性relu层、池化层、全连接层等,网络层数越多,网络越深。又如,神经网络的网络结构可以采用但不限于alexnet、深度残差网络(deepresidualnetwork,resnet)或vggnet(visualgeometrygroupnetwork)等网络的结构。

在一种可能的实现方式中,可以针对眼睛图像块设置用于眼部关键点信息定位的神经网络。该用于眼部关键点信息定位的神经网络可以针对眼部关键点信息定位任务采用监督、半监督或无监督等方式预先训练完成。例如,可以采用眼睛关键点信息和/或眼睑线相关的标注数据预先训练该用于眼部关键点信息定位的神经网络。可以针对嘴巴图像块设置用于唇线定位的神经网络。该用于唇线定位的神经网络可以针对嘴唇关键点信息定位任务采用监督、半监督或无监督等方式预先训练完成。例如,采用唇线相关的标注数据预先训练该用于唇线定位的神经网络。例如,可以将从图像的人脸区域中切割出的左眼图像块和右眼图像块分别输入到用于眼部关键点信息定位的神经网络中,可以将从图像的人脸区域中切割出的嘴巴图像块输入到用于唇线定位的神经网络中。

可以理解,本实施例还可以从图像的人脸区域中切割出左眉图像块、右眉图像块、鼻子图像块等人脸其他器官的图像块,并可以对这些图像块经预先采用眉毛标注数据或鼻子标注数据训练过的神经网络分别进行关键点信息的提取,在此不再赘述。

在步骤s142中,通过至少一个神经网络分别提取各自输入的器官图像块的器官的关键点信息。

在一种可能的实现方式中,用于眼部关键点信息定位的神经网络从眼睛图像块中提取出的器官的关键点信息可以包括:眼睛关键点信息和眼睑线信息中的一项或两项。其中,眼睛关键点信息可以为眼角、眼睛中心等关键点信息。眼睑线信息可以包括由眼睑的多个关键点表示的轨迹信息。需要说明的是,本实施例中的轨迹信息可以为由多个关键点连成的轨迹,也可以为由多个关键点拟合得到的拟合线。例如,眼睑线信息可以包括由单眼上眼睑处或下眼睑处的10-15个关键点表示的轨迹信息,眼睑线信息可以包括上眼睑线信息和/或下眼睑线信息。

在实际应用过程中,并非关键点数量越多系统性能就越优越。例如,关键点数量多一定程度上有利于提高描述眼睛的形状的准确度,但也带来较大的计算开销、降低运算速度。在对用于眼部关键点信息定位的神经网络的效率以及描述眼睛的形状的准确度等因素进行综合考虑后,可将单眼上眼睑处或下眼睑处的10-15个关键点表示的轨迹信息作为眼睑线信息,使用该眼睑线信息所描述出的眼睛的形状的准确度能够满足目前对眼睛形状有精准要求的多种应用的需求,还有利于检测眼部状态,如睁眼状态、闭眼状态等检测。

需要说明的是,本实施例中的上眼睑线和下眼睑线在内眼角处的交汇点可以为内眼角关键点,上眼睑线和下眼睑线在外眼角处的交汇点可以为外眼角关键点,内眼角关键点可以被划归为上眼睑线的关键点,也可以被划归为下眼睑线的关键点。外眼角关键点可以被划归为上眼睑线的关键点,也可以被划归为下眼睑线的关键点。当然,内眼角关键点和外眼角关键点也可以既不属于上眼睑线的关键点,也不属于下眼睑线的关键点,而独立存在。另外,用于眼部关键点信息定位的神经网络从左眼图像块提取出的器官关键点的数量与从右眼图像块中提取出的器官关键点的数量可以相同,也可以不同。

本实施例通过用于眼部关键点信息定位的神经网络提取出的眼睑线信息中包括的关键点的数量可以大于初始人脸关键点信息所包含的位于眼睛位置处的关键点的数量。通过用于眼部关键点信息定位的神经网络提取出的用于表示眼睑线的各关键点可以拟合出表示眼睛形状的曲线a,如可以拟合出上眼睑线曲线或下眼睑线曲线。通过初始人脸关键点信息(例如包括106个初始人脸关键点)中的位于眼睛位置处的关键点可以拟合出表示眼睑的曲线b。通过实际计算检测,曲线a与实际眼睑线形状的曲线的误差度,为曲线b与实际眼睑线形状的曲线的误差度的1/5-1/10。由此可知,本实施例通过针对眼睛图像块单独提取眼睑线信息,可以有效提高利用提取出的关键点信息描述眼睛的形状的准确度。在通常情况下,由于眼睛会随着人的面部的变化(如表情变化)而发生较为明显的变化。本实施例的技术方案有利于提高眼部关键点信息提取的精度和准确度,提高后续基于这些关键点信息应用的准确性。例如在确定人的面部表情时,可以将眼睑线信息作为一个重要的参考因素,有利于提高确定人的面部表情的准确性;又例如在进行图像渲染时,可基于眼睑线并采用计算机绘图方式在图像的眼部绘制如贴纸等渲染信息,提高渲染信息绘制的准确性;再例如,可基于眼睑线对图像进行美颜或美妆等处理,提高美颜或美妆效果。

在一种可能的实现方式中,用于唇线定位的神经网络从嘴巴图像块中提取出的器官关键点可以包括嘴唇线的关键点。例如,用于唇线定位的神经网络从嘴巴图像块中提取出的器官关键点可以包括上嘴唇线的关键点和下嘴唇线的关键点。其中,上嘴唇线的关键点可以包括上嘴唇上唇线的关键点,也可以包括上嘴唇上唇线的关键点和上嘴唇下唇线的关键点。下嘴唇线的关键点可以包括下嘴唇上唇线的关键点,也可以包括下嘴唇上唇线的关键点和下嘴唇下唇线的关键点。该实现方式中的唇线信息可以包括由嘴唇轮廓的多个关键点表示的轨迹信息。例如,唇线信息可以包括由单唇上下轮廓处各自的16-21个关键点表示的轨迹信息。例如,上嘴唇的唇线可以为由上嘴唇上轮廓处的16-21个关键点以及上嘴唇下轮廓处的16-21个关键点一起表示的轨迹信息。又例如,下嘴唇的唇线可以为由下嘴唇上轮廓处的16-21个关键点以及下嘴唇下轮廓处的16-21个关键点一起表示的轨迹信息。

在实际应用过程中,并非关键点数量越多系统性能就越优越。例如,关键点数量多一定程度上有利于提高描述嘴唇的形状的准确度,但也带来较大的计算开销、降低运算速度。在对深度神经网络的效率以及描述嘴唇的形状的准确度等因素进行综合考虑后,可将单唇上下轮廓处各自的16-21个关键点表示的轨迹信息表示为唇线信息,使用唇线信息所描述出的嘴唇的形状的准确度能够满足目前对嘴唇形状或嘴巴状态检测有精准要求的多种应用的需求,还有利于对嘴巴张合状态,如张嘴状态、哈欠状态、闭嘴状态等检测。

需要说明的是,本实施例中的上嘴唇上唇线、上嘴唇下唇线、下嘴唇上唇线以及下嘴唇下唇线在两侧嘴角处的交汇点可以为两个嘴角关键点,任一嘴角关键点可以被划归为上嘴唇上唇线、上嘴唇下唇线、下嘴唇上唇线或者下嘴唇下唇线。当然,两个嘴角关键点也可以既不属于上嘴唇上唇线和上嘴唇下唇线,也不属于下嘴唇上唇线和下嘴唇下唇线,而独立存在。

本实施例通过用于唇线定位的神经网络提取出的嘴唇线的关键点的数量可以大于初始人脸关键点信息所包含的位于嘴巴位置处的关键点的数量。本实施例根据用于唇线定位的神经网络提取出的嘴唇线的关键点可以拟合出表示上嘴唇形状的曲线c,如可以拟合出上嘴唇上唇线曲线和上嘴唇下唇线曲线,这二条曲线形成曲线c;根据初始人脸关键点信息(例如包括106个初始人脸关键点)中的位于嘴巴位置处的关键点可以拟合出表示上嘴唇形状的曲线d。通过实际计算,本实施例的曲线c与实际上嘴唇形状的曲线的误差度,为曲线d与实际上嘴唇形状的曲线的误差度的1/5-1/10。由此可知,本实施例通过针对嘴巴图像块单独提取唇线的关键点,可以有效提高利用提取出的关键点描述嘴唇的形状的准确度。通常情况下,由于嘴巴会随着人的面部表情的变化而发生较为明显的变化。本实施例的技术方案有利于提高唇部关键点信息提取的精度和准确度,提高后续基于这些关键点信息应用的准确性。例如在确定人的面部表情时,可以将唇线作为一个重要的参考因素,有利于提高确定人的面部表情的准确性;又例如在进行图像渲染时,可基于唇线并采用计算机绘图方式在图像的唇部绘制如贴纸等渲染信息,提高渲染信息绘制的准确性;再例如,可基于唇线进行图像的美颜或美妆处理,提高美颜或美妆效果。

除了上述眼睑线信息、唇线信息之外,器官的关键点信息还可以包括鼻子关键点信息、眉毛关键点、眼睛中心等。本实施例获得的人脸的器官的关键点信息可以用于人脸的图像渲染、变脸处理、美颜处理、美妆处理、人脸识别、人脸状态检测、表情检测以及人脸属性(如男/女、年龄或者民族等属性)检测等应用,本实施例不限制获得的器官的关键点信息的具体应用范围。

在一种可能的实现方式中,该方法还可以包括:整合待检测图像的初始人脸关键点信息和各相应器官的关键点信息,获得待检测图像的人脸关键点信息。在该实现方式中,可以通过多种整合方式对初始人脸关键点信息和各相应器官的关键点信息进行整合处理。

作为该实现方式的一个示例,可以基于并集的整合方式,对初始人脸关键点信息和各相应器官的关键点信息进行整合处理。

在该示例中,首先,可以获取神经网络提取出的图像的初始人脸关键点,如获取到的初始人脸关键点可以为21或者68或者106个初始人脸关键点。

其次,可以对眼睑线的关键点、嘴唇线的关键点和眉毛线的关键点分别进行编号以及位置信息的转换。其中,用于眼部关键点信息定位的神经网络输出的眼睑线的关键点信息可以包括:针对眼睑线的关键点的预定排列顺序所设置的编号以及眼睑线的关键点在眼睛图像块中的坐标信息。本实施例可以按照预先设定的人脸关键点的排列顺序进行编号转换处理。本实施例中的位置信息的转换可以为:将眼睑线的关键点在眼睛图像块中的坐标信息映射到眼睑线的关键点在图像中的坐标信息。对嘴唇线的关键点和眉毛线的关键点进行编号以及位置信息的转换可以参照上述对眼睑线的关键点进行编号以及位置信息的转换描述,在此不再详细说明。另外,本实施例也可以对部分或者全部初始人脸关键点的编号进行转换处理。

最后,可以将编号以及位置信息转换处理后的眼睑线的关键点信息、嘴唇线的关键点信息和眉毛线的关键点信息与编号转换处理后的初始人脸关键点信息合并在一起,形成待检测图像的人脸关键点信息。

作为该实现方式的另一个示例,可以基于部分替换或者全部替换的整合方式,对初始人脸关键点信息和各相应器官的关键点信息进行整合处理。

首先,可以获取神经网络提取出的待检测图像的初始人脸关键点,如获取到的初始人脸关键点可以为21或者68或者106个初始人脸关键点。

其次,可以对眼睑线的关键点、嘴唇线的关键点和眉毛线的关键点分别进行编号以及位置信息的转换,对部分或者全部初始人脸关键点的编号进行转换处理,具体如上一个示例中的描述,在此不再详细说明。

最后,可以利用编号以及位置信息转换处理后的眼睑线的关键点信息替换初始人脸关键点信息中的位于眼睛位置处的部分关键点信息。当然,本实施例也可以利用编号以及位置信息转换处理后的眼睑线的关键点信息替换初始人脸关键点信息中的位于眼睛位置处的所有关键点信息。本实施例还可以利用编号以及位置信息转换处理后的嘴唇线的关键点信息和眉毛线的关键点信息替换编号转换处理后的初始人脸关键点信息中的位于嘴唇位置处和眉毛位置处的所有关键点信息,形成待检测图像的人脸关键点信息。

在一种可能的实现方式中,从图像中提取的最终的人脸关键点信息可为大于106的某一数量的关键点,如可根据业务应用的需要提取186、240、220或274点关键点。例如,人脸关键点信息可以包括眼部关键点信息、嘴部关键点信息、眉毛区域包括的关键点、鼻子区域包括的关键点和脸部轮廓的关键点。其中,眼部关键点信息可以包括48至72个眼部关键点。眼部关键点信息可以包括用于定位眼睛位置的4至24个关键点和眼睑线信息包括的44至48关键点。用于定位眼睛位置的4至24个关键点可以包括用于定位眼睛区域的关键点和用于定位眼球位置的关键点。眼睑线信息包括的44至48关键点可以包括双眼对应的四条眼睑线。嘴部关键点信息可以包括用于定位嘴巴位置的0至20个关键点,以及唇线(例如双唇对应的两条唇线)包括的60至64个关键点。眉毛区域可以包括26至58个关键点。鼻子区域可以包括15至27个关键点。脸部轮廓可以包括33至37个关键点。采用上述数量和比例的人脸关键点信息可以在计算开销、定位精度和准确度各方面较好地权衡,满足多数业务应用的精准要求。

在一种可能的实现方式中,神经网络可以包括输入层、多个用于提取特征的卷积层、至少一个用于确定器官关键点在器官图像块中的坐标信息的全连接层以及输出层。用于训练神经网络的样本数据集可以包括多个图像样本。每一个图像样本中可以均包含有人脸图像。每一个图像样本可以都标注有人脸关键点标注数据,例如,每一个图像样本可以都标注有多于106个关键点的编号以及各关键点在图像样本中的坐标信息。在训练神经网络时,可以先从样本数据集中选取一个图像样本,并将图像样本输入给神经网络,神经网络的输入层可以根据图像样本的标注数据将图像样本剪切出眼睛图像块、眉毛图像块或者嘴巴图像块等器官图像块,并调整剪切出的器官图像块的大小,之后,输入层可以对器官图像块中的各关键点的编号以及坐标信息进行转换处理,使标注数据中的相应器官关键点在整个图像样本中的所有关键点中的编号以及相应器官关键点在图样本中的坐标信息转换为在器官图像块中的所有关键点中的编号以及在器官图像块中的坐标信息;剪切并调整大小后的器官图像块可以提供给用于提取特征的卷积层,由卷积层提取器官图像块的图像特征,之后,用于确定器官关键点在器官图像块中的坐标信息的全连接层可以根据提取出的图像特征确定器官图像块中的各关键点的编号以及各关键点的坐标信息,并可以通过神经网络的输出层输出多组数据,每一组数据可以均包括一个关键点的编号以及该关键点的坐标信息。本实施例可以利用输入层转换处理后的关键点的编号以及关键点的坐标信息对神经网络的输出层输出的多组数据进行监督学习;重复上述训练过程,在神经网络输出的各关键点的坐标信息的误差满足预定误差要求时,神经网络训练成功。

在一种可能的实现方式中,本实施例中的图像样本中的各器官关键点标注数据可以通过下述过程标注:首先,可以确定人脸的相应器官的曲线控制点(如眼睛的上/下眼睑线控制点、嘴巴的上/下嘴唇上/下唇线控制点等);其次,可以根据上述曲线控制点形成一曲线;再次,可以采用插值方式(如均匀插值方式或者非均匀插值方式)在该曲线中插入多个点,例如,如果该曲线为单眼上眼睑线或下眼睑线,则可以插入10-15(如11)个点;再例如,如果该曲线为嘴巴的上嘴唇上/下唇线,则可以插入16-21(如17)个点;再例如,如果该曲线为嘴巴的下嘴唇上/下唇线,则可以插入16-21(如16)个点。在曲线中插入的点在图像样本中的坐标信息即为相应器官关键点标注数据中的坐标信息,在曲线中插入的点的顺序编号可以被转换为图像样本中的相应器官关键点标注数据中的编号。

需要说明的是,本实施例中针对一条曲线所插入的点的数量可以根据实际需求确定。例如,针对一条曲线所插入的点的数量需要保证:经插入的点所拟合形成的曲线相对人脸的实际器官曲线的误差度,为由曲线控制点形成的曲线相对人脸的实际器官曲线的误差度的1/5-1/10。由此可知,本实施例为图像样本所形成的器官关键点标注数据所表达出的形状,能够更接近实际的器官形状,从而更有利于训练神经网络。

在一种可能的实现方式中,该方法还可以包括:通过神经网络从待检测图像中提取眼睑线信息,其中,眼睑线信息包括由眼睑的多个关键点表示的轨迹信息。

在一种可能的实现方式中,待检测图像中的人脸区域可以包括左眼区域、右眼区域或者双眼区域。该实现方式可以根据待检测图像的初始人脸关键点信息,对待检测图像的人脸区域进行切割,得到单眼图像块或双眼图像块。单眼图像块或双眼图像块可以作为神经网络的输入图像。

在一种可能的实现方式中,眼睑线信息可以包括由单眼上眼睑处或下眼睑处的10-15个关键点表示的轨迹信息。

在一种可能的实现方式中,神经网络可以是基于样本数据集训练获得的神经网络。用于训练神经网络的样本数据集可以包括眼部关键点标注数据。眼部关键点标注数据的设置方式可以包括:首先,确定眼睑线的曲线控制点;其次,根据曲线控制点形成第一曲线;最后,采用插值方式在该第一曲线中插入多个点,插入的点的信息即为眼部关键点标注数据。经插入的点拟合形成的第二曲线相对真实的眼睑线的误差度,为第一曲线相对真实的眼睑线的误差度的1/5-1/10。

其中,眼睑线信息以及神经网络的训练过程等相关内容的具体描述可以参见上文,在此不再详细说明。

在一种可能的实现方式中,该方法还可以包括:通过神经网络从待检测图像中提取唇线信息,其中,唇线信息包括由嘴唇轮廓的多个关键点表示的轨迹信息。

在一种可能的实现方式中,待检测图像中的人脸区域可以包括上嘴唇区域和/或下嘴唇区域。该实现方式可以根据待检测图像的初始人脸关键点信息,对待检测图像的人脸区域进行切割,得到上嘴唇图像块、下嘴唇图像块或者双唇图像块。上嘴唇图像块、下嘴唇图像块或者双唇图像块可以作为神经网络的输入图像。

在一种可能的实现方式中,唇线信息可以包括由单唇上下轮廓处各自的16-21个关键点表示的轨迹信息。

在一种可能的实现方式中,神经网络可以是基于样本数据集训练获得的神经网络。用于训练神经网络的样本数据集可以包括嘴唇部关键点标注数据。嘴唇部关键点标注数据的设置方式可以包括:首先,确定唇线的曲线控制点;其次,根据曲线控制点形成第一曲线;最后,采用插值方式在该第一曲线中插入多个点,插入的点的信息即为嘴唇部关键点标注数据。经插入的点拟合形成的第二曲线相对真实的唇线的误差度,为第一曲线相对真实的唇线的误差度的1/5-1/10。

其中,唇线信息以及神经网络的训练过程等相关内容的具体描述可以参见上文,在此不再详细说明。

图6示出根据本公开一实施例的人脸检测装置的框图。如图6所示,该装置包括:检测模块61,用于通过至少两个不同的人脸检测模型检测待检测图像中的人脸框;第一确定模块62,用于根据至少两个不同的人脸检测模型检测到的至少一个人脸框,确定待检测图像的人脸检测结果。

在一种可能的实现方式中,至少两个不同的人脸检测模型对应于不同的人脸图像占比。

图7示出根据本公开一实施例的人脸检测装置的一示例性的框图。如图7所示:

在一种可能的实现方式中,至少一个人脸框具体为多个人脸框;第一确定模块62包括:合并子模块621,用于基于至少两个人脸检测模型检测到的多个人脸框的位置,对多个人脸框进行合并处理,得到人脸框合并结果;确定子模块622,用于根据人脸框合并结果,确定待检测图像的人脸检测结果。

在一种可能的实现方式中,合并子模块621用于:若多个人脸框中的第一人脸框和第二人脸框之间的重合度大于或等于预设阈值,则将第一人脸框和第二人脸框进行合并,得到合并人脸框。

在一种可能的实现方式中,合并子模块621用于:将合并人脸框确定为第一人脸框和第二人脸框中的一个人脸框。

在一种可能的实现方式中,该装置还包括:均衡化处理模块63,用于对待处理图像进行基于灰度的均衡化处理,其中,基于灰度的均衡化处理用于增大待处理图像的像素值所分布的灰度级别区域;第二确定模块64,用于根据均衡化处理后的待处理图像,确定待检测图像。

在一种可能的实现方式中,均衡化处理模块63用于:对待处理图像进行直方图均衡化处理。

在一种可能的实现方式中,该装置还包括:切割模块65,用于对待检测图像中的人脸区域进行切割,得到至少一个器官图像块;提取模块66,用于提取至少一个器官图像块的器官的关键点信息。

在一种可能的实现方式中,提取模块66包括:输入子模块661,用于将至少一个器官图像块分别输入至少一个神经网络,其中,不同的器官图像块对应不同的神经网络;提取子模块662,用于通过至少一个神经网络分别提取各自输入的器官图像块的器官的关键点信息。

图8是根据一示例性实施例示出的一种用于人脸检测的装置800的框图。例如,装置800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。

参照图8,装置800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(i/o)的接口812,传感器组件814,以及通信组件816。

处理组件802通常控制装置800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。

存储器804被配置为存储各种类型的数据以支持在装置800的操作。这些数据的示例包括用于在装置800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。

电源组件806为装置800的各种组件提供电力。电源组件806可以包括电源管理系统,一个或多个电源,及其他与为装置800生成、管理和分配电力相关联的组件。

多媒体组件808包括在所述装置800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当装置800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。

音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(mic),当装置800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。

i/o接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。

传感器组件814包括一个或多个传感器,用于为装置800提供各个方面的状态评估。例如,传感器组件814可以检测到装置800的打开/关闭状态,组件的相对定位,例如所述组件为装置800的显示器和小键盘,传感器组件814还可以检测装置800或装置800一个组件的位置改变,用户与装置800接触的存在或不存在,装置800方位或加速/减速和装置800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如cmos或ccd图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。

通信组件816被配置为便于装置800和其他设备之间有线或无线方式的通信。装置800可以接入基于通信标准的无线网络,如wifi,2g或3g,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。

在示例性实施例中,装置800可以被一个或多个应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。

在示例性实施例中,还提供了一种非易失性计算机可读存储介质,例如包括计算机程序指令的存储器804,上述计算机程序指令可由装置800的处理器820执行以完成上述方法。

图9是根据一示例性实施例示出的一种用于人脸检测的装置1900的框图。例如,装置1900可以被提供为一服务器。参照图9,装置1900包括处理组件1922,其进一步包括一个或多个处理器,以及由存储器1932所代表的存储器资源,用于存储可由处理组件1922的执行的指令,例如应用程序。存储器1932中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1922被配置为执行指令,以执行上述方法。

装置1900还可以包括一个电源组件1926被配置为执行装置1900的电源管理,一个有线或无线网络接口1950被配置为将装置1900连接到网络,和一个输入输出(i/o)接口1958。装置1900可以操作基于存储在存储器1932的操作系统,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm或类似。

在示例性实施例中,还提供了一种非易失性计算机可读存储介质,例如包括计算机程序指令的存储器1932,上述计算机程序指令可由装置1900的处理组件1922执行以完成上述方法。

本公开可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本公开的各个方面的计算机可读程序指令。

计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。

这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。

用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如smalltalk、c++等,以及常规的过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。

这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。

这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。

也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。

附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

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