NeRF:火爆科研圈的三维重建技术大揭秘(3)
扫一扫
分享文章到微信
扫一扫
关注99科技网微信公众号
图 | 来自instant ngp
NeRF是如何做的?
图片来自:原始版本Nerf
对于一个代建的物体,首先我们会选定一个boundingbox把待渲染的物体给包围起来,对于一张图片从视角到某个像素发射的一条射线而言,我们会在这条射线上采样很多点,每个黑点都有一个xyz表示它的位置。
表示观察的角度。
MLP网络的输入就是boundingbox中所有黑点的五个自由度。对于每个采样点MLP网络会计算出这一点的颜色和密度,密度可以理解为这个点在这条射线方向上的一个不可见度。每个点的密度只和xyz有关,而每个点的颜色除了和点的位置有关还和观察的视角有关。之后通过volume rendering渲染出像素的颜色,和真实的颜色算误差,就可以训练网络。
NeRF也有缺点?!
虽然NeRF的优势显而易见,但在原始版本的NeRF中有存在很多缺点:
(1)训练和渲染都很慢
(2)只能表示静态场景
(3)经过训练的NeRF表示不会泛化到其他场景。
针对NeRF的不足,近两年有着各种各样的工作在不断完善它。主要的改进集中在四个方向:
(1)对于单场景的NeRF,从渲染的质量、场景大小着手。 主要的改进工作有Mip-NeRF、NeRF++、Mip-NeRF-360、NeRF-W、Block-NeRF、Urban-NeRF、CityNeRF等。 例如Block-NeRF可以对一个市区大小的场景进行高质量的重建。
99科技网:http://www.99it.com.cn
