什么是单目深度估计?概述
了解单目深度估计的工作原理,它与基于传感器的深度方法相比如何,以及它如何在视觉系统中实现可扩展的 3D 感知。
自动驾驶汽车旨在了解周围环境,从而实现安全驾驶。这意味着不仅要识别行人或其他车辆等物体。
它们还需要知道这些物体有多远,以便做出正确反应。然而,赋予机器这种距离感并非易事。与人类不同,它们无法从图像中自然地感知深度,必须通过明确的训练才能学会。
原因之一是大多数相机将世界捕捉为平面的二维图像。将这些图像转化为反映现实世界深度和3D结构的图像非常困难,尤其是在系统需要在日常条件下可靠工作时。
有趣的是,计算机视觉(一种专注于解释和理解视觉数据的人工智能分支)使机器能够通过图像更好地理解世界。例如,单目深度估计就是一种仅使用单张相机图像来估计物体距离的计算机视觉技术。
通过学习物体大小、透视、纹理和阴影等视觉线索,这些模型无需依赖激光雷达(LiDAR)或立体相机等额外传感器即可预测深度。在本文中,我们将探讨什么是单目深度估计、它是如何工作的,以及它的一些实际应用。让我们开始吧!
Link to this section单目深度估计入门#
单目深度估计使机器能够仅使用单张图像就能了解物体的距离。由于它仅依赖一个相机,这种方法具有成本更低和硬件要求更简单等多种优势。
例如,它可用于仅配备单个相机的经济型家用机器人。即使只有一张图像,机器人系统也能识别哪些墙壁更近,哪些门更远,并推断出空间的整体深度。
通常,单张图像不包含正确尺度的信息,因此单目深度估计通常侧重于相对深度。换句话说,即使不知道确切距离,它也能确定哪些物体较近,哪些物体较远。
当模型在具有真实距离或绝对深度的数据(例如来自激光雷达等传感器的深度测量值)上进行训练时,它就能学会以现实世界单位(如米)预测距离。如果没有这种参考数据,模型仍然可以推断相对深度,但无法可靠地估计绝对距离。
单目深度估计的输出通常是深度图,这是一幅图像,其中每个像素代表场景中该部分的远近程度。深度图为视觉系统提供了对环境3D结构的基本了解。

图1. 使用单目深度估计创建的预测深度图示例(来源)
Link to this section从传感器到图像:估计深度#
深度估计可以根据可用的传感器、硬件限制和精度要求,通过多种方式实现。传统方法通常依靠多个视点或专用传感器来直接测量距离。
一种常见方法是立体视觉,它通过比较从略有不同的视点捕获的两张同步图像来估计深度。通过测量两张图像中对应点之间的差异,系统可以推断物体离相机的距离。
另一种方法是RGB-D(红、绿、蓝和深度)系统,它使用主动深度传感器直接测量每个像素的距离。这些系统可以在受控环境中提供准确的深度信息,但需要额外的硬件。
同时,基于激光雷达的方法使用激光脉冲生成场景的精确三维表示。虽然非常准确,但激光雷达传感器通常价格昂贵,且增加了显著的硬件复杂性。
相比之下,单目深度估计仅使用单张RGB图像来推断深度。因为它不依赖多个相机或专用传感器,所以更容易大规模部署,并且在成本和硬件资源有限时是一个不错的选择。
Link to this section从单张图像学习深度#
当从单张图像估计深度时,单目深度模型会学习识别人类本能用于判断距离的视觉线索。这些线索包括透视线、物体大小、纹理密度、物体遮挡和阴影,所有这些都提供了关于物体距离相机多远的提示。
这些线索共同作用,产生深度感。看起来更小或部分被遮挡的物体通常更远,而更清晰的细节和更大的视觉外观通常意味着物体更近。
为了学习这些模式,单目深度模型在大型图像数据集上进行训练,通常配有从激光雷达或立体系统等其他来源获得的深度信息。在训练期间,模型会学习视觉线索与深度之间的关系,从而在推理时能够从单张图像推断距离。
凭借多样化的训练数据,现代视觉模型可以在各种环境中推广这种习得的理解,包括室内和室外场景,并能处理陌生的视点。
Link to this section深入了解各种单目深度估计技术#
接下来,我们将探讨用于从单张图像估计深度的主要方法,以及这些方法随时间的演变。
Link to this section经典和基于几何的方法#
早期的深度估计方法依赖于与相机几何相关的直接视觉规则。透视、物体大小以及一个物体是否遮挡了另一个物体等线索被用于估计距离。
例如,当两个相似的物体呈现不同大小时,较小的物体被假设为更远。这些方法在光照、相机位置和场景布局保持一致的受控环境中工作得相当不错。
然而,在现实场景中,这些假设往往会失效。光照的变化、视点的改变和场景复杂性的增加可能导致不可靠的深度估计,从而限制了经典方法在非受控设置中的有效性。
Link to this section早期机器学习方法#
早期的机器学习方法通过直接从数据中学习模式,为深度估计带来了更大的灵活性。这些模型不再仅依赖固定的几何规则,而是试图学习视觉信息与距离之间的关系,将深度预测视为基于边缘、纹理和颜色变化等线索的回归问题。
特征选择是过程中的关键部分。工程师必须决定提取哪些视觉信号以及如何表示它们,模型的性能在很大程度上取决于这些选择。
虽然这种方法比早期方法效果更好,但仍有局限性。如果所选特征缺乏重要的上下文,深度预测的准确性就会降低。随着场景变得更加复杂和多样化,这些模型往往难以产生可靠的结果。
Link to this section深度学习算法#
大多数现代单目深度估计系统使用深度学习,即具有许多层、能够从数据中学习复杂模式的神经网络。这些模型学习直接从图像预测深度并生成深度图。
许多方法是使用卷积神经网络 (CNNs) 构建的,这是一种通过检测边缘和形状等模式来处理图像的神经网络。这些模型通常使用编码器-解码器设置:编码器从图像中提取视觉特征,解码器将这些特征转换为深度图。在多个尺度上处理图像有助于模型捕捉场景的整体布局,同时保留清晰的物体边界。
较新的模型专注于理解图像不同部分之间的关系。基于Transformer和视觉Transformer (ViT) 的模型使用注意力机制,允许模型识别图像中哪些区域最相关,并将遥远区域相互关联。这有助于模型在整个场景中建立更一致的深度理解。
一些系统结合了这两种理念。混合CNN-Transformer模型使用CNN来捕捉精细的局部细节,并使用Transformer来建模场景的全局上下文。虽然这通常能提高准确性,但通常需要更多的计算资源,如额外的内存和处理能力。
Link to this section为什么深度理解对视觉AI系统很重要#
在学习单目深度估计时,你可能想知道为什么深度理解在基于视觉的AI系统中如此重要。
当系统能够估计物体和表面有多远时,它就能更好地理解场景是如何布局的,以及不同元素之间如何相互关联。这种空间感知对于做出可靠的决策至关重要,特别是在自动驾驶等实际应用中。
深度信息还为其他计算机视觉任务增加了有价值的上下文。例如,由 Ultralytics YOLO26 等模型支持的物体检测可以告诉系统场景中存在什么,但深度有助于回答这些物体相对于相机和彼此的位置。
总之,这些功能支持了广泛的视觉AI应用,如构建3D地图、在复杂环境中导航以及将场景作为一个整体来理解。
机器人和自动驾驶车辆依靠这些信息来安全移动、避开障碍物并实时响应变化。例如,特斯拉的纯视觉驾驶方法依靠相机图像结合深度估计(而不是激光雷达)来了解物体有多远以及它们在道路上的位置。
Link to this section单目深度估计模型如何工作#
尽管模型架构各不相同,但大多数单目深度估计模型遵循相似的流程将单张图像转换为深度图。以下是所涉及的关键步骤概述:
- 输入和预处理: 工作流从输入图像开始。在传入模型之前,原始图像通常会被调整大小、归一化并转换为张量,这是神经网络高效处理图像数据的格式。
- 特征提取: 编码器网络分析图像以提取有意义的视觉特征。这些特征捕捉纹理、物体边界和场景整体布局等信息。大多数模型在多个尺度上运行,以便同时理解精细细节和全局结构。
- 深度推理: 利用提取的特征,模型将局部细节与全局上下文相结合,以推理场景中的空间关系。在此阶段,它学习图像的哪些区域离相机更近,哪些区域更远。
- 深度图生成: 解码器随后将此信息转换为密集深度图。图像中的每个像素都被分配一个深度值,通常通过混合来自不同尺度的预测来提高准确性和一致性。
Link to this section如何训练单目深度估计模型#
我们刚刚讨论的过程假设我们已经有一个训练好或预训练好的模型。但是训练单目深度估计模型到底是如何工作的呢?
训练始于准备图像数据,以便网络能够高效处理。输入图像被调整大小并归一化到一致的尺度,然后通过模型生成一个预测深度图,该图估计每个像素的距离。
然后,使用损失函数将预测深度图与参考深度数据进行比较,该函数测量模型的预测与真实深度之间的差距。这个损失值代表模型当前的误差,并提供改进的信号。
优化器利用此信号通过调整内部权重来更新模型。为此,优化器计算梯度(描述损失相对于每个模型参数的变化情况),并在多个时期(即完整遍历训练数据集)中反复应用这些更新。
这种迭代监督学习训练过程受超参数指导,例如控制每个更新步骤大小的学习率,以及决定一次处理多少张图像的批处理大小。由于训练涉及大量的数学运算,通常会使用图形处理单元 (GPU) 来加速,GPU非常适合并行计算。
训练完成后,模型会在验证集(由训练期间未使用的图像组成)上使用标准评估指标进行评估。这种评估有助于衡量模型推广到新数据的能力。
训练好的模型随后可以被重用或针对新场景进行微调。总的来说,这个训练过程使单目深度估计模型能够产生一致的深度估计,这对于3D重建和实际部署等下游任务至关重要。
Link to this section探索最先进的模型和研究趋势#
随着模型变得不仅能识别小视觉细节,还能更好地理解整个场景,单目深度估计得到了迅速改进。早期的方法往往产生不均匀的深度图,特别是在复杂环境中。
正如在arXiv上发表的近期研究中所见,较新的模型更关注全局上下文,这导致深度预测看起来更稳定、更真实。MiDaS和DPT等知名模型通过从多样化的高分辨率数据集中学习深度并在许多场景中良好地推广,推动了这一转变。
包括ZoeDepth和Depth Anything V2在内的更新模型在这些工作的基础上,在广泛的设置中改善了尺度一致性并保持了强大的性能。这种进展通常使用像KITTI和NYU这样的通用基准数据集来衡量,这些数据集涵盖了室外和室内场景。
另一个明显的趋势是在准确性和实用性之间取得平衡。较小的模型针对速度进行了优化,可以在边缘或移动设备上实时运行,而较大的模型则优先考虑更高的分辨率和长距离深度精度。
Link to this section单目深度估计的应用#
接下来,让我们浏览一些实际案例,看看单目深度估计如何用于从单张图像推理场景的3D结构。
在所有这些情况下,必须记住深度信息是从视觉线索中推断出来的估计值,而不是精确的测量值。这使得单目深度估计对于理解相对布局和空间关系很有用,但不能替代设计用于精确测量距离的传感器,如激光雷达或立体系统。
Link to this section基于无人机的地形测绘与导航#
无人机通常在GPS信号不可靠的环境中作业,如森林、建筑工地、灾区或密集的城市地区。为了在这些条件下安全飞行,它们需要了解周围的地形并知道障碍物有多远。过去,这通常需要添加激光雷达或立体相机等传感器,这增加了重量、功耗和整体成本。
单目深度估计是一个更简单的替代方案。仅使用单个RGB相机,无人机就能从图像中估计深度,并构建其环境的基本3D理解。这让它们能够检测建筑物、树木或地形的突变等障碍物,并实时调整飞行路径。
这些深度估计支持关键的导航任务,包括避障、高度控制和安全着陆。因此,轻型无人机可以在不依赖专用深度传感器的情况下执行测绘、检查和导航任务。

图2. 单目深度估计可用于分析无人机图像(来源)
Link to this section填补自动赛车的盲点#
自动驾驶车辆通常严重依赖激光雷达传感器,激光雷达利用激光脉冲来测量距离并构建道路的3D视图。虽然高度准确,但激光雷达在陡峭的道路顶部、陡坡、遮挡或车辆突然俯仰时可能会遇到困难,有时会返回稀疏或缺失的深度数据。
单目深度估计可以通过从单张RGB图像提供密集深度信息来帮助填补这些空白,即使激光雷达数据不完整也是如此。考虑这样一种场景:一辆自动驾驶汽车正在高速接近坡顶。激光雷达光束可能会越过坡顶后的道路,导致对前方情况的不确定。
然而,基于相机的深度估计仍然可以根据透视和纹理等视觉线索推断道路形状,帮助车辆保持可靠的感知,直到激光雷达数据稳定。激光雷达与单目深度估计相结合,在充满挑战的驾驶条件下实现了更稳定的感知和更安全的控制。

图3. 用于自动驾驶比赛的单目深度估计可视化(来源)
Link to this section机器人导航与避障#
机器人经常在没有详细地图且条件不断变化的地方作业。为了安全移动,它们需要可靠地感知周围有多少空间以及障碍物位于何处。
单目深度估计可以在不依赖笨重或昂贵硬件的情况下,仅使用单个RGB相机提供这种空间感知。通过学习比例和透视等视觉线索,深度估计模型可以生成环境的密集深度图。这让机器人能够清楚地看到到表面和物体的距离。
特别是当深度信息与物体检测和语义分割等计算机视觉任务相结合时,机器人可以获得其环境更完整的视图。它们可以识别物体、了解其距离并决定何处移动是安全的。这支持了避障、自由空间检测和实时路径规划。

图4. 使用单目深度估计和物体检测检测物体(来源)
Link to this section单目深度估计的优缺点#
以下是使用单目深度估计的一些主要优势:
- 轻量且节能: 使用单个相机可降低系统重量和功耗,这对移动机器人、无人机和嵌入式系统尤为重要。
- 易于传感器融合: 单目深度可以通过填补空白或提供冗余来补充激光雷达或雷达等其他传感器。
- 适用于多种环境: 相同的基于相机的方法可以在室内、室外和不同平台上使用,无需更改硬件。
虽然单目深度估计提供了明显的优势,但也需要考虑以下限制:
- 精度低于主动传感器: 尽管进步迅速,但单目深度估计通常无法与受控条件下激光雷达或结构光传感器的绝对精度相匹配。
- 对光照条件敏感: 在弱光环境、强阴影、眩光或纹理较差的场景中,性能可能会下降。
- 泛化挑战: 在一个环境中训练的模型如果不进行适应或微调,可能无法可靠地转移到未见过的领域。
Link to this section何时不应依赖单目深度估计#
虽然单目深度估计是一个有趣的研究领域,但了解它在实际中哪些地方可以使用、哪些地方不能使用非常重要。它产生的距离是基于模型在图像中看到内容的估计值,而不是从现实世界中获取的精确测量值。
因此,结果的质量可能会因光照、场景复杂性以及场景与模型训练时场景的相似程度等因素而改变。单目深度估计通常能很好地分辨哪些更近、哪些更远,但当你需要精确距离时,它并不可靠。
在精度至关重要的情况下,例如安全关键系统、工业检查或需要与物体进行极其精确交互的机器人,深度需要直接测量。激光雷达、雷达、立体相机或结构光系统等传感器专为此设计,并提供更可靠的距离信息。
单目深度估计在视觉困难的条件下也可能表现不佳。光照不佳、强阴影、反射或透明表面、雾、烟或视觉纹理极少的场景都可能使深度估计变得不可靠。估计长距离深度是专用传感器通常表现更好的另一种情况。
在实际应用中,单目深度估计最好作为辅助工具,而不是独立的解决方案。它可以增加有用的空间上下文,在其他传感器受限时帮助填补空白,并改善对场景的整体理解。然而,当精度、安全或严格的可靠性要求很重要时,它不应成为深度信息的唯一来源。
Link to this section关键要点#
单目深度估计是一种计算机视觉技术,使机器仅使用单张相机图像就能估算物体距离。通过学习透视、物体大小、纹理和阴影等视觉线索,这些AI模型无需依赖LiDAR或立体相机等传感器即可推断场景的3D结构。这使得单目深度估计成为自动驾驶、机器人和3D场景理解等应用中一种经济高效且可扩展的方法。
想深入探索视觉AI,请访问我们的GitHub repository并加入我们的community。查看我们的解决方案页面,了解AI in robotics和computer vision in manufacturing。探索our licensing options,立即开始使用计算机视觉!






