赞
踩
论文:Learning an Animatable Detailed 3D Face Model from In-The-Wild Images
Github:https://github.com/YadiraF/DECA
论文提出了基于单张彩色图片进行3d人脸重建的方法DECA(Detailed Expression Capture and Animation) ,在 Nvidia Quadro RTX 5000上可以达到120fps。
row 1:原始输入样本数据
row 2:粗糙的形状回归
row 3:具体细节的形状回归
row 4:再现的形状回归
row 5:再现的具体细节的形状回归
主要贡献:
基础知识:
FLAME是一个结合了线性人脸形状,基于 linear blend skinning (LBS) 的表情空间,表达脖子,下巴,眼球的姿态独立矫正空间,的统计人脸模型。FLAME输出5023个人脸关键点。
Β:人脸实体
Θ:人脸姿态
Ψ:人脸表情
T:三维空间的旋转变换
J:三维空间的所有人脸关键点
W:线性平滑操作
其中,三维空间的旋转变换T具体表示如下,
T:0姿态的平均模版
BS:混合形状
BP :表情校正
BE:表情混合
Appearance model:
FLAME没有视觉模型,因此将Basel Face模型的PCA空间转化为FLAME的UV空间。
Camera model:
这里采用正交投影相机。
其中,M表示顶点, Π表示2*3的正交投影矩阵,s表示尺度变换,t表示平移变换。
Illumination model:
光照模型基于球面谐波( Spherical Harmonics )
其中,A表示反射率,N表示表面法向量,B表示阴影纹理
Texture rendering:
其中,R表示渲染函数,
由于较低的mesh分辨率的限制,FLAME模型的中频细节容易丢失。
本文方法:
DECA模型分为粗糙的人脸重建Ec(resnet50构成),精细的人脸重建Ed。具体的Ec包括了相机c,反射率ɑ,光照l,形状β,姿态θ,表情Ψ。Ed包括了细节δ。
粗糙的人脸重建:
粗糙模型使用了前100个FLAME的形状参数β,50个表情参数Ψ,50个反射率参数ɑ。粗糙的人脸重建Ec一共预测236维的latent空间。这里使用的2d关键点有68个。
粗糙模型的损失包括了人脸关键点的损失 Llmk,眼睛闭合的损失 Leye,基于照片的损失 Lpho,ID损失 Lid,形状连续损失 Lsc,正则化损失 Lreg。
人脸关键点的损失 Llmk,
眼睛闭合的损失 Leye,
计算上下眼皮的相对偏移。E表示上下眼皮的关键点对。
基于照片的损失 Lpho,
计算输入图片和渲染后图片的loss, VI表示人脸mask,皮肤区域为1,其他区域为0。
ID损失 Lid,
这里使用预训练的人脸识别网络,计算cos距离。
形状连续损失 Lsc,
同一个人的两张图 Ii,Ij,应该有相同的输出 βi,βj
正则化损失 Lreg,
形状正则化,
表情正则化,
反射率正则化,
精细的人脸重建:
精细的人脸重建损失,包含了照片细节损失 LphoD, ID-MRF损失 Lmrf,软对称性损失 Lsym,细节正则化损失 LregD。
照片细节损失 LphoD,
VI表示皮肤可见区域的mask
ID-MRF损失 Lmrf,
隐马尔可夫损失Implicit Diversified Markov Random Fields (ID-MRF) ,通过使用 conv3 2 , conv4 2这2个卷积层的输出来计算,并且只计算UV空间的皮肤区域。
软对称性损失 Lsym,
Vuv表示UV空间人脸区域的mask,
flip表示水平镜像操作
细节正则化损失 LregD,
通过细节正则化来减少噪声。
数据集:
VGGFace2 , BUPT-Balancedface ,VoxCeleb2 共200w的数据。
网络输入图片为224*224,UV空间为256维。
实验结果:
总结:
(1)形状连续loss使得模型具有非常好的效果
(2)DECA中的反射模型依赖 Basel face,缺少种族多样性和面部头发。
(3)尽管具有很好的鲁棒性,但是对大姿态,大光照的情况也会失败。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。