CN108256454B - 一种基于cnn模型的训练方法、人脸姿态估测方法及装置 - Google Patents
一种基于cnn模型的训练方法、人脸姿态估测方法及装置 Download PDFInfo
- Publication number
- CN108256454B CN108256454B CN201810014689.1A CN201810014689A CN108256454B CN 108256454 B CN108256454 B CN 108256454B CN 201810014689 A CN201810014689 A CN 201810014689A CN 108256454 B CN108256454 B CN 108256454B
- Authority
- CN
- China
- Prior art keywords
- face image
- angle
- yaw
- pitch
- expected
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/161—Detection; Localisation; Normalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/168—Feature extraction; Face representation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于CNN模型的训练方法、人脸姿态估测方法及装置,用以解决现有技术中在人脸姿态估测仅以单一浅层特征为输入,以及不能估测出人脸姿态的具体角度的问题。基于CNN模型的训练方法包括:根据输入的人脸图像确定人脸图像在roll方向上的偏转角度,并根据偏转角度反方向调整人脸图像;提取调整后的人脸图像中预设的多个浅层特征;将提取的各个浅层特征进行堆叠后作为卷积神经网络CNN模型的输入,正向传播并提取深层特征,将提取的深层特征以全连接的方式得到两个输出值;将该两个输出值分别与人脸图像在pitch方向和yaw方向上的期望位姿所对应的期望值进行比较,计算误差,以及将误差反向传播,更新CNN模型的参数。
Description
技术领域
本发明涉及深度学习领域,尤其涉及一种基于CNN模型的训练方法、人脸姿态估测方法及装置。
背景技术
人脸姿态估测是模式识别和计算机视觉领域的一个重要研究课题。人脸姿态变化仍然是影响人脸识别效果的一个关键因素。对人脸图像进行有效的姿态估测,才能够进一步对姿态图像进行处理,从而减弱人脸姿态对人脸识别效果的影响。人脸姿态估测在计算机视觉中也有广泛的应用,如人机交互、虚拟现实、智能监控等。
现主流的人脸姿态识别方法多采用基于图像特征的判别方法,即提取人脸图像的特征,并建立特征与人脸姿态的映射关系。如提取图像的局部Gabor二值模式(Local GaborBinary Pattern,LGBP)特征,再使用支持向量机(Support Vector Machine,SVM)进行姿态分类;使用卷积神经网络(Convolutional neural network,CNN)逐层提取人脸图像更具姿态区分性的特征并对提取的特征进行分类。
CNN是一种有监督的深层网络模型。该模型能够提取不同类别样本之间的更具区分性的特征。现有的基于CNN的人脸姿态估测方法主要通过以下两点进行:(1)以图像的灰度特征或RGB特征为输入;(2)根据人脸姿态的不同将样本分为固定的类别。
然而现有技术中基于CNN对人脸姿态进行估测存在以下缺点:1、没有考虑以其他浅层特征为输入的情况;2、没有考虑人脸姿态是一种连续变化的模式,仅能将样本判定为某一固定的姿态类别,不能估测出人脸姿态的具体角度,使得当添加新的姿态类别时,需要重新设计网络结构,不便于网络的扩展。
发明内容
本发明实施例提供了一种基于CNN模型的训练方法、人脸姿态估测方法及装置,用以解决现有技术中在人脸姿态估测仅以单一浅层特征为输入,以及不能估测出人脸姿态的具体角度的问题。
本发明实施例提供的一种基于CNN模型的训练方法,包括:
根据输入的人脸图像确定所述人脸图像在roll方向上的偏转角度,并根据所述偏转角度反方向调整所述人脸图像;提取调整后的人脸图像中预设的多个浅层特征;将提取的各个浅层特征进行堆叠后作为卷积神经网络CNN模型的输入,正向传播并提取深层特征,将提取的深层特征以全连接的方式得到两个输出值;
将该两个输出值分别与所述人脸图像在pitch方向和yaw方向上的期望位姿所对应的期望值进行比较,计算误差,以及将所述误差反向传播,更新CNN模型的参数。
具体地,本发明实施例提供的基于CNN模型的训练方法中,主要将人脸图像中预设的多个浅层特征进行堆叠后作为CNN模型的输入,并通过全连接的方式得到两个输出值,通过该两个输出值与人脸图像在pitch方向和yaw方向上的期望位姿所对应的期望值之间的误差,不断调节CNN模型的参数。因此,本发明实施例提供的方法中,以多个浅层特征作为输入,融合了人脸图像的灰度信息、纹理信息和梯度信息,使该训练方法具有更强的稳定性和更优的估测性能。另外,本发明中通过将仰俯角度和偏航角度作为监督信号进行CNN模型的训练,可以直接得到人脸姿态的具体角度,相比现有技术中需要对输出的结果进行回归计算,本发明实施例的方法更加方便、直接,同时该方法充分利用现有的人脸姿态数据库资源,无需因为添加新的姿态角度而改变现有的网络结构,使得网络便于扩展。
较佳地,所述预设的多个浅层特征包括:灰度特征、局部二值模式特征和局部方向模式特征。
较佳地,确定所述人脸图像在roll方向上的偏转角度,包括:
将所述输入的人脸图像进行剪裁和定位后,确定所述人脸图像中双眼的位置,计算所述双眼中心之间的连线与roll方向上的夹角即为roll方向上的偏转角度。
较佳地,所述人脸图像在pitch方向和yaw方向上的期望位姿所对应的期望值,通过如下方式确定:
pitch方向上的期望位姿所对应的期望值=pitch方向上的期望角度/pitch方向上的最大预设仰俯角;
yaw方向上的期望位姿所对应的期望值=yaw方向上的期望角度/yaw方向上的最大预设偏航角。
相应地,本发明实施例还提供了一种基于CNN模型的人脸姿态估测方法,包括:
根据输入的人脸图像确定所述人脸图像在roll方向上的偏转角度,并根据所述偏转角度反方向调整所述人脸图像;提取调整后的人脸图像中预设的多个浅层特征;将提取的各个浅层特征进行堆叠后作为卷积神经网络CNN模型的输入,正向传播并提取深层特征,将提取的深层特征以全连接的方式得到两个输出值;其中,所述CNN模型是利用本发明实施例提供的CNN模型的训练方法预训练得到的;
将该两个输出值分别转换成pitch方向上的仰俯角度和yaw方向上的偏航角度。
本发明实施例的人脸姿态估测方法中,将人脸图像中预设的多个浅层特征进行堆叠后作为CNN模型的输入,并经过正向传播后提取深层特征,将该提取的深层特征以全连接的方式得到两个输出值,最后将该输出值分别转换为pitch方向上的仰俯角度和yaw方向上的偏航角度。因此,本发明实施例提供的人脸图像姿态估测方法中,以多个浅层特征作为输入,融合了人脸图像的灰度信息、纹理信息和梯度信息,使该方法具有更强的稳定性和更优的估测性能。另外,本发明中通过将仰俯角度和偏航角度作为监督信号进行CNN模型的训练,可以直接得到人脸姿态的具体角度,相比现有技术中需要对输出的结果进行回归计算,本发明实施例的方法更加方便、直接,同时该方法充分利用现有的人脸姿态数据库资源,无需因为添加新的姿态角度而改变现有的网络结构,使得网络便于扩展。
较佳地,所述将该两个输出值分别转换成pitch方向上的仰俯角度和yaw方向上的偏航角度,包括:
计算两个输出值中的一个输出值与pitch方向上的最大预设仰俯角的乘积,作为人脸图像在pitch方向上的仰俯角度;
计算两个输出值中的另一输出值与yaw方向上的最大预设偏航角的乘积,作为人脸图像在yaw方向上的偏航角度。
相应地,本发明实施例还提供了一种基于CNN模型的训练装置,包括:
特征提取模块,用于根据输入的人脸图像确定所述人脸图像在roll方向上的偏转角度,并根据所述偏转角度反方向调整所述人脸图像;提取调整后的人脸图像中预设的多个浅层特征;将提取的各个浅层特征进行堆叠后作为卷积神经网络CNN模型的输入,正向传播并提取深层特征,将提取的深层特征以全连接的方式得到两个输出值;
更新模块,用于将该两个输出值分别与所述人脸图像在pitch方向和yaw方向上的期望位姿所对应的期望值进行比较,计算误差,以及将所述误差反向传播,更新CNN模型的参数。
较佳地,所述预设的多个浅层特征包括:灰度特征、局部二值模式特征和局部方向模式特征。
较佳地,所述特征提取模块确定所述人脸图像在roll方向上的偏转角度,用于:
将所述输入的人脸图像进行剪裁和定位后,确定所述人脸图像中双眼的位置,计算所述双眼中心之间的连线与roll方向上的夹角即为roll方向上的偏转角度。
较佳地,所述人脸图像在pitch方向和yaw方向上的期望位姿所对应的期望值,通过如下方式确定:
pitch方向上的期望位姿所对应的期望值=pitch方向上的期望角度/pitch方向上的最大预设仰俯角;
yaw方向上的期望位姿所对应的期望值=yaw方向上的期望角度/yaw方向上的最大预设偏航角。
相应地,本发明实施例还提供了一种基于CNN模型的人脸姿态估测装置,包括:
特征提取单元,用于根据输入的人脸图像确定所述人脸图像在roll方向上的偏转角度,并根据所述偏转角度反方向调整所述人脸图像;提取调整后的人脸图像中预设的多个浅层特征;将提取的各个浅层特征进行堆叠后作为卷积神经网络CNN模型的输入,正向传播并提取深层特征,将提取的深层特征以全连接的方式得到两个输出值;其中,所述CNN模型是利用本发明实施例提供的CNN模型的训练方法预训练得到的;
估测单元,用于将该两个输出值分别转换成pitch方向上的仰俯角度和yaw方向上的偏航角度。
较佳地,所述估测单元具体用于:
计算一个输出值与pitch方向上的最大预设仰俯角的乘积,作为人脸图像在pitch方向上的仰俯角度;
计算另一输出值与yaw方向上的最大预设偏航角的乘积,作为人脸图像在yaw方向上的偏航角度。
附图说明
图1为本发明实施例提供的一种基于CNN模型的训练方法的流程示意图;
图2为本发明实施例提供的一种pitch方向和yaw方向的示意图;
图3为本发明实施例提供的一种基于CNN模型的人脸姿态估测方法的流程示意图;
图4为本发明实施例提供的一种算子LBP8,2的领域关系图;
图5为本发明实施例提供的一种8个方向的Kirsh算子数据示意图;
图6为本发明实施例提供的一种LDP特征提取过程的示意图;
图7为本发明实施例提供的一种基于CNN模型的训练装置的结构示意图;
图8为本发明实施例提供的一种基于CNN模型的人脸姿态估测装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明实施例提供了一种基于CNN模型的训练方法、人脸姿态估测方法及装置,用以解决现有技术中在人脸姿态估测仅以单一浅层特征为输入,以及不能估测出人脸姿态的具体角度的问题。
下面结合附图和实施例对本发明提供的一种CNN模型的训练方法及装置、人脸姿态估测方法及装置进行更详细地说明。
参见图1,本发明实施例提供的一种基于CNN模型的训练方法,包括:
步骤101、根据输入的人脸图像确定人脸图像在roll方向上的偏转角度,并根据偏转角度反方向调整人脸图像;提取调整后的人脸图像中预设的多个浅层特征;将提取的各个浅层特征进行堆叠后作为卷积神经网络CNN模型的输入,正向传播并提取深层特征,将提取的深层特征以全连接的方式得到两个输出值;
步骤102、将该两个输出值分别与人脸图像在pitch方向和yaw方向上的期望位姿所对应的期望值进行比较,计算误差,以及将误差反向传播,更新CNN模型的参数。
一般地,本发明实施例中的pitch方向是围绕X轴旋转,pitch方向上的角度叫做俯仰角;yaw方向是围绕Y轴旋转,yaw方向上的角度叫做偏航角;roll方向是围绕Z轴旋转,roll方向上的角度叫做偏转角。
需要说明的是,本发明实施例中将提取的深层特征以全连接的方式得到两个输出值的范围为[-1,1],即在全连接中通过激活函数将输出中固定在[-1,1]内。本发明实施例中根据误差对CNN模型的参数进行更新,可以使得经过CNN模型识别的人脸姿态向标签层的期望值收敛,从而提高基于CNN模型进行人脸识别的准确性。
具体地,本发明实施例提供的基于CNN模型的训练方法中,主要将人脸图像中预设的多个浅层特征进行堆叠后作为CNN模型的输入,并通过全连接的方式得到输出范围为[-1,1]的两个输出值,通过该两个输出值与人脸图像在pitch方向和yaw方向上的期望位姿所对应的期望值之间的误差,不断调节CNN模型的参数。因此,本发明实施例提供的方法中,以多个浅层特征作为输入,融合了人脸图像的灰度信息、纹理信息和梯度信息,使该训练方法具有更强的稳定性和更优的估测性能。另外,本发明中通过将仰俯角度和偏航角度作为监督信号进行CNN模型的训练,可以直接得到人脸姿态的具体角度,相比现有技术中需要对输出的结果进行回归计算,本发明实施例的方法更加方便、直接,同时该方法充分利用现有的人脸姿态数据库资源,无需因为添加新的姿态角度而改变现有的网络结构,使得网络便于扩展。
在具体实施例中,本发明实施例提供的上述CNN模型的训练方法中,预设的多个浅层特征包括:灰度特征、局部二值模式(Local Binary Pattern,LBP)特征和局部方向模式(Local Direction Pattern,LDP)特征。
具体地,灰度特征是由设备采集或者RGB图像转化而来,包含了人脸图像的绝大多数信息。但需要注意的是,灰度特征容易受外界因素的影响,如光照或表情等。LBP特征能够很好地描述人脸的纹理特征,同时又具有较好的方向性。LDP特征能很好地描述人脸的梯度特征和方向信息。因此,本发明实施例中通过灰度特征、LBP特征和LDP特征作为人脸图像的输入,通过很好地分析了人脸图像的多个特征,进一步提高了人脸识别的准确性。
在具体实施例中,本发明实施例提供的上述CNN模型的训练方法中,确定人脸图像在roll方向上的偏转角度,包括:
将输入的人脸图像进行剪裁和定位后,确定人脸图像中双眼的位置,计算双眼中心之间的连线与roll方向上的夹角即为roll方向上的偏转角度。
具体地,在进行人脸姿态估测或CNN模型的训练时,为了进一步提高精确识别pitch方向和yaw方向上的角度,需要将人脸图像进行定位和剪裁。首先将输入的人脸图像检索出双眼的位置,计算两眼中心连接与roll方向(水平方向)之间的夹角,即偏转角度;然后将人脸图像向反方向进行调整,使得双眼中心连线与水平方向对齐;最后将调整后的人脸图像岁缩放并剪取至需要的像素大小。例如,可以将人脸图像的像素设置为32×32。
例如,若将人脸图像的像素大小均设置为32×32,则将灰度特征、局部二值模式特征和局部方向模式特征进行堆叠后作为CNN模型的输入,即输入尺寸为32×32×3。
在具体实施例中,本发明实施例提供的上述CNN模型的训练方法中,人脸图像在pitch方向和yaw方向上的期望位姿所对应的期望值,通过如下方式确定:
pitch方向上的期望位姿所对应的期望值=pitch方向上的期望角度/pitch方向上的最大预设仰俯角;
yaw方向上的期望位姿所对应的期望值=yaw方向上的期望角度/yaw方向上的最大预设偏航角。
具体地,在对CNN模型进行训练时,针对每一张输入的人脸图像,均对应一个pitch方向上的期望位姿所对应的期望值P1和yaw方向上的期望位姿所对应的期望值Y1。一般地,在对CNN模型进行训练时,针对每一张输入的人脸图像,均对应一个pitch方向上仰俯角Pitch和一个yaw方向上的偏航角Yaw,为了将pitch方向上仰俯角和一个yaw方向上的偏航角的信息作为CNN模型的监督信号,本发明实施例中,将每一仰俯角转换为[-1,1]内的值,以及将每一偏航角转换为[-1,1]内的值。其中,例如,人脸检测系统可以在仰俯姿态变化范围为±60°、偏航姿态变化范围为±90°的情况下,有效地检测出人脸,则采用下述公式(1)进行转换。
其中,P1代表pitch方向上的期望位姿所对应的期望值,Y1代表yaw方向上的期望位姿所对应的期望值,Pitch代表pitch方向上期望仰俯角,Yaw代表yaw方向上的期望偏航角。
因此,本发明实施例中,通过将P1、Y1作为网络的监督信号对CNN模型进行监督学习。经过大量的姿态样本训练后,CNN模型具有很强的姿态判别能力。
基于同一发明思想,如图3所示,本发明实施例还提供了一种基于CNN模型的人脸姿态估测方法,包括:
步骤301、根据输入的人脸图像确定人脸图像在roll方向上的偏转角度,并根据偏转角度反方向调整人脸图像;提取调整后的人脸图像中预设的多个浅层特征;将提取的各个浅层特征进行堆叠后作为卷积神经网络CNN模型的输入,正向传播并提取深层特征,将提取的深层特征以全连接的方式得到两个输出值;其中,CNN模型是利用本发明实施例提供的CNN模型的训练方法预训练得到的;
其中,本发明实施例中的输出值在全连接中通过激活函数将输出值固定在[-1,1]内。
步骤302、将该两个输出值分别转换成pitch方向上的仰俯角度和yaw方向上的偏航角度。
基于本发明实施例提供的基于CNN模型的训练方法得到的CNN模型,本发明实施例的人脸姿态估测方法中,将人脸图像中预设的多个浅层特征进行堆叠后作为CNN模型的输入,并经过正向传播后提取深层特征,将该提取的深层特征以全连接的方式得到输出值的范围为[-1,1]的两个输出值,最后将该输出值分别转换为pitch方向上的仰俯角度和yaw方向上的偏航角度。因此,本发明实施例提供的人脸图像姿态估测方法中,以多个浅层特征作为输入,融合了人脸图像的灰度信息、纹理信息和梯度信息,使该方法具有更强的稳定性和更优的估测性能。另外,本发明中通过将仰俯角度和偏航角度作为监督信号进行CNN模型的训练,可以直接得到人脸姿态的具体角度,相比现有技术中需要对输出的结果进行回归计算,本发明实施例的方法更加方便、直接,同时该方法充分利用现有的人脸姿态数据库资源,无需因为添加新的姿态角度而改变现有的网络结构,使得网络便于扩展。
在具体实施例中,本发明实施例提供的上述基于CNN模型的人脸姿态估测方法,将该两个输出值分别转换成pitch方向上的仰俯角度和yaw方向上的偏航角度,包括:
计算两个输出值中的一个输出值与pitch方向上的最大预设仰俯角的乘积,作为人脸图像在pitch方向上的仰俯角度;
计算两个输出值中的另一输出值与yaw方向上的最大预设偏航角的乘积,作为人脸图像在yaw方向上的偏航角度。
具体地,一张待检测的人脸图像输入到训练好的CNN模型后,在输出层输出两个范围为[-1,1]的两个输出值,然后通过下述公式(2)将该两个输出值转换为估测出的仰俯角度Pitch’和偏航角度Yaw’。
例如,人脸检测系统可以在仰俯姿态变化范围为±60。、偏航姿态变化范围为±90。的情况下,
其中,P1’代表pitch方向上的输出值,Y1’代表yaw方向上的输出值,Pitch’代表pitch方向上估测的仰俯角,Yaw’代表yaw方向上估测的偏航角。
其中,本发明实施例的人脸姿态估测可以应用的场景包括身份识别和身份认证。如在身份认证或身份识别时,将采集人脸图像的特征与注册过的人脸图像的特征进行对比,判断即使人脸经过偏转后与注册过的图像是否为同一人或该人是谁。
下面以具体的应用为例,对本发明实施例提供的一种CNN模型的训练方法及基于CNN模型的人脸姿态估测方法进行更加详细地描述。
本实施例中,提取的浅层特征包括灰度特征、LBP特征和LDP特征。由于灰度特征是由设备采集后转换而来,且与现有技术中的提取方法相同,在此不再赘述。下面详细介绍一下LBP特征和LDP特征的提取方法。
其中,LBP特征的提取方法包括:
LBP特征能够很好地描述人脸的纹理特征,同时又具有较好的方向性。首先在人脸图像中,可以在以中心像素为圆心的任意半径R的区域上,选取任意P个邻域点,通常用LBPP,R表示。如图4所示,为当P为8,R为2时,算子LBP8,2的邻域关系图,白点代表中心像素,黑点代表邻域像素。
然后以像素fc为阈值,与其P个邻域像素fi(1≤i≤P)比较大小,生成P个二值数,如公式(3):
最后将P个二值数按照一定顺序连接起来组成一个P位的二进制数,并转化成十进制数作为该中心像素点的LBP特征描述值,如下式公式(4)所示:
其中,在对整幅图像求解LBP特征时,可以对原图像进行边缘填充,使求得的LBP特征图与原图像的尺寸相同。
其中,LDP特征的提取方法包括:
LDP是一种梯度信息提取方法。首先使用Kirsh算子提取中心像素点的8个方向上的梯度绝对值;然后选取k个最大的梯度绝对值置1,其余梯度绝对值置0;最后将8个二值数按一定顺序组成一个8位的二进制数,并转化成十进制数作为该中心的LDP特征值。其中,中心像素点的8个方向上Kirsh算子如图5所示,经过取梯度绝对值,然后选取3个最大的梯度绝对值置1,其余梯度绝对值置0后,得到图6所示的结果。最后将图6中的结果按照一定顺序得到的二进制数为01001100,换算成十进制数为76。
其中,在对整幅图像求解LDP特征时,可以对原图像进行边缘填充,使求得的LDP特征图与原图像的尺寸相同。
本实施例中,CNN模型的训练过程如下:
步骤一、将输入的人脸图像进行剪裁和定位后,确定人脸图像中双眼的位置,计算双眼中心之间的连线与roll方向上的夹角即为roll方向上的偏转角度,并根据偏转角度反方向调整人脸图像;
步骤二、提取调整后的人脸图像中灰度特征、LBP特征和LDP特征;并分别将灰度特征、LBP特征和LDP特征这三个浅层特征进行堆叠后输入到CNN模型中逐层在卷积层Conv1、池化层Pool1、卷积层Conv2、池化层Pool2正向传播,提取深层特征;
步骤三、将提取的深层特征通过两次全连接Fc1、Fc2的方式得到两个输出值,并经过tanh激活函数将输出值固定在[-1,1]范围内;
步骤四、将该两个输出值分别与人脸图像在pitch方向和yaw方向上的期望位姿所对应的期望值进行比较,计算误差,以及将误差反向传播,更新CNN模型的参数。
其中,表1为本发明实施例中采用的CNN模型结构。
表1 本算法所使用CNN模型结构
基于以上训练好的CNN模型,进行人脸姿态估测方法如下:
步骤一、将输入的人脸图像进行剪裁和定位后,确定人脸图像中双眼的位置,计算双眼中心之间的连线与roll方向上的夹角即为roll方向上的偏转角度,并根据偏转角度反方向调整人脸图像;
步骤二、提取调整后的人脸图像中灰度特征、LBP特征和LDP特征;并分别将灰度特征、LBP特征和LDP特征这三个浅层特征进行堆叠后输入到CNN模型中逐层经过卷积层Conv1、池化层Pool1、卷积层Conv2、池化层Pool2正向传播,提取深层特征;
步骤三、将提取的深层特征通过两次全连接Fc1、Fc2的方式得到两个输出值,并经过tanh激活函数将输出值固定在[-1,1]范围内;
步骤四、根据上述公式(3)将该两个输出值分别转换成pitch方向上的仰俯角度和yaw方向上的偏航角度。
现有的基于CNN的人脸姿态估测方法,根据样本姿态的不同将样本划分为固定的标签类别。且现有的人脸姿态样本数据库所给出的人脸姿态角度的角度间隔不尽相同,当需要添加新的人脸姿态样本对CNN网络进行训练时,可能要增加新的姿态标签类别,这就需要重新设计网络的结构,不利于网络的扩展。在测试时,如果测试样本不属于固定的姿态类别,网络只能将测试样本判定为某一邻近的姿态类别,而不能估测出具体的人脸姿态角度。
因此,相比于现有的基于CNN的人脸姿态估测方法,本发明实施例中的人脸姿态估测方法中,考虑到人脸姿态的变化是一种连续的变化模式,我们在输出层以全连接的形式输出两个网络节点,并采用tanh激活函数将输出值固定到范围[-1,1],并将输出值转化为估测的仰俯角度Pitch’和偏航角度Yaw’。
基于同一发明思想,参见图7,本发明实施例还提供了一种基于CNN模型的训练装置,包括:
特征提取模块71,用于根据输入的人脸图像确定所述人脸图像在roll方向上的偏转角度,并根据所述偏转角度反方向调整所述人脸图像;提取调整后的人脸图像中预设的多个浅层特征;将提取的各个浅层特征进行堆叠后作为卷积神经网络CNN模型的输入,正向传播并提取深层特征,将提取的深层特征以全连接的方式得到两个输出值;
更新模块72,用于将该两个输出值分别与所述人脸图像在pitch方向和yaw方向上的期望位姿所对应的期望值进行比较,计算误差,以及将所述误差反向传播,更新CNN模型的参数。
较佳地,预设的多个浅层特征包括:灰度特征、局部二值模式特征和局部方向模式特征。
较佳地,特征提取模块确定所述人脸图像在roll方向上的偏转角度,用于:
将所述输入的人脸图像进行剪裁和定位后,确定所述人脸图像中双眼的位置,计算所述双眼中心之间的连线与roll方向上的夹角即为roll方向上的偏转角度。
较佳地,所述人脸图像在pitch方向和yaw方向上的期望位姿所对应的期望值,通过如下方式确定:
pitch方向上的期望位姿所对应的期望值=pitch方向上的期望角度/pitch方向上的最大预设仰俯角;
yaw方向上的期望位姿所对应的期望值=yaw方向上的期望角度/yaw方向上的最大预设偏航角。
基于同一发明思想,参见图8,本发明实施例还提供了一种基于CNN模型的人脸姿态估测装置,包括:
特征提取单元81,用于根据输入的人脸图像确定所述人脸图像在roll方向上的偏转角度,并根据所述偏转角度反方向调整所述人脸图像;提取调整后的人脸图像中预设的多个浅层特征;将提取的各个浅层特征进行堆叠后作为卷积神经网络CNN模型的输入,正向传播并提取深层特征,将提取的深层特征以全连接的方式得到两个输出值;其中,所述CNN模型是利用本发明实施例提供的CNN模型的训练方法预训练得到的;
估测单元82,用于将该两个输出值分别转换成pitch方向上的仰俯角度和yaw方向上的偏航角度。
较佳地,所述估测单元具体用于:
计算一个输出值与pitch方向上的最大预设仰俯角的乘积,作为人脸图像在pitch方向上的仰俯角度;
计算另一输出值与yaw方向上的最大预设偏航角的乘积,作为人脸图像在yaw方向上的偏航角度。
综上所述,基于本发明实施例提供的基于CNN模型的训练方法得到的CNN模型,本发明实施例的人脸姿态估测方法中,将人脸图像中预设的多个浅层特征进行堆叠后作为CNN模型的输入,并经过正向传播后提取深层特征,将该提取的深层特征以全连接的方式得到输出值的范围为[-1,1]的两个输出值,最后将该输出值分别转换为pitch方向上的仰俯角度和yaw方向上的偏航角度。因此,本发明实施例提供的人脸图像姿态估测方法中,以多个浅层特征作为输入,融合了人脸图像的灰度信息、纹理信息和梯度信息,使该方法具有更强的稳定性和更优的估测性能。另外,本发明中通过将仰俯角度和偏航角度作为监督信号进行CNN模型的训练,可以直接得到人脸姿态的具体角度,相比现有技术中需要对输出的结果进行回归计算,本发明实施例的方法更加方便、直接,同时该方法充分利用现有的人脸姿态数据库资源,无需因为添加新的姿态角度而改变现有的网络结构,使得网络便于扩展。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (12)
1.一种基于CNN模型的训练方法,其特征在于,该方法包括:
根据输入的人脸图像确定所述人脸图像在roll方向上的偏转角度,并根据所述偏转角度反方向调整所述人脸图像;提取调整后的人脸图像中预设的多个浅层特征;将提取的各个浅层特征进行堆叠后作为卷积神经网络CNN模型的输入,正向传播并提取深层特征,将提取的深层特征以全连接的方式得到两个输出值;
将该两个输出值分别与所述人脸图像在pitch方向和yaw方向上的期望位姿所对应的期望值进行比较,计算误差,以及将所述误差反向传播,更新CNN模型的参数。
2.根据权利要求1所述的方法,其特征在于,所述预设的多个浅层特征包括:灰度特征、局部二值模式特征和局部方向模式特征。
3.根据权利要求1所述的方法,其特征在于,确定所述人脸图像在roll方向上的偏转角度,包括:
将所述输入的人脸图像进行剪裁和定位后,确定所述人脸图像中双眼的位置,计算所述双眼中心之间的连线与roll方向上的夹角即为roll方向上的偏转角度。
4.根据权利要求1所述的方法,其特征在于,所述人脸图像在pitch方向和yaw方向上的期望位姿所对应的期望值,通过如下方式确定:
pitch方向上的期望位姿所对应的期望值=pitch方向上的期望角度/pitch方向上的最大预设仰俯角;
yaw方向上的期望位姿所对应的期望值=yaw方向上的期望角度/yaw方向上的最大预设偏航角。
5.一种基于CNN模型的人脸姿态估测方法,其特征在于,该方法包括:
根据输入的人脸图像确定所述人脸图像在roll方向上的偏转角度,并根据所述偏转角度反方向调整所述人脸图像;提取调整后的人脸图像中预设的多个浅层特征;将提取的各个浅层特征进行堆叠后作为卷积神经网络CNN模型的输入,正向传播并提取深层特征,将提取的深层特征以全连接的方式得到两个输出值;其中,所述CNN模型是利用权利要求1~4任一项所述的CNN模型的训练方法预训练得到的;
将该两个输出值分别转换成pitch方向上的仰俯角度和yaw方向上的偏航角度。
6.根据权利要求5所述的方法,其特征在于,所述将该两个输出值分别转换成pitch方向上的仰俯角度和yaw方向上的偏航角度,包括:
计算两个输出值中的一个输出值与pitch方向上的最大预设仰俯角的乘积,作为人脸图像在pitch方向上的仰俯角度;
计算两个输出值中的另一输出值与yaw方向上的最大预设偏航角的乘积,作为人脸图像在yaw方向上的偏航角度。
7.一种基于CNN模型的训练装置,其特征在于,该装置包括:
特征提取模块,用于根据输入的人脸图像确定所述人脸图像在roll方向上的偏转角度,并根据所述偏转角度反方向调整所述人脸图像;提取调整后的人脸图像中预设的多个浅层特征;将提取的各个浅层特征进行堆叠后作为卷积神经网络CNN模型的输入,正向传播并提取深层特征,将提取的深层特征以全连接的方式得到两个输出值;
更新模块,用于将该两个输出值分别与所述人脸图像在pitch方向和yaw方向上的期望位姿所对应的期望值进行比较,计算误差,以及将所述误差反向传播,更新CNN模型的参数。
8.根据权利要求7所述的装置,其特征在于,所述预设的多个浅层特征包括:灰度特征、局部二值模式特征和局部方向模式特征。
9.根据权利要求7所述的装置,其特征在于,所述特征提取模块确定所述人脸图像在roll方向上的偏转角度,用于:
将所述输入的人脸图像进行剪裁和定位后,确定所述人脸图像中双眼的位置,计算所述双眼中心之间的连线与roll方向上的夹角即为roll方向上的偏转角度。
10.根据权利要求7所述的装置,其特征在于,所述人脸图像在pitch方向和yaw方向上的期望值,通过如下方式确定:
pitch方向上的期望位姿所对应的期望值=pitch方向上的期望角度/pitch方向上的最大预设仰俯角;
yaw方向上的期望位姿所对应的期望值=yaw方向上的期望角度/yaw方向上的最大预设偏航角。
11.一种基于CNN模型的人脸姿态估测装置,其特征在于,该装置包括:
特征提取单元,用于根据输入的人脸图像确定所述人脸图像在roll方向上的偏转角度,并根据所述偏转角度反方向调整所述人脸图像;提取调整后的人脸图像中预设的多个浅层特征;将提取的各个浅层特征进行堆叠后作为卷积神经网络CNN模型的输入,正向传播并提取深层特征,将提取的深层特征以全连接的方式得到两个输出值;其中,所述CNN模型是利用权利要求1~4任一项所述的CNN模型的训练方法预训练得到的;
估测单元,用于将该两个输出值分别转换成pitch方向上的仰俯角度和yaw方向上的偏航角度。
12.根据权利要求11所述的装置,其特征在于,所述估测单元具体用于:
计算一个输出值与pitch方向上的最大预设仰俯角的乘积,作为人脸图像在pitch方向上的仰俯角度;
计算另一输出值与yaw方向上的最大预设偏航角的乘积,作为人脸图像在yaw方向上的偏航角度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810014689.1A CN108256454B (zh) | 2018-01-08 | 2018-01-08 | 一种基于cnn模型的训练方法、人脸姿态估测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810014689.1A CN108256454B (zh) | 2018-01-08 | 2018-01-08 | 一种基于cnn模型的训练方法、人脸姿态估测方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108256454A CN108256454A (zh) | 2018-07-06 |
CN108256454B true CN108256454B (zh) | 2020-08-14 |
Family
ID=62725576
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810014689.1A Active CN108256454B (zh) | 2018-01-08 | 2018-01-08 | 一种基于cnn模型的训练方法、人脸姿态估测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108256454B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109063824B (zh) * | 2018-07-25 | 2023-04-07 | 深圳市中悦科技有限公司 | 深层三维卷积神经网络的创建方法、装置、存储介质及处理器 |
CN110147740B (zh) * | 2019-04-30 | 2021-07-09 | 北京迈格威科技有限公司 | 人脸识别方法、装置、设备和存储介质 |
CN110647811A (zh) * | 2019-08-15 | 2020-01-03 | 中国平安人寿保险股份有限公司 | 人脸姿态检测方法、装置及计算机可读存储介质 |
CN114550235B (zh) * | 2022-01-17 | 2022-12-16 | 合肥的卢深视科技有限公司 | 姿态角检测方法、系统、电子设备及存储介质 |
CN114519881A (zh) * | 2022-02-11 | 2022-05-20 | 深圳集智数字科技有限公司 | 人脸位姿估计方法、装置、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106815601A (zh) * | 2017-01-10 | 2017-06-09 | 西安电子科技大学 | 基于递归神经网络的高光谱图像分类方法 |
CN106845525A (zh) * | 2016-12-28 | 2017-06-13 | 上海电机学院 | 一种基于底层融合特征的深度置信网络图像分类协议 |
CN106874879A (zh) * | 2017-02-21 | 2017-06-20 | 华南师范大学 | 基于多特征融合和深度学习网络提取的手写数字识别方法 |
CN107038422A (zh) * | 2017-04-20 | 2017-08-11 | 杭州电子科技大学 | 基于空间几何约束深度学习的疲劳状态识别方法 |
CN107292317A (zh) * | 2017-06-26 | 2017-10-24 | 西安电子科技大学 | 基于浅层特征与t矩阵深度学习的极化sar分类方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7236615B2 (en) * | 2004-04-21 | 2007-06-26 | Nec Laboratories America, Inc. | Synergistic face detection and pose estimation with energy-based models |
-
2018
- 2018-01-08 CN CN201810014689.1A patent/CN108256454B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106845525A (zh) * | 2016-12-28 | 2017-06-13 | 上海电机学院 | 一种基于底层融合特征的深度置信网络图像分类协议 |
CN106815601A (zh) * | 2017-01-10 | 2017-06-09 | 西安电子科技大学 | 基于递归神经网络的高光谱图像分类方法 |
CN106874879A (zh) * | 2017-02-21 | 2017-06-20 | 华南师范大学 | 基于多特征融合和深度学习网络提取的手写数字识别方法 |
CN107038422A (zh) * | 2017-04-20 | 2017-08-11 | 杭州电子科技大学 | 基于空间几何约束深度学习的疲劳状态识别方法 |
CN107292317A (zh) * | 2017-06-26 | 2017-10-24 | 西安电子科技大学 | 基于浅层特征与t矩阵深度学习的极化sar分类方法 |
Non-Patent Citations (5)
Title |
---|
Deep Head Pose Estimation;Marco Venturelli 等;《arXiv:1703.01833》;20170306;第1-13页 * |
Embedded Recurrent Network for Head Pose Estimation in Car;Guido Borghi 等;《2017 IEEE Intelligent Vehicles Symposium》;20170731;第1503-1508页 * |
From Depth Data to Head Pose Estimation: a Siamese approach;Marco Venturelli 等;《arXiv:1703.01883》;20170310;第1-8页 * |
POSEidon: Face-from-Depth for Driver Pose Estimation;Guido Borghi 等;《2017 IEEE Conference on Computer Vision and Pattern Recognition(CVPR)》;20171109;第5.2节、图3、表 1 * |
基于深度学习的人脸识别;程福运;《中国优秀硕士学位论文全文数据库信息科技辑》;20170315;第I138-4591页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108256454A (zh) | 2018-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108256454B (zh) | 一种基于cnn模型的训练方法、人脸姿态估测方法及装置 | |
CN109426801B (zh) | 一种车道线实例检测方法和装置 | |
CN108038474B (zh) | 人脸检测方法、卷积神经网络参数的训练方法、装置及介质 | |
CN110728209B (zh) | 一种姿态识别方法、装置、电子设备及存储介质 | |
CN109145766B (zh) | 模型训练方法、装置、识别方法、电子设备及存储介质 | |
US10445602B2 (en) | Apparatus and method for recognizing traffic signs | |
CN106570453B (zh) | 用于行人检测的方法、装置和系统 | |
US10395136B2 (en) | Image processing apparatus, image processing method, and recording medium | |
US8792722B2 (en) | Hand gesture detection | |
CN111241989B (zh) | 图像识别方法及装置、电子设备 | |
CN106650660A (zh) | 一种车型识别方法及终端 | |
CN111931764A (zh) | 一种目标检测方法、目标检测框架及相关设备 | |
JP6997369B2 (ja) | プログラム、測距方法、及び測距装置 | |
CN111008576B (zh) | 行人检测及其模型训练、更新方法、设备及可读存储介质 | |
CN113487610B (zh) | 疱疹图像识别方法、装置、计算机设备和存储介质 | |
KR20180009180A (ko) | 모바일 환경 객체 신뢰도 평가와 학습을 통한 융합 객체 추적 시스템 및 방법 | |
CN110852327A (zh) | 图像处理方法、装置、电子设备及存储介质 | |
CN111310720A (zh) | 基于图度量学习的行人重识别方法及系统 | |
CN113724329A (zh) | 融合平面与立体信息的目标姿态估计方法、系统和介质 | |
CN111753618A (zh) | 图像识别方法、装置、计算机设备及计算机可读存储介质 | |
CN113706580B (zh) | 一种基于相关滤波跟踪器的目标跟踪方法、系统、设备及介质 | |
CN113837236B (zh) | 图像中目标对象的识别方法、装置、终端设备及存储介质 | |
CN114882372A (zh) | 一种目标检测的方法及设备 | |
CN114038045A (zh) | 一种跨模态人脸识别模型构建方法、装置及电子设备 | |
Islam et al. | A new method for road surface detection |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |