最近AI圈正闹的火热,不仅大模型们争锋相对,一下实用的AI工具也不断推陈出新,就比如最近几位TEDs演讲人都是AI人工合成的,震惊了全世界。
这次要讲的是Meta新推出的能将视频中的人像转化为3D数字形象的工具——ExAvatar,根据官网的说法:
什么是ExAvatar?
-
ExAvatar 是我们新的富有表现力的全身 3D 高斯头像。
-
由随便拍摄的短手机扫描(中性姿势的约 10 秒)制成。
-
支持具有新颖的身体姿势、手部姿势和面部表情的动画,并从任何视点进行渲染。
下面是官网的事例视频:
视频暂时没有,审核过了以后加上去
可以看到,该工具就是将一个在视频中出现的人物与另一个视频中的人物合体,或者说是替代,通俗讲就是“替身”。
根据官网的介绍就是
-
全身3D驱动:支持全身动作和表情的动画制作,包括身体、手部和面部。
-
混合表示法:结合3D高斯和表面网格技术,提高几何和外观的一致性,减少动画中的伪影。
-
便捷捕捉:使用手机扫描即可快速创建3D头像,操作简单。
-
高质量渲染:利用先进算法实现动态表现和视觉效果的高质量渲染。
-
技术优化:通过SMPL-X模型和多层感知器(MLP)处理,优化手部和面部的表现力和自然度。
技术细节
3D 高斯和曲面网格的混合表示
3D Gaussian Splatting概念
-
基础思想:3D Gaussian Splatting通过一组高斯分布(Gaussians)来表示三维场景中的物体。每一个高斯分布都包含一个中心点、一个协方差矩阵(表示形状和方向)以及一个颜色或反射属性。
-
优势:
-
快速渲染:高斯分布的积分可以解析求解,这使得渲染过程非常高效。
-
动态变化:可以通过改变高斯分布的参数来适应动态变化的场景。
-
高质量重建:高斯分布可以很好地近似物体表面的细节。
-
ExAvatar中的应用
-
混合表示:ExAvatar采用了一个结合SMPL-X(一种参数化的人体网格模型)和3D Gaussian Splatting的混合表示方法。
-
3D Gaussians的角色:在ExAvatar中,每个3D Gaussian被视为表面的一个顶点,具有预定义的连接信息(即三角形面),这些顶点遵循SMPL-X的网格拓扑。
-
动画驱动:由于这种混合表示方式,ExAvatar能够通过SMPL-X的面部表情空间来驱动新的面部动画。
连接性正则化
-
目的:解决由于视频中有限的姿势多样性导致的未观察到的人体部分的不确定性,以及使面部几何与SMPL-X相似。
-
方法:通过使用连接性正则化器(例如拉普拉斯正则化器)来减少在新面部表情和姿势下可能出现的异常现象。
-
具体实现:最小化3D Gaussian点在规范空间中的拉普拉斯算子与规范网格的拉普拉斯算子之间的差异。这样可以鼓励3D Gaussian点之间的局部相似性,防止它们漂浮或出现不连贯的行为。
训练数据
-
数据集:ExAvatar使用了NeuMan数据集,这是一个包含在野外环境拍摄的短单目视频的数据集。
-
选择视频:选择了展示大部分人体区域且包含较少模糊图像的视频进行训练。
实验结果
-
效果验证:通过实验展示了ExAvatar在处理新面部表情和姿势时的有效性和减少异常现象的能力。
-
性能对比:ExAvatar在帧率性能上优于其他方法,在没有使用姿态条件的情况下也表现良好。
SMPL-X
SMPL-X (Skinned Multi-Person Linear Model Extended) 是一种扩展版的人体模型,它基于 SMPL (Skinned Multi-Person Linear Model) 并增加了对手部和面部细节的支持。下面是关于 SMPL-X 的一些详细和技术性的解释:
SMPL-X 概述
-
SMPL-X 是一种参数化的模型,它可以用来表示人体的不同形状和姿势,包括面部表情和手部动作。
-
它由德国马普研究所开发,旨在解决过去模型中缺失的手部和面部细节的问题。
-
SMPL-X 可以通过一系列的参数来定义人体的形状、姿势和表情:
-
形状参数:控制人体的体型,如身高、体重、体态等。
-
姿势参数:控制身体各部位的姿态。
-
面部表情参数:控制面部的形态变化。
-
手部参数:控制手部的姿势。
-
应用
-
SMPL-X 被广泛应用于计算机视觉、图形学和机器学习等领域,特别是在人体姿态估计、三维重建和动画制作等方面。
技术细节
-
SMPL-X 是一个基于皮肤绑定(skinning)的人体模型,它使用线性混合骨架变形(Linear Blend Skinning, LBS)来模拟人体在不同姿势下的外观变化。
-
拓扑结构:SMPL-X 维护了一个由顶点组成的网格,这些顶点通过三角形面连接起来形成一个人体的表面。
-
参数化:SMPL-X 的参数可以通过线性组合的方式来控制模型的状态。例如,形状参数可以通过线性组合不同的基函数来调整模型的体型。
-
兼容性:由于 SMPL-X 维护了一个完整的拓扑结构,它可以与其他基于网格的人体模型(如 FLAME)共享面部表情空间,这使得它能够在不同的应用之间保持一致性和互操作性。
-
驱动机制:SMPL-X 可以被外部的驱动信号(如从图像中估计出的参数)所驱动,从而产生不同的姿势和表情。
ExAvatar 中的使用
-
在 ExAvatar 研究中,SMPL-X 被用作一种基础的人体模型,它提供了面部表情和手部动作的基础网格和参数空间。
-
ExAvatar 利用了 SMPL-X 的面部表情空间来驱动其虚拟形象的面部动画,这意味着即使在原始视频中缺乏多样化的面部表情,ExAvatar 也能通过 SMPL-X 的参数空间生成新的表情。
-
ExAvatar 还通过添加顶点偏移来移动 3D 高斯点,以此来模仿 FLAME 和 SMPL-X 中的面部表情变化。
注册过程
-
FLAME 注册:使用 DECA 的输出 FLAME 参数,进一步将这些参数拟合到 2D 面部关键点,确保 FLAME 的网格与图像对齐。
-
SMPL-X 注册:利用 Hybrid-X 的输出 SMPL-X 参数,进一步拟合到 2D 整个身体的关键点,并且使用 DECA 的面部表情代码来替换 Hybrid-X 的面部表情代码。
-
偏移添加:在 SMPL-X 层的线性混合骨架变形(LBS)之前,向 T 姿势的关节位置添加关节偏移 (∆J) 和向面部区域添加面部偏移 (∆Vface)。
结论
-
SMPL-X 提供了一个强大的框架,使得研究人员能够构建复杂的虚拟形象,尤其是在需要精确的手部和面部动画的应用中。
-
ExAvatar 通过结合 SMPL-X 和 3D Gaussian Splatting 的混合表示,解决了视频中面部表情和姿势多样性有限的问题,并减少了新型面部表情和姿势下的异常现象。
这些揭示了 SMPL-X 在 ExAvatar 中如何被用于创建高质量的虚拟形象,同时解决了训练数据中可能存在的局限性。
得分蒸馏采样技术(Score Distillation Sampling)
得分蒸馏采样技术(Score Distillation Sampling)这种技术可能被提议作为一种未来的工作方向,用来改进ExAvatar系统中未观察到的人体部分(如口腔内部)的建模质量。
得分蒸馏采样技术的概念 请注意,上述解释是基于上下文的合理推断,并非直接源自PDF文档。
得分蒸馏采样是一种基于生成式模型的方法,通常涉及到生成对抗网络(GANs)或变分自动编码器(VAEs)。在这种技术中,生成器(Generator)尝试学习从随机噪声分布中生成逼真样本的能力。为了监督这个过程,通常会有一个评分函数(score function),它衡量生成样本的质量。得分蒸馏采样技术的目标是通过优化这个评分函数来改进生成模型的输出。
在ExAvatar中的潜在应用
在ExAvatar的上下文中,得分蒸馏采样技术可以被用来生成更多关于未观察到的人体部分(比如口腔内部)的图像。以下是可能的应用步骤:
-
训练生成模型:首先,使用现有的数据集训练一个生成模型(例如GAN),以便它可以生成逼真的面部图像,包括那些包含口腔内部视图的图像。
-
评分函数:定义一个评分函数来评估生成的图像是否逼真,或者是否符合预期的标准。这可能涉及使用一个预训练的分类器或其他形式的评分机制来评估生成图像的质量。
-
采样和监督:使用生成模型产生一系列包含口腔内部视图的新图像,并使用评分函数来评估这些图像。然后,这些评估过的图像可以被用来进一步训练ExAvatar系统,特别是在那些难以从原始视频中获得数据的区域。
-
迭代改进:通过迭代地优化评分函数和调整生成模型,可以逐步改进ExAvatar对于未观察到的人体部分的建模。
示例流程
-
生成图像:使用GAN或VAE生成包含口腔内部视图的图像。
-
评分:使用一个预训练的分类器(例如,一个能够识别口腔内部结构的模型)来给这些生成的图像打分。
-
蒸馏过程:选择得分较高的图像,并将这些图像作为额外的监督信号来训练ExAvatar系统,特别是针对口腔内部的建模。
-
模型更新:通过反向传播和梯度下降等方法,更新ExAvatar系统中的参数,以更好地反映从生成图像中学习到的信息。
ExAvatar的主要贡献在于它能够从简短的视频中创建出一个具有丰富表情的全身3D人像,并且能够在没有多样化面部表情的情况下仍然支持新面部表情的动画制作。通过引入连通性正则化,该技术还解决了新姿态下可能产生的伪影问题。