1、传统线性3DMM:

模型和纹理分别是平均值+基础值*系数——S = S¯ + Aα,T (l) = T¯(l) + Bβ,此为3DMM的基础。

并且提出了将 3D 人脸投影到图像平面上使用弱透视投影模型(3D转为2D透视投影模型):

  1. g(α, m):3D顶点位置在2D中的函数输出
  2. f:比例因子
  3. :正交投影矩阵
  4. R:欧拉角表示旋转角度
  5. t2d:平移向量
  6. M :有维度2×4,有六个自由度,通过一个 6 维向量 m来参数化。 然后使用 2D 图像渲染纹理和照明模型。

2、非线性3DMM

文章核心整体框架:

用两个networks decode Ds、Dt去解码形状,纹理,他们进入3D时分别是人脸形状和人脸纹理。为了使框架端到端可训练,这些参数通过encoder网络估计,它本质上是 3DMM 的拟合算法。三个深度网络联手以重建输入人脸图像为最终目标,在基于几何的渲染层帮助下。

总体流程:给一张2D人脸图片——我们需要学习一个encodeE:I→m,fS,fT 来估计投影参数 m、

形状参数和纹理参数——延伸到Ds:decode,fs到s,将形状参数解码到3DshapeS;Dt,decode,ft到t,将纹理参数解码到真实纹理T。目的是使带有m、S和T的渲染图像能够近似于原始图像,目标函数为:

形状纹理表示

形状解码器 DS 是一个 MLP,其输入是来自 E 的形状参数 fS。

指出了适合非线性3DMM的纹理模式,文章归类为

三种。

  1. ,Texture value per vertex。有纹理强度对应于面网格中每个顶点的值。自从3D 顶点未在 2D 网格上定义,此表示将被参数化为一个向量,这不仅失去了顶点的空间关系,但也阻止它利用在 2D 图像上部署 CNN 的便利性。相比之下,鉴于图像合成的快速发展,它最好选择 2D 图像,例如正面人脸。
  2. ,Texture as a 2D frontal face,作为纹理表示。正面包含很少的两侧信息,会丢失很多侧视图的纹理信息。
  3.  ,2D unwarped texture。具体来说,每个 3D 顶点 vS 都使用圆柱解扭曲投影到 UV 空间上。假设面部网格具有top 指向 y 轴,vS = (x, y, z) 的投影到 UV 空间 vT = (u, v) 计算如下:,其中 α1, α2, β1, β2 是不变的尺度和平移标量去展开的人脸放入图像边界。此外,纹理解码器 DT 是一个 CNN 构建的小数步长的卷积。

 网络人脸渲染

为了从S,T,m中重建出人脸,文章中定义了一个渲染层R(m, S, T)。并且渲染分成三步走:

  1. S中每个顶点的纹理值由它在 2D 纹理 T 中的预定义位置,通常,它涉及通过双线性采样内核进行子像素采样:其中 vT = (u, v) 是 vS 通过的 UV 空间投影方程式 (5)。
  2. 其次,3D 形状/网格 S 通过 Eqn 投影到图像平面。如方程式(3)。
  3. 最后,3D网格是使用 Z 缓冲区渲染器渲染,其中每个像素都是与网格的单个三角形相关联

其中, Φ(g, m, n) = {v (1) S , v (2) S , v (3) S }是返回包围像素的三角形的三个顶点的操作。

(m, n) 投影 g 后。为了处理遮挡,当一个像素位于多个三角形中时,选择离图像平面最近的三角形。每个像素的强度是通过插入强度来确定的。网格顶点通过重心坐标 {λ (i)} 3 i=1。值得注意的是,文章中2D 纹理表示可以通过卷积滤波器生成,这大大减少了 DT 中的参数数量。

网络构造(重点)

文章设计了 E, DT 网络架构,如 Tab. 所示。 1.此外,DS 包括两个全连接层1, 000-dim 中间表示,带有 eLU 激活。整个网络经过端到端的训练以重构输入图像,具有损失函数:

Lrec = PN i=1 ||ˆIi − Ii ||1,强制渲染图像ˆIi 类似于输入图像li。对抗性损失 Ladv 有利于真实渲染,而地标损失 LL 强制执行几何约束

对抗性损失,主要基于GAN,对抗性损失为广泛用于合成逼真的图像 ,其中生成器和鉴别器交替训练。 在文章的例子中,生成渲染图像的网络 ˆIi是发生器(generator)。 鉴别器包括一个专用网络 DA,旨在区分真实人脸图像 Ii 和渲染图像 ˆIi. 在生成器的训练过程中,纹理模型 DT 将被更新
目标是 ˆIi,通过DA被归类为真人脸。由于面部渲染已经创建了正确的人脸图像的全局结构,基于全局图像的对抗性损失可能无法有效地在局部面部区域上产生高质量的纹理。 因此,在鉴别器中使用了 patchGAN 。 这里 DA 是一个CNN 由四个 3 × 3 的卷积层组成,步幅为 2,和过滤器的数量分别为 32、64、128 和 1。 最后,能够使用对抗性损失的关键因素之一是在 2D 图像空间中渲染,而不是在 3D 顶点空间或展开的纹理空间。 这个显示了渲染层的必要性和重要性。

Nonlinear 3D Face Morphable Model 论文笔记相关推荐

  1. [CVPR2019]Towards High-fidelity Nonlinear 3D Face Morphable Model

    标题:Towards High-fidelity Nonlinear 3D Face Morphable Model 链接:https://arxiv.org/pdf/1904.04933 本文主要的 ...

  2. [CVPR2018]Nonlinear 3D Face Morphable Model

    标题:Nonlinear 3D Face Morphable Model 链接:https://openaccess.thecvf.com/content_cvpr_2018/papers/Tran_ ...

  3. DHP19: Dynamic Vision Sensor 3D Human Pose Dataset论文笔记

    一.概述 本片论文主要提出了一个事件相机的3D人体姿态的数据集,可用于做人体姿态估计 数据集地址:https://sites.google.com/view/dhp19/user-guide 该数据集 ...

  4. 3D卷积入门 | 多论文笔记 | R2D C3D P3D MCx R(2+1)D

    文章转自微信公众号:[机器学习炼丹术].有问题或者需要加入粉丝交流群可以私信作者~ 文章目录 0 前言 1 R2D 2 C3D 2.1 R3D 3 P3D 4 MCx 5 R(2+1)D [前前沿]: ...

  5. CVPR2020 3D点云相关论文思想和方法总结

    CVPR2020 3D点云相关论文思想和方法总结(持续更新) A. 3D目标检测和跟踪 1. A Hierarchical Graph Network for 3D Object Detection ...

  6. [CVPR2022]ImFace: A Nonlinear 3D Morphable Face Model with Implicit Neural Representations

    标题:ImFace: A Nonlinear 3D Morphable Face Model with Implicit Neural Representations 链接:https://arxiv ...

  7. A Morphable Model For The Synthesis Of 3D Faces 论文解析 3DMM

    A Morphable Model For The Synthesis Of 3D Faces 1.摘要 本文介绍了一种新的三维纹理人脸建模技术.3D人脸可以从一张或多张照片中自动生成. 通过3D人脸 ...

  8. A morphable model for the synthesis of 3D faces 学习笔记(未完)

    目录标题 欢迎使用Markdown编辑器 〇.数据库 一. 建立人脸表示模型 二.人脸模型的处理 三.面部特征 四.形状模型与输入模型的对应 4.1 形状模型与照片的对应 4.2 形状模型与三维扫描图 ...

  9. 论文笔记--Quality Prediction of Asymmetrically Distorted Stereoscopic 3D Images

    论文笔记--Quality Prediction of Asymmetrically Distorted Stereoscopic 3D Images 摘要 I.介绍 II.回顾先前的3D-IQA研究 ...

最新文章

  1. 汉字转16进制java_java实现汉字转unicode与汉字转16进制实例
  2. 看看神经网络如何高度还原你的年轻容貌!
  3. Android之DiskLruCache源码解析
  4. python资源管理错误漏洞_国家信息安全漏洞库
  5. 无法为您重置MySQL密码_无法重置MySQL的root密码
  6. 建立代理,而不是框架
  7. 排序算法lowb三人组-插入排序
  8. Java笔记(二十一) 动态代理
  9. 记录——《C Primer Plus (第五版)》第十章编程练习第一题
  10. C++命名空间和缺省参数的概念
  11. nod32 update and id
  12. Mac Sublime Text 3插件安装
  13. pycharm复制一行
  14. mysql-python:_mysql.c(42) : fatal error C1083: Cannot open include file: 'config-win.h' 非权威指南
  15. UVM--Sequencer和Sequence
  16. 【Eclipse下载与安装教程】
  17. Nginx 实现文件夹上传(保留目录结构)
  18. 速卖帮AI点餐流程 AI菜品识别结账
  19. 利用JavaFX实现风险中性下股票价格的二叉树模型
  20. 南华大学计算机学院王玉锋,喜报!南华大学和王玉锋同学双双获奖!

热门文章

  1. is_numeric() 函数
  2. 电子商务网站功能模块汇总
  3. 什么是被动收入?如何打造自己的被动收入?
  4. lgg7深度详细参数_机器学习超详细实践攻略(9):决策树算法使用及小白都能看懂的调参指南...
  5. 求助,lgg7临时root删温控
  6. rbac权限管理初学
  7. [Tools: cntk] Linux下cntk-gpu安装
  8. 【spring cloud】(三)服务降级——Hystrix
  9. 我在阿里巴巴学到的管理知识
  10. RAID和分布式存储的对比