实战指南:任意视角下的空间几何恢复、推理部署与模型配置详解)
人工智能计算机视觉深度学习【免费下载链接】Depth-Anything-3Depth Anything 3项目地址https://gitcode.com/gh_mirrors/de/Depth-Anything-3点击查看免费下载本篇技术指南以 Depth Anything 3DA3仓库的 README.md 为骨架系统讲解这一从任意视觉输入恢复空间一致几何的模型家族的核心设计、安装步骤、Python API 与 CLI 推理流程、YAML 配置驱动的模型自定义机制以及模型选型与常见使用问题。读完本文你将掌握如何从零搭建 DA3 环境、用一行代码或一条命令完成单目/多视角深度估计与位姿估计并能够按需定制模型结构与导出格式将其接入自己的视觉几何工作流。核心设计单 Transformer 骨干 深度射线表示DA3 的目标是从任意视觉输入单张或多张 RGB 图像无论是否提供相机位姿预测空间一致的几何。为实现最小化建模官方在 README 中提出两个关键洞察一个朴素 Transformer 骨干即可胜任无需专门的架构设计普通的 vanilla DINO encoder 就足以作为骨干网络统一的深度射线depth-ray表示取代了复杂的多任务学习设计用单一表示统一处理深度、位姿与稠密几何输出。从源码结构看这一设计体现在DepthAnything3Net的组装方式上网络由 DINOv2 骨干net、DPT/DualDPT 深度头head以及可选的相机编码器/解码器cam_enc/cam_dec、3D 高斯头与适配器gs_head/gs_adapter构成各组件均由 YAML 配置驱动。前向过程依次完成特征提取、深度头推理、相机位姿估计射线头或相机解码器两种途径与可选的 3DGS 预测并在后端统一做天空区域深度后处理见 da3.py 的 forward 实现。基于这一统一表示官方宣称一个模型即可覆盖多种任务据 README 所述DA3 在单目深度估计上显著优于 DA2在多视角深度与位姿估计上显著优于 VGGT且全部模型仅使用公开学术数据集训练单目深度估计从单张 RGB 图像预测深度图多视角深度估计从多张图像生成一致深度支持高质量融合位姿条件深度估计输入相机位姿时获得更优的深度一致性相机位姿估计从一张或多张图像估计相机外参与内参3D 高斯估计直接预测 3D 高斯支持高保真新视角合成。图Depth Anything 3 视觉几何能力总览源自仓库 assets/images/da3_radar.png模型家族Model Zoo三系列 Nested 嵌套模型仓库发布三系列模型分别面向视觉几何中的不同使用场景DA3 Main Series旗舰基础模型DA3-Giant、DA3-Large、DA3-Base、DA3-Small以统一的 depth-ray 表示训练通过改变输入配置即可执行单目深度、多视角深度、位姿条件深度、相机位姿估计与 3D 高斯估计等多项任务DA3 Metric Series单目公制深度DA3Metric-Large面向需要真实世界尺度的应用专门微调用于单目设定下的公制深度估计DA3 Monocular Series单目深度DA3Mono-Large专为高质量相对单目深度设计与基于视差disparity的模型如 Depth Anything 2不同它直接预测深度几何精度更优。在此基础上官方进一步开发了Nested 系列DA3Nested-Giant-Large将任意视角大模型与公制深度模型组合以真实世界公制尺度重建视觉几何。从源码看嵌套网络的实现位于NestedDepthAnything3Net主分支完成任意视角推理公制分支输出公制深度随后通过非天空区域的最小二乘尺度估计对齐两个分支的深度least_squares_scale_scalar并对天空区域做最大深度填充处理最终输出带is_metric标记与scale_factor的米制深度。各模型能力与参数规模详见下文 模型清单与许可。快速开始环境安装安装命令README 给出的标准安装流程如下pip install xformers torch\2 torchvision pip install -e . # Basic pip install --no-build-isolation githttps://github.com/nerfstudio-project/gsplat.git0b4dddf04cb687367602c01196913cde6a743d70 # for gaussian head pip install -e .[app] # Gradio, python3.10 pip install -e .[all] # ALL从 pyproject.toml 可以确认项目的工程约束Python 版本要求3.9, 3.13app额外依赖Gradio、Pillow要求 Python 3.10gs额外依赖即上述固定 commit 的 gsplat用于 3D 高斯头all是app与gs的全量组合。安装完成后会注册da3命令行入口见 pyproject.toml 的 project.scripts 段。模型下载与网络问题模型通过 Hugging Face Hub 加载模型仓库名为depth-anything/DA3NESTED-GIANT-LARGE等MODEL_DIR环境变量既可指向 HF 仓库名也可指向本地目录。若遇到网络问题README 建议使用镜像export HF_ENDPOINThttps://hf-mirror.com也可直接从 Hugging Face 手动下载模型权重到本地目录后将MODEL_DIR指向该本地路径。示例素材仓库自带可直接用于验证的示例输入assets/examples/SOH目录下的多视角图像序列如000.png、010.png以及assets/examples/robot_unitree.mp4示例视频后续所有命令示例均基于这些素材。Python API 基础用法一次推理多路输出最小可用代码README 提供的最小示例加载 Nested 大模型并对图像序列执行推理import glob, os, torch from depth_anything_3.api import DepthAnything3 device torch.device(cuda) model DepthAnything3.from_pretrained(depth-anything/DA3NESTED-GIANT-LARGE) model model.to(devicedevice) example_path assets/examples/SOH images sorted(glob.glob(os.path.join(example_path, *.png))) prediction model.inference( images, ) # prediction.processed_images : [N, H, W, 3] uint8 array print(prediction.processed_images.shape) # prediction.depth : [N, H, W] float32 array print(prediction.depth.shape) # prediction.conf : [N, H, W] float32 array print(prediction.conf.shape) # prediction.extrinsics : [N, 3, 4] float32 array # opencv w2c or colmap format print(prediction.extrinsics.shape) # prediction.intrinsics : [N, 3, 3] float32 array print(prediction.intrinsics.shape)DepthAnything3同时继承nn.Module与PyTorchModelHubMixin见 api.py因此既支持from_pretrained从 Hub 拉取权重也支持model_name预设直接构建如DepthAnything3(model_nameda3-giant)预设清单由MODEL_REGISTRY自动扫描src/depth_anything_3/configs下的 YAML 文件生成。推理流程与输出字段inference()内部走完整管线对应 api.py预处理InputProcessor将图像列表转为(1, N, 3, H, W)张量按process_res默认 504与process_res_method默认upper_bound_resize做等比缩放并统一到 14 的倍数ViT patch 尺寸若传入内外参则同步缩放矩阵见 input_processor.py外参归一化以首帧为基准对齐尺度并除以中位距离保证数值稳定前向推理自动选择bfloat16若 GPU 支持否则float16的 autocast 精度后处理OutputProcessor将原始输出转换为Prediction数据类尺度对齐若提供了输入外参通过 Umeyama 对齐视图数 ≥ 10 时启用 RANSAC见 api.pyalign_to_input_ext_scaleTrue时用输入位姿替换预测位姿并等比缩放深度可视化图反归一化ImageNet mean/std后得到processed_images导出若指定export_dir按export_format写出结果。Prediction对象除 README 展示的五个字段外还可能包含取决于模型与参数is_metric是否为米制深度、sky天空分割图、scale_factor公制缩放因子、gaussians3D 高斯infer_gsTrue时与aux指定层的中间特征。extrinsics注释表明其为 OpenCV/COLMAP 格式的 world-to-cameraw2c矩阵。处理分辨率策略process_res与process_res_method控制预处理缩放upper_bound_resize使长边等于目标值lower_bound_resize使短边等于目标值以*crop结尾的方法则通过中心裁剪向下取整到 14 的倍数。例如 1200×1600 输入在process_res504、upper_bound_resize下输出约 378×504。批内图像尺寸不一致时处理器会自动中心裁剪到最小尺寸并相应平移内参主点见 input_processor.py。命令行 CLI 实战后端常驻、自动模式与视频处理da3CLI 提供从单图到视频、COLMAP 数据集的全流程处理能力完整命令参考见 docs/CLI.md。README 给出的核心工作流如下后端常驻 推理复用export MODEL_DIRdepth-anything/DA3NESTED-GIANT-LARGE # This can be a Hugging Face repository or a local directory # If you encounter network issues, consider using the following mirror: export HF_ENDPOINThttps://hf-mirror.com # Alternatively, you can download the model directly from Hugging Face export GALLERY_DIRworkspace/gallery mkdir -p $GALLERY_DIR # CLI auto mode with backend reuse da3 backend --model-dir ${MODEL_DIR} --gallery-dir ${GALLERY_DIR} # Cache model to gpu da3 auto assets/examples/SOH \ --export-format glb \ --export-dir ${GALLERY_DIR}/TEST_BACKEND/SOH \ --use-backendda3 backend将模型常驻 GPU 内存并提供 REST 推理接口默认监听127.0.0.1:8008详见 cli.py 的 backend 命令配合--use-backend可避免每条命令重复加载模型。注意使用--use-backend时--export-dir必须是该后端--gallery-dir下的相对路径本地非后端运行则无此限制。视频处理 Transformer 特征可视化# CLI video processing with feature visualization da3 video assets/examples/robot_unitree.mp4 \ --fps 15 \ --use-backend \ --export-dir ${GALLERY_DIR}/TEST_BACKEND/robo \ --export-format glb-feat_vis \ --feat-vis-fps 15 \ --process-res-method lower_bound_resize \ --export-feat 11,21,31da3 video先按--fps抽帧再执行推理--export-format glb-feat_vis表示同时导出 GLB 三维场景与特征可视化视频--export-feat 11,21,31指定从第 11、21、31 层提取中间特征由 cli.py 解析为层索引列表传入推理。本地自动模式不依赖后端# CLI auto mode without backend reuse da3 auto assets/examples/SOH \ --export-format glb \ --export-dir ${GALLERY_DIR}/TEST_CLI/SOH \ --model-dir ${MODEL_DIR}da3 auto会自动检测输入类型单张图片 / 图片目录 / 视频 / COLMAP 目录检测逻辑见 cli.py并分发到对应处理路径。默认导出目录为debug默认导出格式为glb每个导出目录包含scene.glb、scene.jpg及可选的depth_vis/、gs_video/等子目录。常用参数速览参数默认值说明--model-dir默认模型模型目录或 HF 仓库名--export-formatglb支持mini_npz、glb、feat_vis等可连字符组合如mini_npz-glb--process-res504处理分辨率--process-res-methodupper_bound_resize缩放方法--use-backend/--backend-urlFalse/http://localhost:8008复用后端服务--fps1.0视频抽帧频率--use-ray-poseFalse改用射线头估计位姿更慢但更准--ref-view-strategysaddle_balanced多视角参考视图选择策略--conf-thresh-percentile40.0GLB 置信度自适应阈值下百分位--num-max-points1000000GLB 点云最大点数--show-camerasTrueGLB 场景中显示相机线框--feat-vis-fps15特征可视化视频帧率模型架构自定义YAML 配置驱动模型结构在DepthAnything3Net中定义并通过src/depth_anything_3/configs下的 YAML 文件指定输入输出处理由DepthAnything3负责。要自定义模型架构只需新建一个配置文件例如path/to/new/config__object__: path: depth_anything_3.model.da3 name: DepthAnything3Net args: as_params net: __object__: path: depth_anything_3.model.dinov2.dinov2 name: DinoV2 args: as_params name: vitb out_layers: [5, 7, 9, 11] alt_start: 4 qknorm_start: 4 rope_start: 4 cat_token: True head: __object__: path: depth_anything_3.model.dualdpt name: DualDPT args: as_params dim_in: head_dim_in 1536 output_dim: 2 features: head_features 128 out_channels: head_out_channels [96, 192, 384, 768]随后即可用配置工具创建模型from depth_anything_3.cfg import create_object, load_config Model create_object(load_config(path/to/new/config))配置机制由 cfg.py 实现load_config支持文件路径与模块路径两种方式并解析__inherit__继承create_object根据__object__的path/name/args字段动态导入类并实例化as_params将剩余字段作为关键字参数传入构造函数as_config则传入整个配置对象。对照仓库自带的 da3-giant.yaml 可以看到大模型版本骨干为vitg、out_layers: [19, 27, 33, 39]、alt_start/qknorm_start/rope_start均为 13DualDPT 头dim_in: 3072、output_dim: 2深度与置信度双通道并额外配置了cam_enc输出 1536 维、cam_dec与 GSDPT 高斯头output_dim: 38及GaussianAdapterSH 阶数 2、尺度范围1e-530.0等。Nested 模型配置da3nested-giant-large.yaml则通过__inherit__组合da3-giant任意视角分支与da3metric-large公制分支。模型清单与许可Model Cards️ Model Name Params Rel. Depth Pose Est. Pose Cond. GS Met. Depth☁️ Sky Seg LicenseNestedDA3NESTED-GIANT-LARGE-1.11.40B✅✅✅✅✅✅CC BY-NC 4.0DA3NESTED-GIANT-LARGE1.40B✅✅✅✅✅✅CC BY-NC 4.0Any-view ModelDA3-GIANT-1.11.15B✅✅✅✅CC BY-NC 4.0DA3-GIANT1.15B✅✅✅✅CC BY-NC 4.0DA3-LARGE-1.10.35B✅✅✅CC BY-NC 4.0DA3-LARGE0.35B✅✅✅CC BY-NC 4.0DA3-BASE0.12B✅✅✅Apache 2.0DA3-SMALL0.08B✅✅✅Apache 2.0Monocular Metric DepthDA3METRIC-LARGE0.35B✅✅✅Apache 2.0Monocular DepthDA3MONO-LARGE0.35B✅✅Apache 2.0几点选型提示来自 README一般而言DA3-LARGE 可取得与 VGGT 相当的结果Nested 系列使用任意视角模型估计位姿与深度再用单目公制深度估计器进行尺度缩放⚠️ 带-1.1后缀的模型修复了一个训练 bug 后重新训练优先使用这些新 checkpoint原始的DA3NESTED-GIANT-LARGE、DA3-GIANT、DA3-LARGE仍可下载但已弃用。-1.1模型在街景场景上预期有显著更优的表现。FAQ 与使用细节单目公制深度换算使用DA3METRIC-LARGE获取米制深度时需要按公式换算metric_depth focal * net_output / 300.其中focal为像素焦距通常取相机内参矩阵 K 中 fx 与 fy 的平均值。注意DA3NESTED-GIANT-LARGE的输出本身已是米制其Prediction.is_metric 1见 da3.py 的嵌套对齐逻辑。射线头use_ray_poseAPI 与 CLI 均支持use_ray_pose参数为True时模型从射线头推导相机位姿通常稍慢但更准确默认为False以获得更快推理。从源码看射线分支利用get_extrinsic_from_camray从射线预测与置信度恢复外参、焦距与主点再组装内参矩阵见 da3.py。README 给出DA3NESTED-GIANT-LARGE在五个数据集上的 AUC3 对比ModelHiRoomETH3DDTU7ScenesScanNetray_head84.452.693.929.589.4cam_head80.348.494.128.585.0注表中为 README 报告的官方评测结果射线头在多数数据集上 AUC3 更高即位姿估计更准。旧 GPU 无 XFormers 支持对于不支持 XFormers 的旧 GPUREADME 指向官方 Issue #11 的社区解决方案感谢贡献者 S-Mahoney可参考该讨论适配环境。超长视频推理DA3-StreamingREADME 新闻栏提到2025-11-12 发布新模型与DA3-Streaming已发布用于在12GB 以内的 GPU 显存下通过滑动窗口流式推理处理超长视频序列。其独立说明见 da3_streaming/README.md采用分块chunk流式管线、跨块状态管理支持长时间序列与超大场景的在线推理并提供da3_streaming.py入口与 KITTI/TUM 上的评测数据适合有超长视频需求的读者单独查阅。配套文档与生态除 README 外仓库还提供三类深入文档命令行接口文档auto/image/images/video/colmap/backend/gradio/gallery八大子命令的完整参数表与示例Python API 文档inference()全参数说明、导出格式mini_npz/npz/glb/gs_ply/gs_video/feat_vis/depth_vis与返回字段详解基准评测文档位姿估计与 3D 重建在 5 个数据集上的评测流程。此外docs/funcs/ref_view_strategy.md详解多视角输入下的参考视图选择策略first/middle/saddle_balanced/saddle_sim_range其中saddle_balanced为默认推荐middle适合时间有序的视频帧社区还维护了基于 DA3 的集成项目如 Blender 重建插件、ComfyUI 节点、ROS2 封装、WebXR 视频深度查看器等欢迎通过 PR 提交自己的 DA3 应用。代码库本身还内置了基于 Gradio 的交互式 Web UI 与结果画廊da3 gradio/da3 gallery便于可视化对比模型输出多格式导出glb、npz、深度图、ply、3DGS 视频等可与下游三维工具无缝衔接。若在你的研究或项目中使用了 DA3可引用论文Haotong Lin et al., Depth Anything 3: Recovering the visual space from any views, arXiv:2511.10647 (2025)。赞分享人工智能计算机视觉深度学习【免费下载链接】Depth-Anything-3Depth Anything 3项目地址https://gitcode.com/gh_mirrors/de/Depth-Anything-3点击查看免费下载相关推荐Depth Anything 单目深度估计模型解析DINOv2 骨干与 DPT 解码架构、推理配置与 Transformers 实战指南Depth Anything 单目深度估计模型解析DINOv2 骨干与 DPT 解码架构、推理配置与 Transformers 实战指南 单目深度估计Mon人工智能大模型深度学习NLP预训练微调模型推理服务如何快速使用Mermaid Live Editor在线图表编辑的完整免费指南如何快速使用Mermaid Live Editor在线图表编辑的完整免费指南 还在为绘制技术文档中的流程图、时序图而烦恼吗是否厌倦了在多个工具间切换只为制前端开发者工具数据可视化PP-PicoDet 模型下载与部署资源全指南权重、导出模型与推理配置详解PP PicoDet 模型下载与部署资源全指南权重、导出模型与推理配置详解 导读 本文以 PaddlePaddle 官方模型库中 PP PicoDet 下载指人工智能深度学习计算机视觉NLP语音上一篇Yii 2 ArrayHelper 数组工具完全指南取值、写入、映射、排序与转换实战下一篇Windows Cleaner终极指南如何彻底解决C盘空间不足问题创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考