深圳Yolo 视觉
深圳
立即加入

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

了解单目深度估计的工作原理,其与基于传感器的深度方法相比有何异同,以及它如何在视觉系统中实现可扩展的3D感知能力。

自动驾驶汽车的设计旨在理解周围环境动态,从而实现安全行驶。这意味着其功能远不止于识别行人或车辆等物体。 

它们还需要知道这些物体距离多远才能做出正确反应。然而,赋予机器这种距离感知能力并非易事。与人类不同,机器无法自然地从图像中感知深度,必须通过明确的训练才能掌握这项能力。

其中一个原因是,大多数相机捕捉的世界都是平面的二维图像。将这些图像转化为能够反映现实世界深度和三维结构的图像非常棘手,尤其当系统需要在日常环境中可靠运行时。 

有趣的是,作为人工智能分支的计算机视觉专注于解读和理解视觉数据,它使机器能够通过图像更好地理解世界。例如,单目深度估计就是一种计算机视觉技术,仅通过单个摄像头图像就能估算物体的距离。

通过学习物体尺寸、透视关系、纹理和阴影等视觉线索,这些模型无需依赖激光雷达(LiDAR)或立体摄像头等额外传感器即可预测深度。本文将探讨单目深度估计的原理、工作机制及其在现实世界中的应用场景。让我们开始吧!

单目深度估计的简要介绍

单目深度估计使机器能够仅通过单张图像理解物体与其之间的距离。由于仅依赖单个摄像头,该方法具有诸多优势,包括成本更低、硬件要求更简单。

例如,它可应用于仅配备单个摄像头的经济型家用机器人。即使仅凭单帧图像,机器人系统也能识别哪些墙壁更近、哪些门更远,并推断出空间的整体深度。

通常,单张图像无法提供精确尺度的深度信息,因此单目深度估计主要关注相对深度。换言之,即使无法得知确切距离,它也能判断哪些物体更近、哪些物体更远。

当模型基于包含真实距离或绝对深度的数据进行训练时(例如来自激光雷达等传感器的深度测量数据),它就能学会以真实世界单位(如米)预测距离。若缺乏此类参考数据,模型虽仍可推断相对深度,却无法可靠地估算绝对距离。

单目深度估计的输出通常是深度图,即一张图像,其中每个像素代表场景中该部分的远近程度。深度图为视觉系统提供了对环境三维结构的基本理解。

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

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

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

一种常见的方法是立体视觉,它通过比较从略微不同的视角同步捕获的两幅图像来估算深度。通过测量两幅图像中对应点之间的差异,系统能够推断物体与相机的距离。

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

与此同时,基于激光雷达的方法利用激光脉冲生成场景的精确三维模型。尽管激光雷达传感器精度极高,但通常价格昂贵且会显著增加硬件复杂性。

相比之下,单目深度估计仅使用单张RGB图像推断深度。由于其不依赖多摄像头或专用传感器,更易于大规模部署,在成本和硬件资源受限时是理想选择。 

从单张图像中学习深度信息

在仅凭单幅图像估算深度时,单目深度模型会学习识别人类本能用于判断距离的视觉线索。这些线索包括透视线、物体尺寸、纹理密度、物体重叠以及阴影效果,它们共同为物体与相机的距离提供判断依据。

这些线索共同营造出空间深度感。看起来较小或部分被遮挡的物体通常更远,而细节更清晰、视觉上更大的物体则往往暗示其更近。

为学习这些模式,单目深度模型需在大型图像数据集上进行训练,通常会结合激光雷达或立体视觉系统等其他来源获取的深度信息。训练过程中,模型会学习视觉线索与深度之间的关联,从而在推理阶段能够从单帧图像推断距离。

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

单目深度估计技术综述

接下来,我们将探讨从单张图像中估计深度的主要方法,以及这些方法随时间的演变过程。

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

早期的深度估计方法依赖于与相机几何相关的简单视觉规则。透视关系、物体尺寸以及物体是否相互遮挡等线索被用于估算距离。 

例如,当两个相似物体以不同尺寸出现时,人们会认为较小的那个距离更远。在受控环境中,这些方法表现相当不错——在光照、摄像机位置和场景布局等因素保持一致的情况下。

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

早期机器学习方法

早期机器学习方法通过直接从数据中学习模式,为深度估计带来了更大的灵活性。这些模型不再仅依赖固定的几何规则,而是试图学习视觉信息与距离之间的关系,将深度预测视为基于边缘、纹理和颜色变化等线索的回归问题。

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

虽然这种方法比早期方法更有效,但仍存在局限性。若所选特征缺乏重要上下文信息,深度预测的准确性就会降低。随着场景变得越来越复杂多样,这些模型往往难以产生可靠的结果。

深度学习算法

大多数现代单目深度估计系统采用深度学习技术,即通过多层神经网络从数据中学习复杂模式。这些模型能够直接从图像中预测深度并生成深度图。

许多方法都基于卷积神经网络(CNN)构建,这是一种通过检测边缘和形状等模式来处理图像的神经网络。这类模型通常采用编码器-解码器架构:编码器从图像中提取视觉特征,解码器则将这些特征转换为深度图。通过多尺度图像处理,模型既能捕捉场景的整体布局,又能清晰呈现物体边界。

较新的模型侧重于理解图像不同部分之间的关联关系。Transformer Transformer ViT)的模型采用注意力机制,使模型能够识别图像中哪些区域最相关,并建立相距较远区域之间的关联。这有助于模型构建对整个场景深度更一致的理解。

某些系统将两种方法结合起来。混合Transformer 利用卷积神经网络捕捉精细局部细节,同时借助Transformer模型构建场景的全局上下文。虽然这种方法通常能提高准确率,但往往需要更多计算资源,例如额外的内存和处理能力。

深度理解为何对视觉人工智能系统至关重要

在了解单目深度估计的过程中,你可能会疑惑:为什么深度感知在基于视觉的人工智能系统中如此重要?

当系统能够估算物体与表面的距离时,它就能更深入地理解场景布局及不同元素之间的关联关系。这种空间感知能力对于做出可靠决策至关重要,尤其在自动驾驶等现实应用场景中。

深度信息还能为其他计算机视觉任务提供宝贵的背景信息。例如,Ultralytics 模型的物体检测技术能识别场景中的物体,而深度信息则有助于确定这些物体相对于摄像头的位置关系以及彼此间的空间分布。

这些能力共同支持了广泛的视觉人工智能应用,例如构建3D地图、在复杂环境中导航,以及对场景进行整体理解。 

机器人和自动驾驶车辆依赖这些信息来安全移动、避开障碍物并实时响应变化。例如,特斯拉的纯视觉驾驶方案依靠摄像头图像结合深度估算技术(而非激光雷达)来判断物体距离及其在道路上的位置。

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

尽管模型架构各不相同,但大多数单目深度估计模型都遵循相似的流程,将单帧图像转换为深度图。以下是关键步骤的简要概述:

  • 输入与预处理:工作流始于输入图像。原始图像在进入模型前通常会经过尺寸调整、归一化处理,并转换为tensor——这是神经网络高效处理图像数据的专用格式。
  • 特征提取:编码器网络分析图像以提取有意义的视觉特征。这些特征捕捉了诸如纹理、物体边界以及场景整体布局等信息。大多数模型在多个尺度上运行,从而能够同时理解精细细节和全局结构。
  • 深度推理:模型利用提取到的特征,结合局部细节与全局上下文,对场景中的空间关系进行推理。在此阶段,它学习图像中哪些区域更靠近摄像机,哪些区域更远离摄像机。
  • 深度图生成:解码器随后将这些信息转换为密集的深度图。图像中的每个像素都被分配一个深度值,通常通过融合不同尺度下的预测结果来提高精度和一致性。

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

我们刚才讨论的过程假设我们已经拥有一个训练好的或预训练好的模型。但单目深度估计模型的训练过程究竟是如何实现的呢?

训练始于准备图像数据,使其能够被网络高效处理。输入图像经过缩放和标准化处理以保持统一比例,随后通过模型生成预测深度图,该深度图可估算每个像素点的距离。

随后,通过损失函数将预测的深度图与参考深度数据进行比较,该函数衡量模型预测值与真实深度值之间的偏差。该损失值反映了模型的当前误差,并为改进提供了信号。

优化器利用该信号通过调整内部权重来更新模型。为此,优化器会计算梯度——该梯度描述了损失函数随每个模型参数变化的情况——并在多个 epoch(即完整遍历训练数据集的周期)中反复应用这些更新。

这种迭代监督学习训练过程由超参数引导,例如控制每次更新步长大小的学习率,以及决定单次处理图像数量的批量大小。由于训练涉及大量数学运算,通常会借助图形处理单元(GPU)进行加速,该设备在并行计算方面表现优异。

训练完成后,模型将通过标准评估指标在验证集上进行评估,该验证集包含训练过程中未使用的图像。此评估有助于衡量模型对新数据的泛化能力。 

训练好的模型可被复用或针对新场景进行微调。总体而言,该训练过程使单目深度估计模型能够生成一致的深度估计结果,这对3D重建和实际部署等下游任务至关重要。

探索前沿模型与研究趋势

随着模型在理解整个场景而非仅关注微小视觉细节方面不断进步,单目深度估计技术已取得显著提升。早期方法常会生成不均匀的深度图,尤其在复杂环境中表现更为明显。 

根据arXiv上近期发表的研究,新型模型更侧重于全局上下文,由此生成的深度预测结果更趋稳定且更具现实感。诸如MiDaS和DPT等知名模型通过从多样化的高分辨率数据集中学习深度信息,并在众多场景中实现良好泛化,推动了这一转变。 

更近期的模型(包括ZoeDepth和Depth Anything V2)在此基础上进一步优化了尺度一致性,同时在广泛的设置条件下保持了强劲的性能表现。这类进展通常通过KITTI和NYU等通用基准数据集进行评估,这些数据集涵盖了户外与室内场景。 

另一个明显趋势是平衡准确性与实用性。小型模型经过速度优化,可在边缘或移动设备上实时运行;而大型模型则优先考虑更高分辨率和远距离深度精度。 

单目深度估计应用

接下来,让我们通过一些实际案例来了解单目深度估计如何从单张图像中推断场景的3D结构。 

在所有这些情况下,必须牢记深度信息是根据视觉线索推断出的估计值,而非精确测量结果。这使得单目深度估计在理解相对布局和空间关系方面颇具价值,但无法替代激光雷达或立体视觉系统等用于精确测距的传感器。

基于无人机的地形测绘与导航

无人机常在GPS信号不稳定的环境中作业,例如森林、建筑工地、灾区或密集城区。为确保在这些条件下安全飞行,它们需要识别周边地形并掌握障碍物距离。过去通常需加装激光雷达或立体摄像头等传感器,这会增加重量、功耗及整体成本。

单目深度估计是一种更简便的替代方案。仅使用单个RGB摄像头,无人机就能通过图像估算深度,并构建对环境的基本三维认知。这使其能够detect 建筑物、树木或地形突变等detect ,并实时调整飞行路径。

这些深度估算数据为关键导航任务提供支持,包括避障、高度控制和安全着陆。因此,轻型无人机无需依赖专用深度传感器即可执行测绘、检测和导航任务。

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

填补自动驾驶赛车的盲区

自动驾驶车辆通常高度依赖激光雷达传感器,该技术通过发射激光脉冲测量距离并构建道路的三维视图。尽管激光雷达具备高精度特性,但在应对陡峭路脊、急剧坡度、物体遮挡或车辆突然俯仰时仍会遇到困难,有时会返回稀疏或缺失的深度数据。

单目深度估计技术能够弥补这些不足,它能从单张RGB图像中提取密集的深度信息,即使激光雷达数据不完整时亦然。设想自动驾驶汽车高速驶向山脊的情景:激光雷达光束可能越过山脊射向远方,导致前方路况存在不确定性。 

然而,基于摄像头的深度估计仍可通过透视和纹理等视觉线索推断道路形状,帮助车辆在激光雷达数据稳定前维持可靠感知。激光雷达与单目深度估计的协同工作,能在复杂驾驶环境中实现更稳定的感知与更安全的控制。

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

机器人导航与避障

机器人常在缺乏详细地图且环境瞬息万变的场所作业。为确保安全移动,它们需要可靠地感知周围空间的大小及障碍物的位置。 

单目深度估计技术仅需单个RGB摄像头即可实现空间感知,无需依赖笨重昂贵的硬件设备。通过学习尺度和透视等视觉线索,深度估计模型能够生成环境的高精度深度图,使机器人能够清晰感知与物体及地表之间的距离。

特别是当深度信息与物体检测和语义分割等计算机视觉任务相结合时,机器人能够获得更完整的环境视图。它们能够识别物体、理解距离,并判断安全移动区域。这为避障、自由空间检测和实时路径规划提供了支持。

图4. 基于单目深度估计与目标检测的技术实现(来源

单目深度估计的优缺点

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

  • 轻量化与高能效:采用 单摄像头设计 可减轻系统重量并降低功耗,这对移动机器人、无人机及嵌入式系统尤为重要。
  • 支持传感器融合:单目深度感知可通过填补数据空白或提供冗余信息,与激光雷达或雷达等其他传感器形成互补。
  • 适用于多种环境:相同的基于摄像头的方案可在室内、室外及不同平台上使用,无需更换硬件。

尽管单目深度估计具有明显优势,但仍存在以下局限性需予以考量:

  • 比主动式传感器精度更低:尽管 发展迅速,单目深度估计技术在受控环境下通常无法达到激光雷达或结构光传感器的绝对精度。
  • 对光照条件的敏感性: 在低光环境、强烈阴影、眩光或纹理较差的场景中,性能 可能下降。
  • 泛化挑战: 在某个环境中训练的模型 ,若未经适应或微调,未必能可靠地迁移到未见过的领域。

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

虽然单目深度估计是一个有趣的研究领域,但理解其实际应用场景与局限性至关重要。该技术生成的距离值是基于模型对图像的解读所作出的估计,而非从真实世界获取的精确测量数据。

因此,结果的质量会因光照条件、场景复杂度以及场景与模型训练数据的相似度等因素而变化。单目深度估计通常擅长判断物体远近关系,但在需要精确测距时则不够可靠。

在精度至关重要的场景中,例如安全关键系统、工业检测或需要与物体进行高精度交互的机器人,必须直接测量深度。激光雷达、雷达、立体摄像头或结构光系统等传感器正是为此而设计,它们能提供更可靠的距离信息。

单目深度估计在视觉条件恶劣时同样会遇到困难。光线不足、强烈阴影、反光或透明表面、雾气、烟雾,以及视觉纹理极少的场景,都会导致深度估计的可靠性下降。在远距离进行深度估计时,专用传感器通常表现更优。

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

主要要点

单目深度估计是一种计算机视觉技术,它使机器能够仅通过单个摄像头图像来估算物体的距离。通过学习透视、物体尺寸、纹理和阴影等视觉线索,这些人工智能模型无需依赖激光雷达或立体摄像头等传感器,即可推断场景的3D结构。这使得单目深度估计成为自动驾驶、机器人技术和3D场景理解等应用中经济高效且可扩展的方法。

要深入探索视觉人工智能,请访问我们的GitHub代码库并加入社区。浏览解决方案页面,了解机器人领域的人工智能应用制造业中的计算机视觉技术。探索我们的许可方案,立即开启计算机视觉之旅!

让我们一起构建人工智能的未来!

开启您的机器学习未来之旅

免费开始