人脸姿态估计方法、装置、电子设备和存储介质与流程

    专利2022-07-08  102


    本发明涉及人工智能技术领域,尤其涉及一种人脸姿态估计方法、装置、电子设备和存储介质。



    背景技术:

    人脸姿态估计,通常应用于人脸识别和人脸防伪等场景。对于人脸识别场景来说,小角度人脸图片有利于识别,而大角度人脸图片容易发生误识,因此可通过姿态估计从多张人脸图片中选择出姿态最正的图片进行识别或者过滤掉不利于识别的大角度数据来提升人脸识别效果。对于人脸防伪场景来说,用户需要做出指令要求的人脸姿态,这时需要人脸姿态估计程序来判断姿态是否符合要求。

    现有的人脸姿态估计,需要采用人工方式对采集得到的人脸深度图的人脸姿态角进行标注,生成姿态角标签,从而对人脸姿态估计模型进行训练。由于人工方式确定姿态角较为困难且确定的姿态角标签误差较大,使得人脸姿态估计的准确性差。



    技术实现要素:

    本发明提供一种人脸姿态估计方法、装置、电子设备和存储介质,用以解决现有技术中人脸姿态估计需要采用人工方式对采集得到的人脸深度图的人脸姿态角进行标注,确定的姿态角标签误差较大,人脸姿态估计的准确性差的问题。

    本发明提供一种人脸姿态估计方法,包括:

    确定姿态待估计的人脸深度图;

    将所述人脸深度图输入至姿态估计模型,得到所述姿态估计模型输出的人脸姿态;

    其中,所述姿态估计模型是基于真值姿态训练集,或基于所述真值姿态训练集和相对姿态训练集训练得到的;

    所述真值姿态训练集包括模拟人脸深度图及其真值姿态角,所述相对姿态训练集包括真实人脸深度图对及其相对姿态角。

    根据本发明提供的一种人脸姿态估计方法,所述姿态估计模型的确定方法包括:

    基于所述真值姿态训练集和所述相对姿态训练集,以最小化真值姿态角误差与相对姿态角误差为目标对初始模型进行训练,得到所述姿态估计模型;

    其中,所述真值姿态角误差为所述模拟人脸深度图对应的人脸姿态角预估值与所述真值姿态角之间的差值;所述相对姿态角误差为所述真实人脸深度图对对应的相对姿态角预估值与所述相对姿态角之间的差值;所述真实人脸深度图对包括真实人脸深度图,以及对所述真实人脸深度图进行姿态增强得到的增强人脸深度图。

    根据本发明提供的一种人脸姿态估计方法,所述姿态估计模型的损失函数为:

    lossall=|f(depthsim)-eulergt| |f(aug(depthreal))-f(depthreal)-eulerrelative| lossreg

    式中,lossall为所述姿态估计模型f()的损失,f(depthsim)为所述模拟人脸深度图depthsim对应的人脸姿态角预估值,eulergt为所述真值姿态角,f(aug(depthreal))为所述增强人脸深度图aug(depthreal)对应的人脸姿态角预估值,f(depthreal)为所述真实人脸深度图depthreal对应的人脸姿态角预估值,eulerrelative为所述相对姿态角,lossreg为所述姿态估计模型的正则项损失。

    根据本发明提供的一种人脸姿态估计方法,所述增强人脸深度图的确定方法包括:

    确定相对姿态角;

    基于所述相对姿态角对应的旋转矩阵,对所述真实人脸深度图对应的点云进行旋转变换,确定所述真实人脸深度图对应的姿态增强点云;

    基于所述姿态增强点云,确定所述增强人脸深度图。

    根据本发明提供的一种人脸姿态估计方法,所述基于所述相对姿态角对应的旋转矩阵,对所述真实人脸深度图对应的点云进行旋转变换,确定所述真实人脸深度图对应的姿态增强点云,包括:

    对所述真实人脸深度图对应的点云进行中心化操作,确定中心化平移向量;

    基于所述相对姿态角对应的旋转矩阵,对所述真实人脸深度图对应的点云进行旋转变换;

    基于所述中心化平移向量,对旋转变换后的所述真实人脸深度图对应的点云进行平移,得到所述真实人脸深度图对应的姿态增强点云。

    根据本发明提供的一种人脸姿态估计方法,所述模拟人脸深度图的确定方法包括:

    确定三维人脸模型和真值姿态角;

    基于所述真值姿态角对应的旋转矩阵,对所述三维人脸模型对应的点云进行旋转变换;

    基于旋转变换后的所述三维人脸模型对应的点云,确定所述模拟人脸深度图。

    根据本发明提供的一种人脸姿态估计方法,所述将所述人脸深度图输入至姿态估计模型,得到所述姿态估计模型输出的人脸姿态,之前包括:

    获取所述人脸深度图对应的彩色图;

    基于所述彩色图中的人脸关键点和所述人脸深度图对应的相机参数,确定所述人脸深度图中的人脸关键点;

    基于所述人脸深度图中的人脸关键点,以及所述人脸深度图的分辨率,对所述人脸深度图进行裁剪。

    本发明还提供一种人脸姿态估计装置,包括:

    确定单元,用于确定姿态待估计的人脸深度图;

    估计单元,用于将所述人脸深度图输入至姿态估计模型,得到所述姿态估计模型输出的人脸姿态;

    其中,所述姿态估计模型是基于真值姿态训练集,或基于所述真值姿态训练集和相对姿态训练集训练得到的;

    所述真值姿态训练集包括模拟人脸深度图及其真值姿态角,所述相对姿态训练集包括真实人脸深度图对及其相对姿态角。

    本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述人脸姿态估计方法的步骤。

    本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述人脸姿态估计方法的步骤。

    本发明提供的人脸姿态估计方法、装置、电子设备和存储介质,采用真值姿态训练集,或真值姿态训练集和相对姿态训练集对姿态估计模型进行训练,使得姿态估计模型在训练过程中采用真值姿态角和相对姿态角对姿态估计误差进行约束,不需要对真值姿态训练集和相对姿态训练集中的人脸姿态角进行人工标注,真值姿态训练集包含人脸姿态角在各个角度均匀分布的人脸模拟深度图,相对姿态训练集包含人脸姿态角存在相对变化的真实人脸深度图对,两种数据综合训练,提高了姿态估计模型对各种角度数据预测的鲁棒性和准确性。

    附图说明

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

    图1是本发明提供的人脸姿态估计方法的流程示意图;

    图2是本发明提供的人脸姿态估计装置的结构示意图;

    图3为本发明提供的电子设备的结构示意图。

    具体实施方式

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

    图1是本发明提供的人脸姿态估计方法的流程示意图,如图1所示,该方法包括:

    步骤110,确定姿态待估计的人脸深度图。

    具体地,人脸深度图为包含人脸三维坐标信息的图像,用于表征人脸表面的几何信息。通过人脸深度图可以获取人脸的姿势,即人脸的面部朝向。

    人脸深度图可以通过结构光深度相机、tof(timeofflight,飞行时间)深度相机或者被动视觉深度相机等获取,本发明实施例对于深度相机的选择不作具体限定。

    步骤120,将人脸深度图输入至姿态估计模型,得到姿态估计模型输出的人脸姿态;

    其中,姿态估计模型是基于真值姿态训练集,或基于真值姿态训练集和相对姿态训练集训练得到的;真值姿态训练集包括基于三维人脸模型得到的模拟人脸深度图及其真值姿态角,相对姿态训练集包括真实人脸深度图对及其相对姿态角,真实人脸深度图对包括真实人脸深度图,以及对真实人脸深度图进行姿态增强得到的增强人脸深度图。

    具体地,可以将人脸深度图输入至姿态估计模型,由姿态估计模型对人脸深度图中的深度信息进行识别后,得到人脸姿态。人脸姿态可以用人脸姿态角来表示。人脸姿态角表征人脸的面部朝向。

    例如,建立人脸三维坐标系,人脸姿态角包括俯仰角(pitch)、偏航角(yaw)和翻滚角(roll)表示,可以表示为(pitch,yaw,roll)。俯仰角表示人脸绕x轴旋转的角度,偏航角表示人脸绕y轴旋转的角度,翻滚角表示人脸绕z轴旋转的角度。

    在执行步骤120之前,可以预先训练得到姿态估计模型,具体可以通过如下训练方式得到姿态估计模型:首先,收集大量的三维人脸模型,并将其和标准三维人脸模型进行三维配准,此时模型的姿态角为(0,0,0),之后每次随机选择一个三维模型,随机确定一组姿态角,将三维模型按角度旋转后进行投影,生成出有真值姿态角的模拟人脸深度图,建立真值姿态训练集。其次,收集大量的真实人脸深度图,对每一真实人脸深度图进行姿态增强得到的增强人脸深度图,将真实人脸深度图以及其对应的增强人脸深度图作为真实人脸深度图对,确定每一真实人脸深度图对的相对姿态角,即真实人脸深度图和增强人脸深度图之间的人脸姿态角的相对变化量,建立相对姿态训练集。随即,将真值姿态训练集输入至初始模型进行训练,或者将真值姿态训练集和相对姿态训练集输入至初始模型进行训练,以提高姿态估计模型对人脸深度图中人脸姿态角的识别能力,得到姿态估计模型。

    真值姿态训练集中每一三维人脸模型的模拟人脸深度图的真值姿态角可以为任意姿态角。可以预先设定真值姿态角,然后基于真值姿态角对三维人脸模型进行旋转变换和相机投影后得到模拟人脸深度图。由于模拟人脸深度图中的人脸姿态角等于预先设定的真值姿态角,因此不需要对模拟人脸深度图中的人脸姿态角进行人工标注。真值姿态角的设定可以根据训练需要进行设置,使得真值姿态训练集中模拟人脸深度图及其真值姿态角的数据呈现均匀分布。

    相对姿态训练集中真实人脸深度图对的相对姿态角可以为任意姿态角。可以预先设定相对姿态角,然后基于相对姿态角对真实人脸深度图进行姿态增强得到增强人脸深度图。由于增强人脸深度图中的人脸姿态角相对于真实人脸深度图中的人脸姿态角发生的角度变化等于预先设定的真值姿态角,因此不需要对增强人脸深度图中的人脸姿态角发生的角度变化进行人工标注,同时也不需要对真实人脸深度图的人脸姿态角进行人工标注。相对姿态角的设定,可以使得姿态估计模型在训练过程中对真实人脸深度图和增强人脸深度图的人脸姿态角进行预估时,约束两者之间的估计误差等于相对姿态角,提高人脸姿态估计的准确性。

    姿态估计模型的初始模型可以采用卷积神经网络,本发明实施例对此不作具体限定。例如,可以基于卷积神经网络建立姿态估计模型,该姿态估计模型包含相互连接的backbone网络和head网络。backbone网络可以采用常用的人脸识别网络,包括vgg-net、resnet、densenet、mobilenet或者shufflenet等,用于对人脸深度图的特征进行识别并将特征输出至head网络。head网络可以由若干个全连接层组成,用于对backbone网络识别的特征进行编码,得到人脸姿态角。人脸姿态角可以用弧度表示,也可以用角度表示。

    本发明实施例提供的人脸姿态估计方法,采用真值姿态训练集,或真值姿态训练集和相对姿态训练集对姿态估计模型进行训练,使得姿态估计模型在训练过程中采用真值姿态角和相对姿态角对姿态估计误差进行约束,不需要对真值姿态训练集和相对姿态训练集中的人脸姿态角进行人工标注,真值姿态训练集包含人脸姿态角在各个角度均匀分布的人脸模拟深度图,相对姿态训练集包含人脸姿态角存在相对变化的真实人脸深度图对,两种数据综合训练,提高了姿态估计模型对各种角度数据预测的鲁棒性和准确性。

    基于上述任一实施例,姿态估计模型的确定方法包括:

    基于真值姿态训练集和相对姿态训练集,以最小化真值姿态角误差与相对姿态角误差为目标对初始模型进行训练,得到姿态估计模型;

    其中,真值姿态角误差为模拟人脸深度图对应的人脸姿态角预估值与真值姿态角之间的差值;相对姿态角误差为真实人脸深度图对对应的相对姿态角预估值与相对姿态角之间的差值;真实人脸深度图对包括真实人脸深度图,以及对真实人脸深度图进行姿态增强得到的增强人脸深度图。

    具体地,模拟人脸深度图对应的人脸姿态角预估值是将模拟人脸深度图输入至姿态估计模型得到的,相对姿态角预估值是分别将真实人脸深度图和增强人脸深度图输入至姿态估计模型得到的人脸姿态角预估值之间的差值。

    分别将模拟人脸深度图、真实人脸深度图和增强人脸深度图输入至姿态估计模型,可以得到模拟人脸深度图对应的人脸姿态角预估值、真实人脸深度图对应的人脸姿态角预估值和增强人脸深度图对应的人脸姿态角预估值。其中,真实人脸深度图和增强人脸深度图对应的人脸姿态角预估值之间的差值为相对姿态角预估值。

    采用真值姿态训练集和相对姿态训练集对姿态估计模型进行训练时,可以以最小化真值姿态角误差与相对姿态角误差为目标。

    真值姿态角误差用于衡量姿态估计模型对于模拟人脸深度图中人脸姿态角的识别能力,可以为模拟人脸深度图对应的人脸姿态角预估值与真值姿态角之间的差值。

    相对姿态角误差用于衡量姿态估计模型对于真实人脸深度图中人脸姿态角的识别能力,可以为相对姿态角预估值与相对姿态角之间的差值。

    本发明实施例提供的人脸姿态估计方法,以最小化真值姿态角误差与相对姿态角误差为目标训练姿态估计模型,使得姿态估计模型的训练数据包括模拟人脸深度图和真实人脸深度图,从而提高了姿态估计模型的鲁棒性。

    基于上述任一实施例,姿态估计模型的损失函数为:

    lossall=|f(depthsim)-eulergt| |f(aug(depthreal))-f(depthreal)-eulerrelative| lossreg

    式中,lossall为姿态估计模型f()的损失,f(depthsim)为模拟人脸深度图depthsim对应的人脸姿态角预估值,eulergt为真值姿态角,f(aug(depthreal))为增强人脸深度图aug(depthreal)对应的人脸姿态角预估值,f(depthreal)为真实人脸深度图depthreal对应的人脸姿态角预估值,eulerrelative为相对姿态角,lossreg为姿态估计模型的正则项损失。

    具体地,将模拟人脸深度图depthsim输入姿态估计模型f()可以得到人脸姿态角预估值f(depthsim)。将增强人脸深度图aug(depthreal)输入至姿态估计模型f()可以得到人脸姿态角预估值f(aug(depthreal))。将真实人脸深度图depthreal输入姿态估计模型f()可以得到人脸姿态角预估值f(depthreal)。

    真值姿态角误差与相对姿态角误差可以用损失函数表示,|f(depthsim)-eulergt|为真值姿态角误差,|f(aug(depthreal))-f(depthreal)-eulerrelative|为相对姿态角误差。

    同时为了使姿态估计模型避免过拟合,可以在损失函数中加入正则项损失lossreg。例如,正则项损失函数可以选择l1正则项损失函数,也可以选择l2正则项损失函数,本发明实施例对此不作具体限定。

    基于上述任一实施例,增强人脸深度图的确定方法包括:

    确定相对姿态角;

    基于相对姿态角对应的旋转矩阵,对真实人脸深度图对应的点云进行旋转变换,确定真实人脸深度图对应的姿态增强点云;

    基于姿态增强点云,确定增强人脸深度图。

    具体地,相对姿态角可以预先确定,例如可以设定相对姿态角的取值范围为:绕x轴旋转的角度为-10~10度,绕y轴旋转的角度为-20度~20度,绕z轴旋转的角度为-40~40度。在该取值范围内随机确定相对姿态角。

    根据采集真实人脸深度图的深度相机的参数,可以将真实人脸深度图经过坐标转换,得到真实人脸深度图对应的点云。

    根据设定的相对姿态角,可以将其转换为对应的旋转矩阵,对真实人脸深度图对应的点云进行旋转变换,得到旋转变换后的姿态增强点云,进而根据相同的深度相机的参数,将姿态增强点云转换为增强人脸深度图。得到的增强人脸深度图相对于真实人脸深度图,人脸发生的姿态角误差大小等于相对姿态角的大小。

    本发明实施例提供的人脸姿态估计方法,可以预先设定相对姿态角,从而根据真实人脸深度图确定增强人脸深度图,将真实人脸深度图和增强人脸深度图输入姿态估计模型,以相对姿态角对两张人脸深度图中的姿态角误差进行约束,提高了姿态估计模型对于真实人脸深度图中人脸姿态角的识别能力。

    基于上述任一实施例,基于相对姿态角对应的旋转矩阵,对真实人脸深度图对应的点云进行旋转变换,确定真实人脸深度图对应的姿态增强点云,包括:

    对真实人脸深度图对应的点云进行中心化操作,确定中心化平移向量;

    基于相对姿态角对应的旋转矩阵,对真实人脸深度图对应的点云进行旋转变换;

    基于中心化平移向量,对旋转变换后的真实人脸深度图对应的点云进行平移,得到真实人脸深度图对应的姿态增强点云。

    具体地,可以对真实人脸深度图对应的点云进行中心化操作,即零均值化,采用点云数据减去点云数据的均值。根据减去的均值,确定中心化平移向量。

    根据相对姿态角对应的旋转矩阵,对中心化后的真实人脸深度图对应的点云进行旋转变换,再根据中心化平移向量,对旋转变换后的真实人脸深度图对应的点云进行平移,即将减去的均值增加至旋转变换后的真实人脸深度图对应的点云中,得到姿态增强点云。

    本发明实施例提供的人脸姿态估计方法,在真实人脸深度图对应的点云进行旋转变换的过程中,采用中心化操作,使得点云数据能够分布于三维坐标系的原点附近,便于对点云进行坐标变换,同时,避免了真实人脸深度图对应的点云在旋转变换中可能产生的旋转误差。

    基于上述任一实施例,模拟人脸深度图的确定方法包括:

    确定三维人脸模型和真值姿态角;

    基于真值姿态角对应的旋转矩阵,对三维人脸模型对应的点云进行旋转变换;

    基于旋转变换后的三维人脸模型对应的点云,确定模拟人脸深度图。

    具体地,可以预先建立三维人脸模型库,从中抽取三维人脸模型。三维人脸模型库的大小可以根据训练要求进行设置,例如百人级别,或者千人级别等。采用激光扫描仪采集多个人脸的完整三维数据,得到初始模型,再对初始模型中人脸区域进行裁剪,并将人脸三维数据对齐到标准姿态模板模型上,得到三维人脸模型。标准姿态模板模型可以以人脸中心为原点,人脸姿态角为(0,0,0)进行设置,即俯仰角、偏航角和翻滚角均为零。还可以标记出每一三维人脸模型的关键点。

    真值姿态角可以预先确定,例如可以设定真值姿态角的取值范围为:绕x轴旋转的角度为-50~50度,绕y轴旋转的角度为-80度~80度,绕z轴旋转的角度为-70~70度。在该取值范围内,随机确定真值姿态角。

    根据设定的真值姿态角,将其转换为旋转矩阵,对三维人脸模型对应的点云进行旋转变换,得到旋转变换后的三维人脸模型对应的点云,按照指定的相机参数将旋转变换后的三维人脸模型对应的点云投影成模拟人脸深度图。

    在投影之前,还可以对旋转变换后的三维人脸模型对应的点云添加一个随机平移向量,用于训练姿态估计模型对模拟人脸深度图进行识别的泛化能力。

    本发明实施例提供的人脸姿态估计方法,可以根据预先设定真值姿态角和三维人脸模型,生成带有任意人脸姿态角的模拟人脸深度图,使得真值姿态训练集中模拟人脸深度图及其真值姿态角的数据呈现均匀分布,提高了姿态估计模型对于模拟人脸深度图中人脸姿态角的识别能力。

    基于上述任一实施例,步骤120之前包括:

    获取人脸深度图对应的彩色图;

    基于彩色图中的人脸关键点和人脸深度图对应的相机参数,确定人脸深度图中的人脸关键点;

    基于人脸深度图中的人脸关键点,以及人脸深度图的分辨率,对人脸深度图进行裁剪。

    具体地,使用深度相机对人脸进行三维信息的采集,还可以在采集三维信息的同时进行颜色信息的采集,即采集人脸深度图的同时采集对应视角下的彩色图。可以在人脸深度图对应的彩色图中确定人脸关键点。人脸关键点可以选择眼睛、鼻尖、嘴角点、眉毛以及人脸各部位的轮廓点等,本发明实施例对于人脸关键点的选取不作具体限定。

    根据人脸深度图对应的彩色图中的人脸关键点,以及深度相机的参数,可以得到人脸深度图中的人脸关键点,从而确定人脸深度图中的人脸中心和人脸尺寸。结合人脸深度图的分辨率,确定用于裁剪人脸深度图的仿射变换。根据仿射变换,对人脸深度图进行裁剪,得到固定尺寸的人脸深度图。

    此外,还可以根据仿射变换,计算出裁剪后人脸深度图对应的深度相机参数,将裁剪后人脸深度图转换为对应的点云数据。对点云数据每个通道的数据进行归一化,从而减小人脸深度图中的像素误差。

    本发明实施例提供的人脸姿态估计方法,根据人脸深度图对应的彩色图中的人脸关键点,确定人脸深度图中的人脸关键点,进而对人脸深度图进行尺寸裁剪,使得裁剪后的人脸深度图能够完全保留人脸特征,提高了姿态估计模型的训练效率和准确度。

    基于上述任一实施例,根据真实人脸深度图对应彩色图中的人脸关键点确定真实人脸深度图对应的点云中的三维人脸关键点,以相对姿态角对应的旋转矩阵对三维人脸关键点进行旋转变换,再将旋转变换后的三维人脸关键点根据相机参数投影后可以得到增强人脸深度图中的人脸关键点。

    基于上述任一实施例,确定三维人脸模型的人脸关键点,以真值姿态角对应的旋转矩阵对三维人脸模型的人脸关键点进行旋转变换,再将旋转变换后的三维人脸模型的人脸关键点根据相机参数投影后可以得到模拟人脸深度图中的人脸关键点。

    基于上述任一实施例,本发明实施例提供一种用于人脸姿态角的姿态估计模型的训练方法和使用方法。

    其中,训练方法包括:

    步骤一、建立真值姿态训练集

    收集大量的三维人脸模型,预先设置不同的真值姿态角。基于设置的真值姿态角对每一三维人脸模型进行旋转变换和相机投影后得到模拟人脸深度图。

    建立真值姿态训练集,该真值姿态训练集包括模拟人脸深度图及其真值姿态角。

    步骤二、建立相对姿态训练集

    收集大量的真实人脸深度图。预先设置不同的相对姿态角。基于设置的相对姿态角对每一真实人脸深度图进行姿态增强得到的增强人脸深度图。

    建立相对姿态训练集,该相对姿态训练集包括真实人脸深度图、对真实人脸深度图进行姿态增强得到的增强人脸深度图,以及真实人脸深度图和增强人脸深度图之间的相对姿态角。

    步骤二、训练姿态估计模型

    以卷积神经网络为初始模型,将真值姿态训练集输入至初始模型,以最小化真值姿态角误差与相对姿态角误差为目标进行训练,得到姿态估计模型。

    使用方法包括:

    获取姿态待估计的人脸深度图,将其输入至姿态估计模型,得到姿态估计模型输出的人脸姿态角。

    下面对本发明提供的人脸姿态估计装置进行描述,下文描述的人脸姿态估计装置与上文描述的人脸姿态估计方法可相互对应参照。

    基于上述任一实施例,图2是本发明提供的人脸姿态估计装置的结构示意图,如图2所示,该装置包括:

    确定单元210,用于确定姿态待估计的人脸深度图;

    估计单元220,用于将人脸深度图输入至姿态估计模型,得到姿态估计模型输出的人脸姿态;

    其中,姿态估计模型是基于真值姿态训练集,或基于真值姿态训练集和相对姿态训练集训练得到的;真值姿态训练集包括模拟人脸深度图及其真值姿态角,相对姿态训练集包括真实人脸深度图对及其相对姿态角。

    具体地,确定单元210用于确定姿态待估计的人脸深度图,估计单元220用于将人脸深度图输入至姿态估计模型,得到人脸姿态角。

    本发明实施例提供的人脸姿态估计装置,采用真值姿态训练集,或真值姿态训练集和相对姿态训练集对姿态估计模型进行训练,使得姿态估计模型在训练过程中采用真值姿态角和相对姿态角对姿态估计误差进行约束,不需要对真值姿态训练集和相对姿态训练集中的人脸姿态角进行人工标注,真值姿态训练集包含人脸姿态角在各个角度均匀分布的人脸模拟深度图,相对姿态训练集包含人脸姿态角存在相对变化的真实人脸深度图对,两种数据综合训练,提高了姿态估计模型对各种角度数据预测的鲁棒性和准确性。

    基于上述任一实施例,

    姿态估计模型的确定方法包括:

    基于真值姿态训练集和相对姿态训练集,以最小化真值姿态角误差与相对姿态角误差为目标对初始模型进行训练,得到姿态估计模型;

    其中,真值姿态角误差为模拟人脸深度图对应的人脸姿态角预估值与真值姿态角之间的差值;相对姿态角误差为真实人脸深度图对对应的相对姿态角预估值与相对姿态角之间的差值;真实人脸深度图对包括真实人脸深度图,以及对真实人脸深度图进行姿态增强得到的增强人脸深度图。

    基于上述任一实施例,姿态估计模型的损失函数为:

    lossall=|f(depthsim)-eulergt| |f(aug(depthreal))-f(depthreal)-eulerrelative| lossreg

    式中,lossall为姿态估计模型f()的损失,f(depthsim)为模拟人脸深度图depthsim对应的人脸姿态角预估值,eulergt为真值姿态角,f(aug(depthreal))为增强人脸深度图aug(depthrea)对应的人脸姿态角预估值,f(depthreal)为真实人脸深度图depthreal对应的人脸姿态角预估值,eulerrelative为相对姿态角,lossreg为姿态估计模型的正则项损失。

    基于上述任一实施例,该装置还包括增强人脸深度图确定单元,增强人脸深度图确定单元包括相对姿态角确定子单元、姿态增强点云确定子单元和增强人脸深度图确定子单元;

    相对姿态角确定子单元,用于确定相对姿态角;

    姿态增强点云确定子单元,用于基于相对姿态角对应的旋转矩阵,对真实人脸深度图对应的点云进行旋转变换,确定真实人脸深度图对应的姿态增强点云;

    增强人脸深度图确定子单元,用于基于姿态增强点云,确定增强人脸深度图。

    基于上述任一实施例,姿态增强点云确定子单元具体用于:

    对真实人脸深度图对应的点云进行中心化操作,确定中心化平移向量;

    基于相对姿态角对应的旋转矩阵,对真实人脸深度图对应的点云进行旋转变换;

    基于中心化平移向量,对旋转变换后的真实人脸深度图对应的点云进行平移,得到真实人脸深度图对应的姿态增强点云。

    基于上述任一实施例,该装置还包括模拟人脸深度图确定单元,模拟人脸深度图确定单元包括模型和真值姿态角确定子单元、旋转变换子单元和模拟人脸深度图确定子单元;

    模型和真值姿态角确定子单元,用于确定三维人脸模型和真值姿态角;

    旋转变换子单元,用于基于真值姿态角对应的旋转矩阵,对三维人脸模型对应的点云进行旋转变换;

    模拟人脸深度图确定子单元,用于基于旋转变换后的三维人脸模型对应的点云,确定模拟人脸深度图。

    基于上述任一实施例,该装置还包括:

    预处理单元,用于获取人脸深度图对应的彩色图;基于彩色图中的人脸关键点和人脸深度图对应的相机参数,确定人脸深度图中的人脸关键点;基于人脸深度图中的人脸关键点,以及人脸深度图的分辨率,对人脸深度图进行裁剪。

    基于上述任一实施例,图3为本发明提供的电子设备的结构示意图,如图3所示,该电子设备可以包括:处理器(processor)310、通信接口(communicationsinterface)320、存储器(memory)330和通信总线(communicationsbus)340,其中,处理器310,通信接口320,存储器330通过通信总线340完成相互间的通信。处理器310可以调用存储器330中的逻辑命令,以执行如下方法:

    确定姿态待估计的人脸深度图;将人脸深度图输入至姿态估计模型,得到姿态估计模型输出的人脸姿态;其中,姿态估计模型是基于真值姿态训练集,或基于真值姿态训练集和相对姿态训练集训练得到的;真值姿态训练集包括模拟人脸深度图及其真值姿态角,相对姿态训练集包括真实人脸深度图对及其相对姿态角。

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

    本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的方法,例如包括:

    确定姿态待估计的人脸深度图;将人脸深度图输入至姿态估计模型,得到姿态估计模型输出的人脸姿态角;其中,姿态估计模型是基于真值姿态训练集,或基于真值姿态训练集和相对姿态训练集训练得到的;真值姿态训练集包括模拟人脸深度图及其真值姿态角,相对姿态训练集包括真实人脸深度图对及其相对姿态角。

    以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

    通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干命令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

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


    技术特征:

    1.一种人脸姿态估计方法,其特征在于,包括:

    确定姿态待估计的人脸深度图;

    将所述人脸深度图输入至姿态估计模型,得到所述姿态估计模型输出的人脸姿态;

    其中,所述姿态估计模型是基于真值姿态训练集,或基于所述真值姿态训练集和相对姿态训练集训练得到的;所述真值姿态训练集包括模拟人脸深度图及其真值姿态角,所述相对姿态训练集包括真实人脸深度图对及其相对姿态角。

    2.根据权利要求1所述的人脸姿态估计方法,其特征在于,所述姿态估计模型的确定方法包括:

    基于所述真值姿态训练集和所述相对姿态训练集,以最小化真值姿态角误差与相对姿态角误差为目标对初始模型进行训练,得到所述姿态估计模型;

    其中,所述真值姿态角误差为所述模拟人脸深度图对应的人脸姿态角预估值与所述真值姿态角之间的差值;所述相对姿态角误差为所述真实人脸深度图对对应的相对姿态角预估值与所述相对姿态角之间的差值;所述真实人脸深度图对包括真实人脸深度图,以及对所述真实人脸深度图进行姿态增强得到的增强人脸深度图。

    3.根据权利要求2所述的人脸姿态估计方法,其特征在于,所述姿态估计模型的损失函数为:

    lossall=|f(depthsim)-eulergt| |f(aug(depthreal))-f(depthreal)-eulerrelative| lossreg

    式中,lossall为所述姿态估计模型f()的损失,f(depthsim)为所述模拟人脸深度图depthsim对应的人脸姿态角预估值,eulergt为所述真值姿态角,f(aug(depthreal))为所述增强人脸深度图aug(depthreal)对应的人脸姿态角预估值,f(depthreal)为所述真实人脸深度图depthreal对应的人脸姿态角预估值,eulerrelative为所述相对姿态角,lossreg为所述姿态估计模型的正则项损失。

    4.根据权利要求2所述的人脸姿态估计方法,其特征在于,所述增强人脸深度图的确定方法包括:

    确定相对姿态角;

    基于所述相对姿态角对应的旋转矩阵,对所述真实人脸深度图对应的点云进行旋转变换,确定所述真实人脸深度图对应的姿态增强点云;

    基于所述姿态增强点云,确定所述增强人脸深度图。

    5.根据权利要求4所述的人脸姿态估计方法,其特征在于,所述基于所述相对姿态角对应的旋转矩阵,对所述真实人脸深度图对应的点云进行旋转变换,确定所述真实人脸深度图对应的姿态增强点云,包括:

    对所述真实人脸深度图对应的点云进行中心化操作,确定中心化平移向量;

    基于所述相对姿态角对应的旋转矩阵,对所述真实人脸深度图对应的点云进行旋转变换;

    基于所述中心化平移向量,对旋转变换后的所述真实人脸深度图对应的点云进行平移,得到所述真实人脸深度图对应的姿态增强点云。

    6.根据权利要求1所述的人脸姿态估计方法,其特征在于,所述模拟人脸深度图的确定方法包括:

    确定三维人脸模型和真值姿态角;

    基于所述真值姿态角对应的旋转矩阵,对所述三维人脸模型对应的点云进行旋转变换;

    基于旋转变换后的所述三维人脸模型对应的点云,确定所述模拟人脸深度图。

    7.根据权利要求1至6任一项所述的人脸姿态估计方法,其特征在于,所述将所述人脸深度图输入至姿态估计模型,得到所述姿态估计模型输出的人脸姿态,之前包括:

    获取所述人脸深度图对应的彩色图;

    基于所述彩色图中的人脸关键点和所述人脸深度图对应的相机参数,确定所述人脸深度图中的人脸关键点;

    基于所述人脸深度图中的人脸关键点,以及所述人脸深度图的分辨率,对所述人脸深度图进行裁剪。

    8.一种人脸姿态估计装置,其特征在于,包括:

    确定单元,用于确定姿态待估计的人脸深度图;

    估计单元,用于将所述人脸深度图输入至姿态估计模型,得到所述姿态估计模型输出的人脸姿态;

    其中,所述姿态估计模型是基于真值姿态训练集,或基于所述真值姿态训练集和相对姿态训练集训练得到的;所述真值姿态训练集包括模拟人脸深度图及其真值姿态角,所述相对姿态训练集包括真实人脸深度图对及其相对姿态角。

    9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述的人脸姿态估计方法的步骤。

    10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的人脸姿态估计方法的步骤。

    技术总结
    本发明提供一种人脸姿态估计方法、装置、电子设备和存储介质,其中方法包括:确定姿态待估计的人脸深度图;将人脸深度图输入至姿态估计模型,得到姿态估计模型输出的人脸姿态;姿态估计模型是基于真值姿态训练集,或基于真值姿态训练集和相对姿态训练集训练得到的;所述真值姿态训练集包括模拟人脸深度图及其真值姿态角,所述相对姿态训练集包括真实人脸深度图对及其相对姿态角。本发明提供的方法、装置、电子设备和存储介质,两种数据综合训练,提高了姿态估计模型对各种角度数据预测的鲁棒性和准确性。

    技术研发人员:保长存;户磊
    受保护的技术使用者:北京的卢深视科技有限公司;合肥的卢深视科技有限公司
    技术研发日:2020.12.18
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-19364.html

    最新回复(0)