Ultralytics YOLO26 现已支持单目深度估计
了解 Ultralytics YOLO26 中全新的深度估计任务如何从单张 RGB 图像预测每个像素的度量尺度深度,无需立体视觉系统或 LiDAR。

到目前为止,要将深度信息添加到 YOLO 流程中,意味着需要自行组装。通常的做法是使用 YOLO 进行检测,再搭配来自其他项目的独立深度模型,例如 MiDaS 或 Depth Anything。这意味着需要处理第二个依赖项、第二个框架,以及两套需要协调的输入和输出格式。
单目深度估计现已成为 Ultralytics YOLO26 的原生任务。单张 RGB 图像即可为每个像素生成距离值,并使用与检测、分割和姿态估计相同的软件包、工作流和导出路径。
什么是深度估计?#
深度估计 根据单张 RGB 图像预测逐像素深度图,无需使用第二个摄像头或额外传感器。每个输出像素都包含一个以米为单位的深度值,表示从摄像头到该表面点的估计距离。
输出是一个与输入对齐的稠密浮点图,形状为 (H, W),其中每个像素都携带以米为单位的绝对距离;它表示相对于摄像头的距离,而不是物体远近的相对顺序。
深度是一个拥有独立检查点的单独任务,其输出仅为深度图,不会返回边界框或分割掩码。因此,将检测与深度结合需要运行两个模型并执行两次前向传递。与以往做法不同的是,现在这两个任务都位于同一个软件包中,共享一次安装、一个训练和预测接口、一条导出路径,以及一个需要跟踪的版本,而不再需要在第一个框架旁边维护第二个框架。
这种逐像素输出使深度信息能够用于障碍物和自由空间检测、间隙检查、场景布局分析,以及理解物体之间的前后关系。
图 1。 Ultralytics YOLO26 用于安全与合规监控的深度估计。
Ultralytics YOLO26 提供五个预训练深度模型,从 yolo26n-depth 到 yolo26x-depth,基于涵盖约 219 万张室内和室外图像的广泛多数据集混合数据进行训练。在 NYU Depth V2 数据集上,它们的 δ1 准确率从 nano 模型的 0.882 到 extra-large 模型的 0.933 不等,因此你可以根据部署目标选择适合的速度与准确率权衡。
从设计上实现无界深度#
大多数深度模型会将预测范围限制在固定区间内,例如 0–10 米,这在室内场景中表现良好,但在室外会失效。Ultralytics 改为在开放式对数尺度上预测深度,不设置硬性上限。
测试结果体现了这种差异。在混合室内和室外数据上训练时,有范围上限的模型几乎会立即达到瓶颈;在 KITTI 这类更远距离的数据集上则会彻底失效,因为物体可能位于 80 米之外。Ultralytics YOLO26 的方法没有这样的上限,因此会随着数据增加持续改进,并能覆盖从几厘米到几百米的距离。在 KITTI 上,80 米范围内的 δ1 达到 0.942。这意味着同一模型系列既能很好地处理桌面场景,也能很好地处理高速公路场景。
Ultralytics YOLO26 深度模型与 Depth Anything V2 的对比#
如果你目前将 Depth Anything 与 YOLO 搭配运行,差异在于速度以及由此产生的计算成本。Ultralytics YOLO26 深度模型的运行速度最高比 Depth Anything V2 Base 快 20.3 倍,比 Depth Anything V2 Small 快 7.7 倍,同时模型尺寸小得多:nano 模型的参数量低于 1000 万,而 DA V2 较小的检查点约有 2400 万个参数。
图 2。 Ultralytics YOLO26 深度模型与 Depth Anything V2 的速度基准测试。
这种差距正是该设计的意义所在。Depth Anything V2 的模型大得多;Ultralytics YOLO26-Depth 专为以更小的尺寸和更快的速度实现出色深度性能而构建,从而降低每帧的计算成本,并部署到这些模型无法覆盖的硬件上。文档中公布了 NYU Depth V2 和 KITTI 上各模型的准确率数据,因此你可以根据实际需求进行核对。
运行环境#
这种尺寸差异决定了深度功能实际能够部署到哪些地方。大多数评估深度技术的团队并不缺少想法,而是计算资源不足。低功耗无人机、四足机器人、可穿戴设备、行车记录仪、会议硬件和工业 PC,往往在达到准确率上限之前就已经受到功耗和成本上限的限制。
深度功能提供五个预训练模型,因此你可以选择适合目标设备的尺寸,而不是只能选择基准测试中表现最好的尺寸。由于深度是 Ultralytics YOLO26 的原生任务,它与检测、分割和姿态估计使用相同的导出路径,并支持以下格式:ONNX、TensorRT、CoreML、NCNN、LiteRT。
开始使用 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 model绝对距离取决于你的摄像头和场景。如果深度图的形状正确但尺度不对,model.calibrate() 会在大约 100 个带标注的帧上拟合模型深度头中的两个变量:尺度和偏移量;整个过程只需几秒钟,无需训练,也不会改变网络的其余部分。
在自有数据上微调#
要让预训练深度模型适应你的摄像头或领域,首先使用预训练权重,采用 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 的配置,因此大多数团队都可以立即开始针对标准基准进行验证。
深度估计的主要应用场景#
由于这项新功能可以使用一台普通摄像头运行,单目深度估计为那些无法承担双目或 LiDAR 系统的成本、功耗或标定开销的产品和行业带来了无数机会。下面我们来看看一些能够从这项功能中受益的主要行业和应用场景:
- 机器人与自主导航。 移动机器人和无人机可以通过单个机载摄像头估计障碍物距离和自由空间,从而在无需专用深度硬件的情况下支持实时路径规划。
- 工业与物流感知。 通过单个固定摄像头进行间隙检查、自由空间检测,以及获取货架或通道环境信息,适用于无法实际增加第二个传感器的场景。
- 安全与合规监控。 叉车和仓库安全区域、铁路事故检测、现有 CCTV 中的人员跌倒和物体遗留检测:为已经安装的摄像头画面添加距离信息,并与现有的安全认证传感器协同工作,而不是取代它们。
- 基础设施与资产检查。 高架线路间隙分析、基于无人机的资产和腐蚀检查,以及航空测量作业;在这些场景中,同一模型系列必须同时处理近距离细节和远距离场景。
- 驾驶辅助与汽车感知。 远距离、无界的深度输出意味着,同一模型系列既能处理近距离室内场景,也能泛化到 80 米以上的驾驶场景。
- AR 与空间内容。 要让虚拟物体可信地置于真实场景中,或应用感知深度的效果,首先需要知道每个像素距离摄像头的实际距离。
将深度估计带入每个 Ultralytics YOLO26 部署#
随着深度估计成为 Ultralytics YOLO26 的原生任务,各行业团队都可以利用任何 RGB 摄像头提供的逐像素距离信息,并沿用已经熟悉的检测、分割和姿态估计训练、验证、预测与导出工作流,同时减少一个需要维护的第三方依赖。
因此,在使用 Ultralytics YOLO26 深度模型规划部署时,下面来看看需要牢记的几个要点:
- Ultralytics YOLO Depth 专为 RGB 摄像头构建。任何标准摄像头都可以使用,包括网络摄像头、手机、工业摄像头或无人机。不过,LiDAR 点云、雷达、声纳、热成像和多光谱波段,以及网格和 IFC 数据等其他模态,不属于该模型的输入格式。
- 用于感知决策的度量距离。输出是以米为单位的实际距离,非常适合导航、间隙检查和监控。不过,对于任何需要经过认证的容差的应用,专用计量设备仍然是正确的工具。
- 逐图像推理。深度会独立处理每一帧,这与其他 Ultralytics YOLO26 任务一致,因此可以直接接入现有的逐帧流程,无需修改。跨序列的推理仍由你的应用层负责。
- Ultralytics YOLO26-Depth 在具有纹理的不透明表面上表现最佳。玻璃、镜面、静止水面、抛光金属和开放天空对于任何单摄像头方法来说都存在固有歧义,因此值得在能代表你实际环境的场景上进行验证。
对视觉 AI 感兴趣?探索我们的许可选项,将计算机视觉引入你的项目。访问我们的 GitHub 代码仓库,了解完整的 Ultralytics 任务和集成,并查看 Ultralytics Platform,开始构建你自己的端到端视觉 AI 工作流。









