我通过 OpenCV 2.4.11 中的 findEssentialMat() 函数使用五点算法来计算一个相机相对于另一个相机的相对位姿。对于初始测试,我将两个相机分开放置在 X 中并拍摄了多张照片。如图所示,图像之间检测到的(和匹配的)特征基本保持不变,因为没有运动;然而,基本矩阵和极线变化很大:这反过来又影响了我的姿势。为了提高 E 矩阵的准确率,我还尝试了两次运行该算法:首先使用 RANSAC 过滤掉异常值,然后使用 LMEDS 算法,但我看不到很多改进。尤其是在图 1 和图 2 之间,发生了巨大的变化。
关于可能发生变化/出错的任何指示?我知道 RANSAC 选择可能会导致每次都拾取不同的样本,但是由于所有特征都应该具有相同的“转换”,可以这么说,无论哪些是最终的内点,极线不应该仍然相似? 此外,五点算法论文指出,在所有点共面的情况下,它不存在故障问题。有什么办法可以改进基本的矩阵计算?
谢谢你的时间!