最新3D人脸技术综述_我爱计算机视觉-CSDN博客
一、应用:Face Animation,dense Face Alignment,Face Attribute Manipulation
二、设备:单目相机(Monocular)、双目相机(Stereo)和深度相机(RGB-D)
三、数据:深度图,点云,网格图,
1、深度图像/range:是三维人脸的 z 轴数值被投影至二维平面的图像,效果类似一个平滑的三维曲面。由于这是一种二维表示方式,所以很多现存的二维图像的处理方法可以直接应用。这种数据可以直接以灰度图的方式展示出来,也可以使用三角剖分原则转换成三维网格。
2、三维点云:每一个点都对应一个三维坐标 。有时,人脸的纹理属性也可以拼接到形状信息上,这时点的表达就成了 ,其中 p,q 是稀疏坐标。
点云表示的缺点是每一个点的邻域信息不好获取,因为点的存储一般是无序的。一般情况下,点云数据会用来拟合一个平滑的曲面,以减少噪声的影响。
3、三维网格:使用在三维曲面上预计算好并索引的信息进行表示,相比于点云数据,它需要更多的内存和存储空间,但是由于三维网格的灵活性,更适合用来做一些三维变换,例如仿射变换、旋转和缩放。每一个三维网格数据,由以下元素构成:点、线、三角面。二维纹理的坐标信息也可以存储在点信息中,有利于重建更精确的三维模型。
1)University ofNotre Dame database(UND),包括 277 人的 953 幅人脸深度图像,所有的人脸都是正面、无表情的,图像尺寸为 320*240。这个库包含了用于三维人脸配准的标准库 FRGC Ver1.0。
2)FRGC Ver2.0,包含了465 人的 4007 幅 2.5 维图像,图像尺寸为 320*240,除了中性表情外,还包括一些带表情的图像,如:微笑、惊讶等。
3)GavabDB,包含了 61 人的 549 幅三维图像,其中 45 名为男性,16 名为女性。所有的被采集者都是高加索人种,年龄从 18 至 40 岁。每个采集分别采集 9 幅图像:2 幅中性正面、2 幅左右全侧面、1 幅仰头、1 幅低头、1 幅微笑表情、1 幅大笑表情、1 幅随意表情姿态图像。
4)3D_RMA,包含了 120 人,每人 6 幅点云深度数据,包括姿态:正面、左或右、仰头或低头。
5)BU-3DFE,包括 100 人,其中 44 名男性,56 名女性,采集对象包括白人、黑人、亚洲人、印度人等。每个人被采集 25 幅图像,包括一个中性模型和 6 类带表情模型,每种表情分为 4 种程度,包括的表情有:高兴、厌恶、恐惧、生气、惊讶、悲伤。
6)USF,包含 100 个中性表情的三维人脸模型。
7)BJUT-3D Facedatabase,包含 500 人的三维模型,男女各半。每人采集一个三维模型,对每个模型去噪并切除了多余部分。
四、pipeline
1、基于传统方法的人脸重建
通过图像本身表达的信息完成 3D 人脸重建,如图像的视差、相对高度等,比较常见的如通过双目视觉实现 3D 重建,难点在于如何匹配不同视角下对应的特征点。
《A Survey of Different 3D Face Reconstruction Methods》https://pdfs.semanticscholar.org/d4b8/8be6ce77164f5eea1ed2b16b985c0670463a.pdf
2、基于模型的人脸重建
两个较常用的模型:通用模型 CANDIDE, 3DMM。
1)CANDIDE:由 113 个顶点和 168 个面组成。通过修改这些顶点和面,使得其特征与待重建的图像相匹配。通过整体调整,使五官等面部关键点尽量对齐;通过局部性调整,使人脸的局部细节更加精细,在这之后进行顶点插值,即可以获得重建后的人脸。优点是重建速度快,缺点是重建的精度严重不足,面部细节特征重建欠佳。
2)3D Morphable Model (3DMM):一种人脸模型的线性表示,可以将一张 2D 的人脸图片生成其对应的 3D 人脸模型,表示方法为:
其中 和 分别为通过统计分析 PCA 得到的 shape 和 expression 基,使用 3DMM 模型重建人脸首先需要这两组基,目前使用较多的是 BFM 基(https://faces.dmi.unibas.ch/bfm/main.php?nav=1-2&id=downloads)。
把三维模型投影到二维平面可以表示为:
利用一个人脸数据库构造一个平均人脸形变模型,在给出新的人脸图像后,将人脸图像与模型进行匹配结合,修改模型相应的参数,将模型进行形变,直到模型与人脸图像的差异减到最小,这时对纹理进行优化调整,即可完成人脸建模。一般 2D 到 3D 重建过程所采用的监督方式为 2D 人脸关键点与 3D 顶点对应的正交投影上的关键点。
3、基于 CNN 端到端的人脸重建
《Disentangling Features in 3D Face Shapes for Joint Face Reconstruction and Recognition 》
该论文通过 CNN 回归 Identity Shape 和 Residual Shape 参数,表达式和 3DMM 类似,不同之处在于除了普通的 reconstruction loss(一般为 element-wise L2 loss),还增加了一个 Identification loss,以保证重建的人脸 ID 特征不变。
《End-to-end 3D face reconstruction with deep neural networks》
该论文的思想也是回归 3DMM 参数,作者认为高层的语义特征可以表示 ID 信息,而中间层的特征可以表示表情特征,因此可从不同的层级回归相应的参数,从而实现 3D 人脸重建任务。
《Joint 3D Face Reconstruction and Dense Alignment with Position Map Regression Network 》
另一种比较常见的端到端 3D 人脸重建方法为 Position Regression Network(PRN),(开源代码 PRN:https://github.com/YadiraF/PRNet)(face3d:https://github.com/YadiraF/face3d)。
该论文提出一种端到端 Position Regression Network,以完成 3D 人脸重建和稠密人脸对齐。
作者引入 UV Position Map,可以实现通过 2D 图像来存储人脸 3D 点云坐标,假设一个包含 65536 个点的 3D 点云,通过 UV Position Map 可以表示成一个 256*256*3 的 2D 图像,每一个像素点存储的是点云的空间坐标,因此可以通过一个 encoder-decoder 网络回归原始图像的 UV Position Map,实现 3D 人脸重建。作者通过设计一个不同区域不同权重的 Loss Function,最终实现了较高精度的人脸重建和稠密关键点对齐。
《3D Dense Face Alignment via Graph Convolution Networks》
通过上述回归 UV Position Map 的方式有一个问题,最终 UV 图像映射到 3D 人脸 mesh 的图像时,会出现一些条纹。在最近的一些 3D 人脸重建工作中,还有一种通过多级回归 3D 人脸 mesh 的方法取得了不错的重建效果。
该论文作者通过逐级增加回归的 mesh 顶点,从而在多个监督的任务下完成最终 mesh 的回归,同时采用图卷积的形式可以更加本质地进行点与点之间的构图关系,最终取得了不错的重建效果。
三维人脸研究_Ramble Over The Cloud~-CSDN博客
【技术综述】基于3DMM的三维人脸重建技术总结_hacker_long的专栏-CSDN博客
survey on 3D face reconstruction from uncalibrated images
A Literature Review of 3D Face Reconstruction From a Single Image
Facial Landmarks for Forensic Skull-Based 3D Face Reconstruction: A Literature Review
Survey on the approaches based geometric information for 3D face landmarks detection