zoukankan      html  css  js  c++  java
  • 3D Face Modeling From Diverse Raw Scan Data

    3D Face Modeling From Diverse Raw Scan Data

    标签(空格分隔): 论文


    问题

    • 这里稠密对应的局部拓扑三角形指的是什么意思 ?

    摘要

    传统的3D人脸模型使用线性子空间从单个数据集的有限扫描中学习人脸的潜在表达。从不同的3D数据集中构造一个大规模的人脸模型的主要困难在于原始扫描之间缺少紧密的对应关系。

    • 传统的3D人脸模型是怎么做的,3DMM
    • 建立一个大规模的人脸模型存在的主要困难, 原始数据之间缺少紧密的对应关系

    为了解决这些问题,本文提出了一个innovative framework,该框架主要是去做了以下两点:学习一个非线性的人脸模型从一系列不同的原始3D扫描数据集中;在这些扫描中建立点到点的稠密链接。具体来讲就是,通过将输入扫描视为无组织的点云,然后尝试使用PointNet框架将点云转化为身份和特征的表示,从解码器网络中恢复它的3D人脸形状。此外,我们提出了一种不需要对应标签的监督学习方法。在下面我们证明了我们提出方法的优秀的对应和表达能力,和他对单图重建3D人脸特征的能力。

    • 从一系列不同的原始3D扫描数据集中学习一个非线性的人脸模型。 把所有的数据丢进编码器去一通学习,这个编码器类似于PointNet,通过学习到的网络参数 将身份特征表示出来,然后从解码器中恢复他们的3D面部形状。
    • weakly supervised 弱监督学习方法

    Introduction

    鲁棒的和可解释的3D人脸建模是很有价值的计算机视觉问题。例如:3D重建、人脸识别、计算机图形学。目前最先进的3D人脸表征大多采用线性变化的方法。例如3D Morhpable Model或者高阶张量推广,例如Blendshapes Model。然而这些线性模型无法捕捉高频细节和极端表达式等非线性变形。最近随着深度学习的出现,人们尝试使用深度学习网络进行非线性数据驱动人脸建模。


    • 线性模型无法捕捉高频细节和极端表达式等非线性变形,但有了深度神经网络可以拟合更加复杂的函数之后,就可以解决上述问题。

    为了建立3D人脸形状,我们需要进行大量的3D扫描。广泛使用的基于3DMM的BFM2009建立在仅仅对200名受试者的中性表情上。缺少expression这个问题可能可以用FaceWarehouse和BD-3FE这两个expression来补偿。在之后的十年里,几乎所有的模型只是使用不到300个训练对象,如此小的训练数据集是远远不够描述足够的面部信息的。直到最近Booth和他的兄弟们建立了第一个大规模的人脸模型数据集,从9633受试者的中性扫描。不幸的是,之发布了用于线性变化方法的数据,而不是原始扫描数据,我们不能充分利用这个大型的数据集来探索不同的3D建模技术。(???这是在让别人开放这个数据集的原始数据???)

    • 还在哭穷, 表示没有足够的数据给训练。
    • 这里的expression是什么意思? 之前的数据库采集的是200个人的中性表情,缺乏人脸的表情。在做重建的时候根据3DMM线性模型的缺点来讲,无法补充很好的表情和纹理信息,只有通过最后的手工贴图的方式补上。 但是有了具有人脸表情的数据库之后,我们可以采用线性拟合的方法,将合适的纹理信息,直接拟合到人脸模型上面。

    现有3D人脸建模方法的前提是稠密的点到点的对应关系。我们提出的基于CNN的方法直接从多个3D人脸数据集的原始扫描中学习人脸模型,并在所有扫描之间建立密集的点到点的对应关系(彩色的效果会更好)。尽管扫描在分辨率和表情上存在着一定的差异,但是我们的模型可以很好的表示细节的程度。

    • 原图彩色效果更佳(?可能是卷积的时候的多通道原因可以获取面部纹理带来的不同颜色导致可以采集到更加多的面部纹理变化?)

    事实上,有很多公开可使用的3D人脸数据集,然而这些数据集通常是被单独使用的,而不是联合去制作一个大规模的人脸模型。主要的障碍在于从原始扫描中预估稠密点对点对应关系的挑战,它允许这些扫描被组织在相同的向量空间中,使其可以作为一个整体进行分析。

    • 最后一句话再找找资料。

    稠密的点对点对应是绝大多数3D人脸建模的基础问题,它可以被定义为:(S)(S')是给定的两个3D人脸,该correspondence需要满足下面三点:

    1. (S)(S')需要有相同的顶点数量。
    2. 对应的点语义相同。
    3. 对应的点处于相同的局部拓扑三角形环境中。
    • 例如(S)描述鼻子的点有108个,那么(S')对应描述鼻子的点也应该是108个。
    • 假设(S_1)描述的是鼻尖,那么对应的(S'_1)描述的应该也是鼻尖
    • 不懂? 这个需要去补一补 点云 mesh slam。

    先验的稠密对应方法缺乏精度,鲁棒性或者自动程度。此外,他们他们之中有很少在多数据库上去的成功的例子。除了数据规模之外,密集对应对于多数据集来说是明显比但数据库更加困难的:扫描的质量经常不可避免的收到人为因素(例如头发和眉毛的遮挡之类)的丢失和异常值的影响;面部形态因为嘴巴的开闭导致发生显著的变化;不同的数据库分辨率也有很大的不一致。

    • 先验的稠密对应方法缺点明显
    • 除数据规模之外的各种困难

    为了解决这个问题,我们提出了一个新颖的编码解码器去直接在多个数据集的原始3D扫描数据中学习人脸模型,并建立他们之间的稠密链接。我们的方法提出了:基于PointNet的编码器,学习三维人脸的非线性身份和表达式潜在表示;一种对应的解码器可以为各种分辨率和expression建立稠密链接;该编码器可以嵌入现有的基于图像的编码器进行3D人脸重建。具体来说,通过将原始扫描视为无组织的点云,我们探索使用PointNet将点云转化为身份和表情表示,从解码器中恢复他们的3D面部形状。

    • 这里貌似用的是语义分割的办法?

    然而,由于缺少ground truth密集对应,有监督学习的方法往往是不能用的。因此我们提出了一中混合了合成和real 3D 扫描的弱监督方法。

  • 相关阅读:
    Leetcode:169. 多数元素
    关系数据库
    数据库系统概述——简单总结
    Leetcode:1305. 两棵二叉搜索树中的所有元素
    Leetcode春季打卡第四天:994. 腐烂的橘子
    临界区和临界资源的关系
    线程2.线程的应用场景
    线程
    linux下的进程控制
    Go中的错误处理
  • 原文地址:https://www.cnblogs.com/A-FM/p/15329943.html
Copyright © 2011-2022 走看看