因为SVO有深度滤波器,3D点重建精度很不错,所以最近有一个idea是用SVO作为前端跟踪,基于SVO的点云地图,把vins的后端扒上去实现重定位和回环。所以今天来试试SVO的效果。
参考了一下这篇文章:
用tum数据集的格式跑了一下自己的图片,因为SVO不提供鱼眼模型,就先自己矫正好了直接跑:
cam_ = new svo::PinholeCamera(640, 480, 481.20, 480.00, 319.50, 239.50);
结果很差:
虽然初始化成功了,直走还能跟踪,但点在肉眼可见的减少,一转动,很快点就都丢了,开始重定位(并失败)。 又参考了一下下面这篇文章,SVO的机制还是比较naive,基本跟丢了就找不回来了。如果要基于SVO做的话,工作还有很多。
后续计划:
1.等IMU数据调好了,试试VINS的结果。
2.试试orb-slam和ds