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

文档序号:12365443阅读:196来源:国知局
一种人脸检测方法及装置与流程

本发明涉及图像处理及人脸识别领域,尤其涉及一种人脸检测方法及装置。



背景技术:

人脸检测方法是人脸识别的基础,准确无误地从图像中检测出人脸图像对于识别非常重要。在一些场景下,需要计算机自动检测出人脸以供进行识别,这就要求人脸检测方法能够同时检测出正脸图像和侧脸图像,另外,针对任意大小的图像进行处理也提出了要求。

目前,人脸检测方法只能检测正脸,或者只能检测侧脸,并且一般通过固定大小的图像进行处理。

显然,对于需要同时检测正脸和侧脸的任务,只能分别检测,由此造成检测速度过慢,另外也不能对任意大小的图像进行处理。



技术实现要素:

本发明实施例提供了一种人脸检测方法及装置,能够对任意大小的图像进行处理,并且能够同时检测正脸和侧脸,提高检测速度。

有鉴于此,本发明第一方面提供了一种人脸检测方法,包括:

通过第一深度卷积网络获取候选人脸图像,所述第一深度卷积网络为用于初检的全卷积网络;

通过第二深度卷积网络对所述候选人脸图像进行计算,得到所述候选人脸图像的可靠性数值,所述第二深度卷积网络为用于校验的深度卷积网络;

若所述候选人脸图像的可靠性数值大于预设阈值,则判定为最终人脸图像。

可选的:

所述通过第一深度卷积网络获取候选人脸图像包括:

通过第一深度卷积网络生成人脸热力图;

从所述人脸热力图中确定局部最热点,并将所述局部最热点作为候选人脸位置;

根据所述候选人脸位置获取候选人脸图像。

可选的:

所述根据所述候选人脸位置获取候选人脸图像之前包括:

判断所述候选人脸位置是否存在重叠;

若是,则合并重叠的所述候选人脸位置。

可选的:

所述通过第一深度卷积网络获取候选人脸图像之前包括:

生成第一深度卷积网络;

采集人脸图像和非人脸图像,并将所述人脸图像和非人脸图像作为训练样本;

通过所述训练样本训练所述第一深度卷积网络。

可选的:

所述第二深度卷积网络为多个深度卷积网络,通过第二深度卷积网络对所述候选人脸图像进行计算,得到所述候选人脸图像的可靠性数值包括:

通过所述多个深度卷积网络分别对所述候选人脸图像进行计算,得到所述候选人脸图像的多个可靠性数值;

根据所述多个可靠性数值得到所述候选人脸图像的可靠性数值。

可选的:

所述第一深度卷积网络包含多层,依次为:第一输入层、第一卷积层、第一输出层、第一最大池化层、第二输出层、第一激活函数层、第二卷积层、第三输出层、第二激活函数层、第三卷积层以及第四输出层;所述第二深度卷积网络包括多层,依次为:第二输入层、第四卷积层、第五输出层、第二最大池化层、第六输出层、第三激活函数层、第五卷积层、第七输出层、第三最大池化层、第八输出层、第四激活函数层、全连接层以及第九输出层。

本发明第二方面提供了一种人脸检测装置,包括:

获取模块,用于通过第一深度卷积网络获取候选人脸图像,所述第一深度卷积网络为用于初检的全卷积网络;

第一处理模块,用于通过第二深度卷积网络对所述候选人脸图像进行计算,得到所述候选人脸图像的可靠性数值,所述第二深度卷积网络为预置的用于校验的深度卷积网络;

判定模块,用于若所述候选人脸图像的可靠性数值大于预设阈值,则判定为最终人脸图像。

可选的:

所述获取模块包括:

生成单元,用于通过第一深度卷积网络生成人脸热力图;

第一处理单元,用于从所述人脸热力图中确定局部最热点,并将所述局部最热点作为候选人脸位置;

获取单元,用于根据所述候选人脸位置获取候选人脸图像。

可选的:

所述装置还包括:

判断模块,用于判断所述候选人脸位置是否存在重叠;

第二处理模块,用于若判断模块判断所述候选人脸位置存在重叠,则合并重叠的所述候选人脸位置。

可选的:

所述装置还包括:

生成模块,用于生成第一深度卷积网络;

第三处理模块,用于采集人脸图像和非人脸图像,并将所述人脸图像和非人脸图像作为训练样本;

训练模块,用于通过所述训练样本训练所述第一深度卷积网络。

可选的:

所述第二深度卷积网络为多个深度卷积网络,所述第一处理模块包括:

计算单元,用于通过所述多个深度卷积网络分别对所述候选人脸图像进行计算,得到所述候选人脸图像的多个可靠性数值;

第二处理单元,用于根据所述多个可靠性数值得到所述候选人脸图像的可靠性数值。

可选的:

所述第一深度卷积网络包含多层,依次为:第一输入层、第一卷积层、第一输出层、第一最大池化层、第二输出层、第一激活函数层、第二卷积层、第三输出层、第二激活函数层、第三卷积层以及第四输出层;所述第二深度卷积网络包括多层,依次为:第二输入层、第四卷积层、第五输出层、第二最大池化层、第六输出层、第三激活函数层、第五卷积层、第七输出层、第三最大池化层、第八输出层、第四激活函数层、全连接层以及第九输出层。

从以上技术方案可以看出,本发明实施例具有以下优点:用于初检的网络为全卷积网络,从而本发明可以对任意大小的图像进行处理以及提高人脸检测速度,另外本发明的候选人脸图像并未限定正脸图像还是侧脸图像,所以本发明也能够同时检测正脸和侧脸。

附图说明

图1为本发明实施例人脸检测方法一个实施例示意图;

图2为本发明实施例第一深度卷积网络一个示意图;

图3为本发明实施例第二深度卷积网络一个示意图;

图4为本发明实施例人脸检测装置一个实施例示意图。

具体实施方式

本发明实施例提供了一种人脸检测方法及装置,能够对任意大小的图像进行处理,并且能够同时检测正脸和侧脸,提高检测速度。

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

请参阅图1,本发明实施例中人脸检测方法一个实施例包括:

101、通过第一深度卷积网络获取候选人脸图像,该第一深度卷积网络为预置的用于初检的全卷积网络;

本实施例中,深度卷积网络一般只能用于固定大小的图像,进行分类或识别,本发明中的第一深度卷积网络为全卷积网络,通过利用全卷积网络的网络结构,使其可以适用于任意大小的图像。

可选的,在本发明的一些实施例中,通过第一深度卷积网络获取候选人脸图像具体为:

通过第一深度卷积网络生成人脸热力图;

从人脸热力图中确定局部最热点,并将局部最热点作为候选人脸位置;

根据候选人脸位置获取候选人脸图像。

需要说明的是,第一深度卷积网络可以为一个小型网络,小型网络用于生成人脸热力图;然后从人脸热力图中找到局部最热点,作为候选人脸位置;根据候选人脸位置从原图中截取出候选人脸图像。比如说原图为一张照片,照片中包括一个小女孩和一张书桌,通过第一深度卷积网络可以从该照片中截取出小女孩的人脸图像。

进一步可选的,在本发明的一些实施例中,根据候选人脸位置获取候选人脸图像之前包括:

判断候选人脸位置是否存在重叠;

若是,则合并重叠的候选人脸位置。

可选的,在本发明的一些实施例中,通过第一深度卷积网络获取候选人脸图像之前包括:

生成第一深度卷积网络;

采集人脸图像和非人脸图像,并将人脸图像和非人脸图像作为训练样本;

通过训练样本训练第一深度卷积网络。

需要说明的是,本发明采集大量的人脸和非人脸图像作为训练样本用于训练第一深度卷积网络。通常,人脸图像位于一个较大的图像中,通过一个矩形区域来准确标识人脸位置和大小,该矩形成为人脸框;通过对人脸框的大小和位置加入随机的扰动,截取出人脸图像,然后进行随机的旋转,以检测不同方向的人脸图像,这样多次从一个人脸图像中获取多个训练样本;通常原始人脸图像需要10000以上,提取出的训练样本可达100000以上,以便第一深度卷积网络学习到更好的特征。

非人脸图像的选择可以在没有人脸的风景照片、物体照片等图片中随机截取,非人脸图像的个数要远大于人脸图像的个数,比如大于100万。

通过现有的神经网络工具以及训练样本对第一深度卷积网络进行训练,确定第一深度卷积网络的参数。对第一深度卷积网络进行训练时,若使用了交叉熵损失函数,则最后一次卷积需要采用两个卷积和,但是训练完成后的使用中,由于只使用第一个卷积核的输出结果,因此第二个卷积核的结果不用计算,可以去掉。

需要说明的是,第二深度卷积网络和第一深度卷积网络类似,也会通过训练样本训练,此处不再赘述。

可选的,在本发明的一些实施例中,第一深度卷积网络包含多层,依次为:第一输入层、第一卷积层、第一输出层、第一最大池化层、第二输出层、第一激活函数层、第二卷积层、第三输出层、第二激活函数层、第三卷积层以及第四输出层,为了便于理解第一深度卷积网络,下面对第一深度卷积网络进行详细说明:

请参阅图2,图2表示一种预置的用于初检的全卷积网络,也即是第一深度卷积网络,第一输入层输入一幅任意尺寸的3通道(H×W)图像,在第一卷积层,使用32个5×5卷积核进行卷积,第一输出层得到32通道的输出图像,其高和宽同时减少了4像素,即(H-4)×(W-4);第一最大池化层然后进行一次4×4的最大池化处理,其像素数减少到原来的1/4,即第二输出层得到32通道的((H-4)/4)×((W-4)/4),然后第一激活函数层进行ReLU激活函数处理;接下来第二卷积层使用64个7×7卷积核进行卷积,第三输出层得到64通道的输出图像,即((H-4)/4-6)×((W-4)/4-6),第二激活函数层再次使用ReLU激活函数处理;最后第三卷积层使用1个1×1的卷积核进行卷积,第四输出层得到1通道((H-4)/4-6)×((W-4)/4-6),也就是最后的人脸概率图,即热力图,该热力图上局部最大值点即为可能的人脸。

该全卷积网络相当于把32×32像素的小方块图像映射为一个概率值,因此使用该全卷积网络智能检测一个尺度的人脸(32×32),要检测其他尺度的人脸,需要把原图缩放后重新检测,需要缩放的次数和缩放比例根据要检测的人脸大小的范围来确定。

对于速度要求较高的场合,可以进一步减小该全卷积网络的大小,例如输入图像采用单通道的灰度图像,或者减少卷积核数量,例如第一次卷积为4个卷积核,第二次为16个卷积核,可以大大加快处理的速度。

用于初检的第一深度卷积网络是全卷积网络,从而可以对任意大小的图像进行处理;其次要求是速度快,精度可以稍低,通常可靠性能够达到99.3%以上即可。

102、通过第二深度卷积网络对候选人脸图像进行计算,得到候选人脸图像的可靠性数值,该第二深度卷积网络为预置的用于校验的深度卷积网络;

本实施例中,用于校验的第二深度卷积网络对速度的要求不需要太严格,但需要更高的可靠性,通常,可靠性数值需要达到99.7%以上。用于校验的第二深度卷积网络可以设计为一个或多个,在多个的情况下,为了更可靠,多个深度卷积网络在结构上或卷积核上设计的差异比较大,以便于形成互补,能够发掘到图像中的不同特征。另外,用于校验的第二深度卷积网络可以使用固定大小的图像作为输入,因此不要求为全卷积网络。为了达到较高的可靠性,第二深度卷积网络的层数和图像通道数会更大,图3为一种典型的第二深度卷积网络示意图,图3中的第二深度卷积网络可以包括多层,依次为:第二输入层、第四卷积层、第五输出层、第二最大池化层、第六输出层、第三激活函数层、第五卷积层、第七输出层、第三最大池化层、第八输出层、第四激活函数层、全连接层以及第九输出层。具体的,第二输入层输入一幅3通道(32×32)图像,在第四卷积层,使用32个11×11卷积核进行卷积,第五输出层得到32通道(22×22)的输出图像,第二最大池化层然后进行一次2×2的最大池化处理,第六输出层得到32通道(11×11)的输出图像,然后第三激活函数层进行ReLU激活函数处理;接下来第五卷积层使用64个3×3卷积核进行卷积,第七输出层得到64通道(9×9)的输出图像,第三最大池化层进行一次3×3的最大池化处理,第八输出层得到64通道(3×3)的输出图像,第四激活函数层再次使用ReLU激活函数处理,全连接层得到576个输入值以及2个输出值,其中576×2代表一个576×2的参数矩阵。第九输出层最终得到两个数值,这两个数值最后会用来计算出人脸和非人脸的概率,最后取人脸的概率。

可选的,在本发明的一些实施例中,若第二深度卷积网络为多个深度卷积网络,步骤102具体为:

通过多个深度卷积网络分别对候选人脸图像进行计算,得到候选人脸图像的多个可靠性数值;

根据多个可靠性数值得到候选人脸图像的可靠性数值。

具体的,将多个可靠性数值取平均值,将平均值作为候选人脸图像的可靠性数值;或者,将多个可靠性数值取最大值,将最大值作为候选人脸图像的可靠性数值;或者,将多个可靠性数值取加权值,将加权值作为候选人脸图像的可靠性数值,还可以采用其他方法,此处不作限定。

103、若候选人脸图像的可靠性数值大于预设阈值,则判定为最终人脸图像。

本实施例中,可靠性数值用于表示候选人脸图像的可靠性,预设阈值的取值可以为99.7%,还可以为其他合理取值,此处不作限定。

本实施例中,用于初检的网络为全卷积网络,从而本发明可以对任意大小的图像进行处理以及提高人脸检测速度,另外本发明的候选人脸图像并未限定正脸图像还是侧脸图像,所以本发明也能够同时检测正脸和侧脸。

请参阅图4,本发明实施例中人脸检测装置一个实施例包括:

获取模块201,用于通过第一深度卷积网络获取候选人脸图像,该第一深度卷积网络为预置的用于初检的全卷积网络;

第一处理模块202,用于通过第二深度卷积网络对候选人脸图像进行计算,得到候选人脸图像的可靠性数值,该第二深度卷积网络为预置的用于校验的深度卷积网络;

判定模块203,用于若候选人脸图像的可靠性数值大于预设阈值,则判定为最终人脸图像。

本实施例中,用于初检的网络为全卷积网络,从而本发明可以对任意大小的图像进行处理以及提高人脸检测速度,另外本发明的候选人脸图像并未限定正脸图像还是侧脸图像,所以本发明也能够同时检测正脸和侧脸。

可选的,获取模块201包括:

生成单元,用于通过第一深度卷积网络生成人脸热力图;

第一处理单元,用于从人脸热力图中确定局部最热点,并将局部最热点作为候选人脸位置;

获取单元,用于根据候选人脸位置获取候选人脸图像。

进一步的,该装置还包括:

判断模块,用于判断候选人脸位置是否存在重叠;

第二处理模块,用于若判断模块判断候选人脸位置存在重叠,则合并重叠的该候选人脸位置。

可选的,该装置还包括:

生成模块,用于生成第一深度卷积网络;

第三处理模块,用于采集人脸图像和非人脸图像,并将人脸图像和非人脸图像作为训练样本;

训练模块,用于通过训练样本训练第一深度卷积网络。

进一步的,若第二深度卷积网络为多个深度卷积网络。第一处理模块202包括:

计算单元,用于通过多个深度卷积网络分别对候选人脸图像进行计算,得到候选人脸图像的多个可靠性数值;

第二处理单元,用于根据多个可靠性数值得到候选人脸图像的可靠性数值。

具体的,将多个可靠性数值取平均值,将平均值作为候选人脸图像的可靠性数值;或者,将多个可靠性数值取最大值,将最大值作为候选人脸图像的可靠性数值;或者,将多个可靠性数值取加权值,将加权值作为候选人脸图像的可靠性数值,还可以采用其他方法,此处不作限定。

可选的,第一深度卷积网络包含多层,依次为:第一输入层、第一卷积层、第一输出层、第一最大池化层、第二输出层、第一激活函数层、第二卷积层、第三输出层、第二激活函数层、第三卷积层以及第四输出层;所述第二深度卷积网络包括多层,依次为:第二输入层、第四卷积层、第五输出层、第二最大池化层、第六输出层、第三激活函数层、第五卷积层、第七输出层、第三最大池化层、第八输出层、第四激活函数层、全连接层以及第九输出层。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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