谷歌Waymo研究人员用280 万张图像中渲染了旧金山整个街区,分块共35个,是迄今为止规模最大的nerf
(谷歌Waymo 是一家研发自动驾驶汽车的公司 )
块的范围选择:每个十字路口作为圆心,均匀排列的球,半径满足覆盖街道的75%,保证任意两个Block-NeRF之间有50%的重叠。
创新点:
- 训练单独的block:Appearance Embeddings、Learned Pose Refinement、Exposure Input(还有Transient Objects、Visibility Prediction,没在实验表格中)
- block相关:Block-NeRF Selection、Block-NeRF Compositing、Appearance Matching
相关: mip-nerf、nerf-w、barf
background
早期工作通常侧重于small-scale或者object-centric(以对象为中心)的场景重建
一、训练单独的block
是mip-NeRF中提出的模型的扩展
如果NeRF在每个pixel用single ray来采样,会出现模糊和锯齿
通过有效地渲染抗锯齿圆锥截头体而不是射线,mip-NeRF 减少了令人反感的锯齿伪影并显着提高了 NeRF 表示精细细节的能力,同时也比 NeRF 快 7% 和一半的大小。 与 NeRF 相比,mip-NeRF 在使用 NeRF 呈现的数据集上将平均错误率降低了 17%,在我们呈现的该数据集的具有挑战性的多尺度变体上降低了 60%。 Mip-NeRF 还能够在我们的多尺度数据集上匹配蛮力超采样 NeRF 的准确性,同时快 22 倍。 (翻译自mip-nerf摘要)
1. Appearance Embeddings
借用nerf-W的外观编码,用Generative Latent Optimization优化外观嵌入向量
NeRF-W
2. Learned Pose Refinement
与nerf本身一起学习优化平移和旋转偏移量
barf、A-NeRF、NeRF-、iNeRF
3. Exposure Input
把相机的曝光参数作为输入,$\gamma_{PE}=shutter \quad speed \times analog \quad gain / t$
$\gamma_{PE}$用的是四级正弦位置编码,$t$是一个系数,实验中取1000
4. Transient Objects运动物体
用语义分割模型,忽略动态物体,例如汽车、行人
10
5. Visibility Prediction(实际上好像没用上)
用于判断一个区域是否可见,网络很小,可以独立运行
用一个小MLP $f_{v}$ ,输入位置和角度,输出该点可见性,进入射线采样计算
用于选择Block-NeRF,和确定在两个 NeRF 之间执行外观匹配的位置
NeRV
二、合并多个Block-NeRF
Block-NeRF筛选机制
- 只考虑目标视点半径范围内的Block-NeRFs
- 计算Block-NeRF的可见性(对应上面的Visibility Prediction),若平均可见性低于阈值,则舍弃
Block-NeRF合并
把最终每个Block-NeRF渲染的图像,用反距离加权(IDW)——保证各个Block-NeRF间平滑过渡
他们还探索了相关的加权方法(没读懂,很拗口),但是会导致伪影和时间不连贯
We also explored a variant of IDW where the interpolation was performed over projected 3D points predicted by the expected Block-NeRF depth. This method suffers when the depth prediction is incorrect, leading to artifacts and temporal incoherence.
他们也尝试了用可见性(Visibility Prediction)加权,对远处重建更清晰,但是会导致时间的不连贯
Finally, we experiment with weighing the Block-NeRFs based on per-pixel and per-image predicted visibility. This produces sharper reconstructions of further-away areas but is prone to temporal inconsistency. Therefore, these methods are best used only when rendering still images. We provide further details in the supplement.
Appearance Matching 外观匹配
如果每个NeRF单独训练,同样的外观编码可能会对应不同的天气情况,导致块交界处无法正确合并。
对于有多个Block-NeRF覆盖的区域,用一小段时间(约100次迭代)单独训练外观编码,而完全停止NeRF网络的更新
Results and Experiments
采集数据方法:车顶装八个方向摄像头,行驶采集图像
Model Ablations
| 方法 | 效果 |
| ————— | —————————————————————————————— |
| Appearance | 去掉伪影 |
| Pose Opt | 变清晰 |
| Exposure | 略微改善,便于改变结果的曝光度to change the exposure during inference |块越小越好
插值方法
主要问题
瞬态物体解决方法
学习瞬态对象learning transient objects :NeRF-W
对瞬态对象建模directly modeling dynamic objects :43、68
sampling unbounded volumetric representations解决方法
NeRF++、Mip-NeRF 360
加速渲染
- 缓存NeRF caching techniques: Fastnerf、25、73
- 稀疏体素网格sparse voxel grids:34
- 其他:41、59、72