Ultralytics YOLO27: 加入候补名单。
获取 YOLO 许可
指南

什么是单目深度估计?概述

了解单目深度估计的工作原理、它与基于传感器的深度测量方法有何不同,以及它如何实现视觉系统中可扩展的 3D 感知。

Abirami VinaAbirami Vina12 分钟阅读
使用单目深度估计生成的预测深度图

自动驾驶汽车旨在理解周围发生的事情,从而安全行驶。这意味着它们不能只识别行人或其他车辆等物体。

它们还需要知道这些物体距离自己有多远,才能做出正确响应。然而,要让机器具备距离感并不简单。与人类不同,机器无法自然地从图像中感知深度,必须经过专门训练才能做到这一点。

其中一个原因是,大多数摄像头捕捉到的都是平面二维图像。将这些图像转换为能反映真实世界深度和三维结构的信息并不容易,尤其是当系统需要在日常环境中可靠运行时。

有趣的是,计算机视觉是 AI 的一个分支,专注于解读和理解视觉数据,它让机器能够更好地从图像中理解世界。例如,单目深度估计是一种计算机视觉技术,只用单张摄像头图像就能估计物体的距离。

通过学习物体尺寸、透视关系、纹理和阴影等视觉线索,这些模型无需依赖 LiDAR(激光探测与测距)或立体摄像头等额外传感器,就能预测深度。本文将介绍什么是单目深度估计、它的工作原理以及一些实际应用。

单目深度估计简介#

单目深度估计让机器仅凭一张图像就能理解物体离自己有多远。由于它只依赖一台摄像头,因此有多项优势,包括成本更低、硬件要求更简单。

例如,它可以用于配备单个摄像头的平价家用机器人。即使只有一张图像,机器人系统也能判断哪些墙更近、哪些门更远,并推断出空间的整体深度。

单张图像通常不包含准确比例的信息,因此单目深度估计通常侧重于相对深度。换句话说,即使不知道确切距离,它也能判断哪些物体更近、哪些物体更远。

如果模型使用带有真实距离或绝对深度的数据进行训练,例如来自 LiDAR 等传感器的深度测量值,就能学会以米等现实单位预测距离。没有这类参考数据时,模型仍能推断相对深度,但无法可靠地估算绝对距离。

单目深度估计的输出通常是深度图,也就是一张图像,其中每个像素都表示场景相应部分距离观察者的远近。深度图能让视觉系统初步理解环境的三维结构。

使用单目深度估计生成的深度预测图示例

图 1. 使用单目深度估计生成的深度预测图示例(来源)

从传感器到图像:估计深度#

深度估计有多种方法,具体取决于可用传感器、硬件限制和精度要求。传统方法通常依赖多个视角或专用传感器来直接测量距离。

一种常见方法是双目视觉:通过比较从略有不同视角同步拍摄的两张图像来估计深度。测量两张图像中对应点之间的差异后,系统就能推断物体距离摄像头有多远。

另一种方法是 RGB-D(红、绿、蓝和深度)系统,它使用主动深度传感器直接测量每个像素的距离。这类系统在受控环境中能提供准确的深度信息,但需要额外硬件。

与此同时,基于 LiDAR 的方法使用激光脉冲生成场景的精确三维表示。LiDAR 传感器虽然精度很高,但通常价格昂贵,还会显著增加硬件复杂度。

相比之下,单目深度估计只用一张 RGB 图像推断深度。由于无需依赖多台摄像头或专用传感器,它更易于大规模部署,在成本和硬件资源有限时是个不错的选择。

从单张图像中学习深度#

利用单张图像估计深度时,单目深度模型会学习识别人类凭直觉判断距离时使用的视觉线索。这些线索包括透视线、物体大小、纹理密度、物体之间的遮挡以及阴影,它们都能提示物体距离摄像头有多远。

这些线索共同形成深度感。看起来较小或部分被遮挡的物体通常距离较远,而细节更清晰、视觉上更大的物体往往距离较近。

为了学习这些规律,单目深度模型会使用大规模图像数据集进行训练,这些数据集通常配有从 LiDAR 或双目系统等其他来源获取的深度信息。在训练过程中,模型会学习视觉线索与深度之间的关系,从而在推理时根据单张图像推断距离。

借助多样化的训练数据,现代视觉模型能够将在训练中学到的知识泛化到各种环境,包括室内和室外场景,并适应陌生的视角。

单目深度估计技术一览#

接下来,我们将介绍从单张图像估计深度的主要方法,以及这些方法随时间的演进。

经典方法与基于几何的方法#

早期的深度估计方法依赖与摄像头几何相关的简单视觉规律。研究人员利用透视关系、物体大小以及一个物体是否挡住另一个物体等线索来估计距离。

例如,当两个相似物体呈现出不同大小时,较小的那个会被认为距离更远。这些方法在受控环境中表现尚可,因为那里的光照、摄像头位置和场景布局等因素都保持稳定。

然而,在真实场景中,这些假设往往不再成立。光照变化、视角改变和场景复杂度增加都可能导致深度估计不可靠,从而限制了经典方法在非受控环境中的效果。

早期机器学习方法#

早期机器学习方法通过直接从数据中学习规律,让深度估计变得更加灵活。这些模型不再只依赖固定的几何规则,而是尝试学习视觉信息与距离之间的关系,将深度预测视为回归问题,并依据边缘、纹理和颜色变化等线索进行预测。

特征选择是这一过程的关键环节。工程师必须决定提取哪些视觉信号以及如何表示这些信号,而模型的性能很大程度上取决于这些选择。

这种方法虽然优于早期方法,但仍有局限。如果所选特征缺少重要上下文信息,深度预测的准确性就会降低。随着场景变得更加复杂多样,这些模型往往难以给出可靠结果。

深度学习算法#

大多数现代单目深度估计系统都使用深度学习,也就是利用具有许多层、能够从数据中学习复杂规律的神经网络。这些模型直接从图像中学习预测深度,并生成深度图。

许多方法采用卷积神经网络(CNNs)构建。这类神经网络专为处理图像而设计,能够检测边缘和形状等模式。这些模型通常采用编码器—解码器结构:编码器从图像中提取视觉特征,解码器则将这些特征转换为深度图。在多个尺度上处理图像,有助于模型在捕捉清晰物体边界的同时,掌握场景的整体布局。

较新的模型侧重于理解图像不同区域之间的关系。基于 Transformer 的模型和视觉 Transformer(ViT)模型使用注意力机制,让模型能够识别图像中哪些区域最相关,并建立相距较远的区域之间的联系。这有助于模型形成对整个场景更连贯的深度理解。

有些系统会结合这两种思路。混合 CNN—Transformer 模型使用 CNN 捕捉精细的局部细节,并用 Transformer 建模场景的全局上下文。这通常能提高准确率,但往往需要更多计算资源,例如额外的内存和处理能力。

深度理解为何对视觉 AI 系统很重要#

了解单目深度估计时,你可能会想知道,为什么深度理解对基于视觉的 AI 系统如此重要。

当系统能够估计物体和表面有多远时,就能更好地理解场景布局以及不同元素之间的关系。这种空间感知能力对于做出可靠决策至关重要,尤其是在自动驾驶等实际应用中。

深度信息还能为其他计算机视觉任务提供有价值的上下文。例如,使用 Ultralytics YOLO26 等模型进行目标检测,可以告诉系统场景中有什么,而深度信息则有助于确定这些物体相对于摄像头和彼此的位置。

这些能力结合起来,可以支持广泛的视觉 AI 应用,例如构建三维地图、在复杂环境中导航以及理解整个场景。

机器人和自动驾驶汽车依靠这些信息来安全移动、避开障碍物,并实时响应变化。例如,Tesla 纯视觉驾驶方法将摄像头图像与深度估计结合起来,而不是使用 LiDAR,以了解物体距离有多远以及它们在道路上的位置。

单目深度估计模型的工作原理#

尽管模型架构各不相同,大多数单目深度估计模型都遵循相似的流程,将单张图像转换为深度图。下面简要介绍其中的关键步骤:

  • 输入与预处理:工作流从输入图像开始。将原始图像送入模型前,通常会先调整尺寸、归一化并转换为张量,这是一种神经网络用来高效处理图像数据的格式。
  • 特征提取:编码器网络会分析图像并提取有意义的视觉特征。这些特征包含纹理、物体边界和场景整体布局等信息。大多数模型会在多个尺度上处理图像,以便同时理解精细细节和全局结构。
  • 深度推理:模型利用提取的特征,将局部细节与全局上下文结合起来,对场景中的空间关系进行推理。在这一阶段,模型会学习图像中哪些区域距离摄像头更近,哪些区域更远。
  • 生成深度图:随后,解码器会将这些信息转换为稠密深度图。图像中的每个像素都会被赋予一个深度值,通常还会融合不同尺度的预测结果,以提高准确性和一致性。

单目深度估计模型的训练方式#

我们刚才介绍的流程假设已经有训练完成或预训练好的模型。那么,单目深度估计模型的训练过程究竟是怎样的?

训练首先要准备图像数据,使其能够被网络高效处理。输入图像会被调整到统一尺寸并进行归一化,然后送入模型,生成预测深度图,估计每个像素点的距离。

随后,模型会使用损失函数将预测深度图与参考深度数据进行比较,衡量模型预测值与真实深度之间的差异。这个损失值表示模型当前的误差,并为后续改进提供信号。

优化器会利用这一信号,通过调整模型内部权重来更新模型。为此,优化器会计算梯度,用来描述损失相对于每个模型参数的变化情况,然后在多个训练轮次(即完整遍历训练数据集)中反复应用这些更新。

这一迭代式监督训练过程由学习率等超参数引导,学习率控制每次更新的步长;批量大小则决定每次处理多少张图像。由于训练涉及大量数学运算,通常会使用擅长并行计算的图形处理单元(GPU)来加速。

训练完成后,会在验证集上使用标准评估指标对模型进行评估。验证集由训练期间未使用过的图像组成。该评估有助于衡量模型对新数据的泛化能力。

之后,可以重复使用训练好的模型,也可以针对新场景对其进行微调。总的来说,这一训练过程让单目深度估计模型能够生成稳定一致的深度估计结果,这对三维重建和实际部署等下游任务至关重要。

随着模型越来越善于理解整个场景,而不只是关注局部视觉细节,单目深度估计也在迅速进步。较早的方法经常生成不均匀的深度图,尤其是在复杂环境中。

正如近期发表于 arXiv 的研究所展示的,新一代模型更加注重全局上下文,因此生成的深度预测看起来更加稳定、真实。知名模型 MiDaS 和 DPT 通过从多样化的高分辨率数据集中学习深度,并在众多场景中实现良好的泛化,推动了这一转变。

更新的模型(包括 ZoeDepth 和 Depth Anything V2)在此基础上改进了尺度一致性,同时在多种场景中保持出色性能。这类进展通常使用常见基准数据集进行衡量,例如涵盖室外和室内场景的 KITTI 和 NYU Depth V2。

另一个明显趋势是在精度与实用性之间取得平衡。较小的模型针对速度进行了优化,可在边缘设备或移动设备上实时运行;较大的模型则优先考虑更高分辨率和远距离深度精度。例如,Ultralytics YOLO26 深度模型涵盖了适用于实时边缘应用的轻量级 YOLO26n-depth,以及体积更大、精度更高的 YOLO26x-depth。

单目深度估计的应用#

接下来,我们将介绍一些实际案例,展示如何利用单目深度估计从单张图像推断场景的三维结构。

所有这些场景都需要牢记一点:深度信息是根据视觉线索推断出的估计值,而非精确测量结果。因此,单目深度估计适用于理解相对布局和空间关系,但不能替代 LiDAR 或双目系统等专为精确测距而设计的传感器。

无人机地形测绘与导航#

无人机常在 GPS 信号不可靠的环境中运行,例如森林、建筑工地、灾区或人口稠密的城市区域。为了在这些环境中安全飞行,无人机需要了解周围地形,并知道障碍物距离有多远。过去,这通常需要加装 LiDAR 或双目摄像头等传感器,但这会增加重量、功耗和总体成本。

单目深度估计是一种更简单的替代方案。无人机只需使用一个 RGB 摄像头,就能从图像中估计深度,并建立对周围环境的基本三维认知。这样一来,无人机就能检测建筑物、树木或地形突变等障碍物,并实时调整飞行路线。

这些深度估计结果有助于执行避障、高度控制和安全着陆等关键导航任务。因此,轻型无人机无需依赖专用深度传感器,也能完成测绘、巡检和导航任务。

利用单目深度估计分析无人机图像

图 2. 单目深度估计可用于分析无人机图像(来源)

为自动驾驶赛车弥补盲区#

自动驾驶汽车通常高度依赖 LiDAR 传感器。LiDAR 使用激光脉冲测量距离,并构建道路的三维视图。尽管 LiDAR 精度很高,但面对陡峭的道路凸起、急坡、遮挡或车辆突然俯仰时,可能会难以应对,有时会返回稀疏或缺失的深度数据。

单目深度估计可以通过从单张 RGB 图像中提供密集深度信息,帮助弥补这些缺口,即使 LiDAR 数据不完整也是如此。设想一辆自动驾驶汽车正高速驶近山顶。LiDAR 光束可能越过山顶,探测到山脊后方的道路,导致车辆无法确定前方的情况。

然而,基于摄像头的深度估计仍然可以根据透视和纹理等视觉线索推断道路形状,帮助车辆保持可靠的感知能力,直到 LiDAR 数据恢复稳定。LiDAR 与单目深度估计相结合,可以在严峻的驾驶条件下实现更稳定的感知和更安全的控制。

单目深度估计在自动驾驶赛车中的应用可视化

图 3. 单目深度估计在自动驾驶赛车中的应用可视化(来源)

机器人导航与避障#

机器人通常在缺少详细地图且环境持续变化的地方运行。为了安全移动,机器人需要可靠地感知周围空间大小以及障碍物的位置。

单目深度估计只需使用一台 RGB 摄像头,就能提供这种空间感知能力,无需依赖笨重或昂贵的硬件。通过学习尺度和透视等视觉线索,深度估计模型可以生成周围环境的密集深度图。这样,机器人就能清楚地了解表面和物体的距离。

尤其是将深度信息与目标检测和语义分割等计算机视觉任务结合时,机器人就能更全面地了解周围环境。机器人可以识别物体、判断物体距离,并决定哪些区域可以安全通行。这有助于避障、可通行区域检测和实时路径规划。

使用单目深度估计和目标检测识别物体

图 4. 使用单目深度估计和目标检测识别物体(来源)

单目深度估计的优缺点#

以下是使用单目深度估计的一些主要优势:

  • 轻量且节能:使用单个摄像头可以减轻系统重量并降低功耗,这对移动机器人、无人机和嵌入式系统尤为重要。
  • 便于传感器融合:单目深度可以补充 LiDAR 或雷达等其他传感器,弥补数据缺口或提供冗余信息。
  • 适用于多种环境:同一种基于摄像头的方法可以用于室内、室外和不同平台,无需更换硬件。

虽然单目深度估计有明显优势,但也有一些局限性需要考虑:

  • 精度低于主动传感器:尽管单目深度估计正在快速进步,但在受控条件下,通常仍无法达到 LiDAR 或结构光传感器的绝对精度。
  • 易受光照条件影响:在低光照环境、强阴影、眩光或纹理不明显的场景中,性能可能会下降。
  • 泛化方面的挑战:在某种环境中训练的模型,如果不经过适配或微调,未必能可靠地迁移到未见过的领域。

何时不应依赖单目深度估计#

单目深度估计是一个有趣的研究领域,但你需要了解它在实际中适用于哪些场景,以及哪些场景不适用。它给出的距离是模型根据图像内容估算的结果,并非从现实世界中精确测量得出。

因此,结果质量可能会受到光照、场景复杂度以及场景与模型训练数据相似程度等因素的影响。单目深度估计通常擅长判断物体的远近,但在需要精确距离时并不可靠。

在精度至关重要的情况下,例如安全关键系统、工业检测或需要与物体进行精密交互的机器人,必须直接测量深度。LiDAR、雷达、双目摄像头或结构光系统等传感器专为此类任务设计,能提供可靠得多的距离信息。

单目深度估计在视觉条件复杂时也可能表现不佳。光线不足、强阴影、反光或透明表面、雾、烟,或视觉纹理很少的场景,都会降低深度估计的可靠性。估计远距离深度也是专用传感器通常表现更好的场景之一。

在实际解决方案中,单目深度估计更适合作为辅助工具,而非独立解决方案。它可以补充实用的空间信息,在其他传感器受限时弥补信息缺口,并提升整体场景理解能力。不过,当精度、安全性或严格的可靠性要求十分重要时,不应将它作为唯一的深度信息来源。

要点#

单目深度估计是一种计算机视觉技术,可以让机器仅凭单张摄像头图像估算物体的距离。通过学习透视、物体尺寸、纹理和阴影等视觉线索,这些 AI 模型可以推断场景的 3D 结构,而无需依赖 LiDAR 或双目摄像头等传感器。因此,单目深度估计是一种经济高效且易于扩展的方法,可用于自动驾驶、机器人和 3D 场景理解等应用。

访问我们的 GitHub 代码库,加入我们的社区,进一步探索视觉 AI。查看我们的解决方案页面,了解机器人领域的 AI和制造业中的计算机视觉。了解我们的许可选项,立即开始使用计算机视觉!

作者

Abirami Vina
Abirami Vina

内容创作者 · Ultralytics

Abirami Vina 职业生涯始于计算机视觉工程师,由此在视觉 AI 和机器学习领域打下了坚实基础。她是 Ultralytics 的内容创作者,也是 Scribe of AI 的创始人兼首席撰稿人,为专注 AI 的公司撰写高质量技术内容。她热衷于让 AI 更易理解、更具吸引力,通过自己的作品连接前沿技术与现实影响。

评论

提出问题、分享你的结果,或帮助其他人。

探索解决方案

体育领域的计算机视觉

体育领域的计算机视觉

了解 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 的未来!

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