单眼猛击初始世界坐标系变换

时间:2017-04-11 04:45:22

标签: computer-vision coordinate-transformation slam

单眼猛击的初始坐标系是随机的和尺度未知的。

但我想知道如何将初始坐标系转换为另一个坐标系(来自标记,如棋盘)。

是否有任何论文或博客。

非常感谢!

1 个答案:

答案 0 :(得分:2)

这是单眼设置中的一个难题,IMU会给出相当不错的结果(例如 here)。但看起来你当前除了相机之外没有任何传感器。在这种情况下,使用棋盘或标记估计比例并不是一个理想的解决方案,因为它需要您在初始化时对摄像机的运动进行大量控制。例如,想到一个简单的方法是:保持棋盘完全垂直,并将相机固定在 N 的距离,其轴与棋盘正交。现在,请确保将相机与电路板完全平行移动一段时间 t 。在此时间间隔内,您在电路板上检测到的每个功能都与相机的距离 N 。这意味着,如果他们在SLAM坐标中的深度为 s ,那么您的比例将为 N / s 。然而,保持运动完全平行是很尴尬的。我希望(随意纠正我)其他基于标记的方法也同样糟糕。

更好但更耗时(从开发的角度来看)选项是使用基于模型的跟踪器(丰富的文学,一个想到的非常古老的例子是pwp3D)。在您的环境中获取一个已知对象(您可以在CAD模型中轻松获得一个简单的对象,其中比例是真实的比例)。现在,您的问题是SLAM参照与对象空间参照的对齐。为此,您可以在原始图像中使用轮廓检测​​,投影CAD模型并尝试尽可能对齐它们(请注意,您必须使用不同的视点,在足够数量的图像中对齐这些轮廓,捆绑调整式的方式)。

另一种可能性是使用神经网络来预测深度​​(关于该主题的丰富文献),但估计通常不太精确。

解决与地面实况坐标的对齐:

我从您的评论中了解到,您希望将SLAM坐标与先前已知的参考对齐。我认为研究地理参考的SLAM系统对您有利,因为它们在初始化时面临着与您相同的问题。现在,回到手头的问题,我就是这样做的:

Feature matches between the two coordinate systems

让我们注意 G 您想要的坐标系,让 S 成为SLAM参考。您的SLAM算法将从标记重建功能,我们将调用f'_1,f'_2,f'_3。这些将与您标记上的功能f_1,f_2,f_3相对应。重要的是,您可以根据其外观(纹理或颜色等)正确匹配这些功能。一旦你有这些匹配,问题是找到相似性sim=[sR sT;0 1](使用类似matlab / octave的符号),其中 R 是旋转, T 是翻译和 s 是比例参数。您现在应该能够将您的问题表述为某种

argmin_{R,T,s} sum(d(f'_i, sim*f_i))

总和运行索引 1,...,N (图中 N = 3 )和 d 表示参考 G 中的特征与参考 S 中的匹配之间的距离(我说,欧几里得)。当然,这是一个广泛的表述,但我认为它可以作为您的解决方案的一般基础。但是请注意,如果在最小化这样的成本函数之前可以先使用 R,T,s ,那将会更好,因为这类问题的最小化算法往往会陷入困境当地最低点。