HumanNeRF:单目视频中运动人物的自由视点绘制
引言。我们介绍了一种自由视点渲染方法- HumanNeRF -它适用于一个给定的单眼视频ofa人类执行复杂的身体运动,例如,从YouTube的视频。我们的方法可以在任何帧暂停视频,并从任意新的摄像机视点或甚至针对该特定帧和身体姿势的完整360度摄像机路径渲染主体。这项任务特别具有挑战性,因为它需要合成身体的照片级真实感细节,如从输入视频中可能不存在的各种摄像机角度看到的,以及合成诸如衣服褶皱和面部外观的精细细节。我们的方法优化了一个典型的T-姿势的人的体积表示,在演唱会的运动场,通过向后扭曲映射估计的规范表示到视频的每一帧。运动场被分解为由深度网络产生的骨架刚性运动和非刚性运动。我们显示了显着的性能改进比以前的工作,和令人信服的例子,从单目视频ofmoving人类在具有挑战性的不受控制的捕捉场景的自由视点渲染。
1 介绍
给定人类执行活动的单个视频,例如,一个舞蹈演员的YouTube或TikTok视频,我们希望能够在任何帧暂停,并围绕表演者旋转360度,以便在那个时刻从任何角度观看他们(图1)。这个问题-移动主体的自由视点渲染-是一个长期的研究挑战,因为它涉及合成以前看不见的相机视图,同时考虑布料褶皱,头发运动和复杂的身体姿势[5,6,15,18,27,38,59,65]。这个问题是特别困难的情况下,“在野外”的视频用一个单一的摄像头(单目视频),我们在本文中地址的情况下。
图1.我们的方法将人类执行复杂运动的单目视频1作为输入,跳舞(左),并为序列中的任意帧创建自由视点渲染(右)。我们构建了一个规范的对象外观体积,以及一个从观察到规范空间的运动场映射,在视频上进行了训练。在测试时,我们只从源帧(红色正方形)中提取姿势,并合成所有输出视图,包括目标视图。请参阅项目第2页查看动画效果。
以前的神经渲染方法[3,33,36,37,50,66,75]通常假设多视图输入,仔细的实验室捕获,或者由于非刚体运动而对人类表现不佳。人类特定的方法通常假设SMPL模板[34]作为先验,这有助于约束运动空间,但也会引入服装中的伪影和SMPL模型无法捕获的复杂运动[49,50]。最近可变形NeRF方法[47,48,51,64]对于小变形表现良好,但对于大型全身运动(如跳舞)表现不佳。
我们介绍了一种方法,称为HumanNeRF,它将一个移动的人的单个视频作为输入帧、现成的分割(具有一些手动清理)和自动3D姿态估计,优化了人类的规范的体积T姿态以及经由向后扭曲将估计的规范体积映射到每个视频帧的运动场。运动场将骨架刚性运动与非刚性运动相结合,每个运动都以体积表示。我们的解决方案是数据驱动的,规范的体积和运动场来自视频本身,并针对大型身体变形进行了优化,经过端到端训练,包括3D姿态优化,无需模板模型。在测试时,我们可以在视频中的任何帧处暂停,并以该帧中的姿势为条件,从任何视点渲染生成的体积表示。
我们展示了各种示例的结果:现有的实验室数据集,我们在实验室外捕获的视频,以及从YouTube下载的(具有创建者权限)。我们的方法在数值上优于最先进的方法,并产生更高的视觉质量。请参阅项目页面以查看运动中的结果。
2 相关工作
自由视点渲染的物理过程涉及几何和曲面属性建模,然后从新的相机视图进行渲染。然而,它仍然难以重建复杂的几何形状和微妙的照明效果。或者,基于图像的渲染[57,61]提供了基于图像域中的给定视图集渲染新视图,并在过去几十年中进行了大量研究[8,9,13,17,21,22,30,78]。
人类特定渲染:Kanade等人的工作[27]是对人类自由视点渲染的最早研究之一。它引入了一个配备摄像头的圆顶来恢复深度图和网格,通过重新投影和混合不同的视图来渲染新的视图,以解决由于遮挡而导致的网格孔。后来,Matusik等人[38]从主体的轮廓重建了一个视觉船体,并通过仔细选择像素来渲染它,而无需辅助几何表示。Carranza等人[5]使用参数化的身体模型作为先验和组合的无标记运动捕捉和视图相关纹理[13]。后续工作介绍了非刚性变形[65],纹理扭曲[6,72]以及基于体积[12]或球体[59]的各种表示。Collet等人。[11]和Guo等人。[18]构建了一个系统和管道,可以生成高质量的可流式传输的[11]甚至是可重定向的[18]移动人物的自由视点视频。
这些方法中的大多数依赖于多视图视频-通常是昂贵的工作室设置-而我们对简单的单目相机配置感兴趣。
神经辐射场:NeRF [41]及其扩展[3,23,44,58,62,75,77]能够高质量地渲染静态场景的新视图。NeRF最近已扩展到动态场景[16,31,47,48,51,64,71],虽然这些方法通常假定运动很小。我们在结果部分将我们的方法与这些动态和可变形的NeRF作品进行了比较。
人类特定的神经渲染:Liu等人的工作。[33]从预先捕获的身体模型开始,并学习对时间相关的动态纹理进行建模,并加强时间连贯性。Martin-Brualla等人。[36]训练UNet来改善体积捕获引入的伪影。Pandey等人的后续工作。[46]通过半参数学习将所需输入帧的数量减少到单个RGBD图像。Wu et al. [70]和Peng et al. [50]探索了嵌入点云(来自MVS [55])或静止网格顶点(来自SMPL [34])的学习结构化潜在代码的使用,并学习了一个附带的基于UNESCO NeRF的神经渲染器。Zhang等人。[26]将场景分解为背景和单个表演者,并用单独的NeRF表示它们,从而实现场景编辑。除了自由视点渲染之外,还有另一个相关的活跃研究领域,专注于2D [2,7,35,43,54,67,68]或3D [19,20,25,32,49,53,69,74]中的人体运动重定向。我们的方法和这些作品之间的主要区别是,我们作为输入单目视频,包含复杂的人体运动,并使高保真全3D渲染。
此外,我们的骨骼运动公式从Weng等人提出的Vid2Actor中汲取灵感。[69],一种用于刚性动画角色的方法。相反,我们专注于自由视点应用程序和恢复姿势相关的非刚性变形,并在此应用程序中显着优于它们。
并行工作:Xu等人。[73]共同学习隐式几何以及图像的外观。他们主要关注多视图设置,其中有一些关于单目视频的例子,其中人体运动很简单(A姿势)。Su等人。[60]使用过参数化的NeRF来严格转换NeRF特征,以优化身体姿势,从而最终渲染。非刚体运动没有明确建模,绘制质量不高。Noguchi等人也发现了类似的方法。[45]但仍然显示出有限的视觉质量。
3 将人类表示为神经场
我们表示一个移动的人,其具有扭曲到观察到的姿势的规范外观体积Fc,以产生输出外观体积Fo:
其中:x →(c,σ)将位置x映射到颜色c和密度σ,并且T:(
,p)→
定义由观察到的姿势p =(J,Ω )引导的将点从观察到的空间映射回规范空间的运动场,其中J包括K个标准3D关节位置,并且Ω = {
}是表示为轴角向量
的局部关节旋转。
我们通过将运动场分解为两个部分来处理具有复杂变形的复杂人体运动:
其中,Tskel表示非线性驱动的变形,基本上是逆(体积)线性混合蒙皮,并且TNR从非线性驱动的变形开始并且产生到它的偏移量Δ x。实际上,Tskel提供由标准蒙皮驱动的粗略变形,并且TNR提供更非刚性的效果,例如,因为衣服变形。
对于“野外”图像,我们使用现成的3D身体+相机姿态估计器。由于姿态估计的不准确性,我们还求解了更好地解释观察结果的姿态校正函数,并将这种改进应用于光子驱动的变形,即,我们用
替换等式2中的
。
图2给出了我们系统的组件的概述。在以下部分中,我们将详细描述这些组件。
正则体积:我们将正则体积表示为具有MLP的连续场,该MLP在给定点x的情况下输出颜色c和密度σ: