关注公众号,发现CV技术之美
本文经作者授权转载自知乎:
https://zhuanlan.zhihu.com/p/421072327
我们介绍一篇2021 ICCV的人体重建论文:Animatable Neural Radiance Fields for Modeling Dynamic Human Bodies,该论文由浙江大学CAD&CG国家重点实验室/浙大-商汤三维视觉联合实验室提出。
![e88c91c2e1090bfaf339b3d7206ff9c8.png](https://img-blog.csdnimg.cn/img_convert/e88c91c2e1090bfaf339b3d7206ff9c8.png)
论文:https://arxiv.org/abs/2105.02872
代码:https://github.com/zju3dv/animatable_nerf
Project page:https://zju3dv.github.io/animatable_nerf/
01
引言
1.1 论文的问题描述
输入一段稀疏多视角的视频,论文希望生成一个可驱动的人体模型,也就是输入新的人体姿态,可以生成相应姿态下的人体图片,而且可以生成自由视点下的图片。该问题有很多应用,比如自由视角观赛、虚拟视频会议、影视制作。下面是论文的一个结果。
1.2 当前方法在这个问题的局限性
最近CVPR 2021有一些工作尝试解决这个问题。Neural Body [3]提出结构化隐变量,将neural radiance fields和参数化人体模型相结合,使得他可以表示动态人体。虽然Neural Body在训练过的人体姿态上效果很好,他在未见过的人体姿态上生成的图片很扭曲,效果不好。
![050d212596aed786465f398eef2e411e.png](https://img-blog.csdnimg.cn/img_convert/050d212596aed786465f398eef2e411e.png)
CVPR 2021的另一个工作D-NeRF [4]尝试用另一种方式来表示动态人体。他把视频表示为一个标准人体模型和一组变形场。这里的标准人体模型用neural radiance field表示。变形场把各个视频帧的空间坐标和标准坐标系建立dense correspondences。
D-NeRF的表示虽然更有解释性,但他有两个limitations。一个是D-NeRF用translational vector表示deformation,有很高的自由度,导致从RGB视频优化网络很容易收敛到局部最优点。一个是D-NeRF用网络预测translational vector,导致他无法泛化到新的人体姿态上。
![e4a67ab1be8e6973236c9f5cd7c56db4.png](https://img-blog.csdnimg.cn/img_convert/e4a67ab1be8e6973236c9f5cd7c56db4.png)
1.3 我们的观察和对问题的解决
为了解决之前方法的问题,我们提出用线性蒙皮模型来表示变形场。对于一个视频帧,我们用EasyMocap检测它的3维人体骨架。我们用网络预测视频帧空间中三维点的蒙皮权重,然后和人体骨架计算蒙皮公式,将三维点转到标准空间。
![cd37cc9e94ffa9aa601f67586cf9233a.png](https://img-blog.csdnimg.cn/img_convert/cd37cc9e94ffa9aa601f67586cf9233a.png)
线性蒙皮模型相对于D-NeRF使用的translational vector field有两个优势:
1. 人体骨架可以从图片中检测,我们只需要优化蒙皮权重场。这使得我们在不需要复杂的regularization technique也能从图片中优化得到变形场。
2. 当人体模型训练完成后,可以用新的人体骨架进行驱动。
02
论文方法
2.1 Overview of the proposed pipeline
论文将视频表示为一个标准人体模型和一组变形场,其中变形场用线性蒙皮模型表示。具体步骤为:
1. 给定一个视频帧空间的三维点,论文在视频帧坐标系定义了一个neural blend weight field,使用全连接网络将三维点映射为蒙皮权重。
2. 输入当前视频帧下的人体骨架,生成变换矩阵,使用线性蒙皮模型将三维点转回标准坐标系。
3. 论文在标准坐标系上定义了一个neural radiance field。对于变换后的点,我们用neural radiance field预测三维点的volume density和color。
![67ec653a299768bb81659fb6404b5767.png](https://img-blog.csdnimg.cn/img_convert/67ec653a299768bb81659fb6404b5767.png)
2.2 Neural blend weight field
我们发现如果让网络直接输出蒙皮权重,会容易收敛到局部最小值。为了解决这个问题,我们首先对任意三维点赋予一个初始化的SMPL蒙皮权重,然后用网络预测一个残差值,两者得到最终的蒙皮权重。
![49e859d6fed21d00107ad2dd6d2f8dd1.png](https://img-blog.csdnimg.cn/img_convert/49e859d6fed21d00107ad2dd6d2f8dd1.png)
2.3 Training and animation
在训练时,论文通过最小化渲染图片和观察图片的误差来进行网络参数的学习。除此之外,我们在标准人体坐标系中学习了一个neural blend weight field。论文通过约束让视频帧坐标系和标准坐标系的对应点的blend weight相同来学习标准坐标系下的neural blend weight field。
![1032d6eb662451e734384df0c86b1872.png](https://img-blog.csdnimg.cn/img_convert/1032d6eb662451e734384df0c86b1872.png)
在驱动人体模型时,我们需要优化视频帧坐标系下的neural blend weight field。这个也是通过约束视频帧坐标系和标准坐标系的对应点的blend weight相同来进行训练。需要注意的是,标准坐标系的neural blend weight field在驱动人体模型时参数是固定的。
03
实验分析
3.1 Ablation study
我们比较了使用neural blend weight和SMPL blend weight的效果,发现neural blend blend weight大大提高了渲染效果。
我们可视化了网络学习的blend weight的残差值,可以看到网络主要改进了拥有SMPL不能精细描述的区域,比如脖子、手部、胸部和裤子。
![2783d5ed54401971c704e7e94d42e4f6.png](https://img-blog.csdnimg.cn/img_convert/2783d5ed54401971c704e7e94d42e4f6.png)
3.2 与其他方法的比较
论文在Human3.6M和ZJU-MoCap数据集上进行了和Neural Textures [1], Neural Human Rendering [2], Neural Body [3]的比较。数值结果上Animatable NeRF远远超过之前的方法。
![d09c0abcbfeba24847a585e8f1e5a8e0.png](https://img-blog.csdnimg.cn/img_convert/d09c0abcbfeba24847a585e8f1e5a8e0.png)
参考文献
[1] Thies, Justus, et al. Deferred neural rendering: Image synthesis using neural textures. In ACM TOG, 2019.
[2] Wu, Minye, et al. Multi-View Neural Human Rendering. In CVPR, 2020.
[3] Peng, Sida, et al. Neural body: Implicit neural representations with structured latent codes for novel view synthesis of dynamic humans. In CVPR, 2021.
[4] Pumarola, Albert, et al. D-nerf: Neural radiance fields for dynamic scenes. In CVPR, 2021.
END
欢迎加入「三维视觉」交流群👇备注:3D