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

快速开始

  1. 安装 – 请依照 INSTALL.md 中的步骤指南进行(Python, PyTorch, 所需检查点)。
  2. 尝试演示 – 公开的 Gradio 应用程序托管于 Hugging Face:
    python app.py   # 在本地执行相同的界面
    
    上传一张 RGB 图像(若有深度图亦可上传),并选择 Depth3DGS
  3. 从命令行执行推理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.sh
    
    这些脚本以默认参数调用 inference_depth.pyinference_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 后于混合真实数据基准上自动执行。

资源


InfiniDepth 旨在为需要从单张图像进行高质量深度或 3D‑Gaussian 重建的研究人员与开发者提供服务,并支持选配传感器融合以达到公制精度。

相关

  • 项目
  • 项目
  • 项目
  • 项目