- 获取链接
- X
- 电子邮件
- 其他应用
- 获取链接
- X
- 电子邮件
- 其他应用
本文“精度”指的是结果的指标的好坏。
今天尝试一下newbing辅助写blog。
关于Tri-plane:EG3D是一种几何感知的3D生成对抗网络(GAN)。在EG3D中,作者提出了一种三面体(tri-plane)表示法,它将三个正交平面上的特征组合起来,以更高效地进行神经渲染。这种表示法包括一个显式的骨干网络,它在三个正交平面上生成对齐的特征,以及一个小型的隐式解码器¹。
TriPlaneNet是EG3D的编码器,用于EG3D反演。TriPlaneNet是一种编码器,它将图像编码为三面体表示法,并将其输入到EG3D中进行反演。TriPlaneNet可以用于重建人脸³。
Head3D是一种完整的三维头部生成方法,它使用Tri-plane特征提取人脸先验,并使用特征蒸馏将三维正面脸部转化为完整头部²。
源: 与必应的对话, 2023/3/29(1) EG3D: Efficient Geometry-aware 3D Generative Adversarial .... https://www.computationalimaging.org/publications/eg3d/ 访问时间 2023/3/29.
(2) [2303.13497] TriPlaneNet: An Encoder for EG3D Inversion. https://arxiv.org/abs/2303.13497 访问时间 2023/3/29.
(3) Head3D: Complete 3D Head Generation via Tri-plane Feature .... https://arxiv.org/abs/2303.15892 访问时间 2023/3/29.
关于Hash embedding:Instant Neural Graphics Primitives with a Multiresolution Hash Encoding是一篇论文,提出了一种多分辨率哈希编码的输入表示方法,用于减少神经图形原语的训练和评估成本。这种方法可以用于四种神经图形原语:神经辐射场(NeRF)、符号距离函数(SDF)、神经图像和神经体¹。
哈希编码是一种将高维数据映射到低维空间的技术。在Instant Neural Graphics Primitives中,哈希编码被用于将输入特征映射到哈希表中的格点。这种哈希表是多分辨率的,因此可以在不同的分辨率下使用不同的哈希函数。这种方法可以减少神经图形原语的训练和评估成本¹。
因此,hash embedding是Instant Neural Graphics Primitives中的一部分,它使用多分辨率哈希编码来将输入特征映射到哈希表中的格点。
源: 与必应的对话, 2023/3/29(1) Title: Instant Neural Graphics Primitives with a .... https://arxiv.org/abs/2201.05989 访问时间 2023/3/29.
(2) GitHub - NVlabs/instant-ngp: Instant neural graphics primitives .... https://github.com/NVlabs/instant-ngp 访问时间 2023/3/29.
(3) 论文解读 | Instant Neural Graphics Primitives with a .... https://zhuanlan.zhihu.com/p/458632354 访问时间 2023/3/29.
咳咳,正文来了。
《HumanNeRF:Free-viewpoint Rendering of Moving People from Monocular Video》是谷歌研究所在利用NeRF从单目视频中学习人体表示并合成自由视角图像的方法。取得了非常让人惊讶的图像合成结果。但是需要时间太长太长了,因此我基于这篇工作进行了一些修改。
首先删除了pose refine模块,我认为这是没必要的,而且会延长网络拟合需要的时间并增加资源占用。取而代之的,我用pose经过linear进行映射,结果作为对于weight的refine的网络的输入(取代了初始化random的tensor)。这个实验很成功,在减少了网络结构的情况下, 不仅加快了迭代速度,而且保持了模型精度。
之后我也删除了后面的non-rigid模块,但是小寄,虽然迭代速度快了很多,但是精度稍微下降了。
不过没关系,我真正的目的是想要在NeRF这里下文章,因为大家都是这么做的,有许多工作在最后通过instantNGP的hash embedding或者eg3d的tri-plane进行了优化,取得了很好的效果。
尽管他们的论文非常成功,但是并没有开源,于是我勇敢的进行了实验,然后寄了。
1、Hash embedding是通过16层nn.embedding实现的,相比于positional encoding,这种做法无疑会需要更大的资源。事实确实如此,哪怕我讲最后的MLP缩减1/3。仍然会导致训练时间的加长,而且训练出来的模型精度显著降低。这可能和nn.embedding的参数有关,但我没有进行进一步的实验调整参数。(因为目前又慢又吃资源又低精度)。
2、Triplane方法需要一张图像通过mapping和style encoding生成三个feature map之后reshape到Triplane。但是nerf方法是把图像当作最后的GT,因此我这里参考positional encoding和hash embedding做了两组实验。
2.1 初始化triplane(3,32,512,512)的tensor,require_grad为True。也就是希望triplane能够想nn。embedding一样可以更新,这样最后就能用更小的mlp。但是这样学习不到color,不过拟合sigma倒是快得很。
2.2初始化triplane(3,32,512,512)的tensor,require_grad为False。也就是指望后面的MLP来对查询出的点的特征学习其与rgb和sigma的关系。但是和上面一样,学不到color,只有sigma。
不知道问题出在哪,小寄一波。
评论
发表评论