旋转不变的人脸检测方法、系统设备及可读存储介质与流程

文档序号:20919931发布日期:2020-05-29 14:01阅读:175来源:国知局
旋转不变的人脸检测方法、系统设备及可读存储介质与流程

本发明涉及图像识别技术领域,特别涉及一种旋转不变的人脸检测方法、系统、设备及可读存储介质。



背景技术:

人脸检测是人脸信息处理的关键步骤,在安全监控、身份查验等方面都有着较为广阔的应用前景。在实际场景中,如体操,街舞,家庭合影等复杂场景,由于拍摄角度与人体姿态的不同,图像中的所有人脸并非都是竖直的,会有各种平面内旋转角度的人脸出现在其中,这对人脸检测带来了极大的挑战。

目前已经有多种方法尝试解决旋转的人脸检测问题。大致分为以下三种方法,第一种是基于数据增广的方法,通过将人脸旋转到任意角度来增加训练数据,使得网络能够适应各种角度的人脸以进行检测。但是为了保证检测的精度,此方式必须用一个较大的网络进行训练。因此,此方式的计算量是很大的,难以满足实时性。第二种方法是采用分而治之的方式,训练多个检测小范围旋转角度的人脸检测器进行检测,但需要多个检测器一起进行检测使得其优势不再,无法满足实时,更可能因为多次检测而增加误检。第三种方法是将任意平面内旋转的人脸通过精细的旋转角度将人脸转为竖直人脸后再进行检测,但预测任意平面内旋转的人脸的角度本身也是个具有挑战性的任务,且由于旋转角度的精度与人脸角度的精度息息相关,为了保证精度也需要一个较大的网络。因此如何实现一种检测精度高、计算量较小的旋转人脸检测方法,是一个急需解决的问题。



技术实现要素:

本发明要解决的技术问题是如何提供一种检测精度高、计算量较小的旋转不变的人脸检测方法、系统设备及可读存储介质。

为了解决上述技术问题,本发明的技术方案为:

第一方面,本发明提出了一种旋转不变的人脸检测方法,包括步骤:

将图片输入至模型一,将向下人脸翻转为向上人脸,取置信度值大于阈值一的候选框,生成候选框一;所述模型一为全卷积网络,训练时使用预设数量个预定义框与标注框匹配来进行检测框回归,同时对预定义框进行分类与检测任务训练,分类包括:非人脸、向上人脸、向下人脸;

将所述候选框一输入至模型二,将正时针大角度人脸、逆时针大角度人脸旋转为小角度人脸,取置信度值大于阈值二的候选框,生成候选框二;模型二为卷积神经网络,同时进行分类与检测任务训练,分类包括非人脸、小角度人脸、正时针大角度人脸及逆时针大角度人脸;

将候选框二输入至模型三,得到人脸候选框及对应的旋转角与人脸特征点,生成最终检测框;模型三为卷积神经网络,训练时需同时进行人脸分类、人脸检测框回归任务、人脸特征点检测任务及人脸旋转角度回归任务训练,其中人脸分类包括人脸及非人脸。

优选地,在生成候选框一及候选框二之前都通过非极大值抑制算法去除冗余框。

优选地,设直角坐标系y轴正方向为0度,顺时针旋转角度为正,逆时针旋转角度为负;所述向上人脸的角度为[-90°,0°]∪[0°,90°],所述向下人脸的角度为[-90°,-180°]∪[90°,180°],所述小角度人脸的角度为[-30°,30°],所述正时针大角度人脸的角度为[30°,90°]、所述逆时针大角度人脸的角度为[-30°,-90°]。

优选地,图片通过图像金字塔输入至模型一中;将候选框一在原图上剪裁并缩放至第一预设值的大小后输入到模型二中;将候选框二在原图上剪裁并缩放至第二预设值的大小后输入到模型三中。

优选地,训练模型时,分类的损失函数包括softmax损失函数。

优选地,训练模型时,检测框回归的损失函数包括giou损失函数。

优选地,训练模型时,特征点的损失函数包括wingloss损失函数。

第二方面,本发明还提出一种旋转不变的人脸检测系统,包括:

翻转模块:将图片输入至模型一,将向下人脸翻转为向上人脸,取置信度值大于阈值一的候选框,生成候选框一;

旋转模块:将所述候选框一输入至模型二,将正时针大角度人脸、逆时针大角度人脸旋转为小角度人脸,取置信度值大于阈值二的候选框,生成候选框二;

检测模块:将候选框二输入至模型三,得到人脸候选框及对应的旋转角与人脸特征点,生成最终检测框;

其中,模型一:为全卷积网络,训练时使用预设数量个预定义框与标注框匹配来进行检测框回归的,同时对预定义框进行分类与检测任务训练,分类包括:非人脸、向上人脸、向下人脸;

模型二:为卷积神经网络,同时进行分类与检测任务训练,分类包括非人脸、小角度人脸、正时针大角度人脸及逆时针大角度人脸;

模型三:为卷积神经网络,训练时需同时进行人脸分类、人脸检测框回归任务、人脸特征点检测任务及人脸旋转角度回归任务训练,其中人脸分类包括人脸及非人脸。

第三方面,本发明还提出一种旋转不变的人脸检测设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的旋转不变的人脸检测方法的步骤。

第四方面,本发明还一种旋转不变的人脸检测的可读存储介质,其上存储有计算机程序,其特征在于:该计算机程序被处理器执行时间实现上述的旋转不变的人脸检测方法的步骤。

采用上述技术方案,通过使用训练好的三个模型,通过将人脸进行向上翻转、大角度角度旋转将各种角度的人脸分布旋转为小角度的人脸,进而得到人脸候选框及对应的旋转角与人脸特征点。采用该技术方案能做到处理嵌入式设备实时处理,使用逐步修正的方式,使得保证精度的同时使用较低的计算量,该算法实用性好,效果好。经过大量数据验证,本技术方案中的所提出的算法,能够在复杂场景下准确地检测出人脸及其特征点。

附图说明

图1为本发明旋转不变的人脸检测方法一实施例的步骤流程图;

图2为本发明中模型一的原理图;

图3为本发明中模型二的原理图;

图4为本发明中模型三的原理图;

图5为本发明一实施例中人脸的旋转角度效果图;

图6位本发明中giou损失函数的图解。

具体实施方式

下面结合附图对本发明的具体实施方式作进一步说明。在此需要说明的是,对于这些实施方式的说明用于帮助理解本发明,但并不构成对本发明的限定。此外,下面所描述的本发明各个实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互组合。

参照图1及图5,本发明实施例提出了一种旋转不变的人脸检测方法,包括步骤,

通过图像金字塔的方式将图片输入至模型一,将向下人脸翻转为向上人脸,取置信度值大于阈值一的候选框,通过非极大值抑制算法得到去冗余的候选框作为第一阶段得到的候选框一。本实施例中,置信度的阈值一=0.6。

需要说明的是,图像金字塔是图像多尺度表达的一种,是一种以多分辨率来解释图像的有效但概念简单的结构。一幅图像的金字塔是一系列以金字塔形状排列的分辨率逐步降低,且来源于同一张原始图的图像集合。其通过梯次向下采样获得,直到达到某个终止条件才停止采样。将一层一层的图像比喻成金字塔,层级越高,则图像越小,分辨率越低。

需要说明的是,非极大值抑制(non-maximumsuppression,nms),顾名思义就是抑制不是极大值的元素,可以理解为局部最大搜索。这个局部代表的是一个邻域,邻域有两个参数可变,一是邻域的维数,二是邻域的大小。

将候选框一在原图上剪裁并缩放到24×24大小后输入至模型二,将正时针大角度人脸、逆时针大角度人脸旋转为小角度人脸,取置信度值大于阈值二的候选框,再使用非极大值抑制算法去除冗余框生成候选框二;本实施例中,置信度的阈值二=0.7。

将候选框二在原图上剪裁并缩放到48×48大小后输入至模型三,得到人脸候选框及对应的旋转角与人脸特征点,再使用非极大值抑制算法去除冗余框得到最终检测框。本实施例中,置信度的阈值三=0.9。

需要说明的是,取直角坐标系y轴正方向为0度,顺时针旋转角度为正,逆时针旋转角度为负。

参照图2,其中模型一为全卷积网络,训练时预设三个预定义框与标注框匹配来进行检测框回归,同时对三个预定义框进行分类与检测任务训练,分类包括:非人脸、向上人脸、向下人脸;其中,向上人脸的角度为[-90°,0°]∪[0°,90°],向下人脸的角度为[-90°,-180°]∪[90°,180°]。

模型一的损失函数为:l1=lcls+γreglreg,

其中lcls为分类损失,使用softmax损失函数,lreg为检测框回归损失,使用giou损失函数,γreg为权重系数,本实施例中取0.5。

lcls=-logpk,样本laebl为第k类

参照图6,其giou损失lreg的计算步骤如下:

记检测框标注框

标注框面积检测框面积

检测框与标注框的相交面积,

最小闭集框面积,

参照图3,模型二为卷积神经网络,同时进行分类与检测任务训练,分类包括非人脸、小角度人脸、正时针大角度人脸及逆时针大角度人脸;其中,小角度人脸的角度为[-30°,30°],正时针大角度人脸的角度为[30°,90°]、逆时针大角度人脸的角度为[-30°,-90°]。

模型二的损失函数还是由softmax损失函数与giou损失函数组成。

参照图4,模型三为卷积神经网络,训练时需同时进行人脸分类、人脸检测框回归任务、人脸特征点检测任务及人脸旋转角度回归任务训练,其中人脸分类包括人脸及非人脸。

其损失函数为:

l3=lcls3+γreg3lreg3+γanglelangle+γlandmarkllandmark

其中lcls3为分类损失,使用softmax损失函数,lreg3为检测框回归损失,使用giou损失函数,langle为旋转角度回归损失,使用欧式距离为损失函数,llandmark为特征点检测回归损失,使用wingloss损失函数,γreg3、γangle和γlandmark均为权重系数,可取0.5,1,1。

wingloss损失函数如下:

其中c=ω-ωln(1+ω/ε),ω可取值为10,ε可取值为2。

采用上述技术方案,通过使用训练好的三个模型,通过将人脸进行向上翻转、大角度角度旋转将各种角度的人脸分布旋转为小角度的人脸,进而得到人脸候选框及对应的旋转角与人脸特征点。采用该技术方案能做到处理嵌入式设备实时处理,使用逐步修正的方式,使得保证精度的同时使用较低的计算量,该算法实用性好,效果好。经过大量数据验证,本技术方案中的所提出的算法,能够在复杂场景下准确地检测出人脸及其特征点。

另一方面,本发明还提出一种旋转不变的人脸检测系统,包括:

翻转模块:将图片输入至模型一,将向下人脸翻转为向上人脸,取置信度值大于阈值一的候选框,生成候选框一;

旋转模块:将候选框一输入至模型二,将正时针大角度人脸、逆时针大角度人脸旋转为小角度人脸,取置信度值大于阈值二的候选框,生成候选框二;

检测模块:将候选框二输入至模型三,得到人脸候选框及对应的旋转角与人脸特征点,生成最终检测框;

其中,模型一:为全卷积网络,训练时预设三个预定义框与标注框匹配来进行检测框回归的,同时对三个预定义框进行分类与检测任务训练,分类包括:非人脸、向上人脸、向下人脸;

模型二:为卷积神经网络,同时进行分类与检测任务训练,分类包括非人脸、小角度人脸、正时针大角度人脸及逆时针大角度人脸;

模型三:为卷积神经网络,训练时需同时进行人脸分类、人脸检测框回归任务、人脸特征点检测任务及人脸旋转角度回归任务训练,其中人脸分类包括人脸及非人脸。

再一方面,本发明还提出一种旋转不变的人脸检测设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现上述的旋转不变的人脸检测方法的步骤。

再一方面,本发明还一种旋转不变的人脸检测的可读存储介质,其上存储有计算机程序,其特征在于:该计算机程序被处理器执行时间实现上述的旋转不变的人脸检测方法的步骤。

本技术方案中的方法由三个卷积神经网络级联组成,分别为模型一、模型二,模型三。先用简单快速的模型一来提取人脸的候选区域,之后再用相对复杂的模型二,模型三逐步修正,使得人脸检测能够更加快速与准确。本发明采用逐步修正的方式,使得保证精度的同时使用较低的计算量。

以上结合附图对本发明的实施方式作了详细说明,但本发明不限于所描述的实施方式。对于本领域的技术人员而言,在不脱离本发明原理和精神的情况下,对这些实施方式进行多种变化、修改、替换和变型,仍落入本发明的保护范围内。

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