中文标题:深度信息监督的神经辐射场:需要更少的视角并且更快的训练
解决的问题:
- 在缺少视野的情况下,神经辐射场不能拟合正确的几何结构。
创新点
- NeRF的第一步需要对场景图像做SFM(structure from motions),这个过程不光会获得场景间的位姿变换信息,同时会获得一部分特征点的“免费”深度。
- 使用这些深度信息引导NeRF学习场景几何信息。
- 设计了一个损失函数鼓励射线终止位置的分布符合3D关键点。
解决方案
由深度监督的射线终止位置
终止位置分布分析
- 根据NeRF的积分公式,近表面深度为D的图像点的理想射线分布为
δ
(
t
−
D
)
\delta (t - D)
δ(t−D)
深度建模及监督
- (a) 即便绘制出的体密度在穿过多个物体后可能是多峰的,但终止分布仍会是单峰的。
- (b) 如果在缺乏场景数量的情况下,NeRF有可能学习出多峰(3D结构不清晰)。
- (c ) NeRF 会随着训练视场数增加而更多呈现出单峰趋势(学习了准确的3D结构)。
深度建模及监督
- 不同视角下由COLMAP估计得到得相机外参矩阵为 ( P 1 , P 2 , . . . ) (P_1,P_2,...) (P1,P2,...)。同时会得到一系列3D Keypoints { X : x 1 , x 2 , . . . ∈ R 3 } \{X:x_1,x_2,...\in \mathbb{R}^3 \} {X:x1,x2,...∈R3}, 每一个关键点可以被相机j: X j ∈ X X_j \in X Xj∈X看到。
- 对于每一张图 I j I_j Ij和相机外参 P j P_j Pj, 我们重投影得到可见关键点 x i ∈ X j x_i \in X_j xi∈Xj的像素坐标以及深度 D i j D_{ij} Dij.
- 将射线遇到的第一个表面位置建模为随机变量 D i j \mathbb D_{ij} Dij, 该变量正态分布在COLMAP估计的深度 D i j D_{ij} Dij周围,方差为 σ ^ i \hat\sigma_{i} σ^i: D i j ∼ N ( D i j , σ ^ i ) \mathbb D_{ij} \thicksim \mathbb N(D_{ij},\hat\sigma_{i}) Dij∼N(Dij,σ^i)
- 最终目标是减少渲染权重和加噪深度分布的KL散度
![在这里插入图片描述](https://img-blog.csdnimg.cn/8cfdd877ae9141ce884a493d9b4ee7b1.png#pic_center
KL散度(Kullback-Leibler divergence):又称为相对熵,衡量两个概率分布的相似性,用 D K L ( P ∣ ∣ Q ) 表示 D_{KL}(P||Q)表示 DKL(P∣∣Q)表示,参考机器学习:KL散度详解
- 射线分布损失
- 代码里这里的方差被置为1了。
参考文献
Deng K, Liu A, Zhu J Y, et al. Depth-supervised nerf: Fewer views and faster training for free[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2022: 12882-12891.