文章目录
- 前言
- 一、概念说明
-
- 1、深度概念
- 2、绝对深度概念
- 3、相对深度概念
- 4、深度估计表示方法
- 二、相对深度估计与绝对(即度量)深度估计
-
- 1、模型预测绝对深度劣势与应用优势
- 2、模型预测相对深度必然性
- 3、小结
- 三、深度估计模型loss方法
- 四、深度估计模型评估方法
-
- 1、绝对相对误差
- 2、阈值精度
- 五、刚性运动原理
-
- 1、双目相机示意图
- 2、视差图
- 3、视差图与深度图换算
- 六、kitti数据探索深度与相机坐标集空间坐标关系
-
- 1、世界坐标转像素坐标公式
- 2、深度图对应值
- 3、深度值与空间坐标转换
- 七、深度估计模型运行机理
-
- 1、深度估计模型预测
- 2、深度估计模型训练
- 八、模型预测
- 九、深度值坐标转相机坐标与实现代码
-
- 1、模型预测结果加工
- 2、目标坐标中心点
- 3、深度值转相机坐标
- 十、深度值转相机坐标原理公式推理
-
- 1、相机坐标转像素坐标原理
- 2、像素坐标转相机坐标原理
前言
深度估计是一个很有效方法来预测目标距离或其它场景应用。特别地,近期相关深度估计大模型出现,使其目标深度估计更具有工程应用价值。本文将介绍一个通用的深度估计模型depth anything来实现现实世界目标的深度估计,而模型运行较为简单,关键在于如何将预测深度图转为真实深度估计图。介于此,本文从工程角度做出剖析与分享。当然,有错误之处请指出。
一、概念说明
讲到深度估计前,先给出深度估计概念。
1、深度概念
深度:每个像素代表从相机或传感器到对应空间点的距离,也就是相机坐标系下Z轴的深度,也就是绝对深度。
2、绝对深度概念
绝对深度:每个像素值直接对应一个物理距离(例如,以米或厘米为单位)。
3、相对深度概念
相对深度:像素值指示哪些点更近或更远,而不参考现实世界的测量单位。通常相对深度是反的,即数字越小,点越远。
我们将在稍后更详细地探讨这些概念。
4、深度估计表示方法
正如你所见,将一个3D空间投影到2D平面上会因为透视关系而产生歧义。为了解决这个问题,有多图像深度估计的精确数学方法,比如立体视觉(Stereo Vision)、运动结构(Structure from Motion),以及更广泛的领域如摄影测量学(Photogrammetry)。此外,像激光扫描仪(例如LiDAR)这样的技术也可以用于深度测量。
二、相对深度估计与绝对(即度量)深度估计
查看midas与zoedepth论文一起来解读。
1、模型预测绝对深度劣势与应用优势
预测绝对深度的优势在于它对于计算机视觉和机器人学中的许多下游应用具有实际的效用,比如制图、规划、导航、物体识别、三维重建以及图像编辑等。然而,在多个数据集上训练单一的绝对深度估计模型通常会降低性能,尤其是在包含深度尺度差异巨大的图像(例如室内和室外图像)的数据集中。因此,现有的绝对深度估计模型往往会在特定的数据集上过拟合,并且无法很好地泛化到其他数据集上。
通常,这种图像到图像任务的架构是一个编码器-解码器模型,如U-Net,并带有各种修改。形式上,这是一个像素级回归问题。想象一下,对于一个神经网络来说,准确地预测每个像素的距离,范围从几米到几百米,是多么具有挑战性。
2、模型预测相对深度必然性
这促使我们转向一种不试图在所有场景中预测精确距离的通用模型。相反,我们开发一个大约(相对地)预测深度的模型,通过指示哪些物体更远,哪些更近来捕捉场景的形状和结构。如果需要精确的距离,我们可以在特定的数据集上对此相对模型进行微调,利用其对任务已有的理解。
3、小结
不同环境(如相机)绝对深度数据存在尺度与位移多样,无法统一,训练一个绝对深度模型泛化性非常差,因此设置一个相对距离用来判断物体远近。
三、深度估计模型loss方法
这段文字描述了一种用于深度学习任务中的深度损失函数的标准化方法。这种方法的目标是在各种具有不同尺度和位移的深度图之间进行比较时消除环境scale或位移的影响。
实际上,还有许多其他方法和函数可以帮助消除缩放和平移。损失函数也有不同的添加项,如梯度损失,它关注的不是像素值本身,而是它们的变化速度(因此得名“梯度”)。可以在MiDaS论文中了解更多关于这方面的知识,在文章末尾会列出有用的文献资料。在进入最令人兴奋的部分——使用自定义数据集微调绝对深度之前,让我们简要讨论一下指标。
四、深度估计模型评估方法
在深度估计中,有几种标准的度量被用来评估性能,包括平均绝对误差(MAE)和均方根误差(RMSE),以及它们的对数变化形式以平滑距离中的大差距。除此之外,还有以下两个重要的度量:
1、绝对相对误差
绝对相对误差(AbsRel):这个度量类似于MAE,但是以百分比的形式表达,用于衡量预测的距离与真实距离的平均差异程度。