确定图像中到车辆的距离(Matlab、OpenCV)

问题描述 投票:0回答:1

我有 2 张图片:

1 检测到汽车时的初始图像。

enter image description here

2 当我将图像转换为另一个计划时的 IPM 图像。 enter image description here

我没有任何有关相机参数的信息。 我知道汽车在原始图像和 IPM 图像中的位置,我想知道如何确定汽车和摄像机之间的距离。我们可以假设相机的高度是1 m吗?

有任何公式或算法吗?

image matlab opencv computer-vision distance
1个回答
1
投票

从你的问题来看,你似乎处于单眼情况,深度/尺度信息自然不可用。恐怕没有简单的方法可以实现你想要的。在我的脑海中,有几个选项:

1- 使用神经网络。这是最便宜的选择(从材料和开发工作的角度来看)。另外,如果您没有视频流而只有单个图像(尽管我猜这不是您的情况),它也可以工作。如果性能不是问题,您可以或多或少地采用任何卷积神经网络,并根据深度数据对其进行训练。否则,快速搜索将引导您进入更快的最先进的网络,您可以根据您的需求进行定制。然而,包含深度图真实值的数据库有点稀缺,您通常必须自己为训练数据构建深度图。在这种情况下,我会想到here底部列出的许多开源方法。获得深度图后,您可以训练单眼深度估计。

2-您可以使用立体相机。这些自然会给你深度,例如通过简单的三角测量。

3- 您有视频流,可以使用 IMU 或汽车里程计。在这种情况下,您可以使用多种(多传感器)同步定位和建图(SLAM)方法。关于这个主题的文献很丰富,但 IMU 校准通常有点噩梦。

4- 您可以使用便宜的 GPS 接收器(我想到的是 ublox EVK* 系列)。在这种情况下,您仍然需要使用一些 SLAM 变体(例如约束束调整或任何基于卡尔曼的方法)。假设 GPS 偏差较低(因为您仅显示不受多路径影响的城市周边图像),这将为您提供相当大的比例近似值。

请注意,方法三和方法四将为您提供重建的估计,因此,如果您使用稀疏(i.e基于特征)SLAM方法,您最终将不得不致密检测到您的汽车的区域(除非粗略估计是好的)。

© www.soinside.com 2019 - 2024. All rights reserved.