来源:CVPR 2024题目:HUGS: Human Gaussian Splats 论文地址:https://machinelearning.apple.com/research/hugs 作者:Muhammed Kocabas, Rick Chang, James Gabriel, Oncel Tuzel, Anurag Ranjan 内容整理:陈梓煜 最近在神经渲染方面的进展使训练和渲染时间提高了几个数量级。虽然这些方法展示了最强的质量和速度,但它们不能很好地推广到在环境中自由移动的人类。在这项工作中,我们引入了人类高斯溅射(Human Gaussian Splats,HUGS),使用3D高斯溅射(3D Gaussian Splatting,3DGS)来表示人体及其场景。我们的方法仅需一个包含50到100帧的单目视频,并且能在30分钟内自动学习将静态场景与动态人体分离。我们利用SMPL身体模型初始化人类高斯。为了捕捉SMPL无法建模的细节(例如,衣物和头发),我们允许3D高斯偏离人体模型。我们提出联合优化线性混合蒙皮权重,以协调单个高斯在运动过程中的运动。我们的方法能够实现人体的新姿态合成以及人体和场景的新视角合成。我们在保持渲染速度为60 FPS的同时,实现了最先进的渲染质量,训练速度比以前的工作快~100x。
图1
真实渲染和人体动态是一个重要的研究领域,具有在AR/VR、视觉特效、虚拟试衣、电影制作等众多应用。早期的工作创建人类化身依赖于多相机捕捉设置中的高质量数据捕捉、大量计算和大量手工努力。最近的工作通过使用3D参数化身体模型如SMPL,直接从视频生成3D化身来解决这些问题,这些模型具有高效光栅化和适应未见变形的能力。然而,参数化模型的固定拓扑结构限制了对衣物、复杂发型和其他几何细节的建模。最近的进展探索了使用神经场来建模3D人类化身,通常使用参数化身体模型作为建模变形的模版。神经场在捕捉衣物、配饰和头发等细节方面表现出色,超越了通过纹理和其他属性光栅化参数化模型所能实现的质量。然而,它们也有不足,特别是在训练和渲染效率方面较低。
为了解决这些挑战,我们引入了一种新颖的化身表示方法Human Gaussian Splats(HUGS)。HUGS 使用3D高斯溅射(3DGS) 表示人类和场景,与隐式NeRF表示相比,具有更快的训练和渲染速度。虽然使用3D高斯表示允许对人体变形进行显式控制,但也带来了新的问题。具体而言,逼真的人体动态需要协调单个高斯以保持表面完整性。为了实现人体变形,我们引入了一种新颖的变形模型,使用3D高斯在规范空间中表示人体。变形模型预测3D高斯的均值偏移、旋转和缩放,以适应建模对象的体型。此外,变形模型预测用于将规范人体变形成最终姿态的线性混合蒙皮(LBS)权重。我们从参数化的SMPL身体形状模型初始化HUGS,但允许高斯偏离、增加和从SMPL模型中修剪。这使得HUGS能够超越SMPL模型,建模几何和外观细节(例如头发和衣物)。学习的LBS权重也在动态过程中协调高斯的运动。
HUGS在一个包含50-100帧的单目视频上训练,并学习人体和场景的解耦表示,使得化身可以在不同场景中多样化使用。总而言之,我们的主要贡献是
给定包含相机运动、移动人类和静态场景的单目视频,我们的方法自动使用3D高斯分离并表示人类和静态场景。人体高斯由SMPL身体模型初始化。在接下来的部分中,我们首先简要回顾3D高斯分层和SMPL模型。然后,我们介绍所提出的方法,以解决在3D高斯框架中建模和动态化人体时的挑战。
3DGS通过排列3D高斯表示场景。第个高斯定义为
其中是一个xyz位置,是表示高斯吸收的辐射比例的不透明度,是高斯的中心/均值,协方差矩阵通过每个高斯轴的尺度和旋转参数化。每个高斯还与球谐函数配对以模拟辐射向各个方向发射。在渲染过程中,3D高斯投影到图像平面上形成2D高斯,其协方差矩阵为,其中是射影变换的仿射近似的雅可比矩阵,是视图变换。像素的颜色通过对给定像素贡献的个高斯进行alpha积分计算:
其中高斯从近到远排序,是通过球谐函数获得的颜色,是从2D高斯公式(协方差)乘以其不透明度计算得到的。渲染过程是可微分的,我们利用这一点来学习我们的人体模型。
SMPL是一个允许姿态和形状控制的参数化人体模型。SMPL模型带有在模板坐标空间中的模板人体网格,处于模版姿态(即T姿态)。是网格上的个顶点,是具有固定拓扑结构的个三角形。给定体形参数和姿态参数,SMPL通过以下方式将顶点从模板坐标空间变换到形状空间:
其中是形状空间中的顶点位置, 和 是对各个顶点的xyz偏移。形状空间中的网格适应人体形状(例如体型)的身份,在休息姿态下。为了将人体网格动态化为特定姿态,SMPL利用了预定义的关节和线性混合蒙皮(LBS)。LBS权重由SMPL模型提供。
给定休息状态下人体网格上的第个顶点位置和各个姿态关节的配置,,其中,姿态顶点位置计算为,其中是中对应于第个关节和第个顶点的元素。虽然SMPL模型提供了可动态的人体网格,但它没有建模头发和衣物。我们的方法仅在初始化阶段使用SMPL网格和LBS,并允许高斯偏离人体网格以建模头发和衣物等细节。
图2
给定个捕获的图像及其相机姿态,我们首先使用预训练的SMPL回归器估计每个图像的SMPL姿态参数和在图像间共享的体形参数。我们还获得了从SMPL的姿态空间到每帧使用的相机姿态的世界坐标的坐标变换,简化起见,我们在讨论中将忽略坐标变换。我们的方法使用3D高斯表示人类,并通过学习的LBS驱动高斯。我们的方法输出高斯的位置、旋转、尺度、球谐函数系数及其相对于个关节的LBS权重。我们的方法概述如图2所示。
人体高斯由其在规范空间中的中心位置、一个特征三平面和三个多层感知器(MLP)构建,这些MLP预测高斯的属性。所有这些都是针对每个人进行优化的。人体高斯存在于规范空间中,这是SMPL在执行预定义Da姿态时的姿态空间。
渲染过程
给定关节配置,为了渲染图像,对于每个高斯,我们首先在其中心位置插值三平面,并获得特征向量。特征表示第个高斯,是的连接。以为输入,外观MLP 输出第个高斯的RGB颜色和不透明度;几何MLP 输出中心位置偏移、旋转矩阵(通过前两列参数化)和三个轴的尺度;变形MLP 输出该高斯的LBS权重。LBS使用和关节变换变换人体高斯,然后将其与场景高斯结合并投影到图像平面。渲染过程是端到端可微分的。
优化
我们优化高斯的中心位置、特征三平面和三个MLP的参数。我们还根据需要调整每个图像的SMPL姿态参数,因为是由一个现成的SMPL回归器初始化的,可能包含误差。渲染的图像与使用损失、SSIM损失和感知损失的真实捕获图像进行比较。我们还渲染一个仅包含人类的图像(仅使用随机实心背景上的人类高斯)并使用上述损失比较真实图像中包含人类的区域。人类区域使用预训练的分割模型获得。我们还通过损失将学习到的LBS权重正则化为接近SMPL的权重。具体来说,为了正则化LBS权重,对于每个高斯,我们检索SMPL网格上其个最近的顶点,并取其LBS权重的距离加权平均得到。损失为。
我们在图3中展示了我们方法的定性结果,并与Vid2Avatar和NeuMan进行了比较。在场景背景区域,HUGS显示出比Vid2Avatar和NeuMan更好的重建质量。Vid2Avatar展示了模糊的场景重建,并有若干伪影。相比之下,NeuMan显示了更好的场景重建质量,但错过了诸如第一行的房屋号码(放大)细节、第二行的木板(放大)细节和第三行的柜子(放大)细节。而HUGS显示了更好的重建质量,并保留了这些放大区域中的细节。
在人体区域,Vid2Avatar在手部区域(第1行)显示了伪影,在脚部(第2行)和手臂区域(第3行)显示了模糊重建。相比之下,NeuMan在某些情况下(第2行)获取了更好的脚部细节,但在其他情况下在手部(第2行)和脚部(第3行)区域引入了伪影。相比之下,我们的方法保留了手和脚的细节,并显示了更好的重建质量。此外,我们的方法还保留了衣物周围的结构(第1行),在重建皱褶时表现良好,同时保留了拉链周围的结构(放大)相比于之前的工作。
图3
在图4中,我们展示了规范空间中的人体重建。我们注意到我们的方法捕捉到了脚和手部的细节,而在NeuMan的方法中,这些细节显得很嘈杂。此外,我们注意到我们的方法保留了面部的丰富细节。这使我们能够在动态阶段实现高重建质量。
图4
我们将我们的方法与NeRF-T, HyperNeRF和现有的最先进方法NeuMan和Vid2Avatar进行了性能比较。在表1中,我们在NeuMan数据集上使用三个不同的指标:PSNR、SSIM和LPIPS评估了重建质量。NeRF-T和HyperNeRF是一般的动态场景重建方法,不专门针对人类。因此,它们显示出较差的重建质量。另一方面,NeuMan和Vid2Avatar使用了专门的人类和场景模型。NeuMan采用基于NeRF的方法进行场景和人类建模。Vid2Avatar使用隐式SDF模型和体积渲染进行场景和人类表示。因此,NeuMan和Vid2Avatar显示了改进的重建质量。相比之下,我们的方法在所有场景和指标上实现了最先进的性能,除了在Bike序列上的PSNR,我们表现更好。
在表2中,我们进一步仅在包含人类的区域评估重建误差。我们首先在真实图像中围绕人类区域进行紧密裁剪。这个裁剪用于所有的预测,并在裁剪样本上评估重建误差。需要注意的是,我们对区域进行矩形裁剪,不使用任何分割Mask,因为重建指标对Mask非常敏感。在这种评估下,我们在所有场景和指标上实现了最先进的性能,除了在Jogging序列上的PSNR,我们表现更好。
此外,我们在表3中使用ZJU Mocap数据集评估了我们的方法。我们与最近在该数据集上报告评估结果的工作进行了比较,包括NeuralBody, HumanNerf和MonoHuman。