首先,應該注意OGM是用于推斷地圖上每個單元格的占用概率。每個單元格的占用概率可以假設為一個介于0和1之間的連續(xù)值,因此可以用來將單元格分類為空閑或已占用單元格。
NeuralMapper(圖1)是一個子系統(tǒng),它接收IARA的LiDAR傳感器數(shù)據(jù)作為輸入,并生成汽車周圍的占用柵格地圖作為輸出。NeuralMapper的輸入數(shù)據(jù)遵循Caltagirone等人[11]所使用格式。首先,每個LiDAR點云在LiDAR參考系中從球面坐標轉換為二維笛卡爾坐標。同Caltagirone等人[11]一樣,從二維坐標矩陣計算五個統(tǒng)計矩陣,并在0和1之間進行歸一化。這五個歸一化統(tǒng)計矩陣組合成一個五通道張量,用作網絡的輸入。所考慮的統(tǒng)計數(shù)據(jù)是落入單元格的激光射線數(shù)量、最大/最小/平均/標準高度。
為了使FCN[11]輸出適應IARA的地圖,確定網絡應返回三個類別的概率圖:Occupied、Free和Unknown。因此,神經網絡將使輸出結果與IARA子系統(tǒng)中廣泛采用的概率方法兼容(圖1)。
通過這種方式,網絡的輸出是一個占用柵格地圖,每個輸出神經元(單元格)三個類中的每一個都具有相應的概率。該地圖被轉換至汽車參考系并發(fā)布到其他IARA的子系統(tǒng)。輸出神經元概率按照如下規(guī)則轉換為占用概率。如果最可能的類別是Unknown,則地圖單元格接收值-1,否則類別Unknown的概率為零,并且其他兩個類別的概率被歸一化,使兩者之和等于1。該代碼作為IARA的模塊可在https://github.com/LCAD-UFES/carmen_lcad獲得。
圖1顯示了FCN的一般架構,它分為三大層,稱為編碼器、Co ntext Module和解碼器。
編碼器接收輸入并減少輸入數(shù)據(jù)的大小,嘗試最大程度地減少信息丟失。為此,兩個普通卷積層被使用,它們有3x3大小的卷積核以及使用指數(shù)線性單元(ELU)激活函數(shù)且步長為1和32的特征映射[19],然后是一個卷積核為2x2步長為 2的最大池化層。
Co ntext Module主要由擴展的卷積層構成。擴展卷積能夠增加卷積濾波器的感受野,以增加推斷連續(xù)地圖單元之間連續(xù)性的能力。對于障礙物建圖,傳感器讀數(shù)在長距離上存在許多不連續(xù)性。因此,應用擴展來預測障礙物在更遠的地方的延續(xù)很有意義,在那里傳感器不再非常有效。有8個具有 ELU 激活函數(shù)、3x3 卷積核和128個特征圖的擴展卷積層。這些層的擴展逐漸增加,因此在最后一層有32x64的擴張。與Caltagirone等人[11]提出的工作不同,本文確定輸出地圖為正方形,范圍為汽車周圍60米。因此,每一層使用的擴展具有相同的量級(例如,最后一層具有64x64的膨脹)。
解碼器是架構的最后一部分,神經網絡處理過的數(shù)據(jù)通過去池化操作恢復其原始維度。所使用的去池化實現(xiàn)形式[11]保存了在最大池化層中提取的最大值的位置,以便在相同的位置再次插入這些值,同時將其他值設置為零。解碼器繼續(xù)使用另外兩個具有3x3卷積核、步長為1、具有32個特征映射的普通卷積層和具有3個通道輸出的最后一層。最后,特征圖進入一個log softmax層,它返回一個多維圖輸出,其中每個維度是每個類的對數(shù)概率。因此,如第III.A節(jié)所述,通過比較網絡輸出中每個單元的這三個類中的每一個的概率來構建占用圖。
本節(jié)介紹了用于評估所提出系統(tǒng)的方法。首先,描述了實驗中使用的數(shù)據(jù)集,然后是訓練神經網絡的超參數(shù)和程序。之后,本文提出了為定位生成真值的方法以及用于評估神經網絡性能和定位精度的指標。
訓練深度神經網絡需要大型數(shù)據(jù)集。首先,可以通過手動標記地圖單元格或使用平面圖來創(chuàng)建數(shù)據(jù)集。不過,成本較低的解決方案是借助IARA的離線地圖系統(tǒng)從傳感器數(shù)據(jù)日志生成輸入和輸出對。日志中的所有數(shù)據(jù)都用于生成環(huán)境的 OGM。然后,對于每個LiDAR點云,本文在OGM中裁剪一個以汽車姿態(tài)為中心、半徑為60m的圓。該裁剪圓被定義為LiDAR點云的輸出。
每個單元格考慮三個類:未知、已占用和空閑。由于OGM是概率性的,本文使用軟標簽而不是獨熱編碼(one-hot encoding)。每個類別的概率由單元格的占用概率給出。圖4說明了一個點云及其相關的輸出。使用離線地圖代替在線OGM的優(yōu)點如下。首先,由于集成了多個瞬時地圖,因此更準確。其次,它提供了更多的占用信息,使神經網絡能夠學習如何填充傳感器未觀察到的區(qū)域。
實驗中使用了從傳感器數(shù)據(jù)日志生成的兩個數(shù)據(jù)集。這些數(shù)據(jù)集將被稱為數(shù)據(jù)集1和數(shù)據(jù)集2。數(shù)據(jù)集記錄在相同的環(huán)境中,即3.5公里的UFES環(huán)城公路,并分成三個不相交的區(qū)域,如圖3所示。
圖3 UFES環(huán)城公路地圖。綠色、橙色和紅色分別顯示了訓練、驗證和測試集區(qū)域
圖4 上圖是最大高度統(tǒng)計圖,是NeuralMapper的五個輸入之一,下圖是相應真值。兩個圖像都經過標準化以進行可視化
數(shù)據(jù)集1中的區(qū)域用于訓練、驗證和測試神經網絡,而數(shù)據(jù)集2中的所有區(qū)域用于測試。請注意,在兩個數(shù)據(jù)集中選擇了相同的區(qū)域,并且數(shù)據(jù)集2中的區(qū)域之一對應于用于訓練神經網絡的相同區(qū)域。
數(shù)據(jù)集1是從2016年3月26日黎明收集的日志中提取的。數(shù)據(jù)集1具有1445次掃描和數(shù)據(jù)增強后(詳細信息在下一節(jié)中介紹)共計7228 個樣本,這些樣本分為74%的訓練集、10%的驗證集和16%的測試集。日志是在黎明時記錄的,以盡量減少移動物體的存在。數(shù)據(jù)集2是從2019年3月10日記錄的日志中提取的。由于日志是在用于構建數(shù)據(jù)集1的日志三年后捕獲的,因此隨著時間的推移,它呈現(xiàn)出不同的特征,例如植被生長、新建筑物和道路變化。數(shù)據(jù)集2也有 1445次掃描和7228個帶有數(shù)據(jù)集增強的樣本。
車輛每行駛兩米就會生成輸入和輸出對,以防止網絡不同區(qū)域的數(shù)據(jù)不平衡。通過這樣做,數(shù)據(jù)庫不再有模擬日志中汽車移動較慢的區(qū)域的信息。
DNN 輸入由五個關于汽車周圍點高度的統(tǒng)計圖組成。這些統(tǒng)計圖由一個浮點張量表示,其中每個單元格代表一個20 x20平方厘米的環(huán)境。汽車始終位于地圖的中心。激光觀察到的每個單元格都會存儲最大高度、最小高度、平均高度、高度標準偏差和點數(shù)。為此,首先將云中的點進行坐標轉換,從球面坐標轉換為笛卡爾坐標。然后,位于同一單元格的點被分組并用于計算統(tǒng)計數(shù)據(jù)。最后,這五個統(tǒng)計維度(最大、最小高度、標準偏差和點數(shù))在0和1之間歸一化,并用作網絡的輸入。
為了對地圖進行標準化,在使用高度的統(tǒng)計地圖的情況下,上限值是LIDAR的高度位置(在本文案例中為1.86米),對于點數(shù),計算了一個單元格內的最大可能點數(shù)(在本文案例中為64)。地圖的單元格被初始化為-1,這是最小值。
從圖4中可以看出,每張圖像中障礙單元格的像素數(shù)遠小于自由和未知單元格。這種現(xiàn)象導致網絡傾向于選擇最后兩個類別而不是第一個類別。為了避免這種情況,使用了與每批中類的像素數(shù)成反比的權重,在計算誤差時損失函數(shù)乘以權重。這種與不太頻繁的類別相關的誤差“評估”補償了它們之間的不平衡[20]。
對于數(shù)據(jù)增強[21],本文對所有訓練圖像應用水平翻轉和每個方向90度旋轉,這將數(shù)據(jù)集增加了3倍。根據(jù)Caltagirone等人的工作[11]選擇交叉熵損失函數(shù)和 ELU 激活函數(shù),此外還有25%的去除率 神經網絡訓練了50個epoch,初始學習率為0.0005,每15個epoch的學習衰減率為 0.5。訓練是在12GB Nvidia Tesla K40 GPU上進行的。
定位是自動駕駛汽車導航的重要任務。生成用于評估定位的真值非常具有挑戰(zhàn)性。一個簡單的想法是使用GPS與定位估計進行比較。然而,雖然全球一致,但GPS數(shù)據(jù)具有大量噪聲,并且GPS測量值不一定與地圖一致。
本文生成定位真值的方法類似于文獻[4]、[22]和[23]中采用的方法。本文使用文獻[3]中描述的GraphSLAM技術,使用來自GPS、里程計和LiDAR(用于處理閉環(huán))的數(shù)據(jù)來估計車輛的位姿。然后,這些位姿用于使用NeuralMapper構建離線地圖,之后定位模塊用于估計車輛相對于NeuralMapper的位姿。在GraphSLAM優(yōu)化的第二步中獲得位姿真值。在優(yōu)化的第二步中,除了來自 GPS、里程計和LiDAR(閉環(huán))的數(shù)據(jù)外,定位模塊輸出還用作該方法的輸入。通過這樣做,本文鼓勵在使用傳感器數(shù)據(jù)糾正局部定位錯誤的同時與地圖保持一致。
評估訓練模型的指標是DNN輸出中類別的平均準確率。為每個單元格預測的類別與真值進行比較,并在等式(1)中定義:
其中VP是正確預測類別的單元格總數(shù),TOTAL是數(shù)據(jù)庫中的單元格總數(shù)VP和TOTAL考慮數(shù)據(jù)庫中的所有圖像。
在測試期間用于分析結果的另一個指標是混淆矩陣。每個矩陣行代表類別真值,而列代表網絡的預測。因此,可以在視覺上檢查預測更好或更差的類別?;煜仃嚨闹刀际敲總€類別總數(shù)的百分比,所有行的總和為每個類別的100%。矩陣的對角線代表網絡關于真值的正確性。
此外,本文在自主導航模式下的真實世界環(huán)境中,對使用DNN和IARA自動駕駛汽車生成的離線地圖進行了定性評估。
用于評估定位的指標與文獻[22]和[23]中使用的相同。使用定位估計的位姿
進行了比較。選擇的評價指標是由方程(2)給出的均方根誤差(RMSE):