1.本发明属于图像与视频理解
技术领域:
:,具体涉及一种三维人脸表征提取方法。
背景技术:
::2.人脸在人类视觉感知中起着非常关键的作用,在传达身份、信息、表情和意图方面不可或缺。神经网络广泛用于计算机视觉任务中人脸的理解,包括人脸识别、人脸表情识别、姿势估计、人脸重建等,这些工作侧重于每个任务的表现,而忽略了对人脸的整体理解,而且需要大量的带标签数据。人脸表征学习是解决这一缺陷的方法,可作为人脸任务的预训练方法,它使用无监督的模式进行学习无标签样本。3.自监督模型只受到来自样本本身的信息的监督,并学习从数据中提取其内部结构。自监督学习广泛应用于计算机视觉任务,包括分类、检测、生成和3d重建。已经有人为这些任务提出了各种类型的网络架构以获得更好的表示:生成模型以及对抗模型,生成模型,例如自动编码器(ae)和变分自动编码器(vae);对抗模型,例如生成对抗网络(gan)。而表征学习是自监督学习中最重要的课题之一,也是一个旨在改善数据特征和提升下游预测器的独立领域。表征学习算法已经应用于很多机器学习任务,例如语言模型、图神经网络和视觉任务。可迁移的解释因素是表征学习的标准,而解耦表征也是一个重要的课题,已经做了很多工作。4.一个好的人脸表征可以解耦变化的潜在因素。目前的方法仅使用二维特征,在解决人脸因素方面存在局限性。这会导致人脸表现不佳,从而使下游任务表现不佳。实际上,人脸图像由许多三维结构的因素组成,包括内部因素,即人脸的表情、形状和材质,以及外部因素,即光照和姿势。5.对带材质的3d人脸建模已经研究了很长时间。最广泛使用的方法之一是3dmorphablemodel(3dmm)[1],随后进行了许多改进[2,3]。人脸模型是通过3d扫描做pca得到的,需要大量的人力。并且表示空间受到模型的限制。很难将这些方法推广到自然的人脸图像。为了改进它,unsup3d[4]和liftingautoencoders[5]提出了无监督人脸重建算法。然后,[6]使用标记的身份来实现更好的重构。但是上述方法并没有探索3d人脸模型在表征学习中的潜力。[0006]人脸表征学习旨在为人脸任务获得更好的表征。许多监督学习方法被提出来解决这个问题,但它们需要大量的训练数据[7,8]。最近的一些人脸表征工作使用了3dmm[9,10]。他们需要较少的监督信息,但需要3d人脸先验。gan是一种无监督的表示学习方法,一些论文沿用了这种方法[11]。然而,现有的工作仅限于某个数据集,并且很难为构建分类器提取通用的人脸表征。技术实现要素:[0007]本发明的目的在于提供一种从图像和视频中提取三维人脸表征的方法,以便能高效、准确地进行人脸表情识别、姿势估计、人脸验证和人脸正面化等。[0008]本发明中,所述三维人脸表征,包括内部因素和外部因素;其中,内部因素是指:形状、表情、材质;外部因素是指:姿势和光照。[0009]本发明提供的从图像和视频中提取三维人脸表征的方法,构建一个三维无监督人脸表征学习网络模型,该网络模型是一种深度学习神经网络模型,本发明的具体步骤为:[0010](1)使用编码器从输入图像i分别提取人脸的形状、材质、表情、光照和姿势特征,具体包括:[0011]使用形状编码器es提取人脸形状编码cshape,使用材质编码器et提取人脸材质编码ctexture,使用表情编码器ee提取人脸表情编码cexpr,使用光照编码器el提取光照编码clight,使用姿势编码器ep提取姿势编码cpose;[0012](2)使用表情变换模块w来变换估计的人脸材质与形状;通过表情变换模块w能够使得提取到的人脸表情编码cexpr影响人脸形状编码cshape和人脸材质编码ctexture的构成,使得提取出来的材质编码和形状编码根据表情不同而有所差异;[0013](3)根据提取的编码重构出人脸图像;首先使用材质生成器gt,从提取的材质编码ctexture生成人脸材质图mt;使用形状生成器gs,从提取的人脸形状编码cshape生成人脸深度图ms;然后,使用渲染器r来使人脸材质图mt、人脸深度图ms、光照编码clight、姿势编码cpose合成新的人脸图像渲染器r主要包括光照和投影两个过程;[0014](4)使用一种新的损失函数来评估重建图像和输入图像i的差距;首先,使用一个置信度图生成器来预测图像中人脸区域的置信度,该置信度用来指导损失函数关注人脸区域;还使用vgg[12]网络来提取人脸图像的低级和高级语义特征来计算损失;[0015](5)使用单幅图像对模型进行预训练;[0016]通过构建的神经网络学习框架,使用一定的约束条件进行优化,就能够从编码器提取形状cshape、材质ctexture、光照clight和姿势cpose四种因素;最后使用这个网络输入人脸图像,预测人脸图像的人脸表征,进而对人脸姿势和正面样貌进行判断;[0017](6)使用视频对模型继续进行训练;[0018]使用一定的约束条件进行优化,从编码器提取表情cexpr、形状cshape、材质ctexture、光照clight和姿势cpose五种因素;使用这个网络输入视频帧序列,预测视频帧中人脸表征,进而对人脸表情、姿势、形状等等因素进行判断。[0019]进一步地:[0020]步骤(1)中,所述材质编码器et和形状编码器es是一种特征编码器,其结构如图4所示。这两个编码器具有相同的架构,它们都是使用批归一化层的卷积神经网络,输入r、g、b三通道的图像i能够产生256维的编码向量cshape和ctexture,即:[0021]cshape=es(i),[0022]ctexture=et(i),ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ(1)。[0023]步骤(1)中,所述指光照编码器el和姿势编码器ep是数字编码器,其结构由图5所示。它们也是卷积神经网络,它们分别生成相应的光照和姿势参数,来控制之后的渲染工作。这两个编码器具有相同的结构,除了输出的编码维度略有不同。姿势编码器ep生成的编码cpose有6个维度,分别是三维坐标的的平移向量和的旋转角;光照编码器el生成的编码clight有4个维度:环境光参数,漫反射参数和两个光照方向x,y。编码器的输出端使用激活函数tanh将最终的输出扩展到-1和1之间,然后将其映射到相应的空间,即:[0024]clight=el(i),cpose=ep(i)ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ(2)。[0025]步骤(1)中,所述表情编码器ee不同于其他编码器,由于反向传播时梯度较小且不稳定,在训练表情提取时,上述编码器容易失效。因此,本发明采用一个有残差结构的resnet18[12]来提取特征。和特征编码器一样,对一张r、g、b三通道输入图像i能够生成256维的编码向量cexpr,即:[0026]cexpr=ee(i)ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ(3)。[0027]步骤(2)中,所述的表情变换模块w,是建模视频中人脸表情的关键模块,具体流程为:[0028]首先,将从一系列视频帧中采样人脸形状编码cshape和人脸材质编码ctexture,在特征空间中对它们进行平均得到和假设中性表情人脸可以通过采样序列的平均值来估计。[0029]然后,用获得的人脸表情编码cexpr作为形状cshape和材质ctexture参数的线性偏差,加入到获取的平均编码中,得到变换后的编码c′shape和c′texture。于是,表情变换模块w的过程可以表示为以下公式:[0030][0031][0032]其中,符号表示x在批量维度上进行平均。[0033]w输入的是材质编码ctexture或形状编码cshape,与表情编码cexpr;w输出的是变换后的形状代码c′shape和材质代码c′texture。这样,将这些特征解分成序列中的序列变异部分和序列不变部分,并分别计算梯度:[0034][0035][0036]其中,第i个材质编码的梯度δctexture,i来自一个序列中所有材质编码的梯度的平均值,同样,第i个形状编码的梯度δctexture,i来自一个序列中所有形状编码的梯度的平均值;第i个表情编码的梯度δcexpr,i来自对应的形状编码的梯度和对应的材质编码的梯度的加和;λt是材质表达效应的比例因子,λs是形状表达效应的比例因子,通常,取λs=λt=1;||v||是输入视频序列v的长度;当生成器固定时,表情变换模块w从人脸形状编码cshape和人脸材质编码ctexture在同一视频中的变化中学习表情对材质编码的影响。[0037]步骤(3)中,所述的材质生成器gt和形状生成器gs,其网络结构包括堆叠卷积层、转置卷积层和组归一化层,图6中显示了详细的结构。该网络使用256维向量作为输入,材质生成器gt最终产生3通道的材质图mt输出,形状生成器gs产生1通道人脸深度图ms输出。最终的材质图mt和深度图ms用tanh函数缩放到-1到1的范围,即:[0038]mt=gt(ctexture),ms=gs(cshape),ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ(8)[0039]步骤(3)中,所述渲染器r接受材质图mt和深度图ms,还有光照编码clight、姿势编码cpose作为参数,可以表示为以下公式。[0040][0041]是重建后的图像,r表示渲染的过程,主要包括光照和投影两个过程。在渲染过程中,首先,将深度图ms转化为三维渲染管道中的三维网格;然后,将材质图mt与网格进行融合,得到三维模型的真实表示。[0042]进一步的,步骤(3)中所述的渲染器r的光照过程,使用简化的phong光照模型,这是一个局部光照的经验模型。通过该光照模型可以从以下方程中得到每个点p的颜色ip:[0043]ip=ka,p+∑m∈lightskd,p(lm·np),ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ(10)[0044]其中,lights表示所有光源的集合,lm表示从表面上的一个点m到每个光源的方向向量,np表示从深度图ms直接得到的到表面的法线。ka,p为点p环境光系数,kd,p为点p的漫反射系数。本发明的模型忽略了人脸的镜面反射,因为在大多数情况下,人脸的镜面反射系数小到与漫反射相比可以忽略。光源的方向和强度由光照编码clight提供,点p的漫反射系数由材质图mt提供。[0045]进一步的,步骤(3)所述的渲染器的投影过程,使用一个弱透视相机模型,也即光应该与相机平面正交。在透视投影下,成像二维点p与实际三维点位置p之间的转换如下:[0046]p=sck[rctc]p,ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ(11)[0047]其中,k为照相机的内部参数。rc和tc是旋转和平移的外部参数,sc是相机的缩放因子。rc和tc可以从姿势编码cpose中获取。当材质图mt和深度图ms,还有光照编码clight、姿势编码cpose经过渲染器r的光照和投影就能够得到人脸的二维重建图像[0048]步骤(4)中,所述的重建损失,包括从低像素水平到高特征水平的约束。损失函数由三部分组成:光度损失lp,特征级损失lf和身份损失li:[0049](1)光度损失lp,特征级损失lf可以表示如下:[0050][0051][0052]其中,i表示输入图像,表示重建图像。conv代表低级特征提取网络,是通过输入一个预训练过的vgg-19网络[12]提取其中的relu3_3特征来处理的。如图7所示,本发明使用编码器-生成器的结构来生成置信度图,表示为σ,σp是光度损失的置信度图,σf是特征级损失的置信度图。在这个模型中,光度损失和特征级损失受到估计置信度图σ的约束,基于置信度的评估函数lconf可以使模型自行校准:[0053][0054]其中,lconf有三个参数,重建图像输入图像i,和置信度σ。ω是有效区域,也就是重建图像的非背景部分,|ω|表示有效区域中点的数量。uv表示有效区域中的点坐标,σuv为该点的置信度,表示该点在重建图像和输入图像i上的像素rgb差值,∑uv∈ω表示对所有有效区域的点求和。exp表示自然指数运算,ln表示自然对数运算。[0055](2)上述损失的lp和lf并没有强调人脸的完整性,这很容易导致重建图像的人脸身份特征与原始图像相差很远。因此,本发明也使用了一种身份损失li来约束整个人脸的感知一致性。首先,利用函数g将重建图像i与原始图像相结合,该函数利用原始图像的相应部分来填补重建图像没有的背景。然后,计算补充图像与原始图像之间的感知相似度(lpips)[14],lpips试图提取vgg网络[12]中多层特征来计算图像间距离。身份li损失可以表示如下。[0056][0057]其中,f为感知相似度的vgg网络,g为填补函数,g有两个参数重建图像输入图像i,因为重建图像的背景区域是缺失的,所以使用输入图像i的相应区域进行填补。《·》表示余弦距离,||·||表示模长。[0058](3)损失函数可以表示为光度损失、较低的特征损失和身份损失的线性组合:[0059][0060]其中,λf和λi为特征级损失和身份损失的权重,通常取λf=λi=1。[0061](4)本发明还考虑计算左右脸水平翻转的重建图像得到的损失,并和以上损失线性加和得到最终损失函数:[0062][0063]其中,是左右脸水平翻转的重建图像,ltot是最终损失,flip是将材质图ms和深度图mt进行左右泛着变换,λflip是翻转重建图像的权重,通常取λflip=0.5。接着使用反向传播算法,从损失计算网络的梯度,并更新网络的参数。[0064]步骤(5)中,所述使用图像集,对模型进行预训练,具体流程为:将大型人脸图像集中的图像通过步骤(1)中的编码器得到人脸形状编码cshape,材质编码ctexture,光照编码clight,姿势编码cpose。然后使用步骤(3)中的生成器从形状编码cshape,材质编码ctexture得到材质图mt和深度图ms,公式表示如下:[0065]ms=gs(cshape)=gs(es(i)),ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ(18)[0066]mt=gt(ctexture)=gt(et(i)),ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ(19)[0067]其中,i为输入图像。es、et分别是形状、材质编码器,gs、gt分别是形状、纹理生成器。然后材质图mt和深度图ms与光照编码clight,姿势编码cpose通过渲染器r生成重建图像[0068]然后,按照步骤(4)计算损失函数ltot来进行反向传播,训练所有的编码器和生成器(表情编码器除外)。[0069]测试时只需要使用编码器提取人脸形状编码cshape,材质编码ctexture,光照编码clight,姿势编码cpose就可以进行姿势估计、人脸验证和人脸正面化等等后续任务。比如姿势估计就只需要将输入图像i通过姿势编码器ep,得到姿势编码cpose,就可以从参数中的得到预测的姿势。[0070]步骤(6)中,所述使用视频对添加表情变换模块之后模型继续进行训练,其中,输入帧从同一视频序列中收集,它们具有不同表情和姿势的动作。与步骤(5)中的步骤不同的是,这里的表情变换模块w,可以将提取到的表情编码cexpr用来处理材质编码ctexture和形状编码csape,得到变换后的形状编码c′shape和材质编码c′texture。生成深度ms和材质贴图mt的过程可以用以下公式来表示:[0071]ms=gs(c′shape)=gs(w(cshape,cexpr))=gs(w(es(i),ee(i))),ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ(20)[0072]mt=gt(c′texture)=gt(w(ctexture,cexpr))=gt(w(et(i),ee(i))),ꢀꢀꢀ(21)[0073]其中,i为输入图像。es、et分别是形状、材质编码器,gs、gt分别是形状、纹理生成器。[0074]结合之前提取的姿势cpose和光照clight信息,深度和材质贴图可以通过渲染器r生成重建的图像当完成图像集模型训练时,可以很容易地在图像集模型上面添加表情变换模块w和表情编码器ee,继续在视频上训练,得到适用于视频的模型。本发明使用视频来建模表达的重要原因是,视频中的人脸自然具有相同的身份和化妆。不需要进行任何注释。同时,视频帧包含大量的表情变化,很容易被解耦。测试时只需要将图片通过相应的编码器,就能够从人脸视频中解耦姿势,光照,形状,表情和材质,并且辅助下游各种任务的预测。[0075]本发明的优越性在于以下几点:[0076](1)本发明提出了一种新颖的基于3d的无监督人脸表征学习模型框架。该模型可以从未标记的图像集和自然视频中学习解耦的3d人脸表征。而现有的人脸表征学习方法仅限于2d特征;[0077](2)本发明提出了一种新的无监督策略,使用表情变换模块从未注释的视频序列中学习3d人脸表情。3d人脸表情通常需要3d人脸先验来获取,而本发明能在没有任何标签或人脸先验的情况下,将3d人脸表情从身份特征中分离出来;[0078](3)本发明的模型增加了新的几何信息并探索了潜在的环境因素。本发明模型框架可以发现和解耦多达5个人脸表征因素,包括表情,形状,材质,光照和姿势。附图说明[0079]图1为基于三维解耦技术的人脸表征学习示意图。[0080]图2为神经网络结构图示。[0081]图3为特征编码器的架构图。[0082]图4为数字编码器的架构图。[0083]图5为表情变换模块结构图。[0084]图6为材质和深度图生成器的架构图。[0085]图7为置信度图生成器的架构图。[0086]图8为中间结果的可视化图。具体实施方式[0087](1)本发明使用celeba数据集[15]从图像集中学习,并使用voxceleb数据集[16]从视频中学习。本发明用facenet[17]裁剪了celeba和voxceleb数据集,并将其大小调整到128×128。本发明提出的模型是基于pytorch框架实现的,并使用adam优化器进行训练。编码器和解码器都是完全卷积的网络。批处理大小设置为16,且这两个训练阶段的学习率均为0.0001。本发明分别对30个时代的图像集和视频序列进行模型训练。[0088](2)本发明的渲染流程中人脸形状是一个二维的单通道矩阵,它表示人脸的深度workshops.[0098][3]yaofeng,haiwenfeng,michaelj.black,andtimobolkart.2021.learningananimatabledetailed3dfacemodelfromin-the-wildimages.acmtransactionsongraphics(tog)40(2021),1–13.[0099][4]shangzhewu,c.rupprecht,andandreavedaldi.2020.unsupervisedlearningofprobablysymmetricdeformable3dobjectsfromimagesinthewild.2020ieee/cvfconferenceoncomputervisionandpatternrecognition(cvpr)(2020),1–10.[0100][5]mihirsahasrabudhe,zhixinshu,edwardbartrum,rizaalpgüler,dimitrissamaras,andiasonaskokkinos.2019.liftingautoencoders:unsupervisedlearningofafully-disentangled3dmorphablemodelusingdeepnon-rigidstructurefrommotion.2019ieee/cvfinternationalconferenceoncomputervisionworkshop(iccvw)(2019),4054–4064.[0101][6]yujunshen,jinjingu,xiaooutang,andboleizhou.2020.interpretingthelatentspaceofgansforsemanticfaceediting.2020ieee/cvfconferenceoncomputervisionandpatternrecognition(cvpr)(2020),9240–9249.[0102][7]luantran,xiyin,andxiaomingliu.2017.disentangledrepresentationlearningganforpose-invariantfacerecognition.2017ieeeconferenceoncomputervisionandpatternrecognition(cvpr)(2017),1283–1292.[0103][8]huiyuanyang,umuraybarsciftci,andlijunyin.2018.facialexpressionrecognitionbyde-expressionresiduelearning.2018ieee/cvfconferenceoncomputervisionandpatternrecognition(2018),2168–2177.[0104][9]zhongpaigao,juyongzhang,yudongguo,chaoma,guangtaozhai,andxiaokangyang.2020.semi-supervised3dfacerepresentationlearningfromunconstrainedphotocollections.2020ieee/cvfconferenceoncomputervisionandpatternrecognitionworkshops(cvprw)(2020),1426–1435[0105][10]fengliu,qijunzhao,xiaomingliu,anddanzeng.2020.jointfacealignmentand3dfacereconstructionwithapplicationtofacerecognition.ieeetransactionsonpatternanalysisandmachineintelligence42(2020),664–678.[0106][11]thunguyen-phuoc,chuanli,lucastheis,christianrichardt,andyongliangyang.2019.hologan:unsupervisedlearningof3drepresentationsfromnaturalimages.2019ieee/cvfinternationalconferenceoncomputervision(iccv)(2019),7587–7596.[0107][12]kaiminghe,xiangyuzhang,shaoqingren,andjiansun.2016.deepresiduallearningforimagerecognition.(2016),770–778.https://doi.org/10.1109/cvpr.2016.90[0108][13]karensimonyanandandrewzisserman.2015.verydeepconvolutionalnetworksforlarge-scaleimagerecognition.(2015).http://arxiv.org/abs/1409.1556[0109][14]richardzhang,phillipisola,alexeia.efros,elishechtman,andoliverwang.2018.theunreasonableeffectivenessofdeepfeaturesasaperceptualmetric.in2018ieee/cvfconferenceoncomputervisionandpatternrecognition.586–595.https://doi.org/10.1109/cvpr.2018.00068[0110][15]ziweiliu,pingluo,xiaogangwang,andxiaooutang.2015.deeplearningfaceattributesinthewild.in2015ieeeinternationalconferenceoncomputervision(iccv).3730–37[0111][16]arshanagrani,joonsonchung,andandrewzisserman.2017.voxceleb:alarge-scalespeakeridentificationdataset.inproc.interspeech2017.2616–262[0112][17]florianschroff,dmitrykalenichenko,andjamesphilbin.2015.facenet:aunifiedembeddingforfacerecognitionandclustering。当前第1页12当前第1页12
技术特征:1.一种从图像和视频中提取三维人脸表征的方法,其中,所述三维人脸表征,包括内部因素和外部因素;内部因素是指:形状、表情、材质;外部因素是指:姿势和光照;其特征在于,通过构建一个三维无监督人脸表征学习网络模型来提取三维人脸表征,具体步骤为:(1)使用所述网络模型中的编码器从输入图像i分别提取人脸的形状、材质、表情、光照和姿势特征,具体包括:使用形状编码器e
s
提取人脸形状编码c
shape
,使用材质编码器e
t
提取人脸材质编码c
texture
,使用表情编码器e
e
提取人脸表情编码c
expr
,使用光照编码器e
l
提取光照编码c
light
,使用姿势编码器e
p
提取姿势编码c
pose
;(2)使用所述网络模型中的表情变换模块w来变换估计的人脸材质与形状;包括通过表情变换模块w使得提取到的人脸表情编码c
expr
影响人脸形状编码c
shape
和人脸材质编码c
texture
的构成,使得提取出来的材质编码和形状编码根据表情不同而有所差异;(3)根据提取的编码重构出人脸图像;首先使用所述网络模型中的材质生成器g
t
,从提取的材质编码c
texture
生成人脸材质图m
t
;使用形状生成器g
s
,从提取的人脸形状编码c
shape
生成人脸深度图m
s
;然后,使用渲染器r来使人脸材质图m
t
、人脸深度图m
s
、光照编码c
light
、姿势编码c
pose
合成新的人脸图像渲染器r过程包括光照和投影两个过程;(4)使用一种损失函数来评估重建图像和输入图像i的差距;首先,使用所述网络模型中的置信度图生成器来预测图像中人脸区域的置信度,该置信度用来指导损失函数关注人脸区域;还使用vgg网络来提取人脸图像的低级和高级语义特征来计算损失;(5)使用单幅图像对所述网络模型进行预训练;根据构建的网络模型,使用约束条件进行优化,以便从编码器提取形状c
shape
、材质c
texture
、光照c
light
和姿势c
pose
四种因素;最后使用该网络模型输入人脸图像,预测人脸图像的人脸表征,进而对人脸姿势和正面样貌进行判断;(6)使用视频对所述网络模型继续进行训练;使用约束条件进行优化,从编码器提取表情c
expr
、形状c
shape
、材质c
texture
、光照c
light
和姿势c
pose
五种因素;使用该网络模型输入视频帧序列,预测视频帧中人脸表征,进而对人脸表情、姿势、形状因素进行判断。2.根据权利要求1所述的从图像和视频中提取三维人脸表征的方法,其特征在于,步骤(1)中:所述材质编码器e
t
和形状编码器e
s
是特征编码器,这两个编码器具有相同的架构,都使用批归一化层的卷积神经网络,输入r、g、b三通道的图像i能够产生256维的编码向量c
shape
和c
texture
,即:c
shape
=e
s
(i),c
texture
=e
t
(i),
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)所述指光照编码器e
l
和姿势编码器e
p
是数字编码器,都是卷积神经网络,它们分别生成相应的光照和姿势参数,来控制之后的渲染工作;这两个编码器具有相同的结构;姿势编码器e
p
生成的编码c
pose
有6个维度,分别是三维坐标的的平移向量和的旋转角;光照编码器e
l
生成的编码c
light
有4个维度:环境光参数,漫反射参数和两个光照方向x,y;两个编码器的输出端使用激活函数tanh将最终的输出扩展到-1和1之间,然后将其映射到相应的空间,即:c
light
=e
l
(i),c
pose
=e
p
(i)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
所述表情编码器e
e
采用一个有残差结构的resnet18来提取特征;和特征编码器一样,对一张r、g、b三通道输入图像i能够生成256维的编码向量c
expr
,即:c
expr
=e
e
(i)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)。3.根据权利要求2所述的从图像和视频中提取三维人脸表征的方法,其特征在于,步骤(2)中:所述的表情变换模块w,其操作流程为:首先,从步骤(1)得到的一系列视频帧中采样人脸形状编码c
shape
和人脸材质编码c
texture
,在特征空间中对它们进行平均得到和假设中性表情人脸通过采样序列的平均值来估计;然后,用获得的人脸表情编码c
expr
作为形状c
shape
和材质c
texture
参数的线性偏差,加入到获取的平均编码中,得到变换后的编码c
′
shape
和c
′
texture
;于是,表情变换模块w的过程表示为以下公式:为以下公式:其中,符号表示x在批量维度上进行平均;w输入的是材质编码c
texture
或形状编码c
shape
,与表情编码c
expr
;w输出的是变换后的形状代码c
′
shape
和材质代码c
′
texture
;这样,将这些特征解分成序列中的序列变异部分和序列不变部分,并分别计算梯度:变部分,并分别计算梯度:其中,第i个材质编码的梯度δc
texture,i
来自一个序列中所有材质编码的梯度的平均值,同样,第i个形状编码的梯度δc
texture,i
来自一个序列中所有形状编码的梯度的平均值;第i个表情编码的梯度δc
expr,i
来自对应的形状编码的梯度和对应的材质编码的梯度的加和;λ
t
是材质表达效应的比例因子,λ
s
是形状表达效应的比例因子,通常,取λ
s
=λ
t
=1;||v||是输入视频序列v的长度;当生成器固定时,表情变换模块w从人脸形状编码c
shape
和人脸材质编码c
texture
在同一视频中的变化中学习表情对材质编码的影响。4.根据权利要求3所述的从图像和视频中提取三维人脸表征的方法,其特征在于,步骤(3)中:所述的材质生成器g
t
和形状生成器g
s
,其网络结构包括堆叠卷积层、转置卷积层和组归一化层;该网络使用256维向量作为输入,材质生成器g
t
最终产生3通道的材质图m
t
输出,形状生成器g
s
产生1通道人脸深度图m
s
输出;最终的材质图m
t
和深度图m
s
用tanh函数缩放到-1到1的范围,表示为:m
t
=g
t
(c
texture
),m
s
=g
s
(c
shape
),
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8)所述渲染器r接受材质图m
t
和深度图m
s
,还有光照编码c
light
、姿势编码c
pose
作为参数,表示为以下公式;
是重建后的图像,r为渲染的过程,主要包括光照和投影两个过程;在渲染过程中,首先,将深度图m
s
转化为三维渲染管道中的三维网格;然后,将材质图m
t
与网格进行融合,得到三维模型的真实表示。5.根据权利要求4所述的从图像和视频中提取三维人脸表征的方法,其特征在于,步骤(3)中:所述的渲染器r的光照过程,使用简化的phong光照模型,通过该光照模型从以下方程中得到每个点p的颜色i
p
:i
p
=k
a,p
+∑
m∈lights
k
d,p
(l
m
·
n
p
),
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(10)其中,lights表示所有光源的集合,l
m
表示从表面上的一个点m到每个光源的方向向量,n
p
表示从深度图m
s
直接得到的到表面的法线;k
a,p
为点p环境光系数,k
d,p
为点p的漫反射系数;光源的方向和强度由光照编码c
light
提供,点p的漫反射系数由材质图m
t
提供;所述的渲染器的投影过程,使用一个弱透视相机模型,即光与相机平面正交,在透视投影下,成像二维点p与实际三维点位置p之间有如下转换关系:p=s
c
k[r
c t
c
]p,
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(11)其中,k为照相机的内部参数;r
c
和t
c
是外部参数,s
c
是相机的缩放因子;r
c
和t
c
可以从姿势编码c
pose
中获取;材质图m
t
和深度图m
s
,还有光照编码c
light
、姿势编码c
pose
经过渲染器r的光照和投影,得到人脸的二维重建图像6.根据权利要求5所述的从图像和视频中提取三维人脸表征的方法,其特征在于,步骤(4)中,所述的重建损失,包括从低像素水平到高特征水平的约束;损失函数由三部分组成:光度损失l
p
,特征级损失l
f
和身份损失l
i
:(1)光度损失l
p
,特征级损失l
f
表示如下:表示如下:其中,i表示输入图像,表示重建图像,conv代表低级特征提取网络;σ表示置信度图,使用编码器-生成器结构来生成,σ
p
是光度损失的置信度图,σ
f
是特征级损失的置信度图;在该网络模型中,光度损失和特征级损失受到估计置信度图σ的约束,基于置信度的评估函数l
conf
使模型自行校准:其中,l
conf
有三个参数,重建图像输入图像i,和置信度σ;ω是有效区域,也就是重建图像的非背景部分,|ω|表示有效区域中点的数量;uv表示有效区域中的点坐标,σ
uv
为该点的置信度,表示该点在重建图像和输入图像i上的像素rgb差值,∑
uv∈ω
表示对所有有效区域的点求和;(2)身份损失l
i
用来约束整个人脸的感知一致性;首先,利用函数g将重建图像i与原始图像相结合,该函数利用原始图像的相应部分来填补重建图像没有的背景;然后,计算补
充图像与原始图像之间的感知相似度(lpips),感知相似度试图提取vgg网络中多层特征来计算图像间距离;身份l
i
损失表示如下:其中,f为感知相似度的vgg网络,g为填补函数,g有两个参数:重建图像和输入图像i,因为重建图像的背景区域是缺失的,所以使用输入图像i的相应区域进行填补;<
·
>表示余弦距离,||
·
||表示模长;(3)损失函数表示为光度损失、较低的特征损失和身份损失的线性组合:其中,λ
f
和λ
i
为特征级损失和身份损失的权重;(4)最后,还考虑计算左右脸水平翻转的重建图像得到的损失,并和以上损失线性加和得到最终损失函数:得到最终损失函数:其中,是左右脸水平翻转的重建图像,l
tot
是最终损失,flip是将材质图m
s
和深度图m
t
进行左右泛着变换,λ
flip
是翻转重建图像的权重;接着使用反向传播算法,从损失计算网络的梯度,并更新网络的参数。7.根据权利要求6所述的从图像和视频中提取三维人脸表征的方法,其特征在于,步骤(5)中,所述使用图像集,对模型进行预训练,具体流程为:将大型人脸图像集中的图像通过步骤(1)中的编码器得到人脸形状编码c
shape
,材质编码c
texture
,光照编码c
light
,姿势编码c
pose
;然后使用步骤(3)中的生成器从形状编码c
shape
,材质编码c
texture
得到材质图m
t
和深度图m
s
,公式表示如下:m
s
=g
s
(c
shape
)=g
s
(e
s
(i)),
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(18)m
t
=g
t
(c
texture
)=g
t
(e
t
(i)),
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(19)其中,i为输入图像,e
s
、e
t
分别是形状、材质编码器,g
s
、g
t
分别是形状、纹理生成器;材质图m
t
和深度图m
s
与光照编码c
light
,姿势编码c
pose
通过渲染器r生成重建图像然后,按照步骤(4)计算损失函数l
tot
来进行反向传播,训练所有的编码器和生成器,表情编码器除外;测试时,只使用编码器提取人脸形状编码c
shape
,材质编码c
texture
,光照编码c
light
,姿势编码c
pose
就可以进行姿势估计、人脸验证和人脸正面化后续任务。8.根据权利要求7所述的从图像和视频中提取三维人脸表征的方法,其特征在于,步骤(6)中,所述使用视频对添加表情变换模块之后模型继续进行训练,其中,输入帧从同一视频序列中收集,它们具有不同表情和姿势的动作;与步骤(5)中的步骤不同的是,这里的表情变换模块w,将提取到的表情编码c
expr
用来处理材质编码c
texture
和形状编码c
shape
,得到变换后的形状编码c
′
shape
和材质编码c
′
texture
;生成深度m
s
和材质贴图m
t
的过程用以下公式来表示:m
s
=g
s
(c
′
shape
)=g
s
(w(c
shape
,c
expr
))=g
s
(w(e
s
(i),e
e
(i))),
ꢀꢀꢀ
(20)
m
t
=g
t
(c
′
texture
)=g
t
(w(c
texture
,c
expr
))=g
t
(w(e
t
(i),e
e
(i))),
ꢀꢀꢀ
(21)其中,i为输入图像;e
s
、e
t
分别是形状、材质编码器,g
s
、g
t
分别是形状、纹理生成器;结合之前提取的姿势c
pose
和光照c
light
信息,深度和材质贴图可以通过渲染器r生成重建的图像当完成图像集模型训练时,容易在图像集模型上面添加表情变换模块w和表情编码器e
e
,继续在视频上训练,得到适用于视频的模型;测试时只需将图片通过相应的编码器,就能够从人脸视频中解耦姿势、光照、形状、表情和材质,并且辅助下游各种任务的预测。
技术总结本发明属于图像与视频理解技术领域,具体为一种从图像和视频中提取三维人脸表征的方法。本发明通过构建一个三维无监督人脸表征学习网络模型来提取三维人脸表征;本发明从没有标签的自然人脸图像和视频中学习,使用表情变换模块从视频序列学习人脸表情的变化。本发明考虑到内部因素和外部环境,利用人脸的三维性质来解耦多达5个影响因素,包括人脸的材质、形状、表情、姿势和光照。本发明可以用于各种下游任务,如人脸表情识别、姿势估计、人脸验证和人脸正面化。脸正面化。脸正面化。
技术研发人员:颜波 何瑞安 谭伟敏 邢稹
受保护的技术使用者:复旦大学
技术研发日:2022.04.21
技术公布日:2022/7/5