一种基于分布独立性的3D人脸解耦表示学习方法与流程

专利2022-06-29  85


本发明涉及一种学习方法,具体涉及一种基于分布独立性的3d人脸解耦表示学习方法。



背景技术:

人脸的形状主要由身份及表情决定,由于人脸的表情丰富并且多变,易造成复杂的非线性形变,因此建立鲁棒的3d人脸模型是一项具有挑战性的任务。而学习身份、表情解耦的3d人脸模型对于人脸属性迁移、人脸重建、识别以及人脸动画等具有重要意义。

目前3d人脸解耦表示学习的方法主要分为两类:3d人脸的线性解耦表示;3d人脸的非线性解耦表示。3d人脸线性解耦表示方法一般基于3d可形变模型(3dmm),其通过主成分分析(pca)分别学习一组3d人脸身份基底和表情基底后,可以优化3dmm参数以拟合任意3d人脸的形状。然而,这类方法局限于其线性性,pca学习的基底表示能力有限,难以表达3d人脸细节以及夸张的表情。

现有的3d人脸非线性解耦表示方法多采用现将3d人脸映射成2d几何图像,再使用深度卷积神经网络实现解耦表示学习,而将3d人脸映射成2d图像的过程势必会造成信息损失。



技术实现要素:

针对现有3d人脸解耦表示方法的不足,本发明的目的在于提供一种基于分布独立性的3d人脸解耦表示学习方法。

为实现上述目的,本发明采用如下的技术方案:

一种基于分布独立性的3d人脸解耦表示学习方法,包括以下步骤:

步骤1:收集3d人脸数据集,将数据集分为训练集和测试集;

步骤2:根据训练目标对数据集全体数据进行预处理及配准;

步骤3:构造用于解耦表示学习的图卷积神经网络模型;

步骤4:使用训练集训练用于解耦表示学习的图卷积神经网络模型;

步骤5:训练完成后,用于解耦表示学习的图卷积神经网络模型将输入的3d人脸解耦为身份和表情两个部分。

本发明进一步的改进在于,步骤2中,配准后,每个3d人脸样本用若干节点和边构成的网格m={v,a}表示;|v|=n代表3d欧氏空间中的n个节点,v∈rn×3;稀疏邻接矩阵a∈{0,1}n×n表示节点之间的连接关系,aij=0表示节点vi和vj之间没有连接,反之,aij=1表示节点vi和vj之间有连接。

本发明进一步的改进在于,步骤3中,用于解耦表示学习的图卷积神经网络模型包括三个部分,分别为编码器、解码器和判别器;编码器输入3d人脸网格,输出对应的身份表示和表情表示,解码器的输入层为编码器的输出层的结果,解码器将身份表示和表情表示重建出3d人脸,判别器的输入层也连接编码器的输出层,用于判别身份表示与表情表示是否分布独立。

本发明进一步的改进在于,根据需求分析,编码器将3d人脸编码为身份表示以及表情表示,编码器结构为6层图卷积神经网络及全连接层组合而成,第一个卷积层为gcn(3,16),输入3通道的3d人脸网格,输出为16通道,第二个卷积层为gcn(16,64),输入16通道,输出64通道,第三、四、五个卷积层均为gcn(64,64),输入与输出都是64通道,第6个卷积层为gcn(64,32),输入64通道,输出32通道,最后一个卷积层同时连接两个各有4个神经元的全连接层fc(4),分别输出3d人脸的身份和表情在特征空间分布的均值μid,μexp和方差σid,σexp,从身份分布中采样得到zid=uid×ε σid作为3d人脸的身份表示,从表情分布采样得到zexp=uexp×ε σexp作为表情表示,ε~n(0,1)。

本发明进一步的改进在于,解码器分为身份解码器did和表情解码器dexp,各包含两个全连接层,第一个全连接层有512个神经元,第二个全连接层有n×3个神经元,n为输出的3d人脸的节点个数,与输入的3d人脸节点个数一致;身份解码器did和表情解码器dexp分别从3d人脸的身份表示、表情表示重建出3d人脸的身份和表情,将身份解码器did和表情解码器dexp重建的结果逐点相加作为最终重建的3d人脸。

本发明进一步的改进在于,判别器由两个全接连层构成,每个全连接层有64个神经元,判别器输入来自编码器编码的3d人脸身份表示和表情表示,输出[0,1]之间的数表明身份表示与表情表示是否分布独立,梯度反向层用于连接编码器和判别器,将来自判别器的损失函数梯度乘以-λ传递给编码器,梯度反向层与判别器组成分布独立模块。

本发明进一步的改进在于,步骤4中,输入3d人脸若干节点和边构成的网格m,经过编码器编码为身份表示zid及表情表示zexp,将身份、表情表示传递给解码器did与dexp,解码器重建的3d人脸与原始输入相似:

lrec=||did(zid) dexp(zexp)-m||1

其中,lrec为重建损失,did为身份解码器,zid为身份表示,dexp为表情解码器,zexp为表情表示;

分别约束表情重建与身份重建的结果:

其中,mid为m的中性表情,mexp为带有与m相同的表情的模板脸,mid和mexp分别表示m的身份和表情,为身份重建损失,did(zid)为身份解码器重建的3d人脸身份,为表情重建损失,dexp(zexp)为表情解码器重建的3d人脸表情;

同时约束3d人脸的身份、表情在特征空间的分布为标准正态分布n(0,1):

判别器损失为交叉熵损失:

其中,zj分别表示从联合分布q(zid,zexp)和乘积分布q(zid)q(zexp)采样的样本,m为批数量,d(zj)表示判别器判别zj采自身份与表情分布独立的分布的概率,表示判别器判别采自身份与表情分布独立的分布的概率;

训练过程的总损失为:

其中,α1,α2,β为超参数,ltotal为总损失函数。

与现有技术相比,本发明具有如下有益效果:

(1)与基于3dmm的3d人脸解耦方法相比,本发明采用非线性表示,具有更强的3d人脸表示能力。

(2)与借助2d几何图像的3d人脸解耦方法相比,本发明直接作用于3d人脸网格,避免了将3d映射成2d图像造成的信息损失。

(3)本发明使用公平、合理的评价的标准验证了所提方法的有效性,能够取得更好的3d人脸重建与解耦效果,可用于学习身份、表情解耦的3d人脸表示。

进一步的,使用判别器判别身份、表情分布独立的方式简单、易实现。

附图说明

图1为本发明中基于分布独立的3d人脸解耦表示学习方法的示意图。

图2为本发明中3d人脸身份、表情解耦的效果展示。

具体实施方式

为使本发明实例的技术方案和优点更加清楚,下面将结合本发明的附图,对本发明的技术方案进行详细、完整的描述。

本发明采用图卷积神经网络学习非线性人脸解耦表示,以获得更好的人脸细节表示,并且直接对3d人脸网格进行操作,避免转换为2d图像过程的信息损失。多个数据集的实验测试表明本发明的有效性,不仅能够将身份与表情充分解耦,而且可以从身份、表情的表示精确重建出原始3d人脸。本发明设计了一种简单而有效的基于分布独立学习3d人脸解耦表示的方法,能够在特征空间分解人脸的身份及表情,并且能够从解耦的表示重建出的对应的3d人脸。

本发明具体是通过以下步骤实现的:

步骤1:收集3d人脸数据集,将数据集分为训练集和测试集。

步骤2:根据训练目标对数据集全体数据进行预处理及配准,配准后,每个3d人脸样本用若干节点和边构成的网格m={v,a}表示。|v|=n代表3d欧氏空间中的n个节点,v∈rn×3。稀疏邻接矩阵a∈{0,1}n×n表示节点之间的连接关系,aij=0表示节点vi和vj之间没有连接,反之,aij=1表示节点vi和vj之间有连接。

步骤3:构造用于解耦表示学习的图卷积神经网络模型,如图1所示,该模型包括三个部分,分别为编码器、解码器和判别器。编码器输入3d人脸网格,输出对应的身份表示和表情表示,解码器的输入层为编码器的输出层的结果,解码器将身份表示和表情表示重建出3d人脸,判别器的输入层也连接编码器的输出层,用于判别身份表示与表情表示是否分布独立。图中gcn表示图卷积层,对输入x进行图卷积操作后输出其中,θ是可学习的网络参数,a是步骤2中介绍的稀疏邻接矩阵,d是对角矩阵,满足dii=∑jaij.fc表示全连接层。

编码器、解码器、判别器具体如下。

(1)编码器

根据需求分析,编码器将3d人脸编码为身份表示以及表情表示。其结构为6层图卷积神经网络及全连接层组合而成,具体为第一个卷积层为gcn(3,16),输入3通道的3d人脸网格,输出为16通道,第二个卷积层为gcn(16,64),输入16通道,输出64通道,第三、四、五个卷积层均为gcn(64,64),输入与输出都是64通道,第6个卷积层为gcn(64,32),输入64通道,输出32通道,最后一个卷积层同时连接两个各有4个神经元的全连接层fc(4),分别输出3d人脸的身份和表情在特征空间分布的均值μid,μexp和方差σid,σexp,从身份分布中采样得到zid=uid×ε σid作为3d人脸的身份表示,类似的,从表情分布采样得到zexp=uexp×ε σexp作为表情表示,ε~n(0,1)。

(2)解码器

解码器分为身份解码器did和表情解码器dexp,各包含两个全连接层,第一个全连接层有512个神经元,第二个全连接层有n×3个神经元,n为输出的3d人脸的节点个数,与输入的3d人脸节点个数一致。身份、表情解码器分别从3d人脸的身份表示、表情表示重建出3d人脸的身份和表情,将两个解码器重建的结果逐点相加作为最终重建的3d人脸。

(3)判别器

判别器由两个全接连层构成,每个全连接层有64个神经元,判别器输入来自编码器编码的3d人脸身份表示和表情表示,输出[0,1]之间的数表明身份表示与表情表示是否分布独立。梯度反向层(grllayer)用于连接编码器和判别器,将来自判别器的损失函数梯度乘以-λ传递给编码器,以便可以同时优化编码器、解码器与判别器。梯度反向层(grllayer)与判别器组成图1中的分布独立模块(dimodule)。

步骤4:使用训练集训练用于解耦表示学习的图卷积神经网络模型。输入3d人脸若干节点和边构成的网格m,经过编码器编码为身份表示zid及表情表示zexp,将身份、表情表示传递给解码器did与dexp,解码器重建的3d人脸应当与原始输入相似:

lrec=||did(zid) dexp(zexp)-m||1

其中,lrec为重建损失,did为身份解码器,zid为身份表示,dexp为表情解码器,zexp为表情表示;

并分别约束表情重建与身份重建的结果:

其中,mid为m的中性表情,mexp为带有与m相同的表情的模板脸,mid和mexp分别表示m的身份和表情。为身份重建损失,did(zid)为身份解码器重建的3d人脸身份,为表情重建损失,dexp(zexp)为表情解码器重建的3d人脸表情。

同时约束3d人脸的身份、表情在特征空间的分布为标准正态分布n(0,1):

判别器损失为交叉熵损失:

其中,zj分别表示从联合分布q(zid,zexp)和乘积分布q(zid)q(zexp)采样的样本,m为批数量,d(zj)输出一个概率,表示判别器判别zj采自身份与表情分布独立的分布的概率,输出一个概率,表示判别器判别采自身份与表情分布独立的分布的概率。

训练过程的总损失为:

其中,α1,α2,β为超参数,ltotal为总损失函数。

步骤5:训练完成后,该模型可以将输入的3d人脸解耦为身份和表情两个部分。

本发明在测试集定性、定量评价模型的解耦效果以及重建效果,图2展示了部分3d人脸身份、表情解耦效果。


技术特征:

1.一种基于分布独立性的3d人脸解耦表示学习方法,其特征在于,包括以下步骤:

步骤1:收集3d人脸数据集,将数据集分为训练集和测试集;

步骤2:根据训练目标对数据集全体数据进行预处理及配准;

步骤3:构造用于解耦表示学习的图卷积神经网络模型;

步骤4:使用训练集训练用于解耦表示学习的图卷积神经网络模型;

步骤5:训练完成后,用于解耦表示学习的图卷积神经网络模型将输入的3d人脸解耦为身份和表情两个部分。

2.根据权利要求1所述的一种基于分布独立性的3d人脸解耦表示学习方法,其特征在于,步骤2中,配准后,每个3d人脸样本用若干节点和边构成的网格m={v,a}表示;|v|=n代表3d欧氏空间中的n个节点,v∈rn×3;稀疏邻接矩阵a∈{0,1}n×n表示节点之间的连接关系,aij=0表示节点vi和vj之间没有连接,反之,aij=1表示节点vi和vj之间有连接。

3.根据权利要求1所述的一种基于分布独立性的3d人脸解耦表示学习方法,其特征在于,步骤3中,用于解耦表示学习的图卷积神经网络模型包括三个部分,分别为编码器、解码器和判别器;编码器输入3d人脸网格,输出对应的身份表示和表情表示,解码器的输入层为编码器的输出层的结果,解码器将身份表示和表情表示重建出3d人脸,判别器的输入层也连接编码器的输出层,用于判别身份表示与表情表示是否分布独立。

4.根据权利要求3所述的一种基于分布独立性的3d人脸解耦表示学习方法,其特征在于,根据需求分析,编码器将3d人脸编码为身份表示以及表情表示,编码器结构为6层图卷积神经网络及全连接层组合而成,第一个卷积层为gcn(3,16),输入3通道的3d人脸网格,输出为16通道,第二个卷积层为gcn(16,64),输入16通道,输出64通道,第三、四、五个卷积层均为gcn(64,64),输入与输出都是64通道,第6个卷积层为gcn(64,32),输入64通道,输出32通道,最后一个卷积层同时连接两个各有4个神经元的全连接层fc(4),分别输出3d人脸的身份和表情在特征空间分布的均值μid,μexp和方差σid,σexp,从身份分布中采样得到zid=uid×ε σid作为3d人脸的身份表示,从表情分布采样得到zexp=uexp×ε σexp作为表情表示,ε~n(0,1)。

5.根据权利要求3所述的一种基于分布独立性的3d人脸解耦表示学习方法,其特征在于,解码器分为身份解码器did和表情解码器dexp,各包含两个全连接层,第一个全连接层有512个神经元,第二个全连接层有n×3个神经元,n为输出的3d人脸的节点个数,与输入的3d人脸节点个数一致;身份解码器did和表情解码器dexp分别从3d人脸的身份表示、表情表示重建出3d人脸的身份和表情,将身份解码器did和表情解码器dexp重建的结果逐点相加作为最终重建的3d人脸。

6.根据权利要求3所述的一种基于分布独立性的3d人脸解耦表示学习方法,其特征在于,判别器由两个全接连层构成,每个全连接层有64个神经元,判别器输入来自编码器编码的3d人脸身份表示和表情表示,输出[0,1]之间的数表明身份表示与表情表示是否分布独立,梯度反向层用于连接编码器和判别器,将来自判别器的损失函数梯度乘以-λ传递给编码器,梯度反向层与判别器组成分布独立模块。

7.根据权利要求1所述的一种基于分布独立性的3d人脸解耦表示学习方法,其特征在于,步骤4中,输入3d人脸若干节点和边构成的网格m,经过编码器编码为身份表示zid及表情表示zexp,将身份、表情表示传递给解码器did与dexp,解码器重建的3d人脸与原始输入相似:

lrec=||did(zid) dexp(zexp)-m||1

其中,lrec为重建损失,did为身份解码器,zid为身份表示,dexp为表情解码器,zexp为表情表示;

分别约束表情重建与身份重建的结果:

其中,mid为m的中性表情,mexp为带有与m相同的表情的模板脸,mid和mexp分别表示m的身份和表情,为身份重建损失,did(zid)为身份解码器重建的3d人脸身份,为表情重建损失,dexp(zexp)为表情解码器重建的3d人脸表情;

同时约束3d人脸的身份、表情在特征空间的分布为标准正态分布n(0,1):

判别器损失为交叉熵损失:

其中,zj分别表示从联合分布q(zid,zexp)和乘积分布q(zid)q(zexp)采样的样本,m为批数量,d(zj)表示判别器判别zj采自身份与表情分布独立的分布的概率,表示判别器判别采自身份与表情分布独立的分布的概率;

训练过程的总损失为:

其中,α1,α2,β为超参数,ltotal为总损失函数。

技术总结
一种基于分布独立性的3D人脸解耦表示学习方法,收集3D人脸数据集,将数据集分为训练集和测试集;根据训练目标对数据集全体数据进行预处理及配准;构造用于解耦表示学习的图卷积神经网络模型;使用训练集训练用于解耦表示学习的图卷积神经网络模型;训练完成后,用于解耦表示学习的图卷积神经网络模型将输入的3D人脸解耦为身份和表情两个部分。与基于3DMM的3D人脸解耦方法相比,本发明采用非线性表示,具有更强的3D人脸表示能力。与借助2D几何图像的3D人脸解耦方法相比,本发明直接作用于3D人脸网格,避免了将3D映射成2D图像造成的信息损失。

技术研发人员:余璀璨;张子辉;李慧斌;孙剑
受保护的技术使用者:西安交通大学
技术研发日:2020.01.09
技术公布日:2020.06.09

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

最新回复(0)