Depth Estimation
了解深度估计如何为计算机视觉增加 3D 视角。探索使用 Ultralytics YOLO26 模型进行单目深度和立体视觉等技术。
深度估计是计算机视觉中的一个关键过程,它用于确定物体与相机之间的距离,从而有效地为2D图像增加第三个维度。通过计算图像中每个像素的距离,该技术可以创建 深度图,这是一种像素强度对应于距离的表示形式。这种能力模仿了人类的 双眼视觉,使机器能够感知空间关系和几何形状。它是使自动系统能够安全导航、理解环境并与物理对象交互的基石技术。
Link to this section核心机制与技术#
实现深度估计的方法有多种,从基于硬件的解决方案到使用人工智能的纯软件驱动方法,应有尽有。
- 立体视觉系统: 与人眼类似,立体视觉 使用并排放置的两个相机。算法会分析左右图像之间的细微差异(或视差)以三角测量距离。这在很大程度上依赖于精确的 特征匹配 来识别两个帧中的相同点。
- 单目深度估计: 这种高级方法可以从单张图像估计深度。由于单张2D照片缺乏固有的深度数据,深度学习模型 需要在庞大的数据集上进行训练,以识别透视、物体大小和遮挡等视觉线索。现代架构,例如 卷积神经网络 (CNN),在此任务中表现出色,使得从标准相机导出3D结构成为可能。
- LiDAR 和飞行时间 (ToF): 主动传感器,如 LiDAR (光探测和测距) 和 飞行时间相机,会发射光脉冲并测量其返回所需的时间。这些方法生成的 点云 高度精确,通常用于收集训练机器学习模型的地面实况数据。
Link to this section实际应用#
测量距离的能力在许多行业中具有变革意义,为需要空间意识的应用程序提供了动力。
- 自动驾驶: 自动驾驶汽车依赖深度估计来检测障碍物、测量与其他车辆的距离,并安全地在复杂的道路网络中导航。它是用于识别行人和骑行者的 3D物体检测 不可或缺的一部分。
- 机器人与自动化: 机器人使用深度感知进行诸如 路径规划 和物体操纵等任务。例如,仓库机器人需要准确知道货架距离多远,才能在不碰撞的情况下拾取包裹。
- 增强现实 (AR): 为了将虚拟对象令人信服地放置在真实场景中,AR设备必须理解环境的3D几何形状。深度估计确保了虚拟角色可以隐藏在真实家具后面,这一概念被称为遮挡处理。
Link to this section代码示例:单目深度估计#
虽然存在专门的深度模型,但在简单场景中,你通常可以使用物体检测边界框作为距离的代理来推断空间关系(较大的框通常意味着物体较近)。以下是如何使用 ultralytics 包加载模型来检测物体,这是许多深度感知流水线的第一步。
from ultralytics import YOLO
# Load the YOLO26 model
model = YOLO("yolo26n.pt")
# Run inference on an image
results = model("path/to/image.jpg")
# Process results
for result in results:
# Get bounding boxes (xyxy format)
boxes = result.boxes.xyxy
# Iterate through detections
for box in boxes:
print(f"Detected object at: {box}")Link to this section与其他计算机视觉概念的关系#
将深度估计与相关术语区分开来非常重要。虽然 物体检测 识别物体在2D空间中 是什么 以及 在哪里(使用边界框),但深度估计识别它距离 多远(Z轴)。同样,语义分割 将像素分为不同类别(例如道路、天空、汽车),而深度估计则为这些像素分配距离值。
Link to this section空间AI的进步#
生成式AI 的最新进展正在弥合2D与3D视觉之间的差距。神经辐射场 (NeRF) 等技术使用多张2D图像来重建复杂的3D场景,并且在很大程度上依赖于底层的深度原理。此外,随着 模型优化 技术的改进,在 边缘AI设备 上运行高精度的深度估计正变得可行。在 Ultralytics Platform 等平台的助力下,实现高效的模型训练和部署,这使得在如无人机或智能眼镜等小型硬件上进行实时空间计算成为可能。






