返回 Ultralytics 术语表
Depth Estimation
了解深度估计如何为计算机视觉增加 3D 视角。探索使用 Ultralytics YOLO26 模型实现单目深度和立体视觉等技术。
深度估计是计算机视觉中的关键过程,用于确定物体与相机之间的距离,从而有效地为 2D 图像增加第三个维度。通过计算图像中每个像素的距离,该技术可以创建深度图,其中像素强度对应距离。这种能力模拟了人类的双目视觉,使机器能够感知空间关系和几何结构。它是支持自主系统安全导航、理解周围环境以及与物理物体交互的基础技术。
核心机制和技术#
实现深度估计有多种方式,从基于硬件的解决方案到完全使用人工智能的软件驱动方法不等。
- 双目视觉系统: 与人眼类似,双目视觉使用并排放置的两个摄像头。算法会分析左右图像之间的细微差异,即视差,以通过三角测量确定距离。这高度依赖准确的特征匹配,以识别两帧中的相同点。
- 单目深度估计: 这种高级方法从单张图像估计深度。由于单张 2D 照片本身不包含深度数据,深度学习模型会在海量数据集上训练,以识别透视、物体大小和遮挡等视觉线索。现代架构(例如卷积神经网络 (CNNs))非常擅长完成这项任务,因此可以从普通摄像头图像中推导出 3D 结构。
- LiDAR 和飞行时间 (ToF): LiDAR(光探测与测距)和飞行时间摄像头等主动式传感器会发射光脉冲,并测量光脉冲返回所需的时间。这些方法可以生成高度准确的点云,通常用于收集训练机器学习模型所需的真实值数据。
实际应用#
测量距离的能力正在改变众多行业,为需要空间感知的应用提供支持。
- 自动驾驶: 自动驾驶汽车依靠深度估计来检测障碍物、测量与其他车辆之间的距离,并安全地在复杂道路网络中导航。它对于3D 目标检测至关重要,可用于识别行人和骑行者。
- 机器人与自动化: 机器人利用深度感知执行路径规划和物体操作等任务。例如,仓库机器人需要准确知道货架的距离,才能拿取包裹而不与货架发生碰撞。
- 增强现实 (AR): 为了将虚拟物体逼真地放置到现实场景中,AR 设备必须理解环境的 3D 几何结构。深度估计可以确保虚拟角色能够隐藏在现实家具后面,这一概念称为遮挡处理。
代码示例:单目深度估计#
虽然存在专用的深度模型,但在简单场景中,你通常可以使用目标检测边界框作为距离的近似依据来推断空间关系(较大的框通常意味着物体更近)。下面介绍如何使用 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}")与其他计算机视觉概念的关系#
区分深度估计与相关术语非常重要。目标检测使用边界框确定物体在 2D 空间中的内容和位置,而深度估计确定物体距离有多远(Z 轴)。同样,语义分割将像素分类为不同类别(例如道路、天空、汽车),而深度估计则为这些像素赋予距离值。
空间 AI 的发展#
生成式 AI的最新进展正在弥合 2D 与 3D 视觉之间的差距。神经辐射场 (NeRF)等技术使用多张 2D 图像重建复杂的 3D 场景,并高度依赖底层深度原理。此外,随着模型优化技术不断改进,在边缘 AI 设备上运行高精度深度估计正变得切实可行。这使得在无人机或智能眼镜这样小型的硬件上实现实时空间计算成为可能,并可借助Ultralytics Platform等平台高效地训练和部署模型。









