1. nerf商用存在的缺点:
短期的发展方向是将nerf转换为mesh,主要分为形状转换和材质转换。长期发展方向是直接使用NeRF渲染,需要解决无法编辑、硬件支持性低、渲染开销高的问题。
2. 整理部分nerf之后的改进的方向:
(1)针对nerf转换为mesh问题:形状转换和材质转换
(a) 形状转换部分目前有基于 Marching Cube的直接转换和先拟合SDF再Marching Cube转换的方式。
---直接marching cube 转换的方式:由于 NeRF 表面收敛结果不平整,结果不理想。
算法内容:假设模型由隐式数学函数表达,不断构造小立方体和模型的隐式表达函数求交。如果小立方体的表达式的值均为正或均为负,则小立方体与模型没有交点。立方体的每个顶点都有为正和为负两种可能。因此总共有2^8个组合,最终可以浓缩为15种情况。
在迭代所有小立方体后,对所有的三角形取交集,得到网格模型。
问题:以上的步骤是基于原有模型是使用隐函数表达。对于nerf模型,如何使用mlp判断立方体的顶点是否在nerf模型内?参考代码再了解:nerf_pl/extract_mesh.ipynb at master · kwea123/nerf_pl · GitHub
效果:
---先拟合SDF再转Mesh的方式:表面相对平滑可接受。
主要代表为 NeuS 和 Instant-NSR。但使用marching cube 算法得到的Mesh 在应用中最常见的问题是表面太多了,相当于一个正常平面被强行切成很多网格小面,而且表面分布非常混乱。
(b) 材质转换主要通过nvidia 的 NVDiffrast。NVDiffrec完成了两步的转换。
(2) 针对nerf快速渲染能力的提升:MobileNeRF实现了手机端60fps渲染。
(3) 针对快速运动场景的nerf的提升:DynIBaR
DynIBaR: Neural Dynamic Image-Based Rendering
(思考:如何根据nerf结果,或者以前的文章发现它们的motivation。)
(4)针对编辑:(待补充)
编辑效果离真实效果有差距,不能体现物体和物体间的光效。
3.readme文件的写法
安装环境和步骤、使用、参数、许可
4. 待做清单:
(1)nerf结果分析
(2)nerf 消融实验(衡量不同部分重要性)
(3)NeRF实际代码中不清楚的:(怎样生成一个sythesis视频,固定相机位置,每次使用不同的相机角度查询,再把渲染结果拼接成视频)
观点主要来自于:NeRF 模态商用分析 (leanote.com)