基于边约束谱卷积神经网络的三维人脸表示与重建方法与流程

专利2022-06-29  66


本发明属于计算机视觉和计算机图形学领域,特别涉及使用深度学习的方法去表示3d人脸与重建。



背景技术:

人脸三维重建一直是计算机视觉研究领域中的经典任务之一。我们在多个不同的领域内都可以见到三维人脸模型的应用。常见的应用领域有文物保护、建筑、医学等等。人脸三维重建的难点在于以下几个方面。首先,人们可以随机做出多种夸张的表情,这些表情会使面部产生明显的变形;其次,由于年龄、性别、种族等多种因素的影响,不同的人脸在形状表现上通常有很大的差异。有效地表示和重建这种非线性变形是有一定难度的。

传统的三维人脸重建技术大多数是采用线性变换(tewari,a.,m.,kim,h.,garrido,p.,bernard,f.,perez,p.,c.,t.:mofa:model-baseddeepconvolutionalfaceautoencoderforunsupervisedmonocularreconstruc-tion.in:internationalconferenceoncomputervision(2017))或者是高阶张量推广(brunton,a.,bolkart,t.,wuhrer,s.:multilinearwavelets:astati-sticalshapespaceforhumanfaces.in:europeanconferenceoncomputervision.pp.297312(2014)),由于这些模型是线性的,它们难以捕捉到人物某些极端的面部表情引起的非线性变形,所以重建结果往往缺乏真实感。拿目前最新的coma(ranjana,bolkartt,sanyals,etal.generating3dfacesusingconvolutionalmeshautoencoders[j].2018.)三维重建方法来说,与传统方法相比,它虽然引入了一种由网络上采样层和网络下采样层组成的谱卷积网格自编码器,在一定程度上提高了运算速度,但其重建结果的精度有很大的提升空间。综上所述,对三维面部进行高效且准确的表示以及重建是比较重要的,这一技术可以为面部识别、身份验证等方向提供技术支持。



技术实现要素:

为了能够对三维人脸数据进行有效的高维特征表示以及从高维特征进行有效重建的能力,

本发明采用的技术方案是设计一种边约束谱卷积神经网络来学习三维人脸表示与重建,我们将自编码器隐空间扩展到128维,并提出基于边约束谱卷积神经网络的三维人脸重建方法b-edge。添加了边约束和batchnormalization(ioffes,szegedyc.batchnormalization:acceleratingdeepnetworktrainingbyreducinginternalcovariateshift[c]//internationalconferenceoninternationalconferenceonmachinelearning.jmlr.org,2015.)的自动编码器可以做到将网格卷积与高效的网络上采样和网络下采样同时结合起来,本发明由以下技术方案得以实现:

基于边约束谱卷积神经网络的三维人脸表示与重建方法,将面部网格mesh输入基于图卷积结构的变分编码器,变分编码器包含编码器和解码器两部分,通过编码器得到该mesh编码后的高维特征,然后使用解码器将所述高维特征解析成原始的mesh,从而实现三维人脸表示与重建。

首先利用下采样算法与上采样算法对mesh进行采样处理,采样获得的数据由编码器进行处理,编码器由4个切比雪夫卷积滤波器和切比雪夫多项式组成,每个卷积滤波器之后都有一个偏置线性整流函数relu,卷积滤波器采用谱卷积算法,对编码器处理好的数据做正态分布的变分处理,生成新的人脸模型数据;下一步,用解码器处理所得到的新的人脸模型数据,解码器由全连接层组成,层间通过矢量变换从r^8映射到r^128隐空间,同时通过上采样重建网格,每个卷积之后添加偏置relu;最后对于输出的结果施加边约束和均方误差mse约束,解码器首先使用一个全连接层将128维度的特征映射到mesh空间,接着是4层的图卷积,每层图卷积都是用了批规范化和relu激活函数,最后一层不使用批规范化和激活函数。

使用动态滤波卷积来处理网格数据,定义谱卷积为

公式解析:输入的具有fin特征,输入面网格具有与其3d顶点位置对应的fin=3个特征,用yj计算的jth特征,每层卷积具有与其3d定点位置对应的fin=3个特征,g表示滤波器,l是拉普拉斯算子,并且,θi,j∈rk是可训练参数,每层卷积具有切比雪夫系数的fin×fout向量。

mesh下采样算法与上采样算法中,使用一种网格的分层多尺度表示方法,这一方法允许卷积内核捕获浅层中的局部上下文以及网络的更深层中的全局上下文,引入网格采样算子,网格采样算子用于定义神经网络中网格特征的下采样和上采样。

具有n个顶点的网格特征使用n×f张量来表示,其中f是每个顶点的维度,将卷积应用于网格产生具有不同维度的特征,网格采样操作在每个层定义新的拓扑结构,并在邻域顶点上维护上下文,首先使用变换矩阵qd∈{0,1}n×m对具有m个顶点的网格进行网内下采样,并使用qu∈rm×n进行上采样,m>n,通过迭代地收缩顶点对来获得下采样,同时使用二次矩阵维持表面近似误差对于任意的p而言,当且仅当qd(p,q)=1时,在上采样期间保留这些顶点,当qd(p,q)=0时,在下采样期间丢弃这些顶点,并使用重心坐标映射到下采样网格表面,下采样算法使用二次矩阵来迭代收缩顶点对,上采样就是下采样的逆过程,上采样的过程是将在下采样过程中丢弃的顶点vq重新添加到下采样网格中,由表示将vp投影到下采样网格时最近似的三角形(i,j,k),并且用计算重心坐标(vj,vj,vk∈vd,wi wj wk=1),然后在qu(q,i)=wi和qu(q,j)=wj中更新权重。

与已有技术相比,本发明的技术特点与效果:

首先,我们的发明是在三维mesh的基础上,相比传统的重建方法,本发明方法主要具有以下特点:

1、该模型在低维隐空间中可以准确地表示三维人脸,并且比目前普遍使用的3dmm模型以及最新的coma模型(ranjana,bolkartt,sanyals,etal.generating3dfacesusingconvolutionalmeshautoencoders[j].2018.)的性能更好。

2、我们的谱卷积自动编码器使用的参数少,自编码器隐空间为128维,重建精度高。

3、我们对网络添加batchnormalization[23]和边约束提高了重建精确度,降低了误差。

附图说明

本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1为本发明实施例是网络结构模型示意。

图2为本发明实施例是基于coma数据集(anuragranjan,timobolkart,soubhiksanyal,andmichaeljblack,“generating3dfacesusingconvolutionalmeshautoencoders,”ineccv.springer,2018,pp.725–741.)上获得的重建结果与其它方法的对比示意图。从上至下依次是输入的mesh的真值,anurag等人(anuragranjan,timobolkart,soubhiksanyal,andmichaeljblack,“generating3dfacesusingconvolutionalmeshautoencoders,”ineccv.springer,2018,pp.725–741.)重建出来的结果,本发明所估计重建的结果,anurag等人的方法的误差可视化图,本发明的误差可视化图。

图3为所提出的是本发明的变分生成效果示意图,图示中的人脸都是网络随机生成的mesh。

具体实施方式

为了能够对3d人脸数据进行有效的高维特征表示以及从高维特征进行有效重建的能力,本发明采用的技术方案是设计一个变分编码器神经网络去学习3d人脸的高维表示以及重建。利用变分编码器的生成能力来生成更多类型的3d人脸数据。具体来说,我们的方法主要包括以下步骤:

1)变分编码器的设计。变分编码器主要包含编码器和解码器两部分,设计一个基于图卷积结构的变分编码器框架,只要输入一个mesh,就能通过编码器(变分编码器的第一组成部分)得到该mesh编码后的高维特征,然后使用解码器(变分编码器的第二组成部分)就可以将高维特征解析成原始的mesh。

本发明的深度卷积网络包含三个部分,一是谱卷积算法,二是mesh下采样算法与上采样算法,三是网络结构,具体包括以下部分:

1-1)谱卷积算法。传统的卷积神经网络不能处理mesh这种不规则的图数据,因此我们使用动态滤波卷积来处理网格数据。它可以学习从邻域到滤波器权重的映射,它将网格固有特征考虑进了算法内,定义谱卷积为

公式解析:输入的具有fin特征,输入面网格具有与其3d顶点位置对应的fin=3个特征。用yj计算的jth特征,每层卷积具有与其3d定点位置对应的fin=3个特征,g表示滤波器,l是拉普拉斯算子。并且,θi,j∈rk是可训练参数,每层卷积具有切比雪夫系数的fin×fout向量。

1-2)mesh下采样算法与上采样算法。稳定的采样算法能够提升网络的特征提取能力,从而有效的提升整个网络的性能。与传统的图像采样算法不同,为了捕获全局和局部上下文,本文使用一种网格的分层多尺度表示方法,这一方法允许卷积内核捕获浅层中的局部上下文以及网络的更深层中的全局上下文。为了解决这种表示问题,我们引入网格采样算子。网格采样算子用于定义神经网络中网格特征的下采样和上采样。具有n个顶点的网格特征可以使用n×f张量来表示,其中f是每个顶点的维度,比如3d网格就用f=3表示,这样一来,将卷积应用于网格可以产生具有不同维度的特征。网格采样操作在每个层定义新的拓扑结构,并在邻域顶点上维护上下文。在我们的网络中,首先使用变换矩阵qd∈{0,1}n×m对具有m个顶点的网格进行网内下采样,并使用qu∈rm×n进行上采样(其中m>n),通过迭代地收缩顶点对来获得下采样,同时使用二次矩阵维持表面近似误差对于任意的p而言,当且仅当qd(p,q)=1时,我们在上采样期间保留这些顶点,当qd(p,q)=0时,我们在下采样期间丢弃这些顶点,并使用重心坐标映射到下采样网格表面。下采样算法使用二次矩阵来迭代收缩顶点对。上采样就是下采样的逆过程,上采样的过程是将在下采样过程中丢弃的顶点vq重新添加到下采样网格中,由表示将vp投影到下采样网格时最近似的三角形(i,j,k),并且用计算重心坐标(vj,vj,vk∈vd,wi wj wk=1),然后在qu(q,i)=wi和qu(q,j)=wj中更新权重。

1-3)网络结构。首先利用下采样算法与上采样算法对mesh进行采样处理,采样获得的数据由编码器进行处理,编码器由4个切比雪夫卷积滤波器和切比雪夫多项式组成,每个卷积滤波器之后都有一个有偏置relu,卷积滤波器采用谱卷积算法,同时每个下采样层将网格顶点的数量减少大约4倍。对编码器处理好的数据做正态分布的变分处理,生成新的人脸模型数据。下一步,用解码器处理这些数据,解码器由全连接层组成,层间通过矢量变换从r^8映射到r^128隐空间,同时通过上采样重建网格。每个卷积之后添加类似于编码器网络的偏置relu,同时每个上采样层将网格顶点数量增加大约4倍。最后对于输出的结果添加边约束和mse(均方误差)约束。编码器的每层输入特征维度为1256×16,314×32,79×64与20×128,最后一层将特征映射到128维度的潜层空间。解码器首先使用一个全连接层将128维度的特征映射到mesh空间,接着是4层的图卷积,每层图卷积都是用了批规范化和relu激活函数,整个解码器部分相当于编码器的逆过程。每层的输出特征维度为79×128,314×64,1256×32与5023×16。注意,网络的最后一层没有使用批规范化和激活函数。编码器生成的128维度特征会和高斯分布的数据进行变分处理,以使得编码器生成的数据尽可能逼近高斯分布空间。

2)损失函数。为了避免模型局部塌陷、局部重叠以及过度扭曲等极端情况的出现,我们通过施加边约束、最小化均方误差mse来规范化网格的形状,我们最小化以下顶点平方差的总和,因此

公式解析:用vi,vj分别表示网格上的任意两个顶点,并用eij表示训练结果上的vi-vj。用vi′,vj′分别表示ground-truth(真值)对应的顶点,用e′i,j表示ground-truth上的vi′-vj′。

3)训练。尽管我们可以从卷积网格自动编码器中采样三维面部,但是隐空间的分布是未知的,因此,采样时需要在该空间中编码网格。为了能够有效的从高斯分布采样,生成随机的人脸数据,我们对编码器的输出数据做变分处理,并将得到的结果作为解码器的输入数据。我们的变分实验主要是在损失函数中加入kl(相对熵)散度损失,使得编码器输出的128个数的概率分布尽可能地接近高斯分布,由此编码器可以单独提取出来训练完成的网络,直接从高斯分布采样生成随机人脸,在训练变分模型时,我们使用自增长的权重设计,网络随着训练次数的增加不断的增大kl变分损失函数的权重,以此能够达到最佳的训练效果。需要注意的是,编码器的输出是两组128维度的数,分别表示为mean和std,我们使用这两组数建立kl散度损失,训练整个网络。在此用e表示编码器,用d表示解码器。我们首先对隐空间中的数据集进行训练以获得特征z=e(f),然后将隐向量的每个分量变为并使用解码器将隐向量矢量变换为重建的网格我们设定潜层空间维度为128,训练mesh的顶点数为5023,使用的是1领域的顶点集合,我们将整个数据集在网络中进行了200次迭代训练,优化器使用的是adam(一种优化算法)。该网络使用tensorflow(一个采用数据流图来进行数值计算的开源软件库)深度学习框架进行训练,运行在英伟达gtx1080ti显卡。


技术特征:

1.一种基于边约束谱卷积神经网络的三维人脸表示与重建方法,其特征是,将面部网格mesh输入基于图卷积结构的变分编码器,变分编码器包含编码器和解码器两部分,通过编码器得到该mesh编码后的高维特征,然后使用解码器将所述高维特征解析成原始的mesh,从而实现三维人脸表示与重建。

2.如权利要求1所述的基于边约束谱卷积神经网络的三维人脸表示与重建方法,其特征是,首先利用下采样算法与上采样算法对mesh进行采样处理,采样获得的数据由编码器进行处理,编码器由4个切比雪夫卷积滤波器和切比雪夫多项式组成,每个卷积滤波器之后都有一个偏置线性整流函数relu,卷积滤波器采用谱卷积算法,对编码器处理好的数据做正态分布的变分处理,生成新的人脸模型数据;下一步,用解码器处理所得到的新的人脸模型数据,解码器由全连接层组成,层间通过矢量变换从r^8映射到r^128隐空间,同时通过上采样重建网格,每个卷积之后添加偏置relu;最后对于输出的结果施加边约束和均方误差mse约束,解码器首先使用一个全连接层将128维度的特征映射到mesh空间,接着是4层的图卷积,每层图卷积都是用了批规范化和relu激活函数,最后一层不使用批规范化和激活函数。

3.如权利要求1或2所述的基于边约束谱卷积神经网络的三维人脸表示与重建方法,其特征是,使用动态滤波卷积来处理网格数据,定义谱卷积为

公式解析:输入的具有fin特征,输入面网格具有与其3d顶点位置对应的fin=3个特征,用yj计算的jth特征,每层卷积具有与其3d定点位置对应的fin=3个特征,g表示滤波器,l是拉普拉斯算子,并且,θi,j∈rk是可训练参数,每层卷积具有切比雪夫系数的fin×fout向量。

4.如权利要求1所述的基于边约束谱卷积神经网络的三维人脸表示与重建方法,其特征是,mesh下采样算法与上采样算法中,使用网格的分层多尺度表示方法,这一方法允许卷积内核捕获浅层中的局部上下文以及网络的更深层中的全局上下文,引入网格采样算子,网格采样算子用于定义神经网络中网格特征的下采样和上采样。

5.如权利要求1或4所述的基于边约束谱卷积神经网络的三维人脸表示与重建方法,具有n个顶点的网格特征使用n×f张量来表示,其中f是每个顶点的维度,将卷积应用于网格产生具有不同维度的特征,网格采样操作在每个层定义新的拓扑结构,并在邻域顶点上维护上下文,首先使用变换矩阵qd∈{0,1}n×m对具有m个顶点的网格进行网内下采样,并使用qu∈rm×n进行上采样,m>n,通过迭代地收缩顶点对来获得下采样,同时使用二次矩阵维持表面近似误差对于任意的p而言,当且仅当qd(p,q)=1时,在上采样期间保留这些顶点,当qd(p,q)=0时,在下采样期间丢弃这些顶点,并使用重心坐标映射到下采样网格表面,下采样算法使用二次矩阵来迭代收缩顶点对,上采样就是下采样的逆过程,上采样的过程是将在下采样过程中丢弃的顶点vq重新添加到下采样网格中,由表示将vp投影到下采样网格时最近似的三角形(i,j,k),并且用计算重心坐标(vj,vj,vk∈vd,wi wj wk=1),然后在qu(q,i)=wi和qu(q,j)=wj中更新权重。

技术总结
本发明属于计算机视觉和计算机图形学领域,为能够对三维人脸数据进行有效的高维特征表示以及从高维特征进行有效重建的能力,才用自动编码器可以做到将网格卷积与高效的网络上采样和网络下采样同时结合起来,本发明基于边约束谱卷积神经网络的三维人脸表示与重建方法,将面部网格Mesh输入基于图卷积结构的变分编码器,变分编码器包含编码器和解码器两部分,通过编码器得到该Mesh编码后的高维特征,然后使用解码器将所述高维特征解析成原始的Mesh,从而实现三维人脸表示与重建。本发明主要应用于三维人脸表示与重建场合。

技术研发人员:李坤;刘幸子;袁存款
受保护的技术使用者:天津大学
技术研发日:2020.01.14
技术公布日:2020.06.05

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

最新回复(0)