摘要

In this paper, we present a learning-based approach for recovering the 3D geometry of human head from a single portrait image. Our method is learned in an unsupervised manner without any ground-truth 3D data. We represent the head geometry with a parametric 3D face model together with a depth map for other head regions including hair and ear. A two-step geometry learning scheme is proposed to learn 3D head reconstruction from in-the-wild face images, where we first learn face shape on single images using self- reconstruction and then learn hair and ear geometry using pairs of images in a stereo-matching fashion. The second step is based on the output of the first to not only improve the accuracy but also ensure the consistency of overall head geometry. We evaluate the accuracy of our method both in 3D and with pose manipulation tasks on 2D images. We alter pose based on the recovered geometry and apply a re- finement network trained with adversarial learning to ame- liorate the reprojected images and translate them to the real image domain. Extensive evaluations and comparison with previous methods show that our new method can produce high-fidelity 3D head geometry and head pose manipula- tion results.

本文方法使用无监督学习,没有任何地面真实的3D数据。我们用一个参数化的3D人脸模型和深度图来表示头部的几何形状,以及头部其他区域包括头发和耳朵。我们通过两步法的几何学习方案完成重建。
第一步:使用自重建在单一图像上学习face shape,然后以立体匹配的方式使用一对对图像,从而来学习头发和耳朵
第二步:其是在第一步输出的基础上,不仅提高了精度,而且保证了整个头部几何形状的一致性。我们评估了我们的方法在三维和二维图像上的姿态操作任务的准确性。根据恢复的几何形状从而来改变姿态,并应用一个经过对抗学习训练的细化网络来改善重投影图像并将其平移到真实图像域。

Preprocessing

对于一幅人像图像,我们先进行粗对齐,从而对检测到的人脸区域进行集中化和缩放(在三维人脸重建步骤后,图像将进行重新对齐,以精确地集中头部的三维中心)。然后我们使用最先进的[34]人脸分割方法分割出头部区域(记为S),其中包括人脸、头发和耳朵区域。

Single-Image 3D Head Reconstruction

在这项工作中,我们使用透视相机模型与经验选择的焦距。头部姿态由旋转矩阵R和平移矩阵t决定

重建3DMM的脸,并且为其他头部区域创建深度图。

人脸重建与姿态估计

利用3DMM,face shape F 和 texture T可以用仿射模型表示:

F = F(α\alphaα,β\betaβ) = Fˉ\bar FFˉ+ BidαB_{id} \alphaBid​α + BexpβB_{exp}\betaBexp​β
T = T(γ\gammaγ) = Tˉ\bar TTˉ + BtγB_{t}\gammaBt​γ
采用BFM模型,对BexpB_{exp}Bexp​采用FaceWarehouse的数据集
α∈R80α ∈ R^{80}α∈R80, β∈R64β ∈ R^{64}β∈R64 and δ∈R80δ ∈ R^{80}δ∈R80.

由于真实的3D人脸数据是很少的,所以我们使用无监督学习。我们的方法是借鉴[17]的混合级监督训练方法。
具体来说,所要预测的未知数可以用向量(α, β, δ, p, γ)∈R239表示,其中γ∈R9为场景照明的球谐系数向量。p∈R7是参数化头部姿态的向量

  • 我们可以通过下面式子最小化光照误差:

    F表示要渲染的区域。I′I'I′是重建图像,I是训练图像
    通过以下方法最小化渲染和真实面孔之间的感知差异:

    f(·)表示用于身份特征提取的人脸识别网络,本文使用[57]中的模型。
    其他常用的损失,如二维面部地标损失和系数正则化损失也被应用,更多的细节在[17]。

Hair&Ear Depth Estimation 头发和耳朵的深度估计

对头部的其他区域估计深度图

H包括头发和耳朵,以及一小部分被分割的面部区域,这部分区域没有被投影的3DMM面部覆盖。
在一个视频中的两帧,一个受试者的头部姿势不同(R1, t1), (R2, t2)。
我们的脸部重建网络使用I1,I2I_1,I_2I1​,I2​(一个视频中的两帧)作为训练图像,从而来恢复一个受试者不同的头部姿态(R1, t1), (R2, t2)
我们的目标是训练一个网络,在siamese network scheme[13]中预测I1,I2I_1,I_2I1​,I2​的深度图d1和d2。给定深度图估计d1,可通过反投影构建三维网格H1。
在训练前,我们首先对H1和H2的规则像素网格进行朴素三角剖分,构建两个2D网格。
我们可以通过(R2R1−1,−R2R1−1t1+t2)(R_2R_1^{−1},−R_2R_1^{−1}t_1+t_2)(R2​R1−1​,−R2​R1−1​t1​+t2​)将H1转换为I2I_2I2​的相机系统,并将其投影到图像平面上,得到合成图像I2 '。从I2I_2I2​和d2d_2d2​生成I1′I_1'I1′​的过程也是类似的。
整个过程是可微的,我们用它来训练我们的深度预测网络,有以下损失:

先理清一下:
H1,H2:两帧图片中的区域:包括头发和耳朵,以及一小部分被分割的面部区域
d1, d2:I1,I2I_1,I_2I1​,I2​的深度图
I1′,I2′I_1',I_2'I1′​,I2′​:从I2I_2I2​和d2d_2d2​生成I1′I_1'I1′​,从I1I_1I1​和d1d_1d1​生成I2′I_2'I2′​

与stereo matching(立体匹配)一样,先通过最小化亮度误差来强制色彩恒常性约束


H2′ = H2′ (H1, d1)
H1′ = H1′ (H2, d2)

H2 '为头部姿态计算得到的H1变形区域,d1为变换过程中得到的变形区域
H1 '为头部姿态计算得到的H2变形区域,d2为变换过程中得到的变形区域

应用梯度差损失,它对亮度变化具有鲁棒性,因此在立体声和光流估计中被广泛采用[6,5,56]:


为了施加一个空间平滑先验,我们增加了一个二阶平滑损失:

∆为拉普拉斯算子。
因为使用了分割区域,用了蒙版,所以重建是基于蒙版的形状吗???然后填上纹理???

face depth as condition and output

我们不是直接从输入图像I估计头发和耳朵的深度,而是将重建的面部形状F投影到图像平面上,得到一个面部深度映射dfd^fdf。
dfd^fdf为头发和耳朵深度估计提供了有益的信息(如头部姿势、相机距离)。此外,它允许轮廓周围已知的人脸深度很容易传播到相邻的未知深度区域
我们训练网络也以dfd^fdf为目标来预测面部区域的深度:

ShS^hSh代表分割的头发部分。
因为dfd^fdf作为输入,所以通过lfacel_facelf​ace学习人脸深度不会给网络带来太多额外的负担。并且我们可以很容易地加强重建的3D面部和其他区域估计的3D几何形状之间的一致性。比如我们计算整个头部区域S1, S2的平滑损失:

Layer-order loss

头发通常会遮住面部的一部分,导致两层。为了确保头发和被遮挡的面部区域之间的正确的相对位置(即,前者应该在后者的前面),我们引入了层序损失:

F表示要渲染的区域。这个式子惩罚了不正确的层序。

网络结构

我们使用一个简单的编码器-解码器结构,使用ResNet-18作为骨干。我们抛弃了它的全局平均池和最后的fc层,并添加了几个转置卷积层来将特征映射上采样到全分辨率。在64 × 64、32 × 32和16 × 16分辨率添加跳过连接。输入图像大小为256 × 256。网络结构的更多细节可以在suppl. material.中找到。

Single-Image Head Pose Manipulation

论文阅读——Deep 3D Portrait from a Single Image(CVPR2020)相关推荐

  1. 【论文阅读】3D Topology-Preserving Segmentation with Compound Multi-Slice Representation

    [论文阅读]3D Topology-Preserving Segmentation with Compound Multi-Slice Representation 2022年3月6日 (本文仅作为本 ...

  2. 年龄论文阅读——Deep Label Distribution Learning With Label Ambiguity

    论文阅读--Deep Label Distribution Learning With Label Ambiguity 版权声明:本文为博主原创文章,未经博主允许不得转载.https://blog.c ...

  3. 【论文阅读】3D点云 -- VoteNet:Deep Hough Voting for 3D Object Detection in Point Clouds

    ​ 前言 该篇论文是对3D室内点云 进行目标检测的方法的研究.我们对该篇论文需要掌握的是 了解霍夫投票,知道votenet中如何应用了霍夫投票的思想,投票带来的改善 网络结构中的模块的设计,以及分别获 ...

  4. 论文阅读--Deep Stereo using Adaptive Thin Volume Representation with Uncertainty Awareness

    UCSNet(CVPR2020) 论文阅读 UCSNet(CVPR2020) 1. MVSNet 2. UCSNet细节 a. Cascade module b. Plane sweep volume ...

  5. 论文阅读_人脸检测:S3FD: Single Shot Scale-invariant Face Detector

    我的博客已全部迁往个人博客站点:oukohou.wang,敬请前往-- 写在前面:记录一下论文阅读的收获,不然怕久远之后,就不记得了- 1. Sum up S3FD是2017年发表在arXiv上的一篇 ...

  6. 【论文阅读】3D点云 -- PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation

    前言 本博客详解遵从论文讲述的顺序.但我们要明确该论文的要点,以更好的阅读论文:针对点云的3个特性,pointnet设计的应对方法,以及设计理念. 点云的无序性:网络使用了对称函数 (maxpooli ...

  7. 论文阅读:3D multi-scale, multi-task, and multi-label deep learning for prediction of lymph node metasta

    3D多尺度.多任务.多标签深度学习预测T1肺腺癌CT图像淋巴结转移 Key word: 淋巴结转移预测肺结节征候三维卷积神经网络 Abstract: 术前淋巴结(LN)转移的诊断对于T1肺腺癌患者评估 ...

  8. 毫米波点云生成论文 阅读笔记 | 3D Point Cloud Generation with Millimeter-Wave Radar

    毫米波点云生成论文 | 3D Point Cloud Generation with Millimeter-Wave Radar Kun Qian, Zhaoyuan He, Xinyu Zhang ...

  9. [HSI论文阅读] | Deep Feature Extraction and Classification of Hyperspectral Images Based on CNNs

    写在前面 论文: Y. Chen, H. Jiang, C. Li, X. Jia and P. Ghamisi, "Deep Feature Extraction and Classifi ...

最新文章

  1. 云计算出海!阿里云将成新加坡智慧国家战略“军师”
  2. 面试系列-SpringMVC那些事(一)
  3. scrapy-redis 分布式学习记录
  4. IOS开发-我的第一个IOS程序
  5. 获取两个字符串中最大相同子串
  6. java编程对电脑配置,编程对电脑配置要求高吗?
  7. 如何合并excel文件
  8. java ape切割_无损分解和保持依赖的判断
  9. 微信小程序中输出大于号和小于号
  10. c语言计算最大值与最小值的差,C语言 · 最大值与最小值计算
  11. 我对管理和领导的理解
  12. 学生信息管理系统作业
  13. MySQL数据库实操教程(25)——权限管理
  14. sybil attack (女巫攻击)
  15. 基于FMC 接口的Xilinx FPGA XC7K325T PCIeX8 接口卡
  16. tensorflow2.10.0+CUDA11.2+cuDNN8.1 for cuda11.2
  17. PHPWord 导出生成word
  18. [转] Scalers:刻意练习的本质就是持续行动+刻意学习
  19. 丰田发布“大眼萌”机器人,只有手掌大小!
  20. 接口自动化测试框架搭建

热门文章

  1. 炒汇常识--股市与汇市的区别
  2. 启动tim时为我自动登录不能勾选(为灰色)
  3. 堆叠hourglass网络
  4. 威力导演注册机|威力导演(Cyberlink PowerDirector)15破解工具下载
  5. 伺服电机(servo motor)
  6. datawhale 8月学习——NLP之Transformers:编写BERT模型
  7. OD常规使用方法总结
  8. Java三类注释使用方法及注意事项
  9. 二进制拆弹(炸弹炸掉了我的头发 T.T)
  10. Mybatis 解决数据库字段名和实体类属性名不一致问题