旋转不变性人脸检测方法、装置、可读存储介质及设备与流程

文档序号:25132342发布日期:2021-05-21 08:48阅读:69来源:国知局
旋转不变性人脸检测方法、装置、可读存储介质及设备与流程

本发明涉及模式识别领域,特别是指一种旋转不变性人脸检测方法、装置、计算机可读存储介质及设备。



背景技术:

卷积神经网络(convolutionalneuralnetworks,cnn)在模式识别领域获得了较大的进步,尤其在图像人脸识别领域,识别效果可以远超人眼的辨别效果。由于cnn可以自适应的获得图像的特征并且可以获得较好的分类效果,所以基于cnn的人脸检测也取得了较大的突破。但现有技术的人脸检测方法为了获得较高的检测率和较低的错误检测率,往往会使用复杂的、较深的网络结构,这就导致了基于cnn的人脸检测无法达到实时检测的目的。

由于人脸旋转或图像旋转导致的人脸检测召回率低、人脸属性判断不准确的问题,并没有很好的得到解决。目前现存的技术方法,需要对旋转的角度进行预判,对图像旋转正以后再进行人脸检测或人脸属性判断,或者连续多个间隔角度进行多次人脸检测。这些方法都将带来极大的时间复杂度,导致解决问题的时间变长。

以连续角度间隔旋转检测人脸和属性判断为例:该方法首先需要得到可以检测正面人脸的人脸检测器d和属性判别器h,接着对待判断的旋转图像每间隔a角度进行旋转,对旋转后的图像使用人脸检测器d进行人脸检测,并对检测到的人脸使用属性判别器h进行属性判断。

该方法需要多次对同一图像进行检测和属性判断操作,具有较高的时间复杂度。若想获得准确的检测结果,需要缩小图像的旋转间隔a,这将会导致更大的时间复杂度。此外,由于一张图像人脸的旋转角度具有多样性,所以a需要遍历的角度更加的广泛,这将导致更大的时间开销。



技术实现要素:

为解决上述技术问题,本发明提供一种旋转不变性人脸检测方法、装置、可读存储介质及设备,本发明可以有效地解决旋转人脸的检测和属性判断问题,具有较小的时间复杂度和更好的人脸检测和属性判断效果。

本发明提供技术方案如下:

第一方面,本发明提供一种旋转不变性人脸检测方法,所述方法包括:

将待检测人脸图像输入训练好的级联的三级轻量级卷积神经网络,得到人脸位置和人脸属性,其中:

第一级卷积神经网络将待检测人脸图像按照姿态角度分类到第一角度范围或第二角度范围;

若人脸图像被分类到第二角度范围,则将人脸图像旋转相应的角度,使旋转后的人脸图像的姿态角度落入第一角度范围内;

第二级卷积神经网络将第一角度范围的人脸图像按照姿态角度分类到第三角度范围、第四角度范围或第五角度范围;

若人脸图像被分类到第四角度范围或第五角度范围,则将人脸图像旋转相应的角度,使旋转后的人脸图像的姿态角度落入第三角度范围内;

第三级卷积神经网络对第三角度范围的人脸图像进行处理,得到人脸位置和人脸属性。

进一步的,第一级卷积神经网络将待检测人脸图像按照姿态角度分类到-180~0度或0~180度;

若人脸图像被分类到-180~0度,则将人脸图像旋转180度,使旋转后的人脸图像的姿态角度落入0~180度内;

第二级卷积神经网络将0~180度的人脸图像按照姿态角度分类到0~45度、45~135度或135~180度;

若人脸图像被分类到45~135度,则将人脸图像旋转-90度,使旋转后的人脸图像的姿态角度落入0~45度内;若人脸图像被分类到135~180度,则将人脸图像旋转-135度,使旋转后的人脸图像的姿态角度落入0~45度内;

第三级卷积神经网络对0~45度的人脸图像进行处理,得到人脸位置和人脸属性。

进一步的,所述第一级卷积神经网络的操作包括:

将待检测人脸图像依次输入第一卷积层、第二卷积层、第三卷积层和第四卷积层,得到第一人脸特征;

使用第一人脸分类器生成第一人脸候选窗口,使用第一窗口回归器对第一人脸候选窗口进行回归;

使用第一人脸姿态分类器,将人脸图像按照姿态角度分为-180~0度或0~180度。

进一步的,所述第二级卷积神经网络的操作包括:

将0~180度的人脸图像依次输入第五卷积层、第一池化层、第六卷积层、第二池化层、第七卷积层、第八卷积层,得到第二人脸特征;

使用第二人脸分类器生成第二人脸候选窗口,使用第二窗口回归器对第二人脸候选窗口进行回归;

使用第二人脸姿态分类器,将0~180度的人脸图像按照姿态角度分为0~45度、45~135度或135~180度。

进一步的,所述第三级卷积神经网络的操作包括:

将45~135度的人脸图像依次输入第九卷积层、第三池化层、第十卷积层、第四池化层、第十一卷积层、第五池化层、第十二卷积层、第十三卷积层,得到第三人脸特征;

使用第三人脸分类器生成第三人脸候选窗口,使用第三窗口回归器对第三人脸候选窗口进行回归,得到人脸位置;

使用人脸姿态回归器,对人脸姿态进行回归,得到人脸姿态;

使用人脸关键点回归器,对人脸关键点进行回归,得到人脸关键点坐标;

使用人脸表情分类器,对人脸表情进行分类,得到人脸表情;

使用人脸光照回归器,对人脸光照进行回归,得到人脸光照;

使用人脸年龄回归器,对人脸年龄进行回归,得到人脸年龄;

最终得到人脸位置和人脸属性,所述人脸属性包括人脸姿态、人脸关键点坐标、人脸表情、人脸光照和人脸年龄。

进一步的,第一级卷积神经网络、第二级卷积神经网络和第三级卷积神经网络通过训练集训练得到,所述训练集中包括正样本和负样本,其中:

使用训练集中的正样本和训练集中的负样本训练第一级卷积神经网络;

使用训练集中的正样本以及第一类负样本训练第二级卷积神经网络,其中,若训练集中的负样本被第一级卷积神经网络判断为正样本,则该样本为第一类负样本;

使用训练集中的正样本以及第二类负样本训练第三级卷积神经网络,其中,若训练集中的负样本被第一级卷积神经网络和第二级卷积神经网络均判断为正样本,则该样本为第二类负样本。

进一步的,在训练时,对训练集进行数据扩充,所述数据扩充包括:对训练集中的样本进行随机灰度化、随机图像翻折和/或随机亮度调整;

所述待检测人脸图像为彩色图像,若将待检测人脸图像输入训练好的级联的三级轻量级卷积神经网络后,未检测出人脸,则将所述待检测人脸图像转化为灰度图像,并构造三通道均为灰度图的待检测灰度图像,将待检测灰度图像输入训练好的级联的三级轻量级卷积神经网络,重新进行人脸检测。

第二方面,本发明提供一种旋转不变性人脸检测装置,所述装置包括:

检测模块,用于将待检测人脸图像输入训练好的级联的三级轻量级卷积神经网络,得到人脸位置和人脸属性,其中,所述检测模块包括:

第一分类单元,用于使用第一级卷积神经网络将待检测人脸图像按照姿态角度分类到第一角度范围或第二角度范围;

第一旋转单元,用于若人脸图像被分类到第二角度范围,则将人脸图像旋转相应的角度,使旋转后的人脸图像的姿态角度落入第一角度范围内;

第二分类单元,用于使用第二级卷积神经网络将第一角度范围的人脸图像按照姿态角度分类到第三角度范围、第四角度范围或第五角度范围;

第二旋转单元,用于若人脸图像被分类到第四角度范围或第五角度范围,则将人脸图像旋转相应的角度,使旋转后的人脸图像的姿态角度落入第三角度范围内;

第三分类单元,用于使用第三级卷积神经网络对第三角度范围的人脸图像进行处理,得到人脸位置和人脸属性。

进一步的,第一分类单元中,使用第一级卷积神经网络将待检测人脸图像按照姿态角度分类到-180~0度或0~180度;

第一旋转单元中,若人脸图像被分类到-180~0度,则将人脸图像旋转180度,使旋转后的人脸图像的姿态角度落入0~180度内;

第二分类单元中,使用第二级卷积神经网络将0~180度的人脸图像按照姿态角度分类到0~45度、45~135度或135~180度;

第二旋转单元中,若人脸图像被分类到45~135度,则将人脸图像旋转-90度,使旋转后的人脸图像的姿态角度落入0~45度内;若人脸图像被分类到135~180度,则将人脸图像旋转-135度,使旋转后的人脸图像的姿态角度落入0~45度内;

第三分类单元中,使用第三级卷积神经网络对0~45度的人脸图像进行处理,得到人脸位置和人脸属性。

进一步的,所述第一级卷积神经网络的操作包括:

将待检测人脸图像依次输入第一卷积层、第二卷积层、第三卷积层和第四卷积层,得到第一人脸特征;

使用第一人脸分类器生成第一人脸候选窗口,使用第一窗口回归器对第一人脸候选窗口进行回归;

使用第一人脸姿态分类器,将人脸图像按照姿态角度分为-180~0度或0~180度。

进一步的,所述第二级卷积神经网络的操作包括:

将0~180度的人脸图像依次输入第五卷积层、第一池化层、第六卷积层、第二池化层、第七卷积层、第八卷积层,得到第二人脸特征;

使用第二人脸分类器生成第二人脸候选窗口,使用第二窗口回归器对第二人脸候选窗口进行回归;

使用第二人脸姿态分类器,将0~180度的人脸图像按照姿态角度分为0~45度、45~135度或135~180度。

进一步的,所述第三级卷积神经网络的操作包括:

将45~135度的人脸图像依次输入第九卷积层、第三池化层、第十卷积层、第四池化层、第十一卷积层、第五池化层、第十二卷积层、第十三卷积层,得到第三人脸特征;

使用第三人脸分类器生成第三人脸候选窗口,使用第三窗口回归器对第三人脸候选窗口进行回归,得到人脸位置;

使用人脸姿态回归器,对人脸姿态进行回归,得到人脸姿态;

使用人脸关键点回归器,对人脸关键点进行回归,得到人脸关键点坐标;

使用人脸表情分类器,对人脸表情进行分类,得到人脸表情;

使用人脸光照回归器,对人脸光照进行回归,得到人脸光照;

使用人脸年龄回归器,对人脸年龄进行回归,得到人脸年龄;

最终得到人脸位置和人脸属性,所述人脸属性包括人脸姿态、人脸关键点坐标、人脸表情、人脸光照和人脸年龄。

进一步的,第一级卷积神经网络、第二级卷积神经网络和第三级卷积神经网络通过训练集训练得到,所述训练集中包括正样本和负样本,其中:

第一训练单元,用于使用训练集中的正样本和训练集中的负样本训练第一级卷积神经网络;

第二训练单元,用于使用训练集中的正样本以及第一类负样本训练第二级卷积神经网络,其中,若训练集中的负样本被第一级卷积神经网络判断为正样本,则该样本为第一类负样本;

第三训练单元,用于使用训练集中的正样本以及第二类负样本训练第三级卷积神经网络,其中,若训练集中的负样本被第一级卷积神经网络和第二级卷积神经网络均判断为正样本,则该样本为第二类负样本。

进一步的,在训练时,对训练集进行数据扩充,所述数据扩充包括:对训练集中的样本进行随机灰度化、随机图像翻折和/或随机亮度调整;

所述待检测人脸图像为彩色图像,若将待检测人脸图像输入训练好的级联的三级轻量级卷积神经网络后,未检测出人脸,则将所述待检测人脸图像转化为灰度图像,并构造三通道均为灰度图的待检测灰度图像,将待检测灰度图像输入训练好的级联的三级轻量级卷积神经网络,重新进行人脸检测。

第三方面,本发明提供一种用于旋转不变性人脸检测的计算机可读存储介质,包括用于存储处理器可执行指令的存储器,所述指令被所述处理器执行时实现第一方面所述的旋转不变性人脸检测方法的步骤。

第四方面,本发明提供一种用于旋转不变性人脸检测的设备,包括至少一个处理器以及存储计算机可执行指令的存储器,所述处理器执行所述指令时实现第一方面所述的旋转不变性人脸检测方法的步骤。

本发明具有以下有益效果:

本发明的旋转不变性人脸检测方法,使用逐步回归的方法进行人脸检测和属性判断,可以有效地解决由于人脸旋转导致的人脸检测和属性判断不准确的问题。该方法使用三级轻量级的小网络进行级联,每个小网络结构简单,逐步回归检测人脸,通过逐步收缩策略,减小可能解空间。每一级小的网络只负责特定角度内的人脸检测,通过三级轻量级的小网络级联检测,最后一级网络只需要检测角度范围在45~135度之间的人脸图像即可。针对45~135度之间的人脸图像,卷积神经网络可以表现出较好的检测效果,并且人脸的属性判断也较为准确。

因此,本发明可以有效地解决旋转人脸的检测和属性判断问题,使用轻量级网络,具有较小的时间复杂度,逐步回归检测人脸和属性判断,减小角度搜索空间,达到更好的人脸检测和属性判断效果。

附图说明

图1为本发明的旋转不变性人脸检测方法流程图;

图2为三级轻量级卷积神经网络检测流程示意图;

图3为第一级卷积神经网络的示意图;

图4为第二级卷积神经网络的示意图;

图5为第三级卷积神经网络的示意图;

图6为三级轻量级卷积神经网络检测流程及结果示意图;

图7为本发明的旋转不变性人脸检测装置示意图。

具体实施方式

为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例1:

本发明实施提供了一种旋转不变性人脸检测方法,如图1-2所示,该方法包括:

步骤s100:将待检测人脸图像输入训练好的级联的三级轻量级卷积神经网络,得到人脸位置和人脸属性,其中包括:

步骤s110:第一级卷积神经网络将待检测人脸图像按照姿态角度分类到第一角度范围或第二角度范围。

在检测前,并不清楚待检测人脸图像的姿态角度,其姿态角度可以是任意值,因此待检测人脸图像的姿态角度范围是0~360度。本发明通过第一级卷积神经网络将人脸图像分类到第一角度范围或第二角度范围,第一角度范围和第二角度范围都是0~360度中的一部分角度范围,第一角度范围和第二角度范围组合起来就是0~360度的范围。

步骤s120:若人脸图像被分类到第二角度范围,则将人脸图像旋转相应的角度,使旋转后的人脸图像的姿态角度落入第一角度范围内。

本发明在分类后,将第二角度范围的人脸图像旋转到第一角度范围内,那么人脸图像的角度范围就从0~360度缩小到了第一角度范围。

步骤s130:第二级卷积神经网络将第一角度范围的人脸图像按照姿态角度分类到第三角度范围、第四角度范围或第五角度范围。

步骤s140:若人脸图像被分类到第四角度范围或第五角度范围,则将人脸图像旋转相应的角度,使旋转后的人脸图像的姿态角度落入第三角度范围内。

同理,本发明继续对第一角度范围进行缩小,缩小到第三角度范围,第三角度范围就是一个比较小的角度范围了,可以被卷积神经网络很好的检测。

步骤s150:第三级卷积神经网络对第三角度范围的人脸图像进行处理,得到人脸位置和人脸属性。

本发明的旋转不变性人脸检测方法,使用逐步回归的方法进行人脸检测和属性判断,可以有效地解决由于人脸旋转导致的人脸检测和属性判断不准确的问题。该方法使用三级轻量级的小网络进行级联,每个小网络结构简单,逐步回归检测人脸,通过逐步收缩策略,减小可能解空间。每一级小的网络只负责特定角度内的人脸检测,通过三级级联检测,最后一级网络只需要检测角度范围在第三角度范围内的人脸图像即可,可以表现出较好的检测效果,并且人脸的属性判断也较为准确。

因此,本发明可以有效地解决旋转人脸的检测和属性判断问题,使用轻量级网络,具有较小的时间复杂度,逐步回归检测人脸和属性判断,减小角度搜索空间,达到更好的人脸检测和属性判断效果。

作为本发明的一个示例:

步骤s110中,第一级卷积神经网络将待检测人脸图像按照姿态角度分类到-180~0度或0~180度两类。

步骤s120中,若人脸图像被分类到-180~0度,则将人脸图像旋转180度,使旋转后的人脸图像的姿态角度落入0~180度内。

步骤s130中,第二级卷积神经网络将0~180度的人脸图像按照姿态角度分类到0~45度、45~135度或135~180度。

步骤s140中,若人脸图像被分类到45~135度,则将人脸图像旋转-90度,使旋转后的人脸图像的姿态角度落入0~45度内;若人脸图像被分类到135~180度,则将人脸图像旋转-135度,使旋转后的人脸图像的姿态角度落入0~45度内。

本步骤中,将45~135度的人脸图像旋转-90度,实际上得到的是-45~45度的人脸图像。由于-45~0度和0~45度是对称的,卷积神经网络对-45~0度和0~45度的人脸识别效果相同,因此也就可以将-45~45度的人脸图像看成是0~45度。基于此,本发明将45~135度的人脸图像旋转-90度得到的人脸图像的姿态角度认为是0~45度。

步骤s150中,第三级卷积神经网络对0~45度的人脸图像进行处理,得到人脸位置和人脸属性。

本发明使用三级轻量级的小网络进行级联,每一级小的网络只负责特定角度内的人脸检测,通过三级轻量级的小网络级联检测,将人脸图像的姿态角度范围从0~360度缩小到0~180度,再缩小到0~45度,最后一级网络只需要检测角度范围在0~45度之间的人脸图像即可。针对0~45度之间的人脸图像,卷积神经网络可以表现出较好的检测效果,并且人脸的属性判断也较为准确。

下面对三级轻量级卷积神经网络进行详细阐述:

第一级卷积神经网络的操作如图3所示,其包括:

将待检测人脸图像依次输入第一卷积层、第二卷积层、第三卷积层和第四卷积层,得到第一人脸特征。一个具体的示例如下:

待检测人脸图像是大小为24×24的3通道rgb彩色图像。

第一卷积层:对大小为24*24的3通道彩色图像,使用大小为3×3的卷积核,以2为步长,进行16个通道的卷积,输出为11×11×16的特征图,对上述特征图使用relu激活函数。

第二卷积层:对上述大小为11×11×16的特征图,使用大小为3×3的卷积核,以2为步长,进行32个通道的卷积,输出为5×5×32的特征图,对上述特征图使用relu激活函数。

第三卷积层:对上述大小为5×5×32的特征图,使用大小为3×3的卷积核,以2为步长,进行32个通道的卷积,输出为2×2×64的特征图,对上述特征图使用relu激活函数。

第四卷积层:对上述大小为2×2×64的特征图,使用大小为2×2的卷积核,以1为步长,进行12个通道的卷积,输出为1×1×128的特征图,对上述特征图使用relu激活函数,获得的128维s向量即为第一人脸特征。

在经过上述的四个卷积层获得第一人脸特征后,使用第一人脸分类器生成第一人脸候选窗口,使用第一窗口回归器对第一人脸候选窗口进行回归。使用第一人脸姿态分类器,将人脸图像按照姿态角度分为-180~0度或0~180度两类。对于-180~0度中的人脸图像翻转180度得到0~180度的人脸图像,接下来的步骤将在0~180度的图像上进行。

第一级卷积神经网络在检测的过程中,第一人脸候选窗口提取步骤只确定人脸窗口的可能位置,而不需要确定人脸关键点等人脸属性,所以在检测过程中第一级卷积神经网络只进行了人脸二分类(第一人脸分类器)、人脸框回归(第一窗口回归器)和人脸姿态二分类(第一人脸姿态分类器)。这样做的目的是因为,在第一人脸候选窗口获取时,为了保证人脸检测的召回率,会尽可能多的获取人脸候选区域的数量,并且此时的人脸位置不准确,若进行人脸属性的预测一方面不够准确,另一方面耗时较长。

第二级卷积神经网络的操作如图4所示,其包括:

将0~180度的人脸图像依次输入第五卷积层、第一池化层、第六卷积层、第二池化层、第七卷积层、第八卷积层,得到第二人脸特征。一个具体的示例如下:

0~180度的人脸图像为待检测人脸图像,或由待检测人脸图像旋转180度得到,是大小为24×24的3通道rgb彩色图像。

第五卷积层:对大小为24*24的3通道彩色图像,使用大小为3×3的卷积核,以1为步长,进行20个通道的卷积。第一池化层:以2为步长进行3×3的maxpooling(mp),对上述特征图使用relu激活函数,输出为11×11×20的特征图。

第六卷积层:对上述大小为11×11×20的特征图,使用大小为3×3的卷积核,以1为步长,进行40个通道的卷积。第二池化层:以2为步长进行3×3的maxpooling(mp),对上述特征图使用relu激活函数,输出为4×4×40的特征图。

第七卷积层:对上述大小为4×4×40的特征图,使用大小为2×2的卷积核,以1为步长,进行70个通道的卷积,对上述特征图使用relu激活函数,输出为3×3×70的特征图。

第八卷积层:对上述大小为3×3×70的特征图,使用大小为3×3的卷积核,以1为步长,进行140个通道的卷积,输出为1×1×140的特征图,对上述特征图使用relu激活函数,获得的140维向量即为第二人脸特征。

在经过上述的操作获得第二人脸特征后,使用第二人脸分类器生成第二人脸候选窗口,使用第二窗口回归器对第二人脸候选窗口进行回归;使用第二人脸姿态分类器,将0~180度的人脸图像按照姿态角度分为0~45度、45~135度或135~180度三类。

与前述类似的,第二级卷积神经网络中第二人脸候选窗口提取步骤只确定人脸窗口的可能位置,而不需要确定人脸关键点等人脸属性,所以在检测过程中第二级卷积神经网络只进行了人脸二分类(第二人脸分类器)、人脸框回归(第二窗口回归器)和人脸姿态三分类(第二人脸姿态分类器),目的是为了进一步获取人脸候选窗口和缩小人脸旋转角度。

第二级卷积神经网络的人脸姿态三分类是将0~180度的人脸划分为0~45度,45度~135度,135~180度三类。在人脸检测和属性判断时,在0~45度的人脸上往往会有更好的表现,所以需要将图像进行相应的旋转,旋转到0~45度,接下来的步骤将在0~45度的图像上进行。

第三级卷积神经网络的操作如图5所示,其包括:

将0~45度的人脸图像依次输入第九卷积层、第三池化层、第十卷积层、第四池化层、第十一卷积层、第五池化层、第十二卷积层、第十三卷积层,得到第三人脸特征。一个具体的示例如下:

0~45度的人脸图像为48×48的3通道rgb彩色图像。

第九卷积层:对大小为48*48的3通道彩色图像,使用大小为3×3的卷积核,以1为步长,进行24个通道的卷积。第三池化层:以2为步长进行3×3的maxpooling(mp),对上述特征图使用relu激活函数,输出为23×23×24的特征图。

第十卷积层:对上述大小为23×23×24的特征图,使用大小为3×3的卷积核,以1为步长,进行48个通道的卷积。第四池化层:以2为步长进行3×3的maxpooling(mp),对上述特征图使用relu激活函数,输出为10×10×48的特征图。

第十一卷积层:对上述大小为10×10×48的特征图,使用大小为3×3的卷积核,以1为步长,进行96个通道的卷积。第五池化层:以2为步长进行3×3的maxpooling(mp),对上述特征图使用relu激活函数,输出为4×4×96的特征图。

第十二卷积层:对上述大小为4×4×96的特征图,使用大小为2×2的卷积核,以1为步长,进行192个通道的卷积,对上述特征图使用relu激活函数,输出为3×3×192的特征图。

第十三卷积层:对上述大小为3×3×192的特征图,使用大小为3×3的卷积核,以1为步长,进行192个通道的卷积,输出为1×1×192的特征图,对上述特征图使用relu激活函数,获得的192维向量即为最终的第三人脸特征。

在经过上述的操作获得第三人脸特征后,使用第三人脸分类器生成第三人脸候选窗口,使用第三窗口回归器对第三人脸候选窗口进行回归,得到人脸位置。

使用人脸姿态回归器,对人脸姿态进行回归,得到人脸姿态。

区别于第一级卷积神经网络和第二级卷积神经网络的是,第三级卷积神经网络中使用的不再是对姿态进行分类,而是进行回归,该步骤需要得到人脸姿态的具体数值c,则该人脸图像最终的姿态可以表示为:

t=a+b+c

其中,t为最终的人脸角度,a和b表示为第一级卷积神经网络和第二级卷积神经网络的旋转角度,c为第三级卷积神经网络的回归角度。

使用人脸关键点回归器,对人脸关键点进行回归,得到人脸关键点坐标。

使用人脸表情分类器,对人脸表情进行分类,得到人脸表情。

使用人脸光照回归器,对人脸光照进行回归,得到人脸光照。

使用人脸年龄回归器,对人脸年龄进行回归,得到人脸年龄。

最终得到人脸位置和人脸属性,人脸属性包括人脸姿态、人脸关键点坐标、人脸表情、人脸光照和人脸年龄。

第三级卷积网络不但会输出该图像是人脸的置信度和相应人脸框的回归值,还会给出属性的判断值。也就是说,前两个网络只确定是否是人脸,而第三级网络完成最终人脸的决策以及属性的判断。

前述给出了三级卷积神经网络的具体结构,三级网络的总体检测流程及检测结果的一个实施方式参见图6。

前述的神经网络各个层的具体参数,待检测人脸图像的大小等数值仅仅用于举例说明,并不用于限定本发明。

本发明中,第一级卷积神经网络、第二级卷积神经网络和第三级卷积神经网络通过训练集训练得到,训练集中包括正样本和负样本,其中:

使用训练集中的正样本和训练集中的负样本训练第一级卷积神经网络,正样本:负样本的比例为3:7。

第一级卷积神经网络的训练方法为多任务有监督的训练方法,可以一定程度上提高人脸的召回率,有利于获得更好的模型。

多任务有监督训练使用的损失函数如下:

第一人脸分类器的损失函数均为交叉熵损失函数。在进行分类时,标定人脸为1,非人脸为0。

第一窗口回归器使用的损失函数为欧几里得损失函数。

在多任务有监督的训练过程中,候选窗口提取网络更专注于获取人脸框以进行人脸框的校正和人脸姿态的分类用于人脸姿态的校正。

使用训练集中的正样本以及第一类负样本训练第二级卷积神经网络,其中,若训练集中的负样本被第一级卷积神经网络判断为正样本,则该样本为第一类负样本。

本发明的三级网络之间的连接采用的是级联的方法,第二级卷积神经网络的训练样本来自于第一级卷积神经网络。正样本为训练集中原有的正样本,负样本需要逐一通过第一级卷积神经网络,若第一级卷积神经网络判断为负样本,则舍弃该样本,若第一级卷积神经网络判断该样本为正样本,则该样本作为第二级卷积神经网络训练的负样本,即为第一类负样本。正样本:第一类负样本的比例为3:7。

第二级卷积神经网络的训练方法同样为多任务有监督的训练方法,第二人脸分类器的损失函数与第一人脸分类器的损失函数类型相同,第二窗口回归器的损失函数与第一窗口回归器的损失函数类型相同。

在实际的训练中为了获得更好的人脸检测效果,训练过程中会使用onlinehardsamplesmining策略,在每一个min-batch的训练样本中,取损失值最大的前70%进行下一轮为参数迭代。

使用训练集中的正样本以及第二类负样本训练第三级卷积神经网络,其中,若训练集中的负样本被第一级卷积神经网络和第二级卷积神经网络均判断为正样本,则该样本为第二类负样本。

同样的,正样本为训练集中原有的正样本,负样本需要逐一通过第一级卷积神经网络和第二级卷积神经网络,若第一级卷积神经网络和第二级卷积神经网络都判断为正样本,则该样本作为第三级卷积神经网络训练的负样本,即为第二类负样本。正样本:第二类负样本的比例为3:7。

第三级卷积神经网络的训练方法同样为多任务有监督的训练方法,第三人脸分类器、人脸表情分类器的损失函数与第一人脸分类器的损失函数类型相同,其中人脸表情分类器在进行分类时,微笑表情为1,无微笑标定为0。第三级卷积神经网络各个回归器的损失函数与第一窗口回归器的损失函数类型相同。但由于最后一个网络不但需要完成人脸位置的确定,同样需要确定人脸的属性,所以相对于前两个网络而言损失权重有所增加。

本发明一方面可以解决旋转人脸的检测问题,另一方面同时对人脸的姿态,特征点,表情等属性进行了准确的判别。该方法区别于其他的基于深度学习的多任务有监督的人脸检测方法,可以有效地解决旋转人脸的检出率较低以及人脸姿态回归,性别分类,表情分类,人脸光照分类和年龄回归等属性在旋转人脸上判断不准确的问题,有较强的鲁棒性和较快的判断速度。

在实际使用中,由于设备成像和图像解析等原因,会出现偏色图像。针对这一类图像的人脸检测,若只使用彩色图像进行训练会出现较多的人脸漏检问题,而使用灰度图检测可以解决该问题。但彩色图像相对于灰度图又有更获得信息更利于提高检测率。

因此,本发明在训练时,对训练集进行数据扩充,数据扩充包括:对训练集中的样本进行随机灰度化(概率为0.5)、随机图像翻折和/或随机亮度调整。

本发明采用多任务有监督、onlinehardsamplesmining策略、数据扩充方法可以使网络更快的收敛,获得更好的检测效果。

基于数据扩充训练的得到网络,提出二次检测策略:待检测人脸图像为彩色图像,若将待检测人脸图像输入训练好的级联的三级轻量级卷积神经网络后,未检测出人脸,则将待检测人脸图像转化为灰度图像,并构造三通道均为灰度图的待检测灰度图像,将待检测灰度图像输入训练好的级联的三级轻量级卷积神经网络,重新进行人脸检测。

即若彩色图像无人脸检出,则将其转化成灰度图像,并构造三通道均为灰度图的图像进行二次检测。二次检测方法,可以有效地解决变色和偏色图像的检测问题。

实施例2:

本发明实施例提供了一种旋转不变性人脸检测装置,如图7所示,该装置包括:

检测模块10,用于将待检测人脸图像输入训练好的级联的三级轻量级卷积神经网络,得到人脸位置和人脸属性。其中,检测模块包括:

第一分类单元11,用于使用第一级卷积神经网络将待检测人脸图像按照姿态角度分类到第一角度范围或第二角度范围。

第一旋转单元12,用于若人脸图像被分类到第二角度范围,则将人脸图像旋转相应的角度,使旋转后的人脸图像的姿态角度落入第一角度范围内。

第二分类单元13,用于使用第二级卷积神经网络将第一角度范围的人脸图像按照姿态角度分类到第三角度范围、第四角度范围或第五角度范围。

第二旋转单元14,用于若人脸图像被分类到第四角度范围或第五角度范围,则将人脸图像旋转相应的角度,使旋转后的人脸图像的姿态角度落入第三角度范围内。

第三分类单元15,用于使用第三级卷积神经网络对第三角度范围的人脸图像进行处理,得到人脸位置和人脸属性。

本发明可以有效地解决旋转人脸的检测和属性判断问题,使用轻量级网络,具有较小的时间复杂度,逐步回归检测人脸和属性判断,减小角度搜索空间,达到更好的人脸检测和属性判断效果。

作为本发明的一个示例:

第一分类单元中,使用第一级卷积神经网络将待检测人脸图像按照姿态角度分类到-180~0度或0~180度。

第一旋转单元中,若人脸图像被分类到-180~0度,则将人脸图像旋转180度,使旋转后的人脸图像的姿态角度落入0~180度内。

第二分类单元中,使用第二级卷积神经网络将0~180度的人脸图像按照姿态角度分类到0~45度、45~135度或135~180度。

第二旋转单元中,若人脸图像被分类到45~135度,则将人脸图像旋转-90度,使旋转后的人脸图像的姿态角度落入0~45度内;若人脸图像被分类到135~180度,则将人脸图像旋转-135度,使旋转后的人脸图像的姿态角度落入0~45度内。

第三分类单元中,使用第三级卷积神经网络对0~45度的人脸图像进行处理,得到人脸位置和人脸属性。

本发明使用三级轻量级的小网络进行级联,每一级小的网络只负责特定角度内的人脸检测,通过三级级联检测,将人脸图像的姿态角度范围从0~360度缩小到0~180度,再缩小到0~45度,最后一级网络只需要检测角度范围在0~45度之间的人脸图像即可。针对0~45度之间的人脸图像,卷积神经网络可以表现出较好的检测效果,并且人脸的属性判断也较为准确。

下面对三级轻量级卷积神经网络进行详细阐述:

第一级卷积神经网络的操作包括:

将待检测人脸图像依次输入第一卷积层、第二卷积层、第三卷积层和第四卷积层,得到第一人脸特征。

使用第一人脸分类器生成第一人脸候选窗口,使用第一窗口回归器对第一人脸候选窗口进行回归。

使用第一人脸姿态分类器,将人脸图像按照姿态角度分为-180~0度和0~180度两类。

第二级卷积神经网络的操作包括:

将0~180度的人脸图像依次输入第五卷积层、第一池化层、第六卷积层、第二池化层、第七卷积层、第八卷积层,得到第二人脸特征。

使用第二人脸分类器生成第二人脸候选窗口,使用第二窗口回归器对第二人脸候选窗口进行回归。

使用第二人脸姿态分类器,将0~180度的人脸图像按照姿态角度分为0~45度、45~135度和135~180度三类。

第三级卷积神经网络的操作包括:

将45~135度的人脸图像依次输入第九卷积层、第三池化层、第十卷积层、第四池化层、第十一卷积层、第五池化层、第十二卷积层、第十三卷积层,得到第三人脸特征。

使用第三人脸分类器生成第三人脸候选窗口,使用第三窗口回归器对第三人脸候选窗口进行回归,得到人脸位置。

使用人脸姿态回归器,对人脸姿态进行回归,得到人脸姿态。

使用人脸关键点回归器,对人脸关键点进行回归,得到人脸关键点坐标。

使用人脸表情分类器,对人脸表情进行分类,得到人脸表情。

使用人脸光照回归器,对人脸光照进行回归,得到人脸光照。

使用人脸年龄回归器,对人脸年龄进行回归,得到人脸年龄。

最终得到人脸位置和人脸属性,人脸属性包括人脸姿态、人脸关键点坐标、人脸表情、人脸光照和人脸年龄。

本发明中,第一级卷积神经网络、第二级卷积神经网络和第三级卷积神经网络通过训练集训练得到,训练集中包括正样本和负样本,其中:

第一训练单元,用于使用训练集中的正样本和训练集中的负样本训练第一级卷积神经网络。

第二训练单元,用于使用训练集中的正样本以及第一类负样本训练第二级卷积神经网络,其中,若训练集中的负样本被第一级卷积神经网络判断为正样本,则该样本为第一类负样本。

第三训练单元,用于使用训练集中的正样本以及第二类负样本训练第三级卷积神经网络,其中,若训练集中的负样本被第一级卷积神经网络和第二级卷积神经网络均判断为正样本,则该样本为第二类负样本。

在训练时,可以对训练集进行数据扩充,数据扩充包括:对训练集中的样本进行随机灰度化、随机图像翻折和/或随机亮度调整。

基于数据扩充训练的网络,在检测时,待检测人脸图像为彩色图像,若将待检测人脸图像输入训练好的级联的三级轻量级卷积神经网络后,未检测出人脸,则将待检测人脸图像转化为灰度图像,并构造三通道均为灰度图的待检测灰度图像,将待检测灰度图像输入训练好的级联的三级轻量级卷积神经网络,重新进行人脸检测。

本发明实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,前述描述的装置和单元的具体工作过程,均可以参考上述方法实施例中的对应过程,在此不再赘述。

实施例3:

本说明书提供的上述实施例所述的方法可以通过计算机程序实现业务逻辑并记录在存储介质上,所述的存储介质可以计算机读取并执行,实现本说明书实施例1所描述方案的效果。因此,本发明还提供用于旋转不变性人脸检测的计算机可读存储介质,包括用于存储处理器可执行指令的存储器,指令被处理器执行时实现包括实施例1的旋转不变性人脸检测方法的步骤。

本发明可以有效地解决旋转人脸的检测和属性判断问题,使用轻量级网络,具有较小的时间复杂度,逐步回归检测人脸和属性判断,减小角度搜索空间,达到更好的人脸检测和属性判断效果。

所述存储介质可以包括用于存储信息的物理装置,通常是将信息数字化后再以利用电、磁或者光学等方式的媒体加以存储。所述存储介质有可以包括:利用电能方式存储信息的装置如,各式存储器,如ram、rom等;利用磁能方式存储信息的装置如,硬盘、软盘、磁带、磁芯存储器、磁泡存储器、u盘;利用光学方式存储信息的装置如,cd或dvd。当然,还有其他方式的可读存储介质,例如量子存储器、石墨烯存储器等等。

上述所述的装置根据方法实施例的描述还可以包括其他的实施方式。具体的实现方式可以参照相关方法实施例的描述,在此不作一一赘述。

实施例4:

本发明还提供一种用于旋转不变性人脸检测的设备,所述的设备可以为单独的计算机,也可以包括使用了本说明书的一个或多个所述方法或一个或多个实施例装置的实际操作装置等。所述用于旋转不变性人脸检测的设备可以包括至少一个处理器以及存储计算机可执行指令的存储器,处理器执行所述指令时实现上述任意一个或者多个实施例1中所述旋转不变性人脸检测方法的步骤。

本发明可以有效地解决旋转人脸的检测和属性判断问题,使用轻量级网络,具有较小的时间复杂度,逐步回归检测人脸和属性判断,减小角度搜索空间,达到更好的人脸检测和属性判断效果。

上述所述的设备根据方法或者装置实施例的描述还可以包括其他的实施方式,具体的实现方式可以参照相关方法实施例的描述,在此不作一一赘述。

需要说明的是,本说明书上述所述的装置或者系统根据相关方法实施例的描述还可以包括其他的实施方式,具体的实现方式可以参照方法实施例的描述,在此不作一一赘述。本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于硬件+程序类、存储介质+程序实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、车载人机交互设备、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。

为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书一个或多个时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法或者设备中还存在另外的相同要素。

本领域技术人员应明白,本说明书一个或多个实施例可提供为方法、系统或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本说明书一个或多个实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本本说明书一个或多个实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述并不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围。都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

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