一种基于卷积神经网络的人脸检测方法及装置与流程

文档序号:11143271阅读:1104来源:国知局
一种基于卷积神经网络的人脸检测方法及装置与制造工艺

本发明属于人脸检测技术领域,尤其涉及一种基于卷积神经网络的人脸检测方法及装置。



背景技术:

人脸检测是人脸识别和表情识别等后续工作的基础,在人脸检测的实际应用场景中,待检测人脸存在着各种变化,例如光照、遮挡等,都会对人脸检测的准确性造成影响。

卷积神经网络由于对大型图像处理有出色的表现,近年来成为研究的一个热点,在现有的基于卷积神经网络的人脸检测中,为了达到很好的检测效果,通常卷积神经网络设计的比较复杂,计算量很大,检测效率较低。但是当出现光照、遮挡变化时,这种外部级联的卷积神经网络的鲁棒性仍然较低,对检测的效果有很大影响。另外,现有的基于卷积神经网络的人脸检测中,有一些人脸检测方法对身体信息加以利用,但是对于身体遮挡严重,或者姿态变化较大的情况下鲁棒性很低,检测效果依然不理想,无法精确识别图像中的人脸的问题。



技术实现要素:

鉴于此,本发明提供一种基于卷积神经网络的人脸检测方法及装置,提高基于卷积神经网络人脸检测系统的鲁棒性,提高人脸识别的精度。

本发明的第一方面,提供一种基于卷积神经网络的人脸检测方法,所述方法包括:

将卷积神经网络划分为三级卷积神经网络,第一级网络为全卷积神经网络,第二级网络和第三级网络分别为双流的内部级联卷积神经网络;

将预处理后的多张待检测图片输入至所述第一级网络,获得包含初始人脸检测框的图片;

将所述包含初始人脸检测框的图片输入至所述第二级网络和第三级网络,获得包含人脸的图片。

本发明的第二方面,提供一种基于卷积神经网络的人脸检测装置,所述装置包括:

构建模块,用于将卷积神经网络划分为三级卷积神经网络,第一级网络为全卷积神经网络,第二级网络和第三级网络分别为双流的内部级联卷积神经网络;

第一级检测模块,用于将预处理后的多张待检测图片输入至所述第一级网络,获得包含初始人脸检测框的图片;

人脸输出模块,用于将所述包含初始人脸检测框的图片输入至所述第二级网络和第三级网络,获得包含人脸的图片。

本发明与现有技术相比存在的有益效果是:本发明将卷积神经网络划分为三级卷积神经网络,第一级网络为全卷积神经网络,第二级网络和第三级网络分别为双流的内部级联卷积神经网络;将预处理后的多张待检测图片输入至所述第一级网络,获得包含初始人脸检测框的图片;将所述包含初始人脸检测框的图片输入至所述第二级网络和第三级网络,获得包含人脸的图片。提高基于卷积神经网络人脸检测系统的鲁棒性,提高人脸识别的精度。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本发明第一实施例提供的基于卷积神经网络的人脸检测方法的示意流程图;

图2是本发明第二实施例提供的基于卷积神经网络的人脸检测方法的示意流程图;

图3是本发明第二实施例中的第一级卷积神经网络结构图;

图4是本发明第二实施例中的第二级卷积神经网络结构图;

图5是本发明第二实施例中的第三级卷积神经网络结构图;

图6是本发明第二实施例中的内部级联卷积神经网络训练过程图;

图7是本发明第二实施例中的人脸检测过程图;

图8是本发明第三实施例提供的基于卷积神经网络的人脸检测装置的示意框图;

图9是本发明第四实施例提供的基于卷积神经网络的人脸检测装置的示意框图;

具体实施方式

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

应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。

还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。

为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。

实施例一:

参见图1,图1是本发明实施例一提供的基于卷积神经网络的人脸检测方法的示意流程图,如图所示该方法可以包括以下步骤:

步骤S101,将卷积神经网络划分为三级卷积神经网络,第一级网络为全卷积神经网络,第二级网络和第三级网络分别为双流的内部级联卷积神经网络。

在本发明实施例中,通过将三个卷积神经网络(Convolutional Neural Network,CNN)级联在一起构成外部级联的卷积神经网络,第一级卷积神经网络可以比较简单,判断阈值设置的宽松一些,这样就可以在保持召回率的同时排除掉大量的非人脸窗口,第二级和第三级网络为了保证足够的性能,因此设计可以稍微复杂,由于只需处理早期阶段筛选出的样本,因此可以降低计算量,提高效率。可以设置第一级网络为全卷积神经网络,第二级和第三级网络分别为双流的内部级联卷积神经网络。

所述全卷积神经网络是将传统卷积神经网络中的全连接层转化为卷积层。全卷积神经网络的优点是可以接收任意大小的输入图像,这样在测试过程中就可以不用要求所有的训练图像和测试图像具有相同的尺寸,另外虽然全卷积神经网络得到的结果不够精细,对图像中的细节不敏感,但是做外部级联的卷积神经网络中的第一级网络,在排除掉非人脸窗口的同时还能保证召回率。

所述双流的内部级联卷积神经网络分为人脸区域卷积神经网络和身体区域卷积神经网络,所述人脸区域卷积神经网络和身体区域卷积神经网络在最后的全连接层进行融合,所述人脸区域卷积神经网络和身体区域卷积神经网络分别为内部级联卷积神经网络,所述内部级联卷积神经网络在池化层后连接早期拒绝分类器和数据路由层。所述早期拒绝分类器也可以看作是一个小的神经网络,设置拒绝阈值,若输入的训练样本在拒绝阈值范围内,则这个训练样本不参与后续的传输过程,这样可以实现对输入的图像进行人脸和非人脸分类。判断为人脸的图像继续后续的传播,判断为非人脸的图像则停止后续的传播。数据路由层,是根据接收到的图像的特征选择是继续向前传播还是停止传播。

步骤S102,将预处理后的多张待检测图片输入至所述第一级网络,获得包含初始人脸检测框的图片。

在本发明实施例中,在通过所述三级卷积神经网络检测人脸前,还需要通过反向传播法训练所述三级卷积神经网络,在将所述三级卷积神经网络训练收敛后,可以将待检测图片输入至所述第一级网络,所述待检测图片需要缩放到不同尺度后构成图像金塔,所述待检测图片在经过全卷积神经网络后,会输出带人脸检测框的人脸区域和非人脸区域,在第一级网络得到的带人脸检测框的人脸区域和非人脸区域只是一个粗略的提取人脸图像的过程,通常带人脸检测框的人脸区域中包含非人脸图像。

步骤S103,将所述包含初始人脸检测框的图片输入至所述第二级网络和第三级网络,获得包含人脸的图片。

在本发明实施例中,将第一级输出的图片作为第二级网络的输入,由于第二级网络为双流的内部级联卷积神经网络,需要两个输入,这就需要根据所述初始人脸检测框的位置获取对应的身体区域图像。将初始人脸检测框中的图像和获得的身体区域图像作为第二级网络的输入,第二级卷积神经网络会从第一级输出的人脸图像中再次淘汰掉一部分非人脸图像,并联合身体区域定位检测人脸图像不断调整检测框的位置,输出带人脸检测框的图片,第二级网络输出的图片也是带人脸检测框的图片,经过第二级网络输出的人脸检测框中的图像仍然会有部分是非人脸图像。

将第二级网络输出的人脸检测框中的图像和所述第二级网络输出的人脸检测框的位置对应的身体区域图像输入第三级双流的内部级联卷积神经网络,淘汰非人脸图像,最终输出带人脸的图片。第三级网络的结构和第二级网络的结构类似,待检测图片传输的过程也类似。

本发明实施例将卷积神经网络划分为三级卷积神经网络,第一级网络为全卷积神经网络,第二级网络和第三级网络分别为双流的内部级联卷积神经网络;将预处理后的多张待检测图片输入至所述第一级网络,获得包含初始人脸检测框的图片;将所述包含初始人脸检测框的图片输入至所述第二级网络和第三级网络,获得包含人脸的图片。提高基于卷积神经网络人脸检测系统的鲁棒性,提高人脸识别的精度。

实施例二:

参见图2,图2是本发明实施例二提供的基于卷积神经网络的人脸检测方法的示意流程图,如图所示该方法可以包括以下步骤:

步骤S201,将卷积神经网络划分为三级卷积神经网络,第一级网络为全卷积神经网络,第二级网络和第三级网络分别为双流的内部级联卷积神经网络。

在步骤S101构建的三级卷积神经网络的基础上更进一步细化三级卷积神经网络。

以图3为例,第一级卷积神经网络结构为:

输入:12×12×3的图片;

第一层卷积层(Conv1):3×3大小的卷积核,;

第一层池化层(Pool1):2×2大小的卷积核,输出5×5×14的特征图;

第二层卷积层(Conv12):3×3大小的卷积核,输出3×3×24的特征图;

第三层卷积层(Conv13):3×3大小的卷积核,输出1×1×36的特征图;

分类器:输出包括1和0两个单元,分别表示人脸和非人脸,判定为人脸的区域会生成人脸检测框,最后包含人脸分类器和窗口回归器。

以第一级卷积神经网络的输入为例,12×12×3中的3表示图像的深度(即R、G、B),12×12表示像素为12×12的图像。卷积层的卷积核的大小为3×3表示感受野,感受野的深度必须和输入图像的深度相同。通过一个卷积核与输入图像的卷积就可以得到该层输出的特征图。池化层是将输入的池化层的特征图进行压缩,提取主要特征,压缩后的特征图有可能影响网络的准确性,因此可以通过增加特征图的深度来弥补。

以图4为例,第二级卷积神经网络结构为:

人脸区域卷积神经网络:

输入:24×24×3大小的图片;

第一层卷积层和池化层:卷积层卷积核为3×3,池化层卷积核为3×3,输出为11×11×32的特征图;

第二层卷积层和池化层:卷积层卷积核为3×3,池化层卷积核为3×3,输出为4×4×64的特征图;

第三层卷积层:卷积核为2×2,输出为3×3×128的特征图;

在池化层后连接早期拒绝分类器和数据路由层。

身体区域卷积神经网络在人脸区域卷积神经网络基础上在最后的卷积层增加了反卷积操作生成33×18×117的关节点热图图像特征:

输入:33×18×3大小的图片;

第一层卷积层和池化层:卷积层卷积核为3×3,池化层卷积核为3×3,输出为15×7×32的特征图;

第二层卷积层和池化层:卷积层卷积核为3×3,池化层卷积核为3×3,输出为6×3×48的特征图;

第三层卷积层:卷积核为2×2,输出为5×2×128的特征图;

在池化层后连接早期拒绝分类器和数据路由层。人脸区域卷积神经网络和身体区域卷积神经网络在最后通过全连接层将人脸区域卷积神经网络和身体区域卷积神经网络融合在一起,再送入分类器,通过人脸分类器判定是否为人脸,并在判定为人脸的区域生成人脸检测框,人脸检测框的位置和大小通过窗口回归器调整。

图5是第三级卷积神经网络结构,与第二级卷积神经网络类似。

需要说明的是,以上构建的三个卷积神经网路只是其中的三个实施例,在此实施例的基础上还可以增加或者减少卷积层、池化层、全连接层、分类器等,以上列举的三个实施例并不用于限制本发明。

步骤S202,训练所述三级卷积神经网络,以利用人体关节点位置,为人脸的检测提供辅助信息。

在本发明实施例中,可以采用反向传播法单独训练每一级卷积神经网络,当每一级卷积神经网络的最终输出的损失函数收敛即表示训练结束。训练过程中会利用人体关节点位置,为人脸的检测提供辅助信息。在训练过程中第一级卷积神经网络的输入有正样本和负样本,所述正样本是指人脸图像,即真实的人脸,所述负样本是指非人脸图像。

在训练身体区域卷积神经网络的过程中,将每个生成的关节点热图作为描述身体特征的短语,根据所述短语对应的训练样本,训练基于短语的身体检测器,其中,每个描述身体特征的短语相当于一个身体检测器。将所述待检测图片与上述训练得到的每一个基于短语的身体检测器进行匹配,得到检测到的短语位置(身体区域位置),基于身体检测器得到的身体区域图片估算人脸的位置。利用人脸区域卷积神经网络输出的人脸图像和身体区域卷积神经网络输出的图像融合得到检测结果。

由于利用上述方法需要生成多个身体检测器,作为一个优选的实施例,在身体区域卷积神经网络训练过程中,对进入最后一层卷积层的身体区域图像做反卷积操作生成人体关节点热图,学习得到与人体关节点热图对应的预测热图;

通过对生成的关节点热图和预测热图的残差求导训练所述身体区域卷积神经网络。

在本发明实施例中,输入的为根据第一级输出的人脸检测框生成的身体区域图像,所述身体区域图像是根据上一级输出的人脸检测框的位置按照固定比例估算出的身体区域的图像,生成的身体区域图像包含人脸检测框的位置的图像。在正向传播过程中对进入最后一层卷积层的身体区域图像样本做反卷积操作生成多张关节点热图。假设给定的训练集为{In,Ln},n=1,…,N,N为训练样本的总数,其中In表示第n张图像,Ln表示第n张图像对应的人体骨骼点,Ln={Ik},k=1,…,K,k表示第k个被标注的人体骨骼点,K表示共有K个被标注的人体骨骼点。设置模型的K=17,Ik=(xk,yk),Ik表示第k个骨骼点的位置。假设第k个骨骼点的热图为hpk,Ik映射在hpk上的坐标为Ipk=(xhk,yhk)表示如下:

xk=stride×xhk+offset

yk=stride×yhk+offset

其中,stride表示步长,offset表示偏移量,hpk中每一个值表示该值在In中第k个骨骼点位置的概率,取值为[0,1]。生成热图过程如下:

输入一张图片和其对应的17个骨骼点坐标;

输出这17个骨骼点对应的17个真实关节点热图;

获取原图像一个骨骼点的位置坐标并按照公式xk=stride×xhk+offset和yk=stride×yhk+offset映射坐标。在本发明实施例中,设置stride为4,设置offset为32。对于该映射坐标Ipk=(xhk,yhk)为中心,检查某个阈值范围内的某个点是否在热图区域内,若在热图区域内,得到变换后坐标相对热图的坐标偏移,即在热图中的坐标。若不在热图区域范围内,则继续取下一个点重复操作,直到以该映射坐标Ipk=(xhk,yhk)为坐标中心,阈值范围内的区域遍历完毕。遍历完原图的K个骨骼点即可得到关节点热图。

在正向传播过程中,在给定一张图片,通过身体区域的卷积神经网络可以得到对应的K个热图,将这K个热图按人体部位排成固定的顺序,这样可以根据生成的关节点热图比对学习出与生成的关节点热图对应的预测热图。这样就避免为每一个关节点热图训练一个身体检测器,还可以使各个关节点热图的权值共享。

在反向传播过程中,需要将正向传播输出的预测热图和关节点热图计算残差,然后对残差求导更新身体区域卷积神经网络中的权值。

由于人脸区域和身体区域卷积神经网络是内部级联的卷积神经网络。以图6说明内部级联的卷积神经网络的训练过程,需要特别注意的是,当输入的人脸图像在经过早期拒绝分类器后会被分为人脸图像和非人脸图像,早期拒绝分类器实际也是一个小的神经网络,早期拒绝分类器作为一个小的神经网络会将输入的图像判定出人脸图像和非人脸图像,若是人脸图像,会计算该人脸图像是人脸的概率值p,若是非人脸图像,会直接将非人脸图像淘汰,将判断为人脸的图像继续传播至数据路由层,数据路由层会将根据输入的图像选择一个通道,例如若进入数据路由层的人脸图像是人脸的概率值p大于阈值θ的人脸图像继续向前传播和向后传播,将人脸图像是人脸的概率p小于或者等于所述阈值θ的人脸图像停止向前传播,中途停止向前传播的图像,也不在继续向后传播。这样,相当于一些比较简单好判断的图像样本在一开始就能够处理(比如简单的负样本),一开始不好判断的图像样本则进入后边比较深的网络处理(比如较复杂的负样本和正样本)。

步骤S203,将预处理后的多张待检测图片输入至所述第一级网络,获得包含初始人脸检测框的图片。

该步骤与步骤S102相同,具体可参见步骤S102的相关描述,在此不再赘述。

步骤S204,将所述包含初始人脸检测框的图片输入至所述第二级网络和第三级网络,获得包含人脸的图片。

作为一个优选的实施例,所述将所述包含初始人脸检测框的图片输入值第二级网络和第三级网络,获得包含人脸的图片包括:

根据所述初始人脸检测框的位置获取对应的身体区域图像;

将所述初始人脸检测框中的图像和对应的身体区域图像输入第二级双流的内部级联卷积神经网络;

将传输到早期拒绝分类器的图像分为人脸图像和非人脸图像,淘汰非人脸图像并计算人脸图像是人脸的概率;

所述人脸图像传输至数据路由层,若人脸图像是人脸的概率小于或者等于阈值,则淘汰人脸图像是人脸的概率小于或者等于阈值的人脸图像;

若人脸图像是人脸的概率大于所述阈值,则将人脸图像是人脸的概率大于所述阈值的人脸图像继续传输;

将最终传输到全连接层的人脸区域卷积神经网络输出的人脸图像和身体区域卷积神经网络输出的人脸图像融合并输出带人脸检测框的图片;

将第二级网络输出的人脸检测框中的图像和所述第二级网络输出的人脸检测框的位置对应的身体区域图像输入第三级双流的内部级联卷积神经网络,淘汰非人脸图像,最终输出带人脸的图片。

在本发明实施例中,通过图7(a)说明人脸检测的过程,在整个过程中,每一级输出的图片都带有人脸检测框,第一级输出的图片中由于只是一个候选框的提取过程,所以候选框的个数比较多,而候选框中并非全部是人脸图像,第二级输出的图片中,人脸检测框的数量明显减少,第二级网络经过粗略的检测,淘汰一部分非人脸图像。经过第三级卷积神经网络之后,经过更细化的人脸特征检测,淘汰掉非人脸图像,获得图片中人脸检测框中的图片即是人脸图片。将待检测图片输入第一级网络后,输出图片会判断人脸图像和非人脸图像,并且判定为人脸图像的区域带有人脸检测框,将第一级网络输出的人脸检测框中的图像作为第二级的一个输入,并根据第一级输出的人脸检测框的位置按照固定比例生成身体区域的图像最终得到的图像不仅包含身体区域还包含人脸检测框中的图像作为第二级网络的另一个输入。身体区域卷积神经网络实际也是检测人脸的过程,只是输入的待检测图像中包含了第一级输出的人脸图像对应的身体区域。需要说明的是,最终输出的人脸检测框是通过一个bounding box regression(窗口回归器)得出,窗口回归器用来微调人脸检测框的位置和大小。

通过图7(b)说明双流内部级联神经网络的检测过程,进入第二级网络的待检测图片,传输到早期拒绝分类器后,跟训练过程一样会进一步判定人脸图像和非人脸图像,淘汰掉非人脸图像,并计算人脸图像是人脸的概率p,将判定为人脸的图像继续送入数据路由层,数据路由层将判定为人脸图像并且人脸图像是人脸的概率p小于或等于阈值θ的人脸图像淘汰;将判定为人脸图像并且人脸图像是人脸的概率p大于所述阈值θ的人脸图像继续传输。将最终传输到全连接层的人脸区域卷积神经网络输出的人脸图像和身体区域卷积神经网络输出的人脸图像融合并输出带人脸检测框的图片。

第三级网络与第二级网络的结构类似,测试过程也类似,不再赘述。

应理解,在上述实施例一和二中,各步骤的序号的大小并不意味着执行顺序的先后,各步骤的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

实施例三:

参见图8,图8是本发明实施例三提供的基于卷积神经网络的人脸检测装置的示意框图,为了便于说明,仅示出与本发明实施例相关的部分。

该基于卷积神经网络的人脸检测装置可以是内置于终端设备(例如手机、平板电脑、笔记本、计算机、穿戴设备等)内的软件单元、硬件单元或者软硬结合的单元,也可以作为独立的挂件集成到所述终端设备中。

所述基于卷积神经网络的人脸检测装置包括:

构建模块81,用于将卷积神经网络划分为三级卷积神经网络,第一级网络为全卷积神经网络,第二级网络和第三级网络分别为双流的内部级联卷积神经网络;

第一级检测模块82,用于将预处理后的多张待检测图片输入至所述第一级网络,获得包含初始人脸检测框的图片;

人脸输出模块83,用于将所述包含初始人脸检测框的图片输入至所述第二级网络和第三级网络,获得包含人脸的图片。

可选的,所述双流的内部级联卷积神经网络分为人脸区域卷积神经网络和身体区域卷积神经网络,所述人脸区域卷积神经网络和身体区域卷积神经网络在最后的全连接层进行融合,所述人脸区域卷积神经网络和身体区域的卷积神经网络分别为内部级联卷积神经网络,所述内部级联卷积神经网络在池化层后连接早期拒绝分类器和数据路由层。

可选的,所述装置还包括:

训练模块,用于训练所述卷积神经网络,以利用人体关节点位置,为人脸的检测提供辅助信息。

可选的,所述训练模块具体用于:

在身体区域卷积神经网络训练过程中,对进入最后一层卷积层的身体区域图像做反卷积操作生成人体关节点热图,学习得到与人体关节点热图对应的预测热图;

通过对生成的关节点热图和预测热图的残差求导训练所述身体区域卷积神经网络。

可选的,所述人脸输出模块83包括:

身体区域生成单元831,用于根据所述初始人脸检测框的位置生成对应的身体区域图像;

输入单元832,用于将所述初始人脸检测框中的图像和对应的身体区域图像输入第二级双流的内部级联卷积神经网络;

分类单元833,用于将输入的图像分为人脸图像和非人脸图像,淘汰非人脸图像并计算人脸图像是人脸的概率;

处理单元834,用于若人脸图像是人脸的概率小于或者等于阈值,则淘汰人脸图像是人脸的概率小于或者等于阈值的人脸图像;

处理单元834,还用于若人脸图像是人脸的概率大于所述阈值,则将人脸图像是人脸的概率大于所述阈值的人脸图像继续传输;

输出单元835,用于将最终传输到全连接层的人脸区域卷积神经网络输出的人脸图像和身体区域卷积神经网络输出的人脸图像融合并输出带人脸检测框的图片;

三级检测单元836,用于将第二级网络输出的人脸检测框中的图像和所述第二级网络输出的人脸检测框的位置对应的身体区域图像输入第三级双流的内部级联卷积神经网络,淘汰非人脸图像,最终输出带人脸的图片。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元或模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元或模块既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述装置中单元、模块的具体工作过程,可以参考前述方法实施例的对应过程,在此不再赘述。

实施例四:

参见图4,图4是本发明实施例四提供的基于卷积神经网络的人脸检测装置的示意框图。如图所示的该基于卷积神经网络的人脸检测装置可以包括:一个或多个处理器901(图4中仅示出一个);一个或多个输入设备902(图4中仅示出一个),一个或多个输出设备903(图4中仅示出一个)和存储器904。上述处理器901、输入设备902、输出设备903和存储器904通过总线905连接。存储器904用于存储指令,处理器901用于执行存储器904存储的指令。其中:

所述处理器901,用于将卷积神经网络划分为三级卷积神经网络,第一级网络为全卷积神经网络,第二级网络和第三级网络分别为双流的内部级联卷积神经网络;所述处理器901还用于将预处理后的多张待检测图片通过输入设备902输入至所述第一级网络,通过输出设备903获得包含初始人脸检测框的图片;所述处理器901还用于将所述包含初始人脸检测框的图片通过输入设备902输入至所述第二级网络和第三级网络,通过输出设备903获得包含人脸的图片。

可选的,所述双流的内部级联卷积神经网络分为人脸区域卷积神经网络和身体区域卷积神经网络,所述人脸区域卷积神经网络和身体区域卷积神经网络在最后的全连接层进行融合,所述人脸区域卷积神经网络和身体区域的卷积神经网络分别为内部级联卷积神经网络,所述内部级联卷积神经网络在池化层后连接早期拒绝分类器和数据路由层。

可选的,所述处理器901还用于训练所述三级卷积神经网络,以利用人体关节点位置,为人脸的检测提供辅助信息。

可选的,所述处理器901还用于在身体区域卷积神经网络训练过程中,对进入最后一层卷积层的身体区域图像做反卷积操作生成人体关节点热图,学习得到与人体关节点热图对应的预测热图;所述处理器901还用于通过对生成的关节点热图和预测热图的残差求导训练所述身体区域卷积神经网络。

可选的,所述处理器901还用于根据所述初始人脸检测框的位置获取对应的身体区域图像;所述处理器901还用于将所述初始人脸检测框中的图像和对应的身体区域图像通过输入设备902输入第二级双流的内部级联卷积神经网络;所述处理器901还用于将传输到早期拒绝分类器的图像分为人脸图像和非人脸图像,淘汰非人脸图像并计算人脸图像是人脸的概率;所述处理器901还用于所述人脸图像传输至数据路由层,若人脸图像是人脸的概率小于或者等于阈值,则淘汰人脸图像是人脸的概率小于或者等于阈值的人脸图像;所述处理器901还用于若人脸图像是人脸的概率大于所述阈值,则将人脸图像是人脸的概率大于所述阈值的人脸图像继续传输;所述处理器901还用于将最终传输到全连接层的人脸区域卷积神经网络输出的人脸图像和身体区域卷积神经网络输出的人脸图像融合并通过输出设备903输出带人脸检测框的图片;所述处理器901还用于将第二级网络输出的人脸检测框中的图像和所述第二级网络输出的人脸检测框的位置对应的身体区域图像通过输入设备902输入第三级双流的内部级联卷积神经网络,淘汰非人脸图像,最终通过输出设备903输出带人脸的图片。

所述存储器904,用于存储软件程序、模块、单元以及基于卷积神经网络的人脸检测装置中需要的数据信息,所述处理器901通过运行存储在所述存储器904的软件程序、模块以及单元,从而执行各种功能应用以及数据处理,提高基于卷积神经网络人脸检测系统的鲁棒性,提高人脸识别的精度。

应当理解,在本发明实施例中,所称处理器901可以是中央处理单元(Central Processing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

输入设备902可以包括触控板、指纹采集传感器(用于采集用户的指纹信息和指纹的方向信息)、麦克风、数据采集装置、数据接收装置等,输出设备903可以包括显示器(LCD等)、扬声器、数据发送装置等。

该存储器904可以包括只读存储器和随机存取存储器,并向处理器901提供指令和数据。存储器904的一部分还可以包括非易失性随机存取存储器。例如,存储器904还可以存储设备类型的信息。

具体实现中,本发明实施例中所描述的处理器901、输入设备902、输出设备903和存储器904可执行本发明实施例提供的基于卷积神经网络的人脸检测方法的实施例中所描述的实现方式,也可执行基于卷积神经网络的人脸检测装置的实施例三中所描述的实现方式,在此不再赘述。

综上所述,本发明将卷积神经网络划分为三级卷积神经网络,第一级网络为全卷积神经网络,第二级网络和第三级网络分别为双流的内部级联卷积神经网络;将预处理后的多张待检测图片输入至所述第一级网络,获得包含初始人脸检测框的图片;将所述包含初始人脸检测框的图片输入至所述第二级网络和第三级网络,获得包含人脸的图片。提高基于卷积神经网络人脸检测系统的鲁棒性,提高人脸识别的精度。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

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

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

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

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

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

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