3D【3】人脸重建:Image Based 3D Face Reconstruction: A Survey阅读笔记

该论文是09年的一篇3D人脸重建综述文章。

目前的大部分3D人脸重建系统受限于3d扫描设备的一些不足:
1、在扫描过程中要求一定的光线条件
2、无法从多个物体同时获取3D数据
3、没有反射的区域无法获得正确数据(如头发)
4、无法实时
5、如果是激光扫描时,会伤到眼镜
6、在扫描时以及后处理需要人的辅助
7、3D扫描设备的大小和价格限制了现实生活中的应用

一个可选的方案是,直接从2D图片重建出3D人脸。该方法简单廉价,有比较大的应用市场。

概念术语

一个三维空间的曲面,可以用三角网格或者点云来表示。
三角网格: M=(V,T) M = ( V , T ) ,其中 V=p=(x,y,z) V = p = ( x , y , z ) 是顶点, T=(pi,pj,pk) T = ( p i , p j , p k ) 是一个三角面。
range image: S=(x,y,f(x,y)) S = ( x , y , f ( x , y ) ) ,也被称为2.5D image,surface profiles,depth images,depth maps。
下图是不同术语的一个可视例子。
3D【3】人脸重建:Image Based 3D Face Reconstruction: A Survey阅读笔记_第1张图片

3D人脸重建的一些主题

1、3D人脸数据集

3D重建算法,需要有从设备扫描得来的一些3D数据。学术界大多使用MPI和USF数据集。MPI数据集包括了200个扫描人脸,每个有7个视角。USF有218个扫描人脸。

3D人脸扫描数据集制作的原则:
a、样本要足够多
b、扫描人脸的顶点要足够多,这样才能准确的描述一张人脸
c、数据集应该包括各种类型的人脸,如性别、表情、年龄、人种等
d、应该公开

2、3D人脸对应

在实现3D人脸重建算法之前,3D扫描人脸的一对一对应非常重要。一般对应可分为,刚性和非刚性。刚性,使用仿射变换矩阵,使得两个3D人脸距离尽可能的近。而非刚性,是调整某一3D人脸,使其尽可能的于另一个3D人脸一样。

ICP算法是一种非常经典的刚性算法。但在3D人脸重建中ICP是不合适的。

Basel Face Model用的是光流法的非刚性对齐。该方法在纹理变化太大的时候效果不是很好,比如有胡子和没有胡子。因此需要比较多的条件约束(如必须没有胡子),同时使用平滑插值避免奇怪的结果。不过该方法能够适用于不同的分辨率。

Hutton使用了Thin Plate Splines方法。该方法要求至少有9个特征点,根据这些特征点用刚性变换初始化算法。然后调整其中某一3D人脸,使其尽可能与另一个3D人脸对齐。对齐后相邻最近的那些点被当做correspondences。

3、特征检测

2D图像的一些特征点检测。主要用来:
a、在model-based 3D重建(如BFM)中用来初始化3d人脸的位置信息
b、定位图片中侧脸和正脸的特征,这样才能根据给定的人脸调整已经生成的3D人脸
c、在video-based 3D重建中初始化点的跟踪
d、当人脸来自不同的视角时,能够有利于配准。

4、一些假设

很多3d人脸重建算法,都有一些重要的假设。
1、投影类型,包括正交投影和弱透视投影。正交投影不会改变投影后的大小,而弱透视投影会改变(会缩放)。这个假设,使得3d人脸位于图片的中心,并且距离镜头很近。
2、反射率。固定反射率,表示该物体的外观不因为视角的不同而产生变化。在3D人脸重建中,这个假设认为,人脸是平滑的,没有油脂、伤疤等纹理不连续。
3、冯氏光照模型,只有一个环境光和一个方向光。在同时拥有室内和室外光时,该假设会失效。
4、对称性状/纹理。该假设认为,只要重建出了一半脸,另一半脸可以镜像生成。
5、人脸方位约束。如,要求图片中的人脸必须为正脸。

5、可变形3D模型

1、立体线稿模型
该模型用一些连续的顶点表示一个3D人脸,CANDIDE是利用该方案的一个例子。该模型可以通过Action Units进行变形。Action Unints包括了刚性变换参数、inter-individual变异参数以及within-person变异参数。该模型的一个主要缺点是顶点数太少,以至于重建出来的3D人脸不是太好看。可以增加顶点数,但是同时计算量也会增加。下图是CANDIDE模型的一个例子。
3D【3】人脸重建:Image Based 3D Face Reconstruction: A Survey阅读笔记_第2张图片
2、统计模型
PCA-based模型是统计模型中应用广泛的一个模型。统计模型是通过训练集和脸部外貌达到重建目的。该方法需要同时为性状和纹理各自训练一个PCA模型,如下图:3D【3】人脸重建:Image Based 3D Face Reconstruction: A Survey阅读笔记_第3张图片
重建时可以使用如下公式:

X=Xmu+i=1mαixi X = X m u + ∑ i = 1 m α i x i

其中X是重建的人脸, Xmu X m u 是平均脸, xi x i 是特征向量, α α 是要学习的参数。m是选取的重要特征向量个数。

3D人脸重建方法

3D人脸重建方法分为:example-based,stereo,video以及silhouette-based。example对应的是单张图片重建,stereo对应的是两张,video和silhouette对应的是多张图片。

1、Example-based

Example-based 依赖于整个训练数据来达到重建的目的,并且为使用一些于3D人脸结构有关的先验信息来引导重建。
简单的来说,example-based方法包含两个主要的步骤:分别是模型建立阶段,和model fitting阶段(从图片重建出3D人脸)。在模型建立阶段,利用训练集可以训练出一个参数化的人脸模型,该模型可以表示训练集中的那些3D人脸。在model fitting阶段主要包括如下步骤:
1、被重建的3D face的shape和texture参数初始化为0
2、根据shape和texture参数生成一个3D人脸
3、将3D人脸投影到2D图像的人脸中去
4、计算2D图像人脸和3D人脸投影得到的2D人脸相似度
5、用优化算法优化shape和texture参数。
6、重复2到5步骤,直到给定2D人脸和3D人脸投影得到的人脸最相似。

上面的方法有不少变种。Atick给出了一个统计方法。首先他们将200张3D扫描人脸参数化成柱面坐标,然后用刚性变换进行配准。然后用PCA计算训练数据集的特征值和特征向量,这样一个新的3D人脸可以用如下公式表示:

r(θ,l)=r0(θ,l)+iαiΨi(θ,l) r ( θ , l ) = r 0 ( θ , l ) + ∑ i α i Ψ i ( θ , l )

其中 r0(θ,l) r 0 ( θ , l ) 是平均脸, Ψi Ψ i αi α i 分别是特征向量和需要学习的参数。为了获得好的重建效果,作者建议平均脸应该按照性别等进行分组。 αi α i 参数的学习是通过共轭梯度优化方法最小化一个损失函数。该损失函数是,输入图片与用3D人脸渲染出来的图片之间的距离。在处理过程,他们通过假设Lambertian surface性质,正交投影,固定反射率来简化光源的位置,方向和强度。

Vetter和Blanz提出了一种与PCA不一样的方法。在给定一些3D人脸模型后,利用光流法进行配准。每个训练样本都用一些顶点和相对应的纹理进行表示。对于一个新的3D人脸通过这些训练样本的一个线性加权重建而来,如下公式:

Snew=i=1MciSi,Tnew=i=1MbiTi S n e w = ∑ i = 1 M c i S i , T n e w = ∑ i = 1 M b i T i

其中 Snew S n e w Tnew T n e w 分别表示新的3D人脸的shape和texture, Si S i Ti T i 表示训练样本的shape和texture, ci c i bi b i 表示要学习的参数。
该方法后来也被PCA代替,成了现在大家用的比较广的Basel Face Model。该方法的重建通过analysis by synthesis的方法优化下面的损失函数:
E=x,y||Iinput(x,y)Imodel(x,y)||2 E = ∑ x , y | | I i n p u t ( x , y ) − I m o d e l ( x , y ) | | 2

其中, Iinput(x,y) I i n p u t ( x , y ) Imodel(x,y) I m o d e l ( x , y ) 分别是输入的人脸图片和3D人脸模型投影生成的图片。

Lee针对光照问题对上的方法进行了改进,他们首先还是按照上面的方法计算出shape,texture和pose参数,但是损失函数不再是比较渲染人脸和输入图像,而是比较给定人脸和在特定光照下的3D投影。

Romdhani提出了一个多特征的重建方法,该方法同时考虑了图像的特征(如边沿特征)和模型上的特征。

Gu and Kanade提出了一种只有200个顶点的重建方法。

以及active appearance models ,Interpreting face images using active appearance models 和Real-time combined 2d+3d active appearance models

Reiter使用了典型相关分析技术,而非PCA,进行3D人脸重建。该方法的优点是,3D深度只需要用矩阵乘法就能够获取,而不需要用优化的方法。缺点是,只能处理正脸和特定光照。

统计3D重建方法的优点是,能够从单张图片重建出合理的3D人脸。缺点是:
1、结构信息不足,原因是从单张图片上能获取的信息太少
2、由于PCA模型不包含高频信息,纹理的重建很少会有个人特性
3、无法实时

还有很多改进的方法,有时间再详看。

2、Stereo Methods

该方法分为两大类,a、输入图片是正交的,即正脸和90度侧脸;b、非正交的。

3、vedio Methods

4、Silhouette-Based

你可能感兴趣的:(3d)