Friday 25 December 2015

一步步学习Visual odometry - Part2

有两种方式可以匹配两帧中的特征点,一是跟踪一个图像中的特征,适用于运动幅度较小的情况。二是在两张图像中分别检测特征点再进行匹配。为了去掉错误的匹配,可以用mutual consistency check和ratio test。不过ratio test需要根据经验设定阈值,所以不如用ransac来去掉outliers.

特征点的个数对结果有很大影响。一般特征点越多越好,而且要均匀分布在图像中,可以把图像分成网格,在每个格子中提取一定数目的特征点。对于640x480的图像,通常1000个特征点比较合适。

除了使用特征点,还可以用dense correspondence match。光流法可以跟踪全部的或者特定的像素,不过它假定运动很小,可能不适于VO。

用ransac去除outlier的时候,需要的内点越少所需要的iteration越少,时间也越少。所以尽可能的使得计算运动所需要的特征点数目比较小。不过如果特征点噪音很大,用更多的点会使得误差更加均匀分布,从而减小结果的误差。所以这时用8点算法可能好于5点算法。5点算法的code在opencv 3中有find essential mat函数,另外还有这里这里


1 comment: