人体神经辐射场的目标是从 2D 人体图片中恢复高质量的 3D 数字人并加以驱动,从而避免耗费大量人力物力去直接获取 3D 人体几何信息。这个方向的探索对于一系列应用场景,比如虚拟现实和辅助现实场景,有着非常大潜在性的影响。
现有人体神经辐射场生成和驱动技术主要可以分为两类。
第一类技术利用单目或者多目人体视频去重建和驱动 3D 数字人。这类技术主要是针对特定数字人的建模和驱动,优化耗时大,缺乏泛化到大规模数字人重建上的能力。
第二类技术为了提升 3D 数字人重建的效率。提出利用多视角人体图片作为输入去重建人体神经辐射场。
尽管这第二类方法在 3D 人体重建上取得了一定的效果,这类方法往往需要特定相机角度下的多目人体图片作为输入。在现实生活中,我们往往只能获取到任意相机角度下人体的一张图片,给这类技术的应用提出了挑战。
在 ICCV2023 上,南洋理工大学 - 商汤科技联合研究中心 S-Lab 团队提出了基于单张图片的可泛化可驱动人体神经辐射场方法 SHERF。
论文地址:https://arxiv.org/abs/2303.12791
项目地址:https://skhu101.github.io/SHERF
代码开源:https://github.com/skhu101/SHERF
SHERF 可以基于用户输入的一张任意相机角度 3D 人体图片,该角度下相机和人体动作体型(SMPL)参数,以及给定目标输出空间下任意相机参数和人体动作体型(SMPL)参数,重建并驱动该 3D 数字人。本方法旨在利用任意相机角度下人体的一张图片去重建和驱动 3D 人体神经辐射场。
基本原理
人体神经辐射场重建和驱动主要分为五个步骤(如图 2 所示)。
第一步为目标空间(target space)到标准空间(canonical space)的坐标转换,基于用户输入目标输出空间下任意人体动作体型参数和相机外参参数,在目标空间内射出光线,并在光线上采样一系列空间点,利用 SMPL 算法的逆线性蒙皮转换(Inverse Linear Blend Skinning)将目标空间里的空间点转换到标准空间中。
第二步为提取标准空间中 3D 点对应的层级特征(hierarchical feature)。
全局特征(global feature)提取:利用二维编码网络(2D Encoder)从输入图片提取一维特征,并利用映射网络(Mapping Network)和风格编码网络(Style-Based Encoder)进一步将 1D 特征转换为标准空间下的三平面特征(Tri-plane),接下来将标准空间中 3D 点投影到三平面提取相应的全局特征;
点级别特征(Point-Level Feature)提取:首先利用二维编码网络(2D Encoder)从输入图片提取二维特征,并将观测空间(observation space)下 SMPL 的顶点投影到输入图片成像平面上去提取相应特征,紧接着利用 SMPL 算法的逆线性蒙皮转换(Inverse Linear Blend Skinning)将观测空间下 SMPL 的顶点转到标准空间下构建稀疏三维张量,然后利用稀疏卷积得到标准空间中 3D 点的点级别特征;
像素级别特征(Pixel-Aligned Feature)提取:首先利用二维编码网络(2D Encoder)从输入图片提取二维特征,并利用 SMPL 算法的线性蒙皮转换(Linear Blend Skinning)将标准空间中 3D 点转到观测空间下,再投影到输入图片成像平面上去提取相应像素级别特征。
第三步为特征融合(Feature Fusion Transformer),利用 Transformer 模型将三种不同级别的特征进行融合。第四步为人体神经辐射场解码生成相应图片信息,将标准空间中 3D 点坐标,光线方向向量和对应特征输入到人体神经辐射场解码网络中得到 3D 点的体密度和颜色信息,并进一步基于体渲染(Volume Rendering)在目标空间下生成相应像素的颜色值,并得到最终用户输入目标输出空间下任意人体动作体型参数和相机外参参数下的图片。
基于以上步骤,给定目标输出空间下任意人体动作序列(SMPL)参数可以从 2D 图片恢复 3D 数字人并加以驱动。
结果比较
本文在四个人体数据集上人体数据集上进行了实验,分别是 THuman,RenderPeople,ZJU_MoCap,HuMMan。
该研究对比了对比了最先进的可泛化多视角人体图片的人体神经辐射场方法,NHP 和 MPS-NeRF。本文在 peak signal-to-noise ratio (PSNR),structural similarity index (SSIM),以及 Learned Perceptual Image Patch Similarity (LPIPS)进行了比较。如下图所示,本文在所有数据集,所有指标上均大幅超越之前的方案。
SHERF 动态驱动 3D 人体结果如下图所示:
从左到右分别为 input Image、motion seq 1 、motion seq 2
本文同样验证了在 in-the-wild DeepFashion 数据上的泛化和驱动效果,如下图 3 所示,给定任意一张输入图片,本文利用单视角估 SMPL 的先进算法估出 SMPL 和相应相机角度,后利用本文提出的算法对 3D 人体进行驱动。实验结果显示 SHERF 具有较强的泛化性。
从左到右分别为 input Image、motion seq 1 、motion seq 2
应用前景
在游戏电影制作,虚拟现实增强现实或者其他需要数字人建模的场景,用户可以无需专业技能,专业软件,即可通过输入的一张任意相机角度 3D 人体图片,该角度下相机的参数和相应的人体动作体形参数(SMPL),就可以达到重建并驱动该 3D 数字人的目的。
结语
本文提出一种基于单张输入图片可泛化可驱动的人体神经辐射场方法 SHERF。可以承认的是,本文依然存在一定的缺陷。
首先,对于输入图片观测不到一部分人体表面, 渲染出来的结果可以观察到一定的瑕疵,一个解决的办法是建立一种遮挡可知(occlusion-aware)的人体表征。
其次,关于如何补齐输入图片观测不到人体部分依旧是一个很难得问题。本文从重建角度提出 SHERF,只能对观测不到的人体部分给出一个确定性的补齐,对观测不到部分的重建缺乏多样性。一个可行的方案是利用生成模型在观测不到的人体部分生成多样性高质量的 3D 人体效果。
最后,我们的代码已经全部开源,大量基于单张图片生成的数字人结果也已经上传项目主页,欢迎大家下载玩耍!