題目:Online Temporal Calibration for Monocular Visual-Inertial Systems
作者:秦通 沈邵劼
摘要:精确狀态估計是機器人導航、自主駕駛、虛拟現實和增強現實等多種智能應用的基礎子產品。視覺與慣性融合是近年來發展起來的一種六自由度狀态估計技術。不同傳感器測量資料記錄的時間瞬間對系統的魯棒性和準确性至關重要。在實踐中,每個傳感器的時間戳通常會受到觸發和傳輸延遲的影響,導緻不同傳感器之間的時間失調(時間偏移)。這種時間偏移極大地影響了傳感器融合的性能。為此,我們提出了一種線上校準視覺和慣性測量之間的時間偏移量的方法。該方法通過對SLAM系統中時間偏移量、相機狀态、IMU狀态以及特征位置的聯合優化,實作了時間偏移量的标定。此外,該方法是一個通用模型,可友善地應用于多個基于特征的優化架構工作中。仿真和實驗結果表明,與其他先進的離線工具相比,我們的校準方法具有較高的精度。VIO與其他方法的比較表明,線上時間标定對視覺慣性系統有明顯的好處。時間校準的源代碼內建到我們的開源項目,VINS_MONO。
目錄
1.簡介
2.研究現狀
3.算法
A.時間偏移量
B.圖像平面上的特征速度
C.視覺因素與時間偏移
D.帶有時間偏移的優化
E.時間偏移補償
4.實驗結果
A.實作細節
B.時間校準結果
5.結論
1.簡介
在過去的幾十年裡,狀态估計一直是機器人和計算機視覺領域的一個基礎研究課題。機器人導航、自主駕駛、虛拟現實(VR)和增強現實(AR)等各種應用都高度依賴于精确的狀态估計。我們特别感興趣的狀态估計解決方案,隻涉及一個相機,因為它的體積小,功耗低,和簡單的機械配置。在單目純視覺技術中,[1]-[7]已經取得了很好的結果,它計算出了精确的錄影機運動和符合尺度的環境結構。為了解決已知的尺度模糊問題,多傳感器融合方法受到越來越多的關注。利用慣性測量單元(IMU)對[8]-[17]相機進行了大量的研究,在6自由度SLAM(同步定位和映射)中取得了令人矚目的性能。一方面,慣性測量使俯仰和滾轉角,以及比例,可觀察到。另一方面,慣性測量通過消除視覺跟蹤失敗時的間隙來改善運動跟蹤性能。
為了融合來自不同傳感器的資料,必須精确地知道記錄測量值的時間瞬間。實際上,每個傳感器的時間戳通常會受到觸發和傳輸延遲的影響,導緻不同傳感器流之間的時間失調(時間偏移)。是以,傳感器的時間同步問題可能成為多傳感器系統的關鍵問題。對于視覺慣性系統,相機與IMU之間的時間偏移量對系統的魯棒性和精度有很大的影響。大多數視覺慣性方法[13,14,16,17]假定測量的時間戳在單個時鐘下是精确的。是以,這些方法可以與一些嚴格的硬體同步傳感器很好地工作。對于大多數低成本和自組裝的傳感器集,硬體同步是不可用的。由于觸發延遲和傳輸延遲,相機與IMU之間總是存在瞬态偏移(時間偏移)。時間偏移量通常從幾毫秒到數百毫秒不等。幾十毫秒将導緻IMU序列與圖像流完全不對齊,進而極大地影響視覺慣性系統的性能。
為此,提出了一種線上标定視慣性系統時間偏移量的方法。我們假設時間偏移量是一個常數但未知的變量。我們通過線上估計相機和IMU狀态,以及SLAM系統中的特征位置來校準它。我們的标定方法是一個通用的因素,可以很容易地應用于其他基于特征的視覺慣性優化架構。雖然我們使用單目傳感器套件來展示我們的方法,但該方法可以很容易地應用于多錄影機視覺慣性系統。我們強調我們的貢獻如下:
(1)我們提出了一種線上标定視覺慣性系統中錄影機與IMU之間時間偏移量的方法。
(2)我們通過模拟和真實世界的經驗,展示了線上時間計算的重要性。
(3)将開源代碼內建到公共項目中。
本文其餘部分的結構如下。第二節讨論了相關文獻。第三節詳細介紹了該算法。第四節給出了實作細節和實驗評價。最後,第五節對本文進行了總結。
2.研究現狀
在過去的幾十年裡,視覺慣性測程技術已經有了大量的研究,其目的是高精度地計算相機的運動和環境結構。目前流行的技術有基于過濾的架構[9]-[12,17]或批處理優化[13]-[16,18]。大多數視覺慣性算法都是通過提取魯棒稀疏特征來處理圖像,而不是對稠密圖像進行處理。其中[9,10,18]采用無結構視覺因子,通過将視覺殘差投影到零空間來消除特征。他們更注重估計相機或IMU的運動,而不是特征位置。[13, 14, 16]選擇性地将關鍵幀和特征儲存在一個包中,進而優化了相機的運動和特征。所有這些方法都假定IMU和錄影機是精确同步的,沒有時間錯位。
在低成本和自組裝裝置中,IMU和相機之間的時間錯位是一個典型的問題。由于時鐘不同步、觸發延遲和傳輸延遲,測量的時間戳與實際采樣時間瞬間不一緻。這個時間偏移是未知的,需要校準。有幾項研究集中在校準它。Mair[19]提出了一種時間和空間校準的初始化方法,該方法使用了互相關或相位一緻性。該方法以一種新穎獨特的視角制定了标定程式。它将校準的變量與其他未知變量(姿态、特征位置)分離開來。是以,它可以在不受其他變量影響的情況下提供良好的先驗。進一步,方法模組化的時間偏移在一個更精确的公式。Kelly[20]對準相機與IMU的旋轉曲線,校準時間偏移。它利用ICP(疊代最接近點)方法的一種變體來逐漸比對兩條旋轉曲線。利用Furgale[21]中的Kalibr算法,對連續批優化過程中相機與IMU之間的時間偏移量、相機運動以及外部參數進行了估計。Kalibr取得了令人印象深刻的性能,并成為一個受歡迎的工具箱。但是,這兩種方法都是離線操作,使用固定的平面模式(例如棋盤)。該标定模式具有較強的特征跟蹤和關聯能力,并具有較高的三維定位精度。此外,李還針對[22]中錄影機- imu系統提出了一種具有線上時間标定的運動估計方法。在多狀态限制EKF架構下對時間偏移量進行了标定。該方法在計算複雜度上具有明顯的優勢,可用于便攜式移動裝置。與他的方法相比,我們的基于優化的算法在精度上要優于他的方法,因為我們可以在一個大的包中疊代優化大量的變量,而不是早期修複線性化誤差。
3.算法
在本節中,我們将在一個視覺因子中模組化時間偏移量,并在一個基于優化的VIO架構中線上計算它以及特性、IMU和相機狀态。
A.時間偏移量
對于低成本和自組裝的視覺慣性傳感器,相機和IMU沒有嚴格的時間同步。由于觸發延遲、傳輸延遲和時鐘不同步,生成的時間戳不等于測量采樣的時間瞬間。是以,不同的測量值之間通常存在時間偏移。一般情況下,傳感器之間的時間偏移量是一個常數,但未知值。在一些更糟糕的情況下,傳感器是用不同的時鐘收集的,時間偏移量随時間漂移。這種傳感器不适用于傳感器融合。在本文中,我們考慮一般情況,其中時間偏移td是一個常數,但未知的值。
圖1 相機和IMU流之間的時間偏差(時間偏移)的說明。上面的圖表示采樣瞬間。下面的圖顯示了時間戳的瞬間。由于觸發延遲、傳輸延遲和時鐘不同步,生成的時間戳不等于實際采樣時間,導緻相機和IMU之間的時間失調。時間偏移量td是我們移動相機時間戳的時間量,以便相機和IMU資料流在時間上保持一緻。
圖1描述了一幅說明時間偏移的圖檔。在圖中,上面的圖表示采樣瞬間。下面的圖顯示了時間戳的瞬間。由于觸發時延、傳輸時延、時鐘不同步等原因,産生的時間戳不等于實際采樣時間,導緻相機與IMU的時間錯位。具體地,我們定義td為,
tIMU = tcam+td
時間偏移量td是我們應該移動相機時間戳的時間量,以便相機和IMU資料流在時間上保持一緻。td可以是正的,也可以是負的。如果錄影機序列的延遲比IMU序列長,則td為負值。否則,td為正值。
B.圖像平面上的特征速度
為了使相機和IMU資料流在時間上保持一緻,相機序列應該根據td前後移動。我們不是移動整個相機或IMU序列,而是在時間軸上移動特性的觀察值。為此,我們引入了特征速度來模組化和補償時間偏差。在很短的時間内(幾毫秒),相機的運動可以看作是勻速運動。是以,特征在短時間内以近似恒定的速度在像面上運動。在此基礎上,計算了該特征在圖像平面上的速度。
圖3 再投影過程的說明。虛線表示沒有時間偏移模組化的傳統重投影過程。該實線提出了一種考慮時間偏移的重投影算法。黃色線表示IMU限制。IMU限制與傳統的重投影限制不一緻。通過對td的優化,可以得到與IMU限制相比對的最優相機姿态和特征在時間域内的觀測值。
C.視覺因素與時間偏移
在經典的稀疏視覺SLAM算法中,視覺需求被表示為代價函數中的投影誤差。我們通過添加一個新的變量,時間偏移量來修正經典的投影誤差。特性有兩種典型的參數化。一些算法将特征參數化為其在全局幀中的三維位置,而另一些算法則将特征參數化為相對于特定圖像幀的深度或反深度。下面,我們分别用這兩種參數化方法将時間偏移量模組化為視覺因子。
(1)三維位置參數化:特征在全局幀中被參數化為三維位置。傳統的視覺測量公式為投影誤差
(2)深度參數化:該特征還可以細化為與圖像幀相關的深度或反深度
圖3描述了重投影過程。虛線代表了傳統的不需要時間偏移模組化的重投影過程。實線表示考慮時間偏移的建議重投影。黃線表示IMU限制。IMU限制與傳統的重投影限制不一緻。通過對td的優化,可以在符合IMU限制的時域内找到最優的錄影機姿态和特征觀測。
D.帶有時間偏移的優化
利用上述視覺因素,我們可以很容易地将時間校準功能添加到典型的基于視覺慣性優化的架構中,如[13,16,23]。在這些架構中,視慣性定位和映射被表述為一個非線性優化問題,将視覺和慣性測量緊密耦合在一起。如圖4所示,幾個相機架構和IMU裝置被儲存在一個包中。捆綁包的大小通常受限于綁定計算複雜度。本地包調整(BA)聯合優化相機和IMU狀态,以及功能位置。
E.時間偏移補償
每次優化後,我們通過移動後續視訊流的時間戳來補償時間偏移量,如t0cam = tcam + td則系統估計滿足視覺測量和慣性測量在下面。δtd将在随後的疊代優化的資料流,将收斂于零。時間間隔的減少δtd,我們的基本假設(功能以一個恒定的速度移動圖像平面上在短時間間隔)越來越合理。即使一開始有很大的時間偏移(比如幾百毫秒),這個過程也會逐漸從粗到細進行補償。
圖4 視覺慣性定位與映射問題的一個執行個體。我們在一個包中維護多個錄影機幀和IMU測量值。束的大小通常是有限的,以減少計算複雜度。局部束調整(BA)聯合優化相機和IMU狀态,以及特征位置。
4.實驗結果
在本節中,我們首先示範了瞬變電磁法孔隙率校準的準确性,然後我們展示了通過時間校準提高的整體VIO性能。利用仿真資料和實際傳感器集,給出了系統的标定實驗結果。通過公共資料集和實際實驗,給出了系統的整體VIO性能。在每一部分中,我們将提出的算法與其他常用方法進行了比較。
A.實作細節
我們采用了在[23]中提出的視覺慣性優化架構。我們隻将時間偏移量添加到狀态向量中,并使用建議的視覺因子(III-C節)。特征檢測采用Shi-Tomasi角探測器[24],跟蹤采用KLT跟蹤器[25],IMU測量采用局部內建。在局部束調整中,優化了多個關鍵幀的姿态、速度、IMU偏置以及特征位置。隻有包含足夠特征視差的關鍵幀才會暫時儲存在本地視窗中。為了限制計算複雜度,将以前的關鍵幀邊緣化。Ceres求解器[26]用于求解這一非線性問題。整個系統采用Intel i7-3770 CPU實時運作。
圖5 Intel Realsense camera ZR300,其中包含一個fisheye全球快門相機與100◦×133◦FOV和IMU(陀螺和Acc)
B.時間校準結果
1)仿真:在60m x 60m x 60m空間中随機生成500個特征點。功能位置未知。在零均值高斯噪聲下,以0.5像素的标準分辨率将可見特征投影到虛拟相機上。慣性測量也受零均值高斯噪聲的影響,加速度計和陀螺儀的标準偏差分别為0.01m/s 2和0.001rad/s,無偏置。慣性測量速率為100hz,錄影機幀頻為10hz。相機和IMU以足夠的加速和旋轉運動一起移動。整個軌迹持續30秒。我們将時間偏移量設定為5ms、15ms和30ms。每次偏移量進行100次模拟試驗。标定結果如表所示。
我們的算法能夠在較低均方根誤差的情況下,成功地校準模拟資料中的時間偏移量。
真實傳感:我們使用Intel Realsense camera ZR300 2,其中配置了一個fisheye global shutter camera,配置了100◦×133◦FOV和IMU (Gyro & Acc),如圖5所示。制造商聲稱傳感器是同步的。在實際應用中,我們發現魚眼相機與預設SDK獲得的IMU之間存在明顯的時間偏移,這與曝光時間有關。由于無法獲得地面真實值,我們使用了最先進的時間校準工具箱Kalibr[21]進行比較。離線批量優化架構中Kalibr校準時間偏移量,需要添加校準模式(棋盤)。
圖6所示。估計的時間偏移從提出的方法和Kalibr相對于不同的曝光時間
我們設定了5次曝光時間,從20毫秒到30毫秒。每次曝光時間,我們通過将傳感器移到校準棋盤前40秒來收集15個資料集。實際上,Kalibr依賴于一個校準模式,而我們的算法不依賴。為了使校準完全可見,我們確定在所有資料集上有足夠的旋轉和加速運動。時間标定結果如圖6所示。我們可以看到時間偏移量随曝光時間呈線性變化,斜率在0.5左右。這是因為曝光時間的中間部分被視為時間戳圖像的最佳點。是以,時間偏移包括固定通信和觸發延遲加上一半曝光時間。所提出的方法和Kalibr都滿足這種情況。由于地面真相是不可用的,我們以Kalibr的結果作為參考。我們的結果與Kalibr的結果非常接近。在标準推導方面,該方法實作了[0.095,0.071,0.14,0.16,0.15],小于Kalibr的标準推導[0.27,0.16,0.13,0.18,0.20]。該方法在一緻性方面優于Kalibr。注意,Kalibr是一種離線批處理優化,它消耗的資源是建議方法的幾十倍。此外,Kalibr依賴于校準模式。是以,該方法在效率和實用性方面也優于Kalibr。
C. VIO整體性能
1)資料集:我們使用EuRoC MAV視覺慣性資料集[27]對提出的方法進行了評估。資料集收集在微型飛行器上,包括立體圖像(Aptina MT9V034全球快門,WVGA單色,20 FPS),同步IMU測量(ADIS16448, 200赫茲)和地面真實狀态(VICON和Leica MS50)。我們隻使用左邊相機的圖像。衆所周知,圖像和IMU測量在這個資料集中是嚴格同步的。為了示範時間校準的能力,我們通過手動移動IMU時間戳來設定時間偏移量。具體來說,我們為IMU時間戳添加一個固定的毫秒值,這樣IMU和相機之間就有一個固定的時間偏移量。我們制作了時間移位序列,并用它們來測試所提出的算法和其他方法。首先研究了時間偏移對視覺慣性測程的影響。我們将時間偏移量設定在- 40到40ms之間,并分别用vs - mono[23]和所提出的方法對這些時間偏置序列進行測試。
圖7 相對于MH03序列中的時間偏移的RMSE。x軸顯示預定義的時間偏移量,y軸顯示RMSE(均方根誤差)[28]。藍色的線表示的是VINSMono[23]的結果,這是本文提出的方法的基礎架構。紅線表示所提方法的結果,具有時間偏移校正能力。
圖8所示。相對位姿誤差[29]與V101序列中OKVIS的比較,時間偏移量分别為5ms和30ms。在兩種不同的時間偏移量(黑色和藍色)下,該方法的相對位姿誤差基本相同。但是,随着時間偏移量的增加,OKVIS的相對位姿誤差增加了很多(粉色和紅色的曲線)。
圖9所示。V101序列的時間偏移估計,時間偏移量分别為5ms、15ms和30ms。估計偏移量在幾秒鐘内迅速收斂到穩定值
VINS-Mono是我們建構系統的基礎架構。VINS- Mono沒有時間偏移校準功能,是以它明顯受到時間失調的影響。結果如圖7所示。x軸顯示預定義的時間偏移量,y軸顯示RMSE(均方根誤差),如[28]中建議的那樣。測試資料是MH03序列,其IMU時間戳被移動。藍線表示vs - mono的結果。我們可以看到RMSE随着vs - mono時間偏移量的抛物線變化。當時間偏移量增加時,性能急劇下降。容忍間隔僅在6毫秒内。這說明進行時間偏移校正是必要的。紅線表示該方法的結果,該方法校準了時間偏移量。可以看出,不同時間偏移量下的RMSEs是相同的,這證明了我們的标定程式是非常有效的。
下面,我們将OKVIS[16]算法與另一種沒有時間标定能力的先進視慣性測程算法進行比較。利用時間偏置序列對提出的方法和OKVIS進行了檢驗。結果如表所示。利用RMSE對彈道進行了評估。對于OKVIS,随着時間偏移量的增加,性能下降(RMSE越來越大)。在某些序列中(如MH 03, V1 03),當時間偏移量達到30ms時,RMSE顯著增加。這樣的時間偏移使系統發散。然而,對于所提出的方法,性能不受時間偏移量的影響。在不同的時間偏移量下,rmse在一個序列上幾乎是相同的,因為該方法可以正确地校準時間偏移量。表中還列出了校準結果。該方法能準确标定預定的時間偏移量。當時間偏移量大于10ms時,該方法的性能明顯優于OKVIS。具體而言,所提方法與OKVIS的相對位姿誤差[29]比較如圖8所示。圖中V101序列在5ms和30ms時間偏移量下進行。我們可以看到,在兩種不同的時間偏移量(黑色和藍色圖)下,該方法的相對位姿誤差基本相同。但是,當時間偏移量增加時,OKVIS的相對位姿誤差增加很多(粉色和紅色的曲線)。時間偏移估計過程如圖9所示。可以看出,估計的偏移量僅在幾秒内迅速收斂到穩定值。線上temporal校準顯著提高了整體性能。
2)真實實驗:我們進行了一個真實的實驗來驗證所提出的系統。傳感器組與第IV-B節相同。2、英特爾Realsense攝像頭,如圖5所示。圖像速率為30Hz,慣性測量速率為350Hz。我們用手拿着傳感器,在房間裡以正常的速度循環行走。我們将結果與OKVIS[16]進行了比較。同時,将OptiTrack 3的結果作為ground truth處理。我們拿着傳感器走了五圈。軌迹如圖10所示。在x軸、y軸和z軸上的詳細平移如圖11所示。偏航、俯仰和橫搖的詳細旋轉情況如圖12所示。在平移和旋轉比較中,我們可以看到OKVIS的結果随着時間的推移而明顯漂移。該方法與OKVIS的相對位姿誤差[29]比較如圖13所示。OKVIS的相對位姿誤差大于該方法。此外,相對位姿誤差的增長速度快于該方法。顯然,由于線上時間校準,該方法在平移和旋轉兩方面都優于OKVIS。該方法校準的時間偏移量為12.74ms,在沒有有效校準和補償的情況下,将對VIO的長期性能産生顯著影響。
5.結論
本文提出了一種線上計算IMU與相機之間cali- brate時間偏移量的方法。我們的方法是一個通用模型,可以很容易地用于基于優化的視覺慣性架構。時間偏移量與IMU、相機狀态以及功能共同優化。仿真和實驗結果表明,與其他離線方法相比,該方法在時間偏移校正和系統運動估計兩方面均具有較高的精度。雖然我們使用單目傳感器套件來展示我們的方法在本文中,但所提出的方法可以很容易地推廣到多錄影機視覺慣性系統。