Visual-Inertial Odometry
- 又稱: VIO, visual-inertial navigation
- 類別: State estimation & navigation › Localisation
- 標籤: state-estimation, odometry, imu, computer-vision, drones
融合相機影像與 IMU 量測,估測機器人的位置、姿態與速度;IMU 補足影格之間的空檔,並讓公制尺度變得可觀測。
定義
視覺慣性里程計(VIO)(Visual-inertial odometry)估測與慣性量測單元(IMU)剛性安裝在一起的相機的運動。相機在各影格之間追蹤視覺特徵或影像強度,能良好地約束旋轉與平移方向,但會緩慢漂移,而且只用單一相機時無法還原公制尺度。IMU 以高得多的頻率量測角速度與比力;將其積分可得到短時間的運動,並讓重力方向與公制尺度變得可觀測,但單靠積分時誤差會快速累積。結合兩者所得的估測,比任何一種感測器單獨使用都更準確、更強健,VIO 也是無人機、AR 頭戴裝置與許多足式機器人上的標準狀態估測器。
各系統在兩個面向上有所不同。以濾波為基礎的方法,例如 Mourikis 與 Roumeliotis(2007)的多狀態約束卡爾曼濾波器(MSCKF)以及 ROVIO,以 IMU 傳播狀態,再以視覺量測更新。以最佳化為基礎的方法,例如 OKVIS 與 VINS-Mono,在近期的關鍵影格上求解滑動視窗非線性最小平方問題,關鍵影格之間通常使用 IMU 預積分因子。兩類方法都可以是緊耦合,也就是在估測器中直接使用特徵觀測;或是鬆耦合,也就是融合由視覺流程另外算出的姿態。以特徵為基礎的前端追蹤角點或描述子;直接法則處理像素強度。
VIO 仍然是里程計。位置以及繞重力軸的偏航角無法觀測,因此若沒有迴圈閉合或外部參考,就會漂移;滾轉與俯仰則維持有界,因為 IMU 能感測重力。精度高度取決於校正(相機內部參數、相機與 IMU 的外部參數,以及兩個感測器之間的時間偏移)與初始化,而初始化必須估測重力、尺度、速度與偏差。快速運動會造成動態模糊與大幅的特徵位移,低紋理與照明不佳會讓前端缺乏輸入,而等速運動則會讓尺度與偏差只能被微弱地觀測。視覺里程計條目涵蓋只用相機的情況;VIO 的差別在於,它把 IMU 當成估測器內部的完整量測,而不是可有可無的輔助。
為何重要
VIO 讓一組輕巧、便宜又省電的感測器,不需要 GPS 或外部動作捕捉,就能提供具公制尺度的高頻姿態估測。敏捷的無人機、行動 AR 裝置與許多野外機器人都仰賴它,而它的失效模式(漂移、尺度誤差,以及快速運動時追蹤遺失)限制了這類機器人能動得多激烈。
主要應用
- 在室內、樹冠下與建築結構附近進行不依賴 GPS 的無人機飛行
- 擴增實境與虛擬實境的頭部與裝置追蹤
- 足式機器人與手持建圖裝置的狀態估測
- 作為視覺慣性 SLAM 系統的前端
- 在無法使用衛星定位的情況下,為飛行器與著陸器導航
實際應用
一個打造自主競速四旋翼的團隊,把一台全域快門立體相機與一個 IMU 安裝在同一塊剛性板上,再利用校正板與 Kalibr 等工具,校正相機內部參數、相機與 IMU 的外部參數以及時間偏移。在飛行器上,滑動視窗估測器以相機影格率追蹤特徵,並在影格之間積分 IMU,以 IMU 的頻率將姿態與速度發布給控制器。快速轉彎時,動態模糊會縮短特徵軌跡,位置估測在整條賽道上逐漸漂移,因此團隊融合對競速門的偵測(門的大致位置已知)來修正累積的漂移。他們在每次飛行中都記錄估測器輸出的偏差與特徵數量,因為特徵數量下降通常是即將失效的第一個徵兆。
常見誤解
- VIO 提供的是絕對位置 — 它是里程計:除非以迴圈閉合、地圖或外部參考修正,否則位置與航向會隨距離漂移
- 加上 IMU 就能解決視覺里程計的所有失效問題 — IMU 能補足短暫的空檔,但長時間沒有可追蹤的特徵,仍會造成漂移,並可能破壞初始化
- 任何相機與 IMU 都能隨意搭配 — 準確的外部參數校正與時間同步,往往決定估測器是正常運作還是發散
誰需要了解
- 狀態估測與 SLAM 工程師
- 無人機與空中機器人開發者
- AR 與 VR 追蹤工程師
- 足式機器人與移動機器人導航工程師
相關技術
- VINS-Mono
- OKVIS
- MSCKF
- ROVIO
- ORB-SLAM3
- Kalibr
相關術語
相關專案
- ArduPilot: World's most trusted open-source autopilot for drones, planes, rovers, and submarines
- PX4 Autopilot: Open-source flight control software for drones and other unmanned vehicles
- OpenDroneMap: Open-source photogrammetry toolkit that turns drone images into maps and 3D models
- OpenCat: An open-source Arduino and Raspberry Pi-based quadruped robot pet framework
- QGroundControl: Cross-platform ground control station for mission planning and drone flight monitoring
- FAST-LIVO2: Fast, direct LiDAR-inertial-visual odometry from HKU-MARS, published in IEEE T-RO