ORB特征提取代碼測試
整合ICE-BA、ORB-SLAM2、openvslam中的ORB提取代碼,並比較速度,方便以后使用
1. ORB-SLAM2
vsICE-BA
vs openvslam
ICE-BA
和openvslam
都是在原始的ORB-SLAM2基礎上進行的優化,主要想保留原有的基於四叉樹令特征點均勻分布的操作,
- ORB-SLAM2: 對特征點提取進行了均勻化處理,沒有對性能的優化
- ICE-BA: Look-Up-Table優化了描述子計算+
ARM NEMO
指令集加速 - openvslam: 進行了SIMD指令集加速
2. 實際測試
測試數據選取的是EuRoc數據集中的圖片,對整個序列提取ORB特征取平均值計算時間
ORB-SLAM2
:
Process image: 3682 of total 3682
Total time: 117.968s, Average time: 32.0392ms/image
#更換ros版本OpenCV3
Process image: 3682 of total 3682
Total time: 108.234s, Average time: 29.3955ms/image
ICE-BA
:
Process image: 3682 of total 3682
Total time: 75.9864s, Average time: 20.6373ms/image
#更換ros版本OpenCV3
Process image: 3682 of total 3682
Total time: 69.3227s, Average time: 18.8275ms/image
openvslam
:未開啟SSE加速
Process image: 3682 of total 3682
Total time: 94.2699s, Average time: 25.6029ms/image
openvslam
:開啟SSE加速
Process image: 3682 of total 3682
Total time: 89.493s, Average time: 24.3055ms/image
#更換ros版本OpenCV3
Total time: 83.7194s, Average time: 22.7375ms/image
3.分析
ICE-BA優化的比較徹底,速度比較粗暴,以后還是拿ICE-BA的來用吧,openvslam的感覺比較奇怪,SSE似乎沒起作用,估計配置問題.