使用ORB特征点和LFNet、RFNet特征点直观感受就是深度特征点找到的更加有场景中结构的信息,不过这当然也有ORBSLAM算法中对ORB的各种筛选机制有关。
下面第一张是ORBSKLAM的效果,第二张是替换了LFNet的效果:
ORB
LFNET
如果从性能来看,ORB要比深度特征点要稳定点,主要问题就是深度特征点在走到无纹理区域比较多地方会很容易追丢,我分析这里面主要有几个原因:
- ORBSLAM里面有很多对特征点的选择机制,而改成深度特征点只保证有1000个特征点,而特征点的尺度信息和系统筛选机制都屏蔽了。
- DBOW词袋模型训练的不好
- SLAM系统中超参数没有调整到合适的值,这个问题一直在实验测试
- 深度特征点还是很慢,平均1fps左右,提升空间很大
ORB如下:
18163782-09a9c21eeba06c2b.png
18163782-3a43ef1be237c57a.png
LFNET如下:
18163782-616e0a0c51652d62.png
18163782-1833ba2bda6f9be3.png
RFNET直接在红圈处追丢了,在这个地方LFNET表现也不好,可以说LFNET之所以评分不高很重要是这里问题。、
这个地方我开始以为是词袋模型问题,重建了三次结果都是在这里毁了,考虑到两个深度特征点都在这里不行,也有可能是SLAM系统中参数没有适应地调整过来。
8.21 更新
目前在tum的room测试集已经能完整运行了,不过我测了其他5个序列,都不太好,主要是在快速移动时候容易出现丢失问题。这个问题有可能是词袋模型不好,或者某些参数阈值还需要调整。