視覺里程計(Visual Odometry)

定義

視覺里程計(Visual Odometry, VO)是利用相機連續拍攝的影像,估計相機(也就是機器人)每一刻移動了多少、轉了多少,進而累積出整段軌跡。名稱類比於用輪子轉數計算距離的輪式里程計。

兩大方法

方法做法代表
特徵點法擷取角點等特徵、在兩張影像間配對,再解出相對位姿ORB-SLAM 的追蹤前端
直接法直接最小化像素亮度差,不擷取特徵DSO、LSD-SLAM

特徵點法對光線變化較穩健;直接法能利用低紋理區域的資訊。

使用情境

  • 輪子打滑或沒有輪子的平台:無人機、手持裝置、腿式機器人。
  • 視覺 SLAM 的前端:提供即時位姿估計,後端再做最佳化。
  • 與 IMU 融合(VIO):IMU 提供高頻短期估計,相機修正長期漂移,手機 AR 與許多無人機都採用。

常見限制

  • 漂移:每一步的小誤差會累積,走越遠偏越多。
  • 環境依賴:白牆、強反光、快速移動造成的模糊,都會讓特徵追蹤失敗。

延伸閱讀

常見問題

faq_01.log
視覺里程計和視覺 SLAM 差在哪?
視覺里程計只估計相鄰影像之間的相對移動,誤差會一路累積(漂移);視覺 SLAM 在此之上加入地圖維護與迴圈閉合,回到曾經去過的地方時能修正累積誤差。
faq_02.log
單目相機為什麼無法知道真實尺度?
單張影像會失去深度資訊,單目視覺里程計估出的軌跡形狀正確但比例未知(尺度不確定性)。常見解法是搭配雙目相機、深度相機或 IMU(視覺慣性里程計 VIO)。

相關文章

相關術語