Ultralytics YOLO26 现已支持单目深度估计
了解 Ultralytics YOLO26 中的新深度估计任务如何从单个 RGB 图像预测每个像素的公制尺度深度,无需立体相机或 LiDAR。

直到现在,为 YOLO 流水线添加深度信息还意味着需要自己组装。以往的标准做法是运行 YOLO 进行检测,并将其与另一个项目(如 MiDaS 或 Depth Anything)中的独立深度模型进行配对。这意味着你需要引入第二个依赖项、第二个框架,并且需要协调两套不同的输入和输出格式。
单目深度估计现已成为 Ultralytics YOLO26 的原生任务。只需输入单张 RGB 图像,即可为每个像素生成距离值,并且使用与检测、分割和姿态估计完全相同的软件包、工作流和导出路径。
Link to this section什么是深度估计?#
深度估计能够根据单张 RGB 图像预测逐像素的深度图,无需第二台相机或额外的传感器。输出的每个像素都包含一个以米为单位的深度值,表示从相机到该表面点的估计距离。
输出是一个形状为 (H, W) 的稠密浮点图,与输入对齐,其中每个像素都带有以米为单位的绝对距离;这是指到相机的距离,而不是远近的相对顺序。
深度是一个独立任务,拥有自己的权重文件,其输出仅为深度图本身;它不返回边界框或分割掩膜。因此,将检测与深度结合需要运行两个模型和两次前向传播。与以往做法的不同之处在于,这两者现在都位于同一个软件包中,共享同一个安装环境、同一个训练与预测接口、同一个导出路径以及单一的版本跟踪,而无需在维护第一个框架的同时还要维护第二个框架。
这种逐像素输出正是让深度信息在障碍物和自由空间检测、间隙检查、场景布局以及理解物体前后遮挡关系方面发挥作用的关键所在。
图 1. 用于安全和合规监控的 Ultralytics YOLO26 深度估计。
Ultralytics YOLO26 推出了五款预训练深度模型,从 yolo26n-depth 到 yolo26x-depth,它们在包含约 219 万张室内和室外图像的大型多数据集混合上进行了训练。在 NYU Depth V2 数据集上,它们的表现从纳米级模型的 0.882 $\delta_1$ 准确率一直提升到超大模型的 0.933,因此你可以根据部署目标在速度和准确率之间选择最合适的平衡点。
Link to this section设计上的无界深度#
大多数深度模型将其预测范围限制在固定区间内(例如 0–10 米),这对于室内场景效果很好,但在户外场景下就会失效。Ultralytics 改为采用开放式的对数尺度预测深度,没有硬性截断。
这种差异在测试中显而易见。当在混合的室内和室外数据上进行训练时,有上限的模型几乎会立即陷入平台期,并且在像 KITTI 这样物体距离可达 80 米的远距离数据集上会彻底失效。YOLO26 的方法没有这种上限,因此它会随着更多数据的加入而不断改进,能够从几厘米稳定支持到几百米。在 KITTI 上,在 80 米范围内 $\delta_1$ 可达到 0.942。这意味着单个模型系列可以同样出色地处理桌面场景和高速公路场景。
Link to this section对比 Ultralytics YOLO26 深度与 Depth Anything V2#
如果你现在将 Depth Anything 与 YOLO 结合使用,其中的差异主要体现在速度以及随之而来的计算成本上。YOLO26 深度模型的运行速度比 Depth Anything V2 Base 快最多 20.3 倍,比 Depth Anything V2 Small 快 7.7 倍,而且模型尺寸要小得多(nano 级别参数量不到 10M,而 DA V2 的较小检查点约为 24M)。
图 2. Ultralytics YOLO26 深度对比 Depth Anything V2 的速度基准测试。
这种差距正是设计的核心所在。Depth Anything V2 的模型明显更大;而 YOLO26-Depth 旨在以更小的体积和更快的速度提供强大的深度性能,从而降低每帧的计算成本,并能够部署到那些模型无法触及的硬件上。NYU Depth V2 和 KITTI 上的单模型准确率数据已在文档中公布,你可以对照你的实际需求进行检查。
Link to this section适用运行环境#
这种尺寸上的差异决定了深度模型究竟能应用到哪里。大多数评估深度技术的团队并不缺乏创意,他们缺乏的是算力。低功耗无人机、四足机器人、可穿戴设备、行车记录仪、会议硬件和工控机,往往在达到准确率上限之前,就已经触及了功耗和成本的上限。
深度模型提供五个预训练版本,因此你可以选择适合目标设备的大小,而不必选择那个在基准测试中获胜但体积庞大的模型。由于深度是 YOLO26 的原生任务,它使用与检测、分割和姿态估计相同的导出路径,支持以下格式:ONNX、TensorRT、CoreML、NCNN、LiteRT。
Link to this section开始使用 Ultralytics YOLO26 深度模型#
Ultralytics Python 软件包提供了一个统一的接口,用于在所有 YOLO26 任务(包括深度)中进行训练、验证和推理。运行预训练深度模型只需一条命令:
from ultralytics import YOLO
from ultralytics import YOLO
# Load a model
model = YOLO("yolo26n-depth.pt") # load an official model
model = YOLO("path/to/best.pt") # load a custom model
# Predict with the model
results = model("https://ultralytics.com/images/bus.jpg") # predict on an image
# Access the results
for result in results:
depth_map = result.depth.data.cpu().numpy() # torch.Tensor → NumPy float32, shape (H, W), meters或者通过 CLI 运行:
yolo depth predict model=yolo26n-depth.pt source='https://ultralytics.com/images/bus.jpg' # predict with official model
yolo depth predict model=path/to/best.pt source='https://ultralytics.com/images/bus.jpg' # predict with custom modelAbsolute distance depends on your camera and your scene. If the shape of the depth map is right but the scale is off, model.calibrate() fits just two variables in the model's depth head, a scale and an offset, on around 100 labeled frames, in seconds, with no training and no change to the rest of the network.
Link to this section在自有数据上进行微调#
要将预训练的深度模型适配到你自己的相机或领域,请从预训练权重开始,使用 AdamW,并将学习率设置得远低于从头训练的默认值,以便微调能够优化模型而不是覆盖它:
from ultralytics import YOLO
from ultralytics import YOLO
model = YOLO("yolo26s-depth.pt") # start from pretrained weights
model.train(
data="path/to/your_dataset.yaml",
epochs=20,
imgsz=640,
optimizer="AdamW",
lr0=1e-4, # ~100x below the from-scratch default
warmup_bias_lr=1e-4, # keep warmup gentle too
)由于默认的对数头部是无界的,无论是近距离还是远距离数据集,这都可以开箱即用,而无需调整 max_depth。如果仅针对你的特定相机,绝对尺度存在偏差,model.calibrate() 可以在一个较小的已标注数据切片上,在几秒钟内拟合出一个轻量级的闭式校正,而无需触及网络权重。
数据集将每个 RGB 图像与具有匹配文件夹结构的 .npy 深度文件配对,并且 Ultralytics 内置了针对 NYU Depth V2、KITTI、Hypersim、SUN RGB-D 和 ARKitScenes 的配置,因此大多数团队可以立即开始针对标准基准进行验证。
有关更多信息,请查看我们的快速入门指南。
Link to this section深度估计的关键用例#
由于这个新功能可以通过单个普通相机运行,单目深度估计为那些原本无法承担立体视觉或激光雷达(LiDAR)设置的成本、功耗或校准开销的产品和行业开启了无数机遇。因此,让我们来看看一些可以受益于此功能的关键行业和用例:
- 机器人与自主导航。 移动机器人和无人机可以通过单个机载相机估计障碍物距离和自由空间,支持实时路径规划,无需专用的深度硬件。
- 工业与物流感知。 通过单个固定相机进行间隙检查、自由空间检测以及货架或通道上下文识别,适用于任何不便添加第二个传感器的场景。
- 安全与合规监控。 叉车和仓库安全区、铁路事件检测、在现有闭路电视(CCTV)上检测跌倒人员和遗留物品:将距离上下文添加到已经安装的相机画面中,与现有的安全认证传感器配合使用,而不是替代它们。
- 基础设施与资产检查。 架空线路间隙分析、基于无人机的资产和腐蚀检查以及航空测量工作,在这些场景中,相同的模型系列必须同时处理特写细节和远距离场景。
- 驾驶辅助与汽车感知。 远距离、无界的深度输出意味着处理近距离室内场景的同一个模型系列同样可以泛化到 80 米以上的驾驶场景。
- AR 与空间内容。 在真实场景中逼真地放置虚拟对象,或应用具有深度感知的效果,其第一步就是了解每个像素距离相机的实际距离。
Link to this section将深度估计带入每一个 YOLO26 部署#
随着深度估计现在成为 YOLO26 的原生任务,各团队可以跨行业利用来自任何 RGB 相机的逐像素距离,使用他们从检测、分割和姿态估计中已经熟悉的训练(train)、验证(val)、预测(predict)和导出(export)工作流,并且少维护一个第三方依赖项。
因此,在你使用 Ultralytics YOLO26 深度规划部署时,让我们来看几个需要牢记的关键点:
- Ultralytics YOLO Depth 专为 RGB 相机构建。任何标准相机都可以使用,包括网络摄像头、手机、工业相机或无人机。然而,激光雷达点云、雷达、声呐、热成像和多光谱频段,或网格和 IFC 数据等其他模态则不在模型的输入格式支持范围内。
- 用于感知决策的公制距离。输出是以米为单位的真实距离,非常适合导航、间隙检查和监控。然而,对于任何需要认证公差的应用,专用的计量设备仍然是正确的仪器。
- 单图像推理。深度模型对每一帧进行独立运行,这与所有其他 YOLO26 任务保持一致,因此可以无缝接入现有的单帧流水线中而无需修改。跨序列的推理则保留在你的应用层中。
- Ultralytics YOLO26-Depth 在有纹理的不透明表面上表现最强。玻璃、镜子、积水、抛光金属和开阔天空对于任何单相机方法来说本质上都是模棱两可的,因此值得在代表你环境的场景上进行验证。
对视觉 AI 感兴趣吗?探索我们的许可选项,将计算机视觉引入你的项目。访问我们的GitHub 仓库以发现 Ultralytics 的全系列任务和集成,并查看 Ultralytics Platform 以开始构建你自己的端到端视觉 AI 工作流。






