黃丹陽,田傳印
(中汽數據(天津)有限公司,天津 300300)
激光雷達是一類基于光學遙感技術進行立體環境探測的傳感器,其內部射頻器件經過高速旋轉,可以周期性地向環境發射脈沖線束進行掃描,采集到的回波以若干包含三維坐標和回波強度的向量集合表示,構成具有環狀結構的“點云”。激光雷達在多領域中被廣泛使用,包括地理測繪、室內定位、無人駕駛等[1]。激光雷達的線束是指雷達內部垂直方向上的射頻單元的數量,決定了在垂直方向上的探測范圍角度和探測角度分辨率,然而高線束激光雷達價格昂貴,不利于民用研究和推廣。為了解決上述問題,本文基于深度學習提出了一種激光雷達超分辨率模型,該模型以低線束激光雷達點云為輸入,通過卷CNN輸出高線束激光雷達點云。
近年來,生成對抗網絡(Generative Adversarial Networks,GAN)作為一種新式的基于半監督或無監督學習的深度神經網絡架構,在多種數據生成領域掀起研究熱潮[2]。本文構建了GAN,并基于CNN分別構建了激光雷達超分辨率模型和激光雷達判別模型。其中激光雷達超分辨率模型作為生成網絡,經過CNN的升維映射完成點云超分辨率;激光雷達判別模型在訓練中負責識別高線束點云數據是來自數據集中的真實樣本還是生成網絡的合成樣本,隨后激光雷達判別模型的識別結果將作為網絡損失回傳給生成網絡進行訓練,GAN的架構如圖1所示。

圖1 生成對抗網絡架構
CNN是一類典型的人工神經網絡,它在原始的感知機基礎上提出了感受野概念,通過對網絡權重局部連接和區域共享大大削減的神經網絡的參數[3],不僅有效避免模型的過擬合,還能更好地提取局部相關性特征,因此在圖像和視頻中的模式識別問題中被廣泛地應用[4-5]。本文采用CNN構建了激光雷達超分辨率模型和判別網絡。
圖2為激光雷達超分辨率模型的網絡結構。該網絡主要由卷積層、殘差模塊和上采樣模塊三部分共同組成。模型的輸入是單通道距離圖,進入網絡后首先經過一層卷積核為9的卷積層,淺層網絡側重對圖像中的紋理、邊緣等通用特征的提取,而并非抽象語義特征,對于超分辨率任務而言,在較大的感受野中提取淺層特征有助于表征環境中的細節,并對激光雷達數據的鄰域相似性進行更好地學習。此外,為了避免分辨率損失,在主干部分取締池化層,并為所有卷積層設置對應的邊緣補全[6]。

圖2 生成網絡的結構
超分辨率模型的主干由殘差模塊構成[7],殘差模塊由若干個殘差單元組成,殘差單元如圖2中所示。每個殘差單元由兩個3-1-1(卷積核-卷積步長-邊緣填充)的卷積層串聯而成。每個殘差單元的末端都部署二維蒙特卡羅Dropout,這是由于在對深度圖進行卷積后不可避免地在圖像邊緣帶來噪聲,大量的Dropout可以模擬噪聲分布。低線束數據經過多次處理,統計輸出數據后可以得到模型的不確定性,進而可以像貝葉斯神經網絡那樣利用模型的不確定性進行正則化,過程見式(1)。其中X是對低線束數據進行N次處理的集合,yj是輸出結果中第j個點,當所有結果在此點上的方差大于均值的λ倍,我們認為模型在此點的預測不確定性過大,予以剔除。

殘差單元的輸入經過一系列處理后,再與自身逐點求和,就作為一個殘差單元的最終輸出。深層的網絡會帶來過擬合風險,而殘差單元的跨層連接令網絡中的信息前饋更密集,有效提高深層特征的利用率,實現多尺度感受野特征的復用,從而避免過擬合風險。在網絡的反向傳遞訓練中,梯度也同樣跨越式回傳,提升網絡的訓練效率。
為了獲得高線束的激光雷達數據,利用上采樣模塊實現對三維細節的重建。本文基于卷積、非對稱平均池化和像素重組構建上采用模塊,其結構如圖2的末端所示。經過上采樣后,利用兩層3-1-1的卷積進行整合,完成整個生成網絡的處理。
在GAN中判別網絡是二元分類器,它本質上是一種可學習損失函數。判別網絡對高線束激光雷達數據的來源進行分類,區分其來自數據集還是生成網絡的合成樣本。二分類結果在訓練中交替式反饋至生成網絡,不斷優化生成網絡的權重,促使生成網絡合成數據更加真實;同時生成網絡在訓練中不斷合成的數據作為負樣本訓練判別網絡,二者通過對抗式訓練共同收斂。本文構造樸素的CNN作為激光雷達判別模型。圖3展示了判別模型的結構,由3-1-1的卷積層和非對稱最大池化層串聯而成,為了基于局部特征判別數據類型,使用卷積核為1的卷積層代替末端的全連接層。

圖3 判別網絡的結構

GAN的目標函數主要由對抗損失(3)和像素損失(4)兩部分組成。其中對抗損失促使生成網絡和判別網絡在優化過程中彼此博弈,(3)中x為低線束點云,y為高線束點云,G和D分別為激光雷達超分辨率模型和判別模型,D的訓練目標是最大化LG,即成功區分真實高線束數據y和合成數據G(x);G的訓練目標是最小化LG,使合成點云成功混淆D。像素損失L1是高線束數據和合成樣本之間的平均絕對誤差作為損失回傳給G進行訓練,它約束輸出與目標在像素級別上的相似性。
為了保證數據和標簽完全對應,本文效仿[8]選取CARLA仿真軟件生成的激光雷達點云構建數據集,仿真激光雷達型號為Velodyne VLP-64,垂直視野范圍為30°,水平角度分辨率被設為360/1024。然后垂直均勻選取16線束的點云就獲得與之完全對應的16線點云。將點云依次排列構成16×1024和64×1024的深度圖,并將歸一化后的距離填充進矩陣,實現3D點云向2D球平面的投影。數據集共包含6000個樣本,對樣本基于5:1的比重隨機選取構建訓練集和測試集。
本文基于Pytorch深度學習框架進行實驗,GPU為英偉達2070s,選取兩個Adam優化器訓練生成網絡和對抗網絡,初始學習率均設為1×10-4。訓練周期設100epoch,訓練結束后單獨提取生成網絡作為超分辨率模型使用。實驗通過計算超分辨率處理結果與VLP-64標簽之間的均方誤差衡量模型的性能。

圖4 不同方法輸出結果的可視化
實驗結果如表1所示。由定量實驗結果可知,深度學習方法在激光雷達點云超分辨率任務中明顯優于傳統方法,這是由于深度學習基于任務自動學習特征,在超分辨率重建過程中不僅基于淺層特征構建紋理,還基于深層抽象特征保持數據的語義信息。而傳統方法僅基于局部像素結構進行重建,針對整齊平面效果較好,但是處理不規則平面和具有復雜結構物體的點云時性嚴重退化。實驗結果同樣表明GAN的性能優于全卷積網絡,這是由于GAN中的判別網絡對生成網絡增加了語義不變的約束,這彌補了L1損失函數的缺陷,對抗式的結構使得生成網絡從樣本空間中擬合出語義一致的數據分布。

表1 實驗結果
圖4為五種方法得到的高線束數據的可視化,從結果可以直觀地看出,由于插值運算的平滑性,傳統方法在距離變化顯著的區域不可避免地產生大量的“斜坡”結構,雖然與標簽之間的MSE同樣較低,但是顯著地改變了原有的環境信息,這種數據無法支持后續的任務和應用。而本文的方法對環境的還原度更高,優于對比算法。