Satellite Neural Radiance Fields (Sat-NeRF) 使用指南
1. 项目介绍
Sat-NeRF 是一种前沿的卫星神经辐射场技术,旨在野外环境下学习多视图卫星摄影测量的新方法。该项目结合了最新的神经渲染技术和使用理性多项式系数(RPC)函数表示的原生卫星相机模型。Sat-NeRF 能够生成与传统顶级立体管道相当质量的表面建模,并且通过阴影感知光照模型及不确定性权重处理诸如变化阴影和瞬态物体(如车辆、植被)等挑战。此项目由ENS Paris-Saclay的Centre Borelli开发,并在CVPR EarthVision研讨会2022上被接受。
2. 项目快速启动
环境准备
首先,确保你的系统中安装了Python和Conda。接下来,创建必要的conda环境:
conda init && bash -i setup_satnerf_env.sh
记得如果运行时遇到库找不到的问题,可能需要调整LD_LIBRARY_PATH环境变量以指向正确的库路径:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CONDA_PREFIX/lib
下载训练和测试数据集以及预训练模型到指定目录后,你可以快速测试Sat-NeRF来生成表面模型:
export dataset_dir=你的数据目录
export pretrained_models=你的预训练模型目录
python3 create_satnerf_dsm.py Sat-NeRF $pretrained_models/JAX_068 out_dsm_path/JAX_068 28 $pretrained_models/JAX_068 $dataset_dir/crops_rpcs_ba_v2/JAX_068 $dataset_dir/RGB-crops/JAX_068 $dataset_dir/Truth
或者,进行新视角合成:
python3 eval_satnerf.py Sat-NeRF $pretrained_models/JAX_068 out_eval_path/JAX_068 28 val $pretrained_models/JAX_068 $dataset_dir/crops_rpcs_ba_v2/JAX_068 $dataset_dir/RGB-crops/JAX_068 $dataset_dir/Truth
3. 应用案例和最佳实践
Sat-NeRF可以应用于多场景的卫星图像处理,例如城市规划、灾害监测和地形分析。最佳实践包括先利用bundle_adjust工具对卫星相机模型进行束调整以提升精度,然后通过Sat-NeRF训练得到高质量的表面重建模型。为了达到最佳效果,建议遵循以下步骤:
- 对DFC2019数据集应用
create_satellite_dataset.py脚本生成输入数据。 - 使用已有的环境或自定义配置进行训练和评估。
- 在新场景的处理中考虑深度监督的引入,以进一步提升模型性能。
4. 典型生态项目
虽然Sat-NeRF本身是专精于卫星影像处理的一个独立项目,但其成功实施鼓励了相关领域的研究和发展。例如,与之相辅相成的研究方向包括但不限于:
- 卫星图像时间序列分析:结合Sat-NeRF的场景重建能力,分析不同时期的地表变化。
- 遥感图像自动标注:利用Sat-NeRF生成的数据辅助训练自动分类算法。
- 城市规划支持系统:将高精度的三维地形信息整合进城市设计软件,提供决策支持。
开发者可以在Sat-NeRF的基础上扩展至更多应用场景,促进地理信息系统和计算机视觉的融合创新。
以上就是关于Sat-NeRF的基本使用和拓展思路。记住,在具体实践中,详细阅读项目的GitHub页面上的说明文档,以获取最新信息和更深入的指导。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



