
3D人脸重建
文章平均质量分 56
3D人脸重建
深蓝蓝蓝蓝蓝
CS博士在读,专注动态3D重建,欢迎交流www
展开
-
[ECCV2022]3D face reconstruction with dense landmarks
本文做的是基于单图的3D人脸重建。与之前方式不同的是,本文只使用了提取的密集landmark作为模型约束,甚至没有用基于图像的渲染重建损失,但效果却达到了SOTA。本文为后续的工作提供了一个非常好的思路,那就是直接使用基于计算机图形学生成的人脸进行训练。这样的好处是我们拥有绝对准确的ground truth,比如文中使用的landmark,而这是我们在真实数据库上无法达到的(比如被遮挡部分的landmark,即使非常用心,人工也难以准确标注)。且由于现阶段计算机图形学生成的结果的真实性和细腻度都要远远高于计原创 2022-04-12 23:44:54 · 6894 阅读 · 3 评论 -
[CVPR2022]ImFace: A Nonlinear 3D Morphable Face Model with Implicit Neural Representations
本文的主要目的是为3D人脸模型创建一套基于SDF的非线性隐式表示,这有助于帮我们摆脱线性3DMM的局限性(比如网格密度有限导致不够精细,又比如线性表达无法囊括一些比较特殊的人脸及表情)。和别的隐式表示一样,输入模型的只有一个点,输出的是对应的SDF值,整个模型就可以想象成一个表示人脸的场,我们输入一个点就给我们一点信息,当输入点足够多的时候自然就能获得最终的3D重建结果了。而如何解析我们输入的这个点便是模型的重中之重,本文便将这个流程分为了三个部分:表情形变,身份形变和模板空间。通过对表情和身份的解耦来增强原创 2022-04-12 16:11:56 · 1482 阅读 · 1 评论 -
[CVPR2022]Sparse to Dense Dynamic 3D Facial Expression Generation
本文主要做的是基于人脸网格的表情动画合成。思路是先用一个conditional GAN来学习基于landmark的动画序列,然后将landmark序列输入解码器还原为稠密的人脸网格动画。作者做这篇文章的灵感是来源于“每个人在做表情时的肌肉运动是一致的”,因此作者试图学习出一套通用的运动模板,然后套用到每个个体身上,进而让每个人在面部特征不变的情况下产生表情动画。特色主要在于对landmark的动画序列使用了基于SRVF的轨迹表示(这个其实是借鉴MotionGAN的,这里作者只是把他从2D改成了3D),和原创 2022-04-11 11:31:58 · 1320 阅读 · 4 评论 -
[CVPR2022]FENeRF: Face Editing in Neural Radiance Fields
本文做的是迭代式的3D人脸重建。文章整体结构基于pi-GAN,通过分支结构让NeRF预测每个像素的语意,密度和纹理,从而构建出密集3D对齐的语意图,纹理图和密度图。进而可以通过逆映射(inversion)来编辑人脸(旋转,风格,局部变换)。模型结构虽然看着大不一样,但文中基础模块都是照搬的pi-GAN:使用基于siren的网络做NeRF空间,然后使用单独的mapping网络来将纹理和形状隐码转换到适合网络的空间后输入网络。其中形状隐码直接输入整个网络而纹理隐码只输入颜色分支。其中有一点不同的原创 2022-04-11 00:21:42 · 2732 阅读 · 1 评论 -
[CVPR2022-oral]I M Avatar: Implicit Morphable Head Avatars from Videos
简介这篇文章做的是基于视频的迭代式3D人脸重建。文中结合了3DMM和隐式建模的思想,使得最终得到的3D人脸模型不仅非常真实,而且可以按照3DMM的方式进行编辑,最终生成的模型中可以看到完整的人头(包含口腔,牙齿,头发)。模型结构分为三个部分,每个部分都各用了一个占用场(occupancy field,和radiance field很像,文末会解释他们的区别),第一个部分用于将输入人脸变形到基准脸,第二个部分用于从基准脸中提取对应的几何信息,第三个部分用于提取对应的纹理信息。模型结构以下按照图原创 2022-04-09 14:35:26 · 3293 阅读 · 3 评论 -
[2022]Facial Geometric Detail Recovery via Implicit Representation
本文处理的问题是单图的3D人脸重建。特色是(1)使用了style gan对遮挡和由于角度原因的自遮挡部分做了补全,(2)用implicit representation创建了3D图像的隐式表达,用于优化基于3DMM预测出的形状。文章分为两个大部分:1.纹理生成,2.基于纹理的形状优化纹理生成如上图左边所示,作者先用语义分割模型将图像中的遮挡部分扣掉,然后用styleGANv2做了图像补全,最后和原图融合从而获得最终的人脸纹理(2D图像中可见的部分)。由于2D图像中只展示了部分纹理,不足.原创 2022-03-29 23:03:48 · 3187 阅读 · 1 评论 -
[CVPR2018]Extreme 3D Face Reconstruction: Seeing Through Occlusions
这篇文章提供了一种非端到端的3D人脸重建方式,且可以处理局部遮挡问题。文章的主要思路就是通过3DMM预测出一个大概的3D人脸形状。然后用预测出面部凹凸贴图从而提供局部细节。最后为了处理遮挡问题,使用了相似脸补全和弱对称约束。原创 2022-03-23 17:40:01 · 381 阅读 · 0 评论 -
[CVPR2021-oral]Learning to Aggregate and Personalize 3D Face from In-the-Wild Photo Collection
这篇文章主要讲的是如何用无监督的方式从单张图片中恢复深度信息,且不借用3DMM这样的先验。作者采用了课程学习方法,即先学习简单的再学习难的。具体来说就是先学习身份一致性(同一个人在不同照片中的样貌是大致一样的,且非刚性形变有限),然后再通过网络进行场景优化。文中的模型是基于Unsup3D的,即将输入的2D图片分解成标准深度图,标准原色图,光照方向和视角,然后再通过渲染器渲染出的结果来构建重构损失。这里作者也用到了对称损失,即通过翻转人脸来构建新的优化函数,并且通过预测一个confidence map来框原创 2022-02-10 15:33:40 · 904 阅读 · 0 评论 -
[TOG2021](DECA)Learning an Animatable Detailed 3D Face Model from In-The-Wild Images
DECA(Detailed Expression Capture and Animation)目标在弱监督的情况下训练一个从单张2D图片到3D人脸转换的模型。并且3D人脸可以生成真实的动画。动机基本就是为了提升FLAME的效果。基础的FLAME模型会受限于网格密度而丢失一些面部细节,例如皱纹。而DECA就是为了在这方面提升。主要思想同一个人在不同表情下,面部细节是有区别的(例如皱纹),但是与此同时,面部的整体形状是不会变化的。因此建模的时候应该将面部形状看做静态细节,而皱纹什么的看做动态细节。原创 2022-01-24 10:03:20 · 2311 阅读 · 0 评论 -
[CVPR2020]Cross-modal Deep Face Normals with Deactivable Skip Connections
这篇文章主要讲的是如何在配对数据很少的情况下学习从2D图像中提取法线信息。作者提到,一般情况下做这个任务都是将2D编码器和法线解码器连在一起,但这通常要求大量的配对数据来训练,而这目前来说是不现实的。之前有人尝试通过生成新图片来构造成对的数据,而这篇文章就提到了另一种方案,就是直接对两个模态分别建模,再学习如何转化。简单来说就是将图片和法向量映射到同一个隐空间,从而学习图像到法线的转换。具体的方案其实是半监督的,因为也用到了成对的数据,但更多的是用的不成对的数据。总的来说训练流程很简单就是法线编原创 2022-02-10 11:45:02 · 759 阅读 · 0 评论 -
[TOG2020](综述)3D Morphable Face Models—Past, Present, and Future
这是一篇关于3DMM(3D Morphable Face Model)的综述,概述了过去20年间这个领域的发展概况。原创 2022-02-06 17:24:30 · 6044 阅读 · 0 评论 -
[ECCV2020]Self-Supervised Monocular 3D Face Reconstruction by Occlusion-Aware Multi-view Geometry
本文主要是提出了一种从无监督的多视角图片构建3D人脸模型的方式。作者提到现如今的无监督3D人脸重建方法要么是基于landmark做loss,要么是基于渲染后的图像做loss,但这两者都有共同的问题就是无法考虑人脸姿态的估计误差和深度误差。因此作者希望通过多视角的方式来解决这一点。以上就是作者模型的流程,左边包括红框是作者的整体流程,红框讲的是作者如何建立多视角约束,也就是创新的部分,而右边蓝框内就是普通的基于2D landmark和渲染图像做loss的baseline。模型整体思路其实很清晰原创 2022-02-05 20:18:47 · 1119 阅读 · 0 评论 -
[ECCV2020]Personalized Face Modeling for Improved Face Reconstruction and Motion Retargeting
本文主要讲的是如何从视频序列中重建3D人脸。现如今的模型大都套用同一套模板来拟合人脸,但问题在于每个人脸的动态细节都是不同的。即,不同的人微笑脸上的皱纹,嘴巴张开的幅度,相应的面部反射都是不同的,而原本的3DMM中是假设表情是独立于面部形状的。而且即使是同一个人,在有动作和没动作的时候由于皮肤的拉伸也会导致细节不同。因此作者就考虑在拟合原始模板的情况下,进一步优化面部的动态细节,从而为每个人都制定一套独特的模板,从而更精细的拟合人脸。具体的来说就是学习在不同表情下的动态形状特征和纹理特征。网络结原创 2022-02-05 17:46:59 · 733 阅读 · 0 评论 -
[ECCV2020]Synthesizing Coupled 3D Face Modalities by Trunk-Branch Generative Adversarial Networks
本文的目的是生成高清晰度的3D人脸模型。作者使用了一个多分支的GAN来对3DMM的参数建模,这样既保证了参数之间的独立性又能学习到参数见得关联。同时GAN也保证模型可以输出非常逼真的样本。而且,多分支的结构也可以很轻易地扩展,即加入更多的模态。另外,作者还提出了一个方式用于编辑人脸表情。首先,为了将各个信息模态表示成图的形式,作者将纹理,法线和形状都映射到了UV map上,另外,作者还使用AC-GAN提取了数据库中所有人脸的表情向量,作为表情标签。generator的输入就是随机向量和表情标原创 2022-02-05 22:23:56 · 1136 阅读 · 0 评论 -
[ECCV2020]Look Ma, no landmarks - Unsupervised,model-based dense face alignment
这篇文章讲的是如何在无监督的情况下将3DMM拟合到2D图像上。文章有些难以理解,因为用了大量的图形学知识,不过大体上讲一讲还是没问题的。首先,为了无监督的学习3D人脸重建,那么重要的就是如何表示3D人脸和如何判断3D人脸的重建效果。这里作者提出可以直接将shape(位置)和albedo(颜色)这两个参数都用UV map的形式表示,就像下图这样:a和b是形状和颜色,c和d是形状和颜色转换成UV map后的样子。之后再将UV map中对应的位置反映射回原始图像,从而得到和原始图像结构一样原创 2022-02-05 15:50:25 · 640 阅读 · 0 评论 -
[ECCV2020](3DDFA-V2)Towards Fast, Accurate and Stable 3D Dense Face Alignment
亮点:主要是提出了一系列的优化方案来加速2D图片到3D模型的转换。提出了一个数据增强手段,来帮助模型在视频序列中也很稳定的生成3Dmesh。gimbal lock:如果使用欧拉角度(x,y,z轴的偏转角)的话会造成角度混淆的问题。例如按照x转90度,再按照y转90度得到的最终状态和先按z转90度再按x转90度的最总状态是一致的,这就会导致回归模型难以收敛。一个优秀的替代方案是使用similarity transformation matrix(3\*4),包含了旋转,平移,缩放的问题。NME(Norma原创 2022-01-24 09:45:56 · 1393 阅读 · 0 评论 -
[CVPR2020-best](unsup3d)Unsupervised Learning of Probably Symmetric Deformable 3D Objects from Image
亮点:目的是为了在不使用模板且没有ground truth的情况下从单张图片重构3D模型。Photogeometric autoencoding:模型整体结构就是一个auto encoder,中间的encoded vector就是深度图,反射率(纹理)图,光照方向和视点。文中提到光照+反射率有可能被误解为图像的固有纹理,但是反射率图一般来说都是左右对称的,所以可以利用对称性用来解决这个问题。另外,文中还提到,脸上的阴影事实上是可以提供一定的3D信息的,所以作者也尝试使用深度图来预测阴影(shape fr原创 2022-01-24 09:44:15 · 760 阅读 · 0 评论 -
[ECCV2020]JNR: Joint-based Neural Rig Representation for Compact 3D Face Modeling
本文主要目的就是提出了一种新的3D人脸表示方式。之前的3DMM模型,比如BFM和FLAME基本是靠一个个顶点来表示人脸的,而这篇文章着重引入了基于关节(joint)的蒙版(skinning weights)表示方式。其实在FLAME中也有用到关节,即脖子,下颌和双眼,但本文将关节进一步增加到了52个,从而将每个顶点都分配到对应的关节上。这样做的好处主要是可以帮助模型大大的减小参数量,作者说是可以减少10~20倍的参数量,但效果却不降低。作者在本文按照他所设定的拓扑顺序标注了94个样本,并基于此设原创 2022-02-05 11:43:34 · 397 阅读 · 0 评论 -
[CVPR2020]FaceScape: a Large-scale High Quality 3D Face Dataset and Detailed Riggable 3D Face
本文主要是两大贡献,一是提供了一个高精度多表情的人脸3D扫描数据集,另一个是提出了一套人脸3D重构算法来拟合面部细节。首先,他提供的这个数据集叫FaceScape,是用了68个相机阵列拍摄的,有938个人,年龄从16-70岁,每个人拍摄了20种表情,并且数据集中还有个人信息的记录(性别,年龄之类的)。文中提出的模型如图所示,分为三个部分。第一个部分就是拟合3DMM模型,作者使用的是双线性的表达方式。一般3DMM参数表达都是“最终人脸=表情参数*表情基底+身份参数*身份基底”这样的线性模型,而原创 2022-02-04 12:05:52 · 855 阅读 · 0 评论 -
[ECCV2020]Inequality-Constrained and Robust 3D Face Model Fitting
本文提出了一种通过不等式约束来让3DMM模型更好的拟合到2D图像的方法。作者提出的方法不需要训练,可以直接通过计算得到结果,并且在野外数据集上效果与深度学习方法相当,在有ground truth的数据集上效果超越了基于深度学习的方法。现如今拟合3DMM主要就是两种方法,一种是基于unconstrained pseudo-second-order (PSO) 的优化方法,即直接推理参数基于PCA降维后的结果。但问题是在参数偏离中心值太大(三个标准差以上)的时候会难以预测。因此有人提出加入一个L2约束项原创 2022-02-04 22:29:19 · 410 阅读 · 0 评论 -
[ECCV2020]Eyeglasses 3D shape reconstruction from a single face image
本文讲的是如何基于人脸图像做3D眼镜(不包含眼镜架)重建。作者自己收集了一些图像,然后手工标注了眼镜的landmark和segmentation mask。整体流程如下所示:1.从输入图像中提取人脸和眼镜的特征,即landmark和segnmentation map2.将3DMM模型配准到原始图像中,获得面部的pose3.结合人脸pose计算出眼镜的pose,即先将眼镜的初始pose设为人脸Pose,然后再加一个相对人脸的位移即可。4.结合眼镜pose将眼镜做frontali原创 2022-02-04 17:52:44 · 248 阅读 · 0 评论 -
[ECCV2020]Beyond 3DMM Space: Towards Fine-grained 3D Face Reconstruction
本文的目标是解决现如今人脸重建数据集不够的问题,作者认为未来随着深度相机的普及,我们将会有无穷多的RGBD图像用于训练,因此他试图寻找一种从RGBD图像中做人脸重建的方式。主要有两大贡献:1.构建了一个新的3D人脸数据集FG3D2.提出了一个细粒度重建网络FGNet首先,为了构建FG3D这个数据集,作者收集了一些RGBD数据集,然后使用ICP的配准方法将3DMM模型拟合到RGBD图上,从而补齐面部的所有网格信息。但是RGBD图的一个特性是很多地方都有空缺,因此作者就直接做了平滑处理,将有原创 2022-02-04 16:13:48 · 793 阅读 · 0 评论 -
[CVPR2020]Towards High-Fidelity 3D Face Reconstruction from In-the-Wild Images Using Graph
这篇文章也是解决从一张2D图到3D人脸精细重建的问题的。文章自称是第一个将图神经网络用于3D人脸重建的。并且说自己的模型不需要精细的人脸纹理做监督,只需要随便的人脸图片就行。结构如图所示,黄色的部分都是用的别人已经训练好的模型,灰色的是不可训练的,蓝色的就是需要训练的部分。模型分为三个部分:1.3DMM参数回归和粗粒度的纹理提取,这就是regressor这一部分一直到R图的流程,和经典的训练流程完全一致,就是预测3DMM的光照,位姿,形状,表情和纹理参数,然后用可微渲染器渲染出最终图像。原创 2022-02-04 14:21:07 · 502 阅读 · 0 评论 -
[CVPR2020-oral]Disentangled and Controllable Face Image Generation via 3D Imitative-Contrastive
本文的目的是借助3DMM的先验来生成不存在的真实人脸。文中用到了VAE来将正态分布转变成3DMM参数的分布,然后使用GAN基于参数进行生成,并将生成结果与渲染结果做相似性学习,与真实图像做对抗学习,最后还使用了对比学习来帮助模型更好的将各个3DMM特征解缠。结构如上图所示,分为五个部分:1.3DMM参数映射。首先,3DMM的参数包括了姿势,表情,形状,光照,纹理这些参数,有两个方法可以随机获得这些参数,第一个就是直接从正态分布中随机采样。这样的问题在于某些参数会不符合我们3DMM参数的原始分原创 2022-01-30 09:52:09 · 1846 阅读 · 0 评论 -
各种贴图介绍
让你彻底搞清楚凹凸、法线、置换的区别(课程涉及影视和次世代PBR流程中,bump、nomal、displacement和矢量(向量)置换等贴图的区别)在3D重建中经常遇到displacement map(置换贴图),总是搞不懂什么意思,所以这里对所有贴图做个概述。b站上的这个视频讲得很好,我就是做下总结。首先为什么要用贴图?其实主要是为了压缩数据,和节省运算资源,因为如果直接使用3D扫描结果的话会导致一个小玩意就有特别多的面,导致CPU,显卡爆炸。而节省计算资源最直接的方式就是减.原创 2022-01-30 12:15:20 · 6244 阅读 · 0 评论 -
[CVPR2019](D3DFR)Accurate 3D Face Reconstruction with Weakly-Supervised Learning From Single Image
亮点:主要是提出了通过同一人多张图来生成更精细的人脸3D模型的方案,主要框架是基于3DMM的。Lambertian surface-朗伯面:即入射光会向所有方向均匀反射,也即漫反射的期望状态spherical harmonic lighting-球谐光照:就是用来模拟光照的一个方案。类似于傅里叶变换,将一个复杂的函数分解为多个正交的基底函数,通过计算他们的系数来获得最终的结果。主要目的是为了快速模拟复杂的实时光照。monochromatic lights-单色光:即单一频率的光,无法发生色散。对应的是复原创 2022-01-24 09:46:58 · 1248 阅读 · 0 评论 -
[CVPR2019](RingNet)Learning to Regress 3D Face Shape and Expression from an Image without 3D
目标在弱监督的情况下训练一个从单张2D图片到3D人脸转换的模型。主要思想同一个人的面部形状是永远不变的,不受光照,表情,头发,化妆,遮挡的影响。每个人的面部形状都是独一无二的(不考虑双胞胎的情况,因为太少,相对来说可以忽略不计)方法输入训练的输入是一个人的多张照片+另一个人的单张照片模型RingNet中的每一个单元都是一个编码器+解码器的组合。解码器就是一个不参与训练的FLAME模型,负责将输入的形状,表情,姿势参数解码成对应的3D人脸编码器由一个预训练的ResNet-50和几个全原创 2022-01-24 10:03:00 · 510 阅读 · 0 评论 -
[ICCV2019]DF2Net: A Dense-Fine-Finer Network for Detailed 3D Face Reconstruction
这篇文章讲的是如何从单张图片中获得更为精细的3D建模。作者采用的是从粗糙到细腻的不断优化结构。包含了一个生成器(D-Net)和两个优化器(F-Net和Fr-Net)。为了训练模型,作者收集了三套数据:1.3D合成数据:就是通过3DMM调节参数后做渲染得到的2D和3D标签的配对。用于训练D-Net2.2D重建数据:就是自己收集一些2D图片,然后用别人的模型生成3D标签。用于训练D-Net和F-Net3.真实数据:是直接用的CACD里的真实数据,用于Fr-Net的训练上面的结构图已经很好原创 2022-02-10 14:20:01 · 328 阅读 · 0 评论 -
[ICCV2019]Photo-Realistic Facial Details Synthesis From Single Image
这篇文章要处理的问题是对输入的2D图片进行高精度3D建模。文章的亮点在于引入了表情的语义信息,也即FACS。特征表示与学习首先,作者使用的是BFM模型,也即使用shape, expression,albedo构建3DMM模型的方式。shape和expression都是先通过基于landmark的损失来估计。然后作者考虑到landmark无法区分一些相似的表情,因此引入FACS为模型提供表情语义信息。为了做到这一点,作者首先在affectnet上训练了一个表情识别器,输入一张图片,可以输出原创 2022-01-28 19:47:28 · 1232 阅读 · 0 评论 -
[ICCV2019]Deep Single-Image Portrait Relighting
本文解决的问题是在给定一张2D图的情况下如何改变照片中的光照的方向。首先,作者使用了基于物理的重光照方法,基于CelebA-HQ数据集构建出了一套有多方向光源的数据集Deep Portrait Relighting(DPR)。然后用DPR来训练了一套自己的模型。构建DPR数据集分为以下步骤:1.作者检测了CelebA-HQ中每个人脸的landmark,删掉了没有landmark的图。2.使用3DDFA提取了face normal(人脸法线)。3.如上图所示,使用As-Rigid.原创 2022-01-28 16:48:59 · 1517 阅读 · 0 评论 -
[CVPR2019]Towards High-fidelity Nonlinear 3D Face Morphable Model
本文主要的目的是从2D图像建立更加真实的3D人脸模型。作者分析之前的模型之所以无法建立非常真实的3D人脸模型的一大原因是对模型加了太多的约束,因此作者考虑使用代理参数来避免这一点。另外,作者还对模型做了全局和局部的区分对待,这进一步加强了模型对细节重建的精度。这是本文中对于代理参数部分的建模。首先,那个绿色的epsilon就是一个非线性回归器,用来预测输入图片中的投影矩阵M,光照参数L,形状参数fs和反射率参数fa。其中形状参数和反射率参数会经过各自的编码器编码出对应的代理形状参数,真实形状原创 2022-01-28 11:33:34 · 622 阅读 · 0 评论 -
[CVPR2019]MVF-Net: Multi-View 3D Face Morphable Model Regression
这篇文章解决的问题是从多视角的2D图片中恢复基于3DMM的3D人脸模型的方法,这多个视角的2D图片需要是同一个场景下同一时间拍摄的不同视角的图片,也就是说表情,形状,姿态,光照都不能改变(不过后面作者说光照其实是可以变的)。模型结构如图所示,训练流程如下(其实这里描述的是自监督的训练流程,但是在这之前模型还需要通过预训练来初始化,预训练的方式我会在后面提到):1.通过一个共享的CNN网络提取每张图的特征2. 拼接所有特征,通过一个回归器来回归出3DMM的identity和expression参数原创 2022-01-28 10:44:22 · 645 阅读 · 0 评论 -
[CVPR2019]GANFIT: Generative Adversarial Network Fitting for High Fidelity 3D Face Reconstruction
这篇文章处理的问题就是从一张2D图片恢复人脸3D形状的问题,使用了经典的3DMM框架,最大的亮点就是在生成纹理图的时候用了GAN。模型输入的三个参数其实可以分为两个部分,ps和pe就是原始3DMM中用的形状和表情参数。而pt是输入texture gan的。texture gan本质上就是一个progressive gan,输入一组向量,输出一个真实的UV纹理图,在本文中这个progressive gan是单独的使用了一万张UV纹理图训练的,然后在别的部分训练的时候可以直接放到模型中,然后随便输入原创 2022-01-27 21:45:29 · 746 阅读 · 0 评论 -
[CVPR2019]Disentangled Representation Learning for 3D Face Shape
这篇文章处理的主要问题就是将3D人脸分解成形状和表情特征。现有的处理方法大都是基于欧几里得表示的线性方法,但是事实上面部变化的特征并不是线性的,因此本文提出了一种基于非线性的表示表情和面部形状的方法。这个方法是基于图卷积网络的。整体流程如图所示,分为两个部分:decomposition network和fusion networkdecomposition network就是为了把表情和形状特征分离开来。这里用了一个VAE的结构,形状分支出来的就是只留有形状的表示,而没有表情的。表情分支出来的就原创 2022-01-26 13:18:41 · 436 阅读 · 0 评论 -
[CVPR2019-oral]FML: Face Model Learning from Videos
这篇论文解决的问题是如何直接从视频中学习3D人脸的表示。本文自述最大的创新点就是提出了一个multi-frame consistency loss,主要就是基于同一个视频中,人脸的基本属性(反光率和形状)不会变化而设定的一个loss。另外,文中没有使用任何已有的先验模型(如3DMM),可以完全从零开始训练出一个可用的模型,作者使用了deformation graphs(?)来完成这一点。然后,文中对于mesh应该是使用了基于图的表示。作者使用了两套参数来表示一个3D人脸,首先是在帧间统一的,称之为s原创 2022-01-27 21:12:06 · 527 阅读 · 0 评论 -
[TOG2018]High-Fidelity Facial Reflectance and Geometry Inference From an Unconstrained Image
这篇文章的目的是从单张2D图片恢复出精细的3D建模。流程图如下所示:流程分为四个步骤:1.使用两个独立的网络分别预测面部的形状(基于3DMM)和纹理2.使用深度补全网络将生成的纹理图中确实的部分补齐3.使用一个优化网络进一步优化纹理图4.使用超分辨率网络来提高纹理图的分辨率,从而获得更精细的面部细节最后就可以组合纹理和形状得到最后的面部重建了。需要说明的是,这个流程中的每个步骤都是独立训练的,并且都分别有自己的ground truth细节:形状的预测不必多说.原创 2022-01-26 13:18:24 · 322 阅读 · 0 评论 -
[CVPR2018]Unsupervised Training for 3D Morphable Model Regression
文章解决的是从2D图像到3D人脸模型的无监督训练问题文章的亮点在于引入了人脸识别的loss用于辅助模型收敛,另外还使用了回溯损失用来帮助模型无监督的完成2D到3D的转换。结构如上图所示,由一个身份编码器,3DMM回归器和可微分渲染器组成。身份编码器就负责输出一个身份的编码,然后喂给3DMM回归器用来输出预测的参数。身份编码器用的是faceNet,文中提出使用别的应该效果也不错。3DMM回归器就是两层全连接层加一层回归层。可微分渲染器是已经开源的。模型的整体流程如下:1.先随机生成一些3DM原创 2022-01-26 13:18:06 · 520 阅读 · 0 评论 -
[CVPR2018]Nonlinear 3D Face Morphable Model
本文也是为了解决从2D图像到3D人脸重建的任务由于有限的数据,线性3DMM拟合往往无法达到非常好的效果。而且人脸的表示其实根本不是线性的,因此本文提出了一种非线性的拟合3DMM模型的方式。结构如上图所示:给定一张图片,encoder负责学习出三个表示向量:投射向量(相机内参),形状向量和纹理向量2.用一个MLP组成的形状解码器将形状向量转化成稠密的三维点3.用一个CNN组成的纹理解码器将纹理向量转化成2D解缠的面部纹理图4.由可微分的渲染层将得到的信息渲染成2D图并与原始图计算重构损失5.原创 2022-01-26 13:17:56 · 686 阅读 · 0 评论 -
[ECCV2018]Generating 3D faces using Convolutional Mesh Autoencoders
这篇文章的目的是为了进一步优化3DMM的参数表示。现如今的3DMM都是基于欧几里德数据表示的,也即我们常见的向量,矩阵。因为基于欧几里得数据的表示可以很简单的做卷积之类的操作。但是,事实上面部的mesh并不是数字表示的,而是网格,也即由一个个相连的点和线组成的,因此欧几里得数据会丢失一部分信息。而这篇文章就是提出如何直接在非欧几里得数据上做卷积。其实在我看来就是用了图卷积神经网络。不考虑卷积操作的话,整体结构非常简单,就是一个autoencoder,目的就是获得中间层的那个维表示。然后作者为了控制隐原创 2022-01-25 11:09:33 · 626 阅读 · 0 评论 -
[ICCVw2017]MoFA: Model-based Deep Convolutional Face Autoencoder for Unsupervised Monocular
本文是处理2D人脸到3D人脸的无监督训练的问题。主要亮点是提出了一个可微分的渲染器。具体结构如图所示:输入就是一张简单的2D图片,2D landmark是可选项,不一定要输入,输入的话可以加速模型的收敛encoder的目的就是将图片编码为语义特征,即位姿,形状,表情,面部反射(纹理)和光照。然后通过可微分的解码器将这些语义特征渲染(解码)成对应的3D模型,然后通过重构损失来无监督的训练整个模型。中间可以引入2Dlandmark来加速模型的收敛。...原创 2022-01-26 13:17:44 · 599 阅读 · 0 评论