【问题标题】:Programmatic correction of camera tilt in a positioning system定位系统中摄像机倾斜的程序化校正
【发布时间】:2023-03-05 00:27:02
【问题描述】:

简要介绍:
我们正在开发一种定位系统,其工作方式如下。我们的摄像头位于机器人上并朝上(看天花板)。在天花板上,我们有类似地标的东西,多亏了我们可以计算机器人的位置。它看起来像这样:

我们的问题:
相机有点倾斜(我认为是 0-4 度),因为机器人的表面并不完全平坦。这意味着,当机器人转身但停留在相同的坐标时,相机会看到天花板上的不同位置,因此我们的定位程序会产生机器人的不同位置,即使它只是转身而没有移动位。

我们当前的(硬编码)解决方案:
我们从相机拍摄了一些测试照片,将其围绕镜头轴转动。从我们推断出它倾斜的图片中,它大约是倾斜的。图片“向上”方向4度。使用一些简单的几何变换,我们设法减少了倾斜效应并找到了真实的相机位置。在下面的图片中,灰点标记了图片的中心,黑点是天花板上相机所在的真实位置。黑点是从灰点转换而来的(它的位置是通过校正灰点位置来计算的)。您可以很容易地注意到,灰点在天花板上形成一个圆圈,而黑点是这个圆圈的中心。

我们解决方案的问题:
我们的方法是完全不可移植的。如果我们将相机移到新机器人上,则必须完全重新校准倾斜的角度和方向。因此,我们希望将校准阶段留给用户,这将需要拍摄一些照片,由他评估倾斜参数,然后在程序中设置它们。我的问题是:你能想出更好(更自动)的解决方案来计算倾斜参数或校正图片上的倾斜吗?

【问题讨论】:

  • 你能不能在相机下面放一个调平平台?我确信有一个软件解决方案可以解决这个问题,但它可能很重要,可能难以实施,你怎么知道它在所有情况下都有效?调平相机似乎是一个更简单、更全面的解决方案。
  • 是的,我们也考虑过硬件解决方案,特别是使用靶心水平仪,但我们也想了解其他可能性(如果存在)。

标签: image image-processing computer-vision


【解决方案1】:

干得好。进行自动校准是一个不错的挑战。

一个想法是使用屋顶瓦片的平行线: 如果相机完全水平,那么图片中的所有线也将平行。 如果相机倾斜,那么所有线都将被割断(它们在消失点相交)。

现在,这可能很难实现。使用您使用的相机,首先需要校正失真,以使线条确实笔直。

您的实用方法可能更简单、更可靠。正如您所描述的,它似乎可以自动化以变得用户友好。让机器人自行启动并务实地识别图片中哪个点保持在同一位置。

【讨论】:

  • 感谢您的回答。确实,完全自动化的配置似乎不太可能,我们的教授也是这么认为的。我们考虑过使用加速度计,市场上有一些非常小的。我们会看到:)
  • 我们刚刚在 i2c 总线上的板上安装了加速度计。似乎工作正常,现在我们必须为它编写一些代码,希望它会工作。只是想让你知道。
猜你喜欢
  • 2016-10-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-22
  • 1970-01-01
  • 2018-04-23
  • 1970-01-01
  • 2023-03-08
相关资源
最近更新 更多