我试图在opencv中实现视觉里程计解决方案,并遇到一些问题。这是一个相当广泛的问题,所以我提前道歉,但我有一些问题。
目前我对这个问题的理解是:获得一些模型来表示两个连续图像之间的对应关系,无论是光流还是特征匹配。从这些点对应中获得基本矩阵(如果需要,然后是基本矩阵)。由此计算[R|t]。
我知道在openCV的findFundamentalMat函数,但我认为这只需要2D点匹配?在Scaramuzza和Fraundorfers的论文《视觉距离测量》(Visual Odometry - pt1)中,他们认为3-D到2-D的对应关系是最准确的。
我想我的问题是我可以使用从kinect检索的深度数据,给我3-D特征点,在openv中使用,给我一个自我运动估计?
我也看了一下solvePnP,但据我所知,这只解决了一个单一的帧(当你知道真实的模型空间坐标的特征,像一个基准标记)虽然我确实考虑过如果我在两帧之间跟踪3D点,在第一帧中解决透视问题,那么在第二帧中使用相同的点应该在两者之间进行转换?
我为这个糟糕的问题道歉,我对计算机视觉还是个新手。如果这个问题太过雷区,我将不会试图回答这个问题,我将感谢任何相关的文献或opencv里程计教程。谢谢。在opencvsamplescpp文件夹中有一个rgbdodometric .cpp示例。你看过吗?