zju3dv/InfiniDepth
[CVPR 2026] InfiniDepth: Arbitrary-Resolution and Fine-Grained Depth Estimation with Neural Implicit Fields
InfiniDepth
InfiniDepth 是一个用于单图像 3D 感知的研究级代码库。它利用神经隐式场(neural implicit fields)产生任意分辨率的深度图,并合成 3D Gaussian‑splatting (3DGS) 表示,亦可选择融合传感器的稀疏深度以获得公制尺度(metric-scale)的结果。
功能特色
| 功能 | 输入 | 输出 |
|---|---|---|
| 任意分辨率深度 | RGB 图像 | 任意分辨率的深度图(相对或公制) |
| 单眼视角合成 | RGB 图像 | 3D Gaussian‑splatting 模型 + 可选的新视角视频 |
| 深度传感器增强 | RGB + 稀疏深度 | 公制深度 + 3DGS |
快速开始
- 安装 – 请依照
INSTALL.md中的步骤指南进行(Python, PyTorch, 所需检查点)。 - 尝试演示 – 公开的 Gradio 应用程序托管于 Hugging Face:
上传一张 RGB 图像(若有深度图亦可上传),并选择 Depth 或 3DGS。python app.py # 在本地执行相同的界面 - 从命令行执行推理 –
example_scripts/下提供了示例脚本:
这些脚本以默认参数调用# 从单张 RGB 图像获取相对深度 bash example_scripts/infer_depth/courtyard_infinidepth.sh # 从单张 RGB 图像获取 3D Gaussian bash example_scripts/infer_gs/courtyard_infinidepth_gs.sh # 使用深度传感器获取公制深度 bash example_scripts/infer_depth/eth3d_infinidepth_depthsensor.shinference_depth.py或inference_gs.py;您可以透过 README 中记载的命令行旗标来更改输出分辨率、启用天空遮罩或导出点云。
多视角 / 视频支持
inference_multi_view_depth.py 可以处理图像文件夹或视频,产生逐帧深度图、对齐的点云以及合并后的全局点云。它既可以依赖 DA3 depth‑anything 模型进行尺度对齐,也可以使用明确的相机内参/外参(Waymo 风格的 txt 文件)。
训练与微调
本仓库包含完整的训练流程 (main.py)。在设置环境变量 workspace(存储实验输出)与 commonspace(共享数据集/预训练权重)后,您可以:
- 微调 现有的检查点:
python3 main.py \ --cfg_file training/exp_configs/exps/infinidepth.yaml \ --include training/exp_configs/components/data/train/infinidepth_train_hypersim.yaml \ ckpt_path=checkpoints/depth/infinidepth.ckpt \ exp_name=finetune_infinidepth_on_hypersim \ pl_trainer.devices=8 - 从头开始训练:省略
ckpt_path即可。 - 验证会在每个 epoch 后于混合真实数据基准上自动执行。
资源
- 项目页面: https://zju3dv.github.io/InfiniDepth/
- 论文: https://arxiv.org/abs/2601.03252 (CVPR 2026)
- Hugging Face 演示: https://huggingface.co/spaces/ritianyu/InfiniDepth
- 演示所用数据集: https://huggingface.co/datasets/ritianyu/game_4k_data
InfiniDepth 旨在为需要从单张图像进行高质量深度或 3D‑Gaussian 重建的研究人员与开发者提供服务,并支持选配传感器融合以达到公制精度。
相关
- 项目
- 项目
- 项目
- 项目