|期刊分享|計算機視覺|PI-VIO:基於點和線特徵的穩健高效VIO 上

編者序

:本文是創業公司PerceptIn在MSCKF的基礎之上提出的雙目VIO演算法,除了點特徵外,融入了線特徵,使得演算法對低紋理環境等更穩健。基於他們自己的雙目裝置,錄製了高質量的資料集,可用於VIO/SLAM演算法的評估。將分兩部分轉述,上部分為背景及實驗,下部分為詳細演算法。

推薦指數

☆☆☆☆☆☆☆

1 引言

運動跟蹤是機器人、自動駕駛、AR、VR等應用的核心,由於相機和IMU的天然互補性,以及它們在智慧手機及其它即插即用貨架產品中的大量存在使得視覺慣性里程計VIO近幾年很流行,蘋果的ARKit和谷歌的ARCore是VIO的典型應用。

VIO演算法有兩種分類方法。基於視覺和慣性測量融合時機,VIO可分為緊耦合和松耦合。松耦合從影象和慣性測量中獨立估計運動,然後將估計結果融合以獲得最終估計。緊耦合直接在測量級融合視覺和慣性資料聯合估計所有的IMU和相機狀態。松耦合更靈活、高效,緊耦合更精確、穩健。本文的PI-VIO演算法屬於緊耦合。

基於視覺和慣性測量融合方式,VIO可分為基於濾波的方法和基於最佳化的方法。前者一般為EKF演算法,透過IMU積分進行預測,使用視覺測量進行校正;後者透過非線性最佳化直接最小化IMU積累誤差和相機測重投影誤差。一般來講,基於最佳化的方法更精確,但是運算量更大,因為需要不斷地線性化。也有結合二者優點的組合類方法,如PIRVS迭代執行EKF更新進行運動估計,同時在後端執行最佳化以減少長時間漂移。本文提出的PI-VIO是基於濾波的方法,評估表明其精度與state-of-the-art基於最佳化的方法是同一個量級。

大部分VIO演算法基於Shi-Tomasi、FAST等點特徵作為影象測量,使得它們效能在低紋理環境或光照變化使得點特徵不能可靠檢測和跟蹤的環境中下降明顯。但是這些低紋理環境中的平面元素有大量的線特徵,邊緣提取對光照變化並不太敏感。因此,除了點特徵外,PI-VIO還提取了線特徵作為有用的影象測量以增加運動約束,從而使得系統穩健。類似MSCKF演算法,雙目點和線特徵使用滑動視窗處理,使得運算量與特徵數呈線性關係。

此外,與SLAM演算法相比,VO或VIO演算法一般執行更快但是漂移更大,這是由於它們並不維護環境永久地圖。因此,在本文提出的PI-VIO演算法中,引入了不帶耗時的地圖最佳化(如BA)的輕量級閉環檢測方法減少長時間漂移。

本文主要貢獻如下:(1)首次提出基於點和線特徵的基於濾波的緊耦合雙目VIO演算法;(2)引入了基於濾波的輕量級閉環檢測方法;(3)與OKVIS、VINS-MONO、S-MSCKF演算法進行了大量對比評估;(4)釋出了雙目與IMU同步的PerceptIn Ironsides資料集,並提供了毫米級精度的ground truth。

2 相關工作

PL-SLAM在ORB-SLAM的基礎上,使用單目點線匹配;另一個也叫PL-SLAM的演算法,旨在使用雙目點線特徵基於詞袋模型進行閉環檢測;Tarrio等人提出了基於邊緣的單目VO演算法,使用陀螺儀獲得的旋轉先驗資訊作為正則項最小化邊緣對齊誤差;Ling等人提出了距離變換域的邊緣對齊基於最佳化的緊耦合VIO演算法。

LSD-SLAM、DSO等直接法,依賴於梯度較大的影象區域,包括但是不受限於影象特徵和邊緣。Usenko等人將LSD-SLAM的僅視覺公式擴充套件為帶IMU的緊耦合,最小化聯合光度誤差和慣效能量的函式。ROVIO是基於濾波的直接VIO方法,在EKF更新時使用影象塊的光度誤差作為新息項。本文對線特徵的使用,某種程度上介於基於特徵方法和直接發之間。儘管不需要提取特徵,但是直接法依賴於灰度一致性假設,對環境光照變化和相機增益、曝光等敏感。與ROVIO等直接法相比,本文使用點投影誤差和點到線的距離作為更新時的新息。

漂移是SLAM和里程計方法不可避免的,閉環檢測可有效校正漂移,一般透過全域性位姿圖最佳化實現。VINS-MONO引入了兩步閉環檢測步驟:(1)將滑動視窗與歷史位姿對齊的緊耦合重定位;(2)全域性位姿圖最佳化。本文的輕量級閉環檢測在濾波框架中使用了第一步,出於效率考慮丟棄了第二步,據我們所知這也是基於濾波的緊耦合閉環檢測方法。本文PI-VIO演算法在統一的濾波框架中處理雙目點線特徵和閉環檢測。

6 實驗

本部分透過兩個實驗驗證PI-VIO效能,對比演算法是代表state-of-the-art的OKVIS、VINS-MONO和-MSCKF演算法。OKVIS和S-MSCKF支援雙目相機,實驗時工作於雙目模式;VINS-MONO是單目VIO演算法。兩個實驗分別採用EuRoC MAV資料集和我們的PerceptIn Ironsides 資料集。由於RANSAC帶來的不確定性,所有對比實驗均重複5次並記錄中位數。

6.1 EuRoC MAV資料集

我們選用MH、V1、V2各3個數據集,對比演算法使用它們提供的針對EuRoC調好的預設引數,並且保留了VINS-MONO的閉環檢測功能。評估結果如下圖所示,PI-VIO在MH_04、MH_05、V1_01和V2_01領先。

|期刊分享|計算機視覺|PI-VIO:基於點和線特徵的穩健高效VIO 上

對於V2_03資料集,S-MSCKF效果太差,正如原作者所說,由於雙目影象間的亮度連續不一致性導致雙目特徵匹配失敗,而PI-VIO因為採用了直方圖匹配而對此穩健。此外,V2_03左目相機丟失了約400幀,導致OKVIS跟蹤失敗,在我們將右目做同樣處理後,OKVIS可以正常工作;而本文的PI-VIO則對空間雙目或時序幀丟失足夠穩健;VINS-MONO由於只是單目演算法丟幀對它沒影響。

6.2 PerceptIn Ironsides資料集

該資料集使用工作半徑850mm的6軸機機械臂上的PerceptIn Ironsides相機採集,同步輸出60Hz雙目影象和200Hz IMU資料,如下圖所示。總共包括9個不同運動和環境條件的子資料集,從視覺條件良好下的單軸緩慢運動到有運動模糊和低紋理的快速運動。與EuRoC類似,我們提供了ROS bag資料和zip格式資料,ground truth由機械臂平臺提供,精度達毫米級別,並且與相機精確同步。因此,PerceptIn Ironsides資料集是VIO/SLAM評估或研發的理想資料集。

|期刊分享|計算機視覺|PI-VIO:基於點和線特徵的穩健高效VIO 上

實驗結果如下圖所示,所有演算法均進行了調參以使得效能最優,本文的PI_VIO一直在前2名。S-MSCKF與本文效能接近,除了PI_30058資料集,該資料集挑戰性最大,有好多快速運動和低紋理序列,對僅依賴於點特徵的VIO方法非常困難,而本文由於使用了額外的線特徵而表現出良好效能。OKVIS在緩慢平移為主的PI_S1_X1、P1_S1_Y1和P1_S1_Z1序列上工作良好,但在PI_3058、PI_S1_Y2和PI_S1_Z2上表現太差,我們注意到OKVIS特徵匹配不能處理場景重複特徵。該對比試驗中排除了VINS-MONO,主要有兩個原因:(1)失真模型與Ironsides校正不匹配;(2)許多資料集開始的旋轉為主的序列導致並不能初始化。為提高單目SLAM初始化成功率,直到視差足夠的延遲初始化和基礎矩陣與單應矩陣間的模型選擇會有所幫助。

|期刊分享|計算機視覺|PI-VIO:基於點和線特徵的穩健高效VIO 上

英文名稱:PI-VIO: Robust and Efficient Stereo Visual Inertial Odometry using Points and Lines

本公眾號專注於提供計算機視覺、機器學習、深度學習、智慧感測器技術等

人工智慧

機器人

無人車、無人機

相關領域省時的知識轉述,敬請各位看官關注、評論、轉發、分享。

關注該公眾號,一起創造奇蹟。