Ultralytics YOLO27: 加入候补名单。
获取 YOLO 许可
指南

最佳深度估计模型:如何选择

比较 Depth Anything、Depth Pro、Metric3D、UniDepth 和 Ultralytics YOLO26 等单目深度模型,了解它们在度量深度、边缘设备和机器人领域的表现。

MIMiles Deans13 分钟阅读
最佳深度估计模型:如何选择

选择深度估计模型归结为三点:你需要的是以米为单位的距离还是仅仅相对深度、模型将在何处运行,以及模型许可证是否允许你的使用方式。对于相对深度和研究,Depth Anything 和 Marigold 是值得优先评估的强大模型。对于未知相机的度量深度,可以考虑 Depth Pro 和 UniDepth;如果你知道相机的焦距,Metric3D v2 和 Depth Anything 3 Metric 也是可选方案。对于边缘硬件,可以优先考虑 Depth Anything V2 Small、MiDaS v3.1 Swin2-Tiny 和 LeViT 模型,然后在你的设备上测量延迟。对于 NVIDIA GPU 上的低延迟深度估计,以及其他 Ultralytics YOLO 任务,也可以评估 Ultralytics YOLO26 depth。本指南比较了九种单目深度模型,并提供了选择模型的决策路径。

如果你刚接触这项任务,可以先了解什么是单目深度估计。本页面介绍的是如何选择模型。

相对深度还是度量深度:先做出选择#

  • 相对深度表示哪些像素更近或更远,但尺度未知。它足以用于场景理解、背景效果,以及按距离对物体排序。
  • 度量深度以米为单位表示距离。你需要它来测量距离、规划机器人运动,或将深度与其他传感器的数据融合。

度量模型实现真实尺度的方式各不相同。有些模型会自行估计相机焦距,有些需要你提供焦距,还有些模型带有固定尺度,需要你针对相机进行标定。在实际应用中,模型获取尺度的方式可能比基准测试准确率相差几个百分点更重要。关于这两种深度的背景信息,请参阅术语表中的深度估计条目。

Depth Anything V2 Small 输出的工厂走道相对深度图,以及 Ultralytics YOLO26s-depth 输出的以米为单位的度量深度图

图 1. 同一张工厂照片分别由 Depth Anything V2 Small 和 Ultralytics YOLO26s-depth 处理。前者预测相对深度(表示远近,不带单位),后者预测距离(以米为单位):零件箱约 1.5 m,工程师约 4.1 m,远处的门约 13.8 m。这张照片是为本文生成的;两张深度图均为模型的真实输出。上述距离是已发布检查点的预测结果,未经针对该相机的标定,并非实际测量值。

深度估计模型对比#

模型按字母顺序列出,并非按排名排列。由于各论文采用各自的基准测试方案,结果无法直接比较,因此我们不列出跨模型的准确率数据。许可证信息于 2026 年 10 月核实,适用于各个检查点。

模型输出规模许可证最适合主要权衡
Depth Anything 3相对深度;已知焦距时可估计度量深度(DA3Metric)Small 为 0.08B,Giant 为 1.15B,另有一个 1.40B Nested 模型(按项目列出的信息)Small、Base、Metric-Large 和 Mono-Large:Apache 2.0。Large、Giant 和 Nested:CC BY-NC 4.0除深度外,还支持多视角几何和相机姿态较大的模型不可商用;DA3Metric-Large 需要相机焦距(不可商用的 Nested 模型可直接输出米制距离)
Depth Anything V2相对深度;另有独立的室内和室外度量深度检查点Small 为 24.8M,Base 为 97.5M,Large 为 335.3MSmall:Apache 2.0。Base 和 Large:CC-BY-NC-4.0稳健的通用相对深度模型只有 Small 获得商用许可;度量深度检查点的距离上限为 20 m(室内)或 80 m(室外)
Depth Pro(Apple)度量深度,无需相机内参单个模型Apple 自行制定的代码和权重许可证从未知相机拍摄的照片中获得清晰的度量深度比边缘设备模型更大、更耗资源;请核查许可证条款是否适用于你的用途
Marigold相对深度(仿射不变)基于潜在扩散模型构建代码:Apache 2.0。模型:RAIL++-M不在意速度时追求精细细节比单次前向模型慢,尤其是使用集成时
Metric3D v2度量深度和表面法线ViT-Small、ViT-Large、ViT-giant2代码:BSD-2-Clause;请查看检查点条款度量深度加表面法线,适用于 3D 重建需要准确的焦距才能获得正确的尺度
MiDaS相对深度v3.1,涵盖从 BEiT-Large 512 到 Swin2-Tiny 256 和 LeViT 224 的模型MIT知名基线模型,采用宽松许可证并提供嵌入式设备变体早于较新的基础模型;仓库已归档,不再维护
Ultralytics YOLO26 深度估计度量深度(米),可校准的单一全局尺度n 6.3M 至 x 57.0MAGPL-3.0,或 Ultralytics Enterprise 许可证在 NVIDIA GPU 上以低延迟运行深度估计,并同时执行其他 YOLO 任务绝对尺度需要针对你的相机进行校准;未在统一精度评估协议下与其他模型比较
UniDepth V2从单张图像预测度量深度和相机内参ViT-S、ViT-B 和 ViT-L 主干网络CC BY-NC 4.0相机型号未知时的度量深度非商业许可证
ZoeDepth度量深度(室内、室外或混合头),基于相对深度预训练构建基于 ViTMIT适用于已知室内或室外场景的宽松许可度量深度模型针对特定室内和室外场景训练;仓库已归档,不再维护

如何选择深度估计模型#

按顺序回答以下问题:

  1. 你需要以米为单位的深度吗? 如果不需要,可以先试试 Depth Anything V2 或 Depth Anything 3;如果你需要 MIT 许可证,则可以选择 MiDaS。
  2. 你知道相机内参吗? 如果不知道,选择能估算内参的模型:Depth Pro 或 UniDepth。如果知道,Metric3D v2 和 Depth Anything 3 Metric 可以使用这些内参。
  3. 模型会在哪里运行? 如果服务器延迟不是限制因素,大型基础模型会是不错的选择。若要在 NVIDIA GPU 上以低延迟运行深度估计,并同时执行其他 YOLO 任务,可以考虑 Ultralytics YOLO26 深度估计,并在你的边缘设备上测量性能,例如 NVIDIA Jetson。其他候选模型包括 Depth Anything V2 Small、MiDaS v3.1 的 Swin2-Tiny 和 LeViT 模型。CPU 延迟取决于处理器、运行时、输入分辨率和模型。请针对你的确切配置进行基准测试;图 3 展示了一个小型 Ultralytics YOLO26 深度估计模型的示例。请参阅下文的边缘设备部分。
  4. 你能使用该许可证吗? 请查看具体检查点的许可证。多个系列的小型模型采用 Apache 2.0 许可证,而大型模型则采用非商业许可证。
  5. 你能进行校准或微调吗? 如果你能从自己的相机采集约 50 到 150 张带标签图像,并为每张图像测量几个点,可以在你自己的场景中测试校准或微调后的模型,并与零样本模型进行比较。在 Ultralytics 使用 YOLO26s-depth 进行的测试中(每台相机 150 张图像,每张图像测量 5 个点),通过这种方式校准后,其尺度与完整真值拟合结果的偏差约为 1%;校准前的偏差为 4% 到 46%。这个数值衡量的是尺度恢复效果,而非整体深度精度。

然后,在你的部署分辨率下,使用来自自己相机的图像测试两到三个候选模型。

Ultralytics YOLO26 检测和深度估计得到的街道上汽车和行人的距离

图 2. 将 Ultralytics YOLO26x 检测与 Ultralytics YOLO26s-depth 相结合,预测选定检测到的汽车和行人的距离:距离最近的停放汽车 3.6 m,距离右侧汽车 6.9 m,距离右侧标注的行人 7.0 m。这张照片是为本文生成的;边界框和距离均为真实模型输出,但未经针对这台相机校准。它们是预测值,而非实测距离。

模型详解#

按字母顺序列出。

Depth Anything 3#

ByteDance Seed 推出的 Depth Anything 3 将 Depth Anything 从单张图像扩展到任意数量的视图。其主模型会同时估计深度和相机位姿,专用变体则用于单目相对深度(DA3Mono-Large)和单目度量深度(DA3Metric-Large)。输出:主模型和 Mono 模型输出相对深度;DA3Metric-Large 在提供焦距时输出度量深度,非商业 Nested 模型则可直接输出度量深度。尺寸:0.08B(Small)至 1.15B(Giant),另有 1.40B 的 Nested 模型,具体信息见项目模型卡。许可证:Small、Base、Metric-Large 和 Mono-Large 采用 Apache 2.0;Large、Giant 和 Nested 采用 CC BY-NC 4.0。最适合:多视图场景和 3D 重建。权衡:性能最强的检查点仅限非商业用途。

Depth Anything V2#

Depth Anything V2 是一种广泛可用的相对深度开源模型,在室内、室外和少见场景中都能稳定输出结果。该项目还发布了针对室内场景(深度最高 20 m)和室外场景(深度最高 80 m)微调的度量深度检查点。尺寸:Small 24.8M、Base 97.5M、Large 335.3M。许可证:Small 采用 Apache 2.0;Base 和 Large 采用 CC-BY-NC-4.0。最适合:通用相对深度估计。权衡:如果你需要商业用途,只能使用 Small 模型;度量深度检查点无法预测超出其固定最大深度的范围。

Depth Pro#

Apple 推出的 Depth Pro 无需相机内参,即可从单张图像预测度量深度,并自行估算焦距。Apple 报告称,该模型可在标准 GPU 上于 0.3 秒内生成 2.25 百万像素的深度图,并能清晰呈现精细结构的边界。许可证:Apple 自有许可证涵盖代码和权重。最适合:从相机不受你控制的照片中估算度量深度。权衡:这是服务器级模型,而非边缘设备模型;用于商业用途前,你应先阅读其许可证。

Marigold#

Marigold 将预训练图像扩散模型用于深度估计,并且仅使用合成数据进行训练。它能生成非常精细的相对深度。许可证:代码采用 Apache 2.0,模型采用 RAIL++-M。最适合:离线工作中对细节的要求高于速度的场景,例如内容创作和数据集生成。权衡:它支持单步推理;若通过集成提高精度,成本会成倍增加,因此请测量它是否满足你的延迟要求。

Metric3D v2#

Metric3D v2 可从单张图像预测度量深度和表面法线,提供 ViT-Small、ViT-Large 和 ViT-giant2 检查点,并包含 ONNX 导出版本。许可证:代码采用 BSD-2-Clause;请查看你所用检查点的条款。最适合:同时需要表面法线的 3D 重建和机器人流程。权衡:它会将图像映射到规范相机,因此需要准确的焦距才能获得正确的尺度。

MiDaS#

Intel 的 ISL 推出的 MiDaS 通过在混合数据集上训练,让稳健的相对深度估计变得实用。3.1 版提供从追求质量的 BEiT-Large 模型,到面向嵌入式设备的 Swin2-Tiny 和 LeViT 模型;此外还有旧版 MiDaS v2.1 小型模型的 OpenVINO 格式版本,适用于 Intel CPU,以及适用于 iOS 和 Android 的移动端示例。许可证:MIT。最适合:许可证宽松且文档完善的基线模型。权衡:它早于较新的基础模型,而且 Intel 已归档该仓库,因此不再提供修复。请用你自己的图像将它与较新的模型进行比较。

Ultralytics YOLO26 深度估计#

Ultralytics YOLO26 支持深度估计(于 2026 年 7 月发布,提供五种尺寸,参数量从 6.3M(n)到 57.0M(x),输入分辨率为 768 像素。模型以米为单位预测深度,使用的对数深度头覆盖约 0.02 至 150 米,因此单个模型即可处理室内房间和室外场景。发布的权重使用单一全局尺度;若要针对特定相机获得准确的绝对深度,model.calibrate() 会利用约 50 到 150 张带标签图像拟合尺度,每张图像只需几个测量点,无需重新训练。在 NVIDIA T4 上进行的 batch-1 TensorRT FP16 基准测试中,输入约为 768 像素时,仅推理延迟(不含预处理和后处理)从 2.7 ms(n)到 13.6 ms(x)不等,五种尺寸的延迟都低于 Depth Anything V2 Small。这是延迟比较,并非统一精度评估。模型可导出为 ONNX、TensorRT、CoreML、OpenVINO 等格式,并可使用与检测、分割和姿态相同的 Python API 和 CLI 进行训练。许可证:AGPL-3.0;闭源商业用途可选择 Ultralytics Enterprise 许可证。最适合:在 NVIDIA GPU 上以低延迟运行深度估计,并同时执行其他 YOLO 任务;请在你的边缘设备上测量性能。权衡:绝对尺度取决于针对相机进行的校准;而且此处未在统一协议下将其精度与基础模型进行比较,因此请使用你自己的数据进行测试。

UniDepth V2#

UniDepth 可从单张 RGB 图像预测度量深度和相机内参;如果你已知内参,也可以使用这些内参。许可证:CC BY-NC 4.0。最适合:需要从未知相机获取度量深度的研究和原型项目。权衡:该许可证不允许商业用途。

ZoeDepth#

ZoeDepth 将相对深度预训练与针对室内(NYU)和室外(KITTI)场景的度量深度头相结合。许可证:MIT。最适合:场景与其室内或室外训练领域相似,且需要宽松许可证的度量模型。权衡:该模型针对特定室内和室外领域训练,而 UniDepth 和 Metric3D v2 等较新的度量模型是为多种相机设计的。Intel 已归档该仓库,因此不再提供修复。

在边缘设备上进行深度估计#

在边缘硬件上,关注点会从“精度最高”转向“在我的帧率下精度是否足够”。有三类模型适用:

  • 大型模型系列的小型版本。 Depth Anything V2 Small(24.8M 参数,Apache 2.0)是一个选择,并采用宽松许可证。MiDaS v3.1 的 Swin2-Tiny 和 LeViT 模型则专为嵌入式设备设计。
  • 实时任务模型。Ultralytics YOLO26 深度估计 在 Tesla T4 上使用 TensorRT FP16、batch 1 时,仅推理耗时为 2.7 ms(n)至 13.6 ms(x),不含预处理和后处理。它可导出为 TensorRT,用于 NVIDIA Jetson;导出为 CoreML,用于 Apple 设备;也可导出为 OpenVINO,用于 Intel CPU;导出支持并不等于边缘设备基准测试。
  • 轻量级研究模型。FastDepth(MIT)专为嵌入式系统打造,并已在 NVIDIA Jetson TX2 上进行演示。Lite-Mono(MIT)有 2.2M 到 8.7M 个参数,使用 KITTI 驾驶数据训练。

导出后,请在目标设备上以实际部署分辨率测量推理延迟。要选择硬件,请参阅如何选择合适的边缘设备。如需了解导出选项,请参阅我们的模型部署选项指南。

杂货店过道场景,以及 Ultralytics YOLO26n-depth 和 YOLO26s-depth 深度图与其 CPU 耗时

图 3. 在同一张商店照片上运行 Ultralytics YOLO26n-depth(89 到 96 ms)和 YOLO26s-depth(124 到 128 ms),使用 Apple M4 CPU(PyTorch,768 像素输入,从图像到完整深度图)。笔记本电脑的耗时会随后台负载变化,因此请将这些数值视为范围。这张照片是为本文生成的;深度图和耗时均为真实结果。

面向机器人的深度估计#

机器人通常需要以机器人的控制频率运行、帧间稳定的度量深度。以下是三种实用方案:

  • 单目度量模型适用于配备单个 RGB 相机的机器人。如果你已知相机内参,可使用 Metric3D v2 或 Depth Anything 3 Metric;如果需要在 NVIDIA GPU 上以低延迟进行机载推理,并同时执行其他 YOLO 任务,可使用经过校准的 Ultralytics YOLO26 深度估计模型;请在机器人计算机上测量性能。
  • 双目模型(例如 NVIDIA 的 FoundationStereo)可根据经过校准的相机对计算度量深度。研究版本仅限非商业用途;NVIDIA 列出了可用于商业用途的 TAO 版本。请参阅双目视觉,了解双目视觉与单目深度估计的比较。
  • 深度传感器(双目深度相机、结构光或 LiDAR)可直接测量深度。

不适合使用单目模型的情况:对于人员附近的避碰等安全关键决策,应使用深度传感器或双目相机,并将单目深度估计作为补充,例如填补传感器没有返回数据的区域。

仓库过道场景,以及从 Ultralytics YOLO26 深度图读取的距离数值

图 4. 从一张 Ultralytics YOLO26s-depth 深度图读取的预测距离:到地面某点 3.1 m,到机器人 5.7 m,到过道尽头约 23 m。这张照片是为本文生成的;读数是模型的真实输出,但未经针对这台相机校准,因此属于预测值,而非测量值。

如何使用自己的相机测试深度模型#

  • 使用部署相机采集约 50 到 150 张带标签图像,并保持部署分辨率和镜头设置不变,同时为每张图像测量几个点。公共基准数据集(例如室内场景的 NYU Depth V2 和驾驶场景的 KITTI)可用于初步比较,但最终应以自己相机上的结果为准。
  • 测距仪测量的是直线距离,而校准需要沿相机轴向的深度:测量图像中心附近的点;使用相机内参将偏离中心的读数转换为相机轴向深度;或者使用深度传感器采集深度。
  • 根据这些测量值比较候选模型的 δ1 和绝对相对误差,并测量每个模型在目标设备上的运行时间。对于度量模型,直接对未经缩放的输出进行评分,不要逐张图像调整尺度以匹配真值;逐图对齐会掩盖你需要发现的尺度误差。
  • 对于尺度固定的度量模型,使用部分数据进行校准,再用其余数据测试。Ultralytics YOLO26 深度估计通过 model.calibrate() 提供此功能。

常见问题

  • 没有适用于所有情况的最佳模型。对于相对深度,Depth Anything V2 和 Depth Anything 3 是值得优先评估的强力选择。Depth Pro、UniDepth 和 Metric3D v2 可以从单张图像获取度量深度。若要在 NVIDIA GPU 上以低延迟运行深度估计,并同时执行其他 YOLO 任务,可以评估 Ultralytics YOLO26 深度估计,并在你的边缘设备上测量性能。Depth Anything V2 Small、MiDaS v3.1 的 Swin2-Tiny 和 LeViT 模型也是值得测试的较轻量选择。

  • 优先考虑体积小且可导出至你所用运行时的模型:Ultralytics YOLO26 深度估计(6.3M 到 57.0M 参数,可导出为 TensorRT、CoreML 和 OpenVINO)、Depth Anything V2 Small(24.8M 参数),以及 MiDaS v3.1 的 Swin2-Tiny 或 LeViT 模型。然后在你自己的设备上测量延迟;支持导出并不能证明模型在边缘设备上的性能。

  • 机器人通常需要度量深度。Metric3D v2 和 Depth Anything 3 Metric 可以使用已知相机内参,根据单张图像预测以米为单位的深度;UniDepth 可以自行估算内参。根据文档,Ultralytics YOLO26 深度估计在 T4 上使用 TensorRT FP16、输入约为 768 像素、batch 1 时,仅推理延迟为 2.7 到 13.6 ms,不含预处理和后处理;请在机器人自己的计算机上测量性能。对于安全关键导航,应使用双目相机或深度传感器,并将单目深度估计作为补充;FoundationStereo 是值得评估的一种双目模型。

  • Depth Anything V2 的主模型预测相对深度。该项目还发布了针对室内场景(深度最高 20 米)和室外场景(深度最高 80 米)微调的度量深度检查点。

  • 请检查每个检查点的许可证。MiDaS 和 ZoeDepth 采用 MIT 许可证(两个仓库目前都已归档);Metric3D 的代码采用 BSD-2-Clause(请查看检查点条款);Depth Anything V2 Small 和多个 Depth Anything 3 模型采用 Apache 2.0;Marigold 的模型采用 RAIL++-M。Depth Anything V2 Base 和 Large、较大型的 Depth Anything 3 模型以及 UniDepth 仅限非商业用途。Ultralytics YOLO26 深度估计采用 AGPL-3.0;闭源商业用途可选择 Enterprise 许可证。Depth Pro 使用 Apple 自有许可证,允许使用和再分发,但不授予专利权;发布产品前请先仔细阅读许可证。

Explore solutions

体育领域的计算机视觉

体育领域的计算机视觉

了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉

航空影像计算机视觉

借助 Ultralytics YOLO,将无人机和航空影像转化为实时洞察,应用于农业、水产养殖、环境监测、自然保护和地理空间分析。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 模型将视觉 AI 应用于航空监测。借助计算机视觉解决方案,赋能无人机、航空航天工作流、环境保护和地理空间行业。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉

机器人领域的计算机视觉

使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉

物流中的计算机视觉

借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉

零售中的计算机视觉

借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉

医疗领域的计算机视觉

借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉

制造业中的计算机视觉

利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉

汽车领域的计算机视觉

利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉

农业中的计算机视觉

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情

让我们携手构建 AI 的未来!

开启你的旅程,迎接机器学习的未来