版权声明:本文为博主原创文章,未经博主允许不得转载。
SVO(Semi-direct Visual Odometry)[1]顾名思义是一套视觉里程计(VO)算法。相比于ORB-SLAM,它省去了回环检测和重定位的功能,不追求建立、维护一个全局地图,更看重tracking的效果,追求高计算速度、低CPU占用率,所以SVO非常适合在计算资源有限的移动设备上使用。SVO对PTAM的改进主要在两个方面:1)高效的特征匹配;2)鲁棒的深度滤波器。SVO比PTAM、ORB-SLAM计算速度快很多的最主要原因是SVO不需要每一帧都提取特征点。在tracking线程,当前帧的特征点是从上一帧用光流法传递到过来的,只有在mapping线程插入新关键帧时才需要提取特征点。另一个原因是SVO使用了深度滤波器,PTAM和ORB-SLAM只用两帧图像三角化出地图点,只要地图点没有被判定为外点,就固定不变了(除非BA阶段调整),而SVO的深度滤波器会根据多帧图片不断收敛地图点的不确定度,从而得到更可靠的地图点。因为地图点更可靠,