CFNet:三維激光雷達與相機自動在線外部校準方法
作者:魚骨? | 來源:3D視覺工坊
在公眾號「3D視覺工坊」后臺,回復「原論文」可獲取論文pdf、代碼、視頻鏈接。
添加微信:dddvisiona,備注:3D點云,拉你入群。文末附行業(yè)細分群。
激光雷達攝像機標定作為數據融合的重要步驟,對自主車輛和機器人導航具有重要意義。大多數校準方法依賴手工制作的特征,需要大量提取的特征或特定的校準目標。隨著深度學習技術的發(fā)展,一些人嘗試利用卷積神經網絡來回歸6個自由度(DOF)的外部參數。然而,據報道,這些基于深度學習的方法的性能比非深度學習的方法更差。本文提出了一種結合深度學習和幾何方法的激光雷達相機外部標定在線算法。通過定義一個雙通道圖像命名為校準流,以說明從初始投影到地面真值的偏差。采用隨機樣本一致性(RANSAC)方案中的EPnP算法,利用校準流構建的二維-三維對應關系估計外部參數。在KITTI數據集上的實驗表明,本文提出的方法優(yōu)于目前最先進的方法。在此基礎上,提出了一種引入實例質心的語義初始化算法。這里也推薦「3D視覺工坊」新課程《如何學習相機模型與標定?(代碼+實戰(zhàn))》。
引言
場景感知是自動駕駛和機器人導航的一個重要方面。對周圍環(huán)境中物體的魯棒感知依賴于安裝在移動平臺上的各種機載傳感器。光探測與測距(LiDAR)傳感器可以獲得大范圍、高精度的場景空間測量。但激光雷達傳感器的分辨率較低,特別是在水平方向上,缺乏顏色和紋理信息。相機傳感器可以提供高分辨率的RGB圖像,但對光照變化敏感,沒有距離信息。激光雷達和相機傳感器的結合可以彌補彼此的不足。這兩個傳感器的有效融合對于三維目標檢測以及語義映射任務至關重要。外部標定是激光雷達與相機融合的一個重要過程,需要通過外部標定來準確估計激光雷達與相機之間的剛體變換。
早期的激光雷達相機校準方法依賴于特定的校準目標,如棋盤或自制物體。通過手工標注或自動標注獲得二維特征點(攝像機圖像)與三維特征點(激光雷達點云)之間的匹配關系,然后利用該匹配關系計算外部參數。自動駕駛汽車在運行過程中,由于運行環(huán)境的變化(如振動等),會對外部參數產生不可控的偏差。針對這一問題,提出了一系列無目標在線自校正算法,有效地提高了自適應能力。這些在線定標方法主要利用圖像和點云的強度以及邊緣相關性來計算外部定標參數。這種技術依賴于準確的初始外部參數或附加的運動信息(手眼標定初始化)。此外,用于構建標定參數懲罰函數的特征通常是手工設置的,高度依賴于場景,在沒有特征的情況下無法工作。
近年來,有一些方法嘗試利用深度學習來預測激光雷達與相機之間的相對變換。與傳統(tǒng)方法相比,這些方法的標定誤差仍然較大。因此,這些基于學習的標定方法不能滿足標定要求。此外,在實際應用中,當傳感器參數發(fā)生變化時,需要大量的訓練數據來對網絡模型進行微調,這極大地限制了算法的泛化能力。
本文提出了一種自動在線激光雷達相機自標定方法CFNet。CFNet是全自動的,不需要特定的校準場景、校準目標和初始校準參數。我們定義一個校準流來表示初始投影點的位置與地面真值之間的偏差。利用預測的校準流對初始投影點進行校正,以建立精確的2D-3D對應關系。采用EPnP算法計算RANSAC方案的最終外部參數。為了使CFNet完全自動化,我們還提出了一種語義初始化算法。更具體地說,CFNet的貢獻如下:
(1)據我們所知,CFNet是第一種結合了深度學習和幾何方法的激光成像相機外部標定方法。與直接預測標定參數相比,CFNet具有較強的泛化能力。
(2)定義校準流來預測初始投影點位置與地面真值之間的偏差。校準流可以將初始投影移到正確的位置,構建精確的2D-3D對應。
(3)引入二維/三維實例質心(IC)來估計初始外部參數。利用該語義初始化過程,CFNet可以自動執(zhí)行激光雷達攝像機標定。
總結:(1)早期的雷達相機標定方法:依賴于特定的目標,手動或自動標注二三維對應關系;無特定目標時利用圖像和點云的強度以及邊緣相關性來計算外部參數,依賴于準確的初始外部參數或附加的運動信息(手眼標定初始化)。
(2)深度學習方法的弊端:標定誤差不能滿足要求;當傳感器參數發(fā)生變化時,需要大量的訓練數據對網絡模型進行微調,限制了算法的泛化能力。
(3)引入二維-三維實例質心估計初始外部參數。
方法
在本節(jié)中,我們首先描述校準流的定義。然后提出了校準方法CFNet,包括網絡結構、損失函數、語義初始化和訓練細節(jié)。如下圖所示為本文提出的CFNet方法,是一種估計三維激光雷達與二維相機之間轉換參數的自動在線外部校準方法。
實驗與結果
對KITTI數據集的評價結果如表1所示。
可以看出,在所有這些測試序列中,平均平移誤差小于2cm,平均旋轉誤差小于0.13度。圖5顯示了兩個CFNet預測的例子。我們可以看到,重新校準后的投影深度圖像和RGB圖像中的參考對象對齊準確。在所有的測試序列中,序列01的校準誤差最大。主要原因是這個序列是從高速公路場景中收集的,而高速公路場景不包括在訓練數據集中。
與隨機初始標定參數相比,使用語義初始化的校準結果能提供更好的初始標定參數。因此,最終的校準誤差要小得多。此外,語義初始化過程是自動的,基本要求是場景中有效實例對應的數量≥3。由結果可知,語義初始化的平移誤差遠大于旋轉誤差。即使語義初始化提供的初始參數與真值偏差較大,我們提出的CFNet也可以預測準確的校準參數。圖6顯示了一些帶有語義初始化的CFNet預測示例。第一列檢測實例之間存在較多遮擋,導致2D-3D實例匹配不準確,預測的初始標定參數偏差較大。第二列圖像中的實例遮擋比第一列圖像中的要好,因此初始誤差要小得多。在第三列中檢測到的二維和三維實例是完整的,沒有任何遮擋,因此初始校準參數非常準確,與地面真實值的偏差很小。在最后一列中,我們發(fā)現了2D和3D實例之間的不匹配(用箭頭表示),但我們仍然可以得到一個很好的初始校準值。通過語義初始化,無論初始校準誤差大小,CFNet都能準確地重新校準。
由KITTI原始記錄的校準結果可知,CFNet的平均平移誤差為0.995cm (X, Y, Z: 1.025cm, 0.919cm, 1.042cm),平均角度誤差為0.087度(Roll, Pitch, Yaw: 0.059度,0.110度,0.092度)。很明顯,CFNet遠遠優(yōu)于RegNet和CalibNet。雖然CalibNet的誤校準范圍(±0.2m,±20度)小于CFNet(±1.5m,±20度),但CFNet的校準性能遠優(yōu)于CalibNet。
我們還在KITTI360基準數據集上測試了CFNet的性能。結果如圖7所示。盡管在一個周期的數據集上重新訓練,但在測試序列中獲得了很好的結果。因此,當傳感器參數(如相機焦距或LiDAR-Camera的外在參數)發(fā)生變化時,都具有優(yōu)異的性能。這里也推薦「3D視覺工坊」新課程《如何學習相機模型與標定?(代碼+實戰(zhàn))》。
結論
本文提出了一種新的激光雷達相機在線外部標定算法。為了表示激光雷達點云的初始投影與地面真值的偏差,我們定義了一個稱為校準流的圖像。受光流網絡的啟發(fā),設計了一個深度校準流網絡CFNet。通過CFNet的預測對初始投影點進行校正,以構建精確的2D-3D對應關系。利用RANSAC方案中的EPnP算法,通過迭代細化估計外部參數。實驗證明了CFNet的優(yōu)越性。在KITTI360數據集上的附加實驗說明了我們的方法的泛化。