论文标题:
GaussianAvatar: Towards Realistic Human Avatar Modeling from a Single Video via Animatable 3D Gaussians
论文作者:
Liangxiao Hu, Hongwen Zhang, Yuxiang Zhang, Boyao Zhou, Boning Liu, Shengping Zhang, Liqiang Nie
项目地址:
https://huliangxiao.github.io/GaussianAvatar
\\关于作者//
本文由原paper一作胡良校博士全权翻译写作,胡良校博士就读于哈尔滨工业大学,师从张盛平教授,主要研究方向为人体数字化身建模与驱动,有多项工作发布于顶会顶刊上,本篇paper入选了CVPR 2024。
导读:
3DGS相较于NeRF具有渲染质量高,速度快的优势,NeRF是之前单目人体数字化身建模任务的主流表达方式,如何将3DGS的优势扩展到这一任务中替代NeRF是一个非常有意思的方向。本文介绍如何将3DGS这种高效表达方式建模人体数字化身,为大家呈现一个趣味性极强的可实时驱动的数字化身。©️【深蓝AI】
1. 背景简介
数字化身建模是最近热门的计算机视觉和图形学任务,基于单目视频的人体数字化身建模只是其中的一个小任务。它在元宇宙背景下是存在一定的商业价值的,快速高效建模的需求也使得其成为了一个不小的挑战。
神经辐射场(Neural Radiance Field, NeRF)具有高真实感的渲染质量,是一个建模人体很好的表达方式,但其存在渲染速度和建模速度慢的问题。尽管神经辐射场后续工作尽可能地在弥补这个问题,但基于体渲染的方式依旧很难达到落地级别的建模和渲染速度。
3D高斯泼溅(3D Gaussian Splatting, 3DGS)首先在建模速度和渲染速度上就比神经辐射场要好不少,这得益于其显式的参数化形式以及点云渲染方式。如何将3DGS应用到人体数字化身建模任务上着实是不小的期待。
2. 方案提出
现有主流的单目人体数字化身建模算法大多基于NeRF,除了背景所述的建模和渲染速度较慢的问题,该类方法还有反向蒙皮过程中遇到的一对多问题,这也就导致初始人体姿态不准的问题很难被解决。我们这次提出的「基于可驱动3DGS的人体数字化身建模GaussianAvatar」,希望借助3DGS快速的建模和渲染速度,从单目视频中高效建模人体数字化身并实现实时驱动。同时,借助3DGS显式表达的特点,GaussianAvatar提出了标准姿态下的可驱动3DGS,通过前向蒙皮过程驱动人体高斯点云——前向蒙皮不仅避免了一对多问题,还使得人体姿态优化更为准确。
图1|GaussianAvatar实时驱动效果展示©️【深蓝AI】
图2|GaussianAvatar任务定义©️【深蓝AI】
3. 方法详析
方法流程如图2所示,对当前帧估计一个SMPL/SMPL-X模型,GaussianAvatar在其表面采样空间点并根据UV图关系存成一张位置UV图,其中每一个像素表示空间点的位置坐标。GaussianAvatar将其作为动作信号输入到一个位姿编码器获得动作特征,通过残差相加的方式和一个优化后的特征向量一起输入到高斯参数解码器中得到标准姿态下的高斯点云,然后通过线性混合蒙皮公式进行驱动并最终渲染成当前姿态下的图像。这其中主要包含以下几个技术细节:
图3|GaussianAvatar方法流程©️【深蓝AI】
3.1 可驱动3DGS
可驱动3DGS的本质就是将3DGS和人体模型SMPL/SMPL-X进行结合,可以用一个公式进行说明:
G ( β , θ , D , P ) = S p l a t t i n g ( W ( D , J ( β ) , θ , ω ) , P ) G(\beta, \theta, \mathbf{D}, \mathbf{P}) = Splatting(W(\mathbf{D}, J(\beta), \theta, \omega), \mathbf P) G(β,θ,D,P)=Splatting(W(D,J(β),θ,ω),P)
其中 G ( ⋅ ) G(\cdot) G(⋅)表示渲染的图像, S p l a t t i n g ( ⋅ ) Splatting(\cdot) Splatting(⋅)表示3DGS的渲染过程, W ( ⋅ ) W(\cdot) W(⋅)表示线性混合蒙皮公式, D = T ( β ) + d T \mathbf{D} = T(\beta) + dT D=T(β)+dT表示高斯点的位置,它包含了SMPL/SMPL-X模型的表面点位置 T ( β ) T(\beta) T(β)和预测的空间残差值 d T dT dT, P \mathbf{P}