本发明属于姿态估计和人脸图像质量评测技术领域,具体为一种基于3d人脸关键点和几何投影的人脸姿态估计方法。
背景技术:
人的头部被看作是一个刚性物体,其姿态被限制在三个自由度上,分别用俯仰角pitch、偏航角yaw以及翻滚角roll来表示。随着现代计算机技术和人工智能的快速发展,人脸姿态估计已广泛应用于各种人机交互应用中,如驾驶辅助、残疾人辅助以及各种娱乐设备等。此外,人脸姿态估计也可以应用于人脸识别中,由于人脸姿态的复杂多变,特别是当人脸偏转角度较大的时候,会严重影响人脸识别的效果,利用人脸姿态估计可以在人脸姿态较正的情况下进行人脸识别,在视频人脸识别中可以大大提高人脸识别的准确率,对于人员非主动配合考勤以及开放场景下的嫌疑犯识别等有重大意义。
人脸姿态估计一直是一个具有吸引力的研究课题,由于人脸外观的多样性,如各种各样的人脸姿态变化、人脸纹理不同、光照不均匀、脸部部分遮挡等,使得人脸姿态估计具有挑战性。发明专利(发明人:于力、肖芳等,申请号:201910389666.3,名称:基于mtcnn的人脸姿态估计方法)公开了一种基于mtcnn的人脸姿态估计方法,使用mtcnn模型对预处理后的人脸图像进行人脸检测,标定出关键点,然后根据图像几何中心和左眼、右眼的相对位置和几何关系计算得到人脸姿态的偏转角度,得到人脸姿态估计结果。发明专利(发明人:赖剑煌、欧阳柳等,申请号:201811580405.1,名称:一种融合手工设计描述子和深度特征的人脸姿态估计方法)公开了一种融合手工设计描述子和深度特征的人脸姿态估计方法,使用sift描述子提取人脸图像的轮廓和局部信息,使用deepid深度网络提取人脸图像的表观和结构信息,并将两者串联输入到训练好的svm分类器进行分类,确定该待分类的人脸的姿态类别。发明专利(发明人:赵启军、李科等,申请号:201511024409.8,名称:一种级联的二维图像人脸姿态估计方法)公开了一种级联的二维图像人脸姿态估计方法,首先检测人脸,提取二维人脸图像的特征向量并计算其在不同姿态角下的可能性,选择具有最大可能性的姿态角作为该输入的二维人脸图像的姿态初始估计结果,采用基于特征点的方法进一步精确估计输入人脸图像中的人脸姿态角度。
上述方法存在的共同问题是人脸姿态估计的准确率较低,当人脸姿态偏移角度偏大时,无法较为准确的估计出人脸在三个方向上的偏移。
技术实现要素:
针对现有的人脸姿态估计方法存在的上述问题,本发明的目的在于提出了一种基于3d人脸关键点和几何投影的人脸姿态估计方法。
所述的一种基于3d人脸关键点和几何投影的人脸姿态估计方法,其特征在于包括如下步骤:
步骤1:利用三维人脸关键点定位模型w对待姿态估计的二维人脸图像进行关键点定位,得到二维人脸图像的三维人脸关键点坐标:两眼眉毛的中点三维坐标p1=(x1,y1,z1),鼻子上方第一个关键点三维坐标p2=(x2,y2,z2),左眼中点三维坐标p3=(x3,y3,z3),右眼中点三维坐标p4=(x4,y4,z4),其中,p1为两眉毛n1个三维关键点坐标的平均值,左眼中点三维坐标p3为左眼n3个三维关键点坐标的平均值,右眼中点三维坐标p4;
步骤2:利用两眼中点三维坐标p3与p4的连线l34在x-y平面上的投影
步骤2.1:当x3=x4时,人脸在roll方向上为90°,即θroll=90°;
步骤2.2:当x3≠x4时,当人脸在roll方向上无偏移时,
步骤3:利用两眼中点三维坐标p3与p4的连线l34在x-z平面上的投影
步骤3.1:当x3=x4时,人脸在yaw方向上为90°,即θyaw=90°;
步骤3.2:当x3≠x4时,当人脸在yaw方向上无偏移时,
步骤4:利用两眉毛的中点三维坐标p1和鼻子上方的第一个关键点p2的连线l12在y-z平面上的投影
步骤4.1:当y1=y2时,人脸在pitch方向上为90°,即θpitch=90°;
步骤4.2:当y1≠y2时,当人脸在pitch方向上无偏移时,
步骤5:当x3=x4时,人脸在yaw方向上为90°或在roll方向上为90°,此时为极端姿态下的人脸姿态估计,利用点p1和p2连线在x-y平面上的投影与x轴的夹角β来进行判断,令平行于x轴的向量
步骤5.1:当0≤β≤15°时,人脸在roll方向上为90°,此时,利用两眼中点三维坐标p3与p4连线l34在y-z平面上的投影
步骤5.2:当β>15°时,人脸在yaw方向上为90°,此时,利用
所述的基于3d人脸关键点和几何投影的人脸姿态估计方法,其特征在于步骤1中得到二维人脸图像的三维人脸关键点坐标的具体过程如下:
步骤1.1:利用模型w对人脸图像i进行关键点定位,得到三维人脸关键点坐标集合l={li|i=1,2,...,n},其中,n为三维人脸关键点坐标的数量,li为第i个三维人脸关键点坐标且li=(xi,yi,zi);
步骤1.2:令两眼眉毛的中点三维坐标p1=(x1,y1,z1),鼻子上方第一个关键点三维坐标p2=(x2,y2,z2),左眼中点三维坐标p3=(x3,y3,z3),右眼中点三维坐标p4=(x4,y4,z4),其中,p1为两眉毛n1个三维关键点坐标的平均值,左眼中点三维坐标p3为左眼n3个三维关键点坐标的平均值,右眼中点三维坐标p4为右眼n4个三维关键点坐标的平均值。通过采用上述技术,与现有技术相比,本发明的有益效果是:
本发明相比于目前存在的人脸姿态估计方法,利用三维人脸关键点定位得到二维人脸图像对应的三维人脸关键点坐标,然后利用三维人脸关键点在三维坐标系的x-y、x-z以及y-z三个平面上的几何投影来分别估计人脸在roll、yaw和pitch三个方向上的偏移角度,不仅可以对约束场景下的人脸进行姿态估计,还可以对无约束场景下的人脸进行姿态估计,从而实现人脸姿态的准确估计。
附图说明
图1为本发明的人脸姿态估计方法的算法流程图;
图2为本发明的人脸姿态估计方法在roll方向上的计算示意图;
图3为本发明的人脸姿态估计方法在yaw方向上的计算示意图;
图4为本发明的人脸姿态估计方法在pitch方向上的计算示意图。
具体实施方式
下面结合说明书附图和实施例,对本发明进行进一步的说明。应当理解,此处所描述的具体实施例仅仅用于解释本发明,并不用于限定本发明。
如图1-4所示,本发明的一种基于3d人脸关键点和几何投影的人脸姿态估计方法,具体包括如下步骤:
步骤1:利用三维人脸关键点定位模型w对待姿态估计的二维人脸图像进行关键点定位,得到二维人脸图像的三维人脸关键点坐标,具体为:
步骤1.1:利用模型w对人脸图像i进行关键点定位,得到三维人脸关键点坐标集合l={li|i=1,2,...,n},其中,n为三维人脸关键点坐标的数量,li为第i个三维人脸关键点坐标且li=(xi,yi,zi);
步骤1.2:令两眼眉毛的中点三维坐标p1=(x1,y1,z1),鼻子上方第一个关键点三维坐标p2=(x2,y2,z2),左眼中点三维坐标p3=(x3,y3,z3),右眼中点三维坐标p4=(x4,y4,z4),其中,p1为两眉毛n1个三维关键点坐标的平均值,左眼中点三维坐标p3为左眼n3个三维关键点坐标的平均值,右眼中点三维坐标p4为右眼n4个三维关键点坐标的平均值;
步骤2:利用两眼中点三维坐标p3与p4的连线l34在x-y平面上的投影
步骤2.1:当x3=x4时,人脸在roll方向上为90°,即θroll=90°;
步骤2.2:当x3≠x4时,当人脸在roll方向上无偏移时,
步骤3:利用两眼中点三维坐标p3与p4的连线l34在x-z平面上的投影
步骤3.1:当x3=x4时,人脸在yaw方向上为90°,即θyaw=90°;
步骤3.2:当x3≠x4时,当人脸在yaw方向上无偏移时,
步骤4:利用两眉毛的中点三维坐标p1和鼻子上方的第一个关键点p2的连线l12在y-z平面上的投影
步骤4.1:当y1=y2时,人脸在pitch方向上为90°,即θpitch=90°;
步骤4.2:当y1≠y2时,当人脸在pitch方向上无偏移时,
步骤5:当x3=x4时,人脸在yaw方向上为90°或在roll方向上为90°,此时为极端姿态下的人脸姿态估计,利用点p1和p2连线在x-y平面上的投影与x轴的夹角β来进行判断,令平行于x轴的向量
步骤5.1:当0≤β≤15°时,人脸在roll方向上为90°,此时,利用两眼中点三维坐标p3与p4连线l34在y-z平面上的投影
步骤5.2:当β>15°时,人脸在yaw方向上为90°,此时,利用