我正在开展一个项目,我们正在开发一个自动机器人。我必须基本上找出机器人在任何2个间隔之间行进的距离。我正在使用OpenCV,并使用OpenCV的光流功能,我能够找出2个不同图像中每个像素的速度/距离。使用这些信息,我希望能够找出机器人在这两幅图像之间的距离。
我想到了一种方法,我们可以在像素行进的距离和机器人行进的距离(使用一些测试)之间建立输入输出映射。通过这种方式,使用神经网络,我们将能够找到这种关系。然而,光流将取决于相机与像素的距离,这将导致问题。
有什么方法可以解决这个问题吗?
答案 0 :(得分:3)
我希望你最终接受过去收到的答案。无论如何,我曾经在SO(在OpenCV中)发布了这个问题的解决方案,所以这里是:
答案 1 :(得分:1)
答案 2 :(得分:1)
如果在特定距离旋转的车轮的旋转帮助下找到距离怎么样?
Distance=no of rotation* circumference of wheel
答案 3 :(得分:0)
answer offered by Jacob是追求的正确道路,但您可能会发现由此产生的距离传播信息相当嘈杂。您可能需要考虑使用Kalman filters来改善您的本地化估算值。
关于卡尔曼滤波器的文献非常多,但我在下面列出了一篇相关论文。
Larry H. Matthies,Richard Szeliski和Takeo Kanade(1989)。 “Kalman Filter-based Algorithms for Estimating Depth from Image Sequences ”,“国际计算机视觉杂志”,第3卷,第3期,9月,第209-236页。