人脸重建汇报1

定义:3D人脸重建——通过2D图片生成3D模型

我们可以用这样一个表达式来建模3D人脸模型:
M = ( S , T ) 

其中,S表示人脸3D坐标形状向量(shape-vector):
S = ( x 1 , y 1 , z 1 , x 2 , y 2 , z 2 , ⋯  , x n , y n , z n ) T 

T表示对应点的文理信息向量(texture-vector):
T = ( R 1 , G 1 , B 1 , R 2 , G 2 , B 2 , ⋯  , R n , G n , B n ) T 

2D的人脸图片可以看作是3D人脸在2D平面上的一个投影,I II 代表M MM的2D投影,I ( u , v ) I(u,v)I(u,v)代表像素( u , v ) (u,v)(u,v)处的纹理值,所以3D人脸重建就是从2D图片中计算出M MM的估计:M ^ = ( S ^ , T ^ ) 

方法:

通过RGBD或RGB相机,用3D Morphable Model(3DMM)方法来重建。

近年来出现的使用深度学习方法来重建(有的是结合传统3DMM方法,训练其人脸模型参数)。

传统3D人脸重建方法,大多是立足于图像信息,如基于图像亮度、边缘信息、线性透视、颜色、相对高度、视差等等一种或多种信息建模技术进行3D人脸重建。这方面的技术论文,无论国内外都相当多,也较杂乱,一时间个人也不好具体统计,总之其中也是有很多不错的思想和方法的,当然这也不是本文重点内容。
基于模型的3D人脸重建方法,是目前较为流行的3D人脸重建方法;3D模型主要用三角网格或点云来表示,现下流行的模型有通用人脸模型(CANDIDE-3)和三维变形模型(3DMM)及其变种模型,基于它们的3D人脸重建算法既有传统算法也有深度学习算法。
端到端3D人脸重建方法,是近年新起的方法;它们绕开了人脸模型,设计自己的3D人脸表示方法,采用CNN结构进行直接回归,端到端地重建3D人脸。

 

 

 

论文1:

Nonlinear 3D Face Morphable Model(2018)

 

论文链接:https://arxiv.org/abs/1804.03786
项目链接:http://cvlab.cse.msu.edu/project-nonlinear-3dmm.html

主要思想:三维变形模型(3DMM)作为一种经典的三维人脸形状和纹理统计模型,在人脸分析、模型拟合、图像合成等领域有着广泛的应用。传统的3DMM是从一组控制良好的2D人脸图像中学习到的,并通过两组PCA基函数来表示。由于训练数据的类型和数量以及线性基的存在,使得3DMM的表示能力受到限制。针对这些问题,本文提出了一种新的框架,在不采集三维人脸扫描数据的情况下,从大量无约束的人脸图像中学习非线性3DMM模型,具体地说,在给定人脸图像作为输入的情况下,网络编码器估计投影、形状和纹理参数。两个解码器作为非线性3DMM分别从形状和纹理参数映射到三维形状和纹理。利用投影参数、三维形状和纹理,设计了一种新的解析可微绘制层来重建原始输入人脸。整个网络是端到端培训,只有薄弱的监督。我们证明了非线性3DMM比线性3DMM具有更好的表现力,以及它对人脸对齐和三维重建的贡献。

主要贡献:
1、 我们学习了一个非线性3DMM模型,它比传统的线性模型具有更大的表示能力。
2、 我们通过弱监控,利用大量没有三维扫描的二维图像,共同学习模型和模型拟合算法。新的渲染层实现了端到端的训练。
3、 新的3DMM进一步提高了相关任务的性能:人脸对齐和人脸重建

主要结构:

在这里插入图片描述

在这里插入图片描述 

在这里插入图片描述 

 

实验结果:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述 

在这里插入图片描述 

在这里插入图片描述 

 

 

On Learning 3D Face Morphable Model from In-the-wild Images(2019)

论文链接:https://arxiv.org/abs/1808.09560
项目链接:http://cvlab.cse.msu.edu/project-nonlinear-3dmm.html

本篇和Nonlinear 3D Face Morphable Model是同一作者,在原有文章的基础做了相关提升和改进~

主要思想:三维变形模型(3DMM)作为一种经典的三维人脸形状和反照率的统计模型,在人脸分析、模型拟合、图像合成等方面有着广泛的应用。传统的3DMM是从一组具有良好控制的二维人脸图像的三维人脸扫描中学习而来,并由两组PCA基函数表示。由于训练数据的类型和数量以及线性基的存在,使得3DMM的表示能力受到限制。为了解决这些问题,本文提出了一个新的框架,在不采集三维人脸扫描的情况下,从大量的新的原始人脸图像中学习非线性3DMM模型。具体地说,给定一个人脸图像作为输入,网络编码器估计投影、光照、形状和反照率参数。两个解码器作为非线性3DMM分别从形状和反照率参数映射到三维形状和反照率。利用投影参数、光照、三维形状和反照率,设计了一种新的解析可微渲染层来重建原始输入人脸。整个网络是端到端培训,只有薄弱的监督。展示了非线性3DMM相对于线性3DMM的优越表现力,以及它对人脸对齐、三维重建和人脸编辑的贡献。

主要创新:
1、 我们学习了一个非线性的3DMM模型,它完全模拟了形状、反照率和光照,比传统的线性模型具有更大的表示能力。
2、 形状和反照率都表示为二维图像,这有助于保持空间关系,并在图像合成中利用CNN的优势。
3、 我们通过弱监督联合学习模型和模型拟合算法,利用大量未经三维扫描的二维图像,并且新的渲染层实现了端到端的训练。
4、 新的3DMM进一步提高了人脸对齐、人脸重建和人脸编辑相关任务的性能。

主要结构:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
实验结果:

在这里插入图片描述 

在这里插入图片描述 

在这里插入图片描述 

 

 

 

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
3D人脸重建是指将2D人脸图像转换为3D人脸模型的过程,可以应用于虚拟现实、人脸识别、面部表情分析等领域。下面是一个简单的3D人脸重建流程: 1. 采集人脸数据:使用3D扫描仪或者多角度拍摄等方式采集人脸数据。 2. 人脸对齐:将人脸数据进行对齐,使得不同角度的人脸数据能够拼接在一起。 3. 特征点提取:使用人脸关键点检测算法,提取人脸的关键点信息。 4. 三角剖分:将人脸模型进行三角剖分,得到人脸模型的面信息。 5. 纹理映射:将2D人脸图像映射到3D人脸模型上,得到3D人脸模型的纹理信息。 6. 优化重建结果:使用光照估计、纹理平滑等算法对重建结果进行优化。 Python中可以使用一些开源框架来实现3D人脸重建,比如OpenCV、Dlib、Face3D等。其中Face3D是一个用于3D人脸重建的Python库,它提供了人脸对齐、关键点检测、三角剖分、纹理映射等功能。以下是一个使用Face3D进行3D人脸重建的Python代码: ```python from face3d import mesh from face3d.morphable_model import MorphabelModel # 加载3D人脸模型 model = MorphabelModel('model.mat') # 读取人脸图像并进行人脸对齐和关键点检测 img = mesh.load_image('face.jpg') pos = model.get_landmarks(img) # 三角剖分 vertices = model.predict_vertices(pos) faces = model.faces # 纹理映射 texture = mesh.texture_mapping(img, vertices, model.uv_coords, model.triangles) # 可视化3D人脸模型 mesh.render_texture(vertices, faces, texture) ``` 这段代码使用Face3D库加载了一个3D人脸模型,并且使用人脸图像进行了人脸对齐和关键点检测。然后,使用模型预测顶点坐标和面信息,并且使用纹理映射将2D人脸图像映射到3D人脸模型上。最后,使用mesh.render_texture函数可视化3D人脸模型。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值