简介
论文地址:INGeo: Accelerating Instant Neural Scene Reconstruction with Noisy Geometry Priors
首先我们知道Instant-ngp利用最先进的射线推进技术(指数步进、空白跳过、样本压缩)实现密集网格自剪枝的采样策略,这种采样策略依赖与根据密度估计得到的占用网格,因此一开始平均采样点数量较多,但随着网络的拟合,密度估计的准确、占用网格的逐步更新,平均采样点数量逐渐减少。那么,如果一开始就有较为准确的占用网格,就可以有效减少训练初期无谓的采样点数量,从而减少网络迭代次数,提升网络速度。
作者提出,在AR/VR头显上,3D场景的几何先验可以从许多来源获得,如RGB-D摄像机和深度估计。也可以从colmap中获得点云然后转换为占用网格,但是会有缺失点和占用网格中的缺失区域,这可能会对场景重建产生负面影响,为此作者设计了三个策略来减轻噪声的影响,并利用带噪声几何先验来加速训练
Density scaling
直接将初始化的占用网格加载到模型中,并没有观察到明显的加速。如下图(a)
初始化的占用网格虽然可以确保使用正确的网格单元对点进行采样和训练。但是,单元内的初始密度值由模型计算,其权重是随机初始化的,因此模型的密度预测一般较低。上图(a)中可以看到模型看起来相当透明,而我们知道体渲染公式中的密度是为了减低累计透射率,也就是是要求物体表面的密度要高得多,累积透过率将迅速下降到0,这样子,就不会浪费时间去训练模型内部的点。
加入一个归纳偏差,以确保光线在遇到占用网格标识的物体表面后很快终止。即将初始密度预测放大一个因子。这使得表面点的密度大得多,如上图 (b)所示,渲染的图像变得更加“坚实”,实验证明这得到了更好的训练加速。
Point-cloud splatting
当将点云转换为占用网格时,默认选项是如果一个点在其对应的单元格内,将占用的元素设置为正,在这种情况下的占用网格是稀疏和不完整,存在大量的缺失区域,这也导致训练过程中PSNR很快就进入了平稳期,如下图a。
对此的策略是不要将每个点视为无穷小,而是让它在半径内飞溅到附近的网格单元,也就是将点扩大为圆球,让更多网格显示占用。这样填补小的缺失区域,代价是增加更多的空网格单元,如上图b,PSNR有了稳步上升。
Updating occupancy grids
先验几何的稀疏性和错误是不可避免的,所以不能在整个训练过程中完全依赖初始占用网格,初始化的占用网格与不断更新的占用网格相结合,从一个初始化的占用网格开始,但也遵循Instant-ngp的网格更新策略,以一定的频率重新评估体积密度,并更新占用网格。这里假设从几何先验(深度传感器,深度估计)获得的初始占用网格是稀疏的但准确的(低召回率但高精度)