Ultralytics YOLO27: 加入候补名单。
获取 YOLO 许可
返回 Ultralytics 术语表

Depth Estimation

深度估计用于预测每个像素与相机之间的距离,并根据双目相机、主动传感器或单张图像生成深度图。

深度估计是计算机视觉任务,目的是预测图像中每个像素所示表面到相机的距离。输出结果是深度图,即与图像尺寸相同的距离网格,为缺少第三维度的平面照片补上深度信息。借助普通相机,机器人、车辆和增强现实设备可以获取场景的 3D 布局。

获取深度的方法#

  • 立体视觉:两台经过标定、间距已知的相机从略有不同的水平位置观察同一个点。这个位置偏移称为视差,可通过焦距 × 基线 ÷ 视差计算深度,因此视差较小的远处物体测量精度较低;白墙等没有纹理的表面也很难在两张图像之间匹配。
  • LiDAR和其他主动传感器:LiDAR 通过测量激光脉冲的往返时间,在远距离提供精确但稀疏的点;飞行时间和结构光相机则能在近距离(主要是室内)提供稠密深度。这些传感器也能生成学习模型训练所需的真实标注。
  • 单目深度估计:神经网络根据单张图像预测深度,利用透视关系、熟悉物体的已知尺寸、纹理梯度和遮挡等线索。这个问题是病态的,因为近处的玩具车和远处的真车可能生成相同的图像,所以模型只能依赖从典型场景中学到的知识。
  • 视觉 SLAM和其他多视图方法:运动恢复结构和视觉 SLAM 通过对从不同位置拍摄的连续帧中的点进行三角测量来恢复深度。

使用深度学习进行单目深度估计#

学习得到的深度模型分为两种。相对深度模型预测表面的前后顺序和形状,但不确定尺度和偏移;这足以实现背景虚化等效果,也足以判断物体之间的远近。MiDaS通过在包括 3D 电影在内的混合数据集上使用尺度和偏移不变损失进行训练,让这种方法能适用于差异很大的场景;Depth Anything V2则使用 2500 万到 13 亿参数的模型,在合成标签和大量伪标签真实图像上训练。度量深度模型预测以米为单位的距离,机器人和测量工具都需要这种结果:Apple 的 Depth Pro能在标准GPU上于 0.3 秒内生成 225 万像素的度量深度图,无需相机内参。

Ultralytics YOLO26深度模型可根据单张图像预测度量深度,其对数深度头的输出范围约为 0.02 到 150 米,因此同一个模型既能处理深度为几米的房间,也能处理最远达 80 米的驾驶场景。只需几行代码即可加载模型、进行预测并保存结果:

from ultralytics import YOLO

# Load a YOLO26 monocular depth model
model = YOLO("yolo26n-depth.pt")

# Predict a depth map for one image
results = model("https://ultralytics.com/images/bus.jpg")
result = results[0]

# Per-pixel depth in meters, at the original image's resolution
depth = result.depth.data
print(f"Nearest {depth.min():.1f} m, farthest {depth.max():.1f} m")

# Save a colorized depth map blended over the photo
result.save(filename="depth_result.jpg")

打印出的范围显示模型在街景中检测到的最近和最远表面,保存的图像则根据每个像素预测的距离为其着色。

衡量准确率#

深度模型会根据传感器提供的真实标注,按像素进行评分。绝对相对误差(AbsRel)以真实深度为基准计算误差比例的平均值;均方根误差(RMSE)以米为单位报告误差;δ1 表示预测值与真实值相差不超过 1.25 倍的像素占比。标准基准包括使用 Kinect 传感器拍摄室内场景的 NYU Depth V2,以及具有 LiDAR 真实标注的驾驶场景数据集 KITTI,通常评估距离不超过 80 米的区域。相对深度预测在评分前会根据真实标注进行尺度和偏移对齐,因此其指标只衡量形状。对所有像素取平均值也会掩盖深度渗漏现象,即预测深度会越过物体边界扩散;因此 Depth Pro 引入了专门的边界精度指标。

  • 3D 目标检测:为每个物体预测包含位置、尺寸和朝向的 3D 框,通常会将深度作为输入。
  • 语义分割:为每个像素分配类别标签;结合深度图后,机器人就能同时了解每个表面是什么,以及它距离多远。
  • 3D 重建:构建场景的完整网格或点云,通常通过融合多个视角的深度信息来实现。

实际应用#

  • 驾驶辅助和自动驾驶:基于摄像头的深度估计为检测到的汽车和行人增加距离信息,可与 LiDAR 配合使用,也可取代 LiDAR。
  • 机器人:抓取和导航都需要知道每个表面的距离;小型机器人通过单个 RGB 摄像头获取深度,可以避免增加额外传感器。
  • 增强现实:深度图可以让虚拟物体正确地被真实物体遮挡,并放置在真实表面上。
  • 摄影:手机人像模式会利用双摄像头、双像素传感器或单目模型获取深度信息来虚化背景,虚化强度由每个像素估算出的距离决定。

探索解决方案

体育领域的计算机视觉

体育领域的计算机视觉

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

航空影像计算机视觉

使用 Ultralytics YOLO 将无人机和航空影像转化为农业、水产养殖、保护工作和地理空间分析的实时洞察。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 将计算机视觉应用于航空航天领域,包括飞机检查、跑道 FOD 检测、机场地面作业和复合材料缺陷检测。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 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 的未来!

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