唐彬洪
(重慶交通大學(xué),重慶 400074)
在自動駕駛領(lǐng)域,激光雷達(dá)傳感器因可提供豐富的場景信息和具有極強(qiáng)的抗干擾能力而獲得廣泛應(yīng)用。激光雷達(dá)點(diǎn)云語義分割可為三維點(diǎn)云分配語義標(biāo)簽,并為地圖增加語義信息,從而提高駕駛的準(zhǔn)確性和安全性。
在以往的研究中,研究人員提出了各種深度學(xué)習(xí)模型來處理激光雷達(dá)三維點(diǎn)云,如基于點(diǎn)的方法、基于稀疏體素的方法和基于二維投影的方法?;邳c(diǎn)的方法包括PointNet[1]、PointNet++[2]。PointNet 使用點(diǎn)云逐點(diǎn)多層感知機(jī)(Point-wise Multi-Layer Perceptron,Point-wise MLP)對每個輸入點(diǎn)逐點(diǎn)計算。PointNet++在其基礎(chǔ)上提出了采樣(Sampling)和分組(Grouping)模塊整合局部鄰域。PointCNN[3]使用點(diǎn)云卷積(Point Convolutions)方法,引入X 變換(Χ-Transformation)使點(diǎn)云經(jīng)卷積變換后的輸出不變。RandLA-Net[4]同樣使用點(diǎn)云逐點(diǎn)多層感知機(jī),引入輕量級神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),依賴隨機(jī)采樣和本地特征聚合器考慮空間關(guān)系和點(diǎn)的特征,獲得更大的鄰域。這些基于點(diǎn)的方法直接應(yīng)用于無序三維點(diǎn)云,不會造成任何信息損失,但采用的鄰域搜索方式等相對耗時。
激光雷達(dá)三維點(diǎn)云具有稀疏性,因此,可基于體素(Voxel)的方法將三維點(diǎn)云量化為三維網(wǎng)格。VoxelNet[5]利用三維卷積配合圖像語義分割中的全卷積網(wǎng)絡(luò)(Fully Convolutional Network,F(xiàn)CN)結(jié)構(gòu)來處理三維體素數(shù)據(jù)。黃潤輝等[6]提出三維錐形柵格解決了激光點(diǎn)云的稀疏性和密度不一致性問題?;隗w素的方法可使點(diǎn)云數(shù)據(jù)規(guī)則化,但體素化本身會帶來離散偽影和信息丟失,在選擇較高分辨率時會出現(xiàn)計算效率低與占用內(nèi)存大的問題。
基于二維投影的方法將成熟的二維卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)應(yīng)用于三維點(diǎn)云投影的二維網(wǎng)格特征圖。FCN[7]將原網(wǎng)絡(luò)中的全連接層替換為卷積層。RangeNet++[8]嘗試使用K 近鄰算法(K-Nearest Neighbor,KNN)作為后處理方法,而SANet[9]將空間相關(guān)性與空間注意力結(jié)合作為預(yù)處理方法。
綜合基于點(diǎn)的方法能保存完整點(diǎn)云信息與基于二維投影的方法能保證實時性的優(yōu)勢,本文提出基于多模態(tài)投影的激光雷達(dá)點(diǎn)云實時語義分割網(wǎng)絡(luò)架構(gòu),分別使用點(diǎn)到網(wǎng)絡(luò)(Point to Grid,P2G)和網(wǎng)格到點(diǎn)(Grid to Point,G2P)模塊同時在鳥瞰圖和距離視圖的二維網(wǎng)格上投影并提取語義特征,通過空間注意力模塊聚合特征,再輸入到特征融合金字塔模塊,結(jié)合初步處理的三維點(diǎn)云輸出分割預(yù)測結(jié)果。然后,利用提出的多模態(tài)投影增強(qiáng)點(diǎn)云特征信息,通過空間注意力模塊處理投影后的二維網(wǎng)格特征圖,并在二維全卷積網(wǎng)絡(luò)中加入三重下采樣模塊提升下采樣性能。最后,利用SemanticKITTI 數(shù)據(jù)集對網(wǎng)絡(luò)的速度和精度進(jìn)行測試。
要實現(xiàn)準(zhǔn)確、快速的激光雷達(dá)點(diǎn)云語義分割,不僅需要高效提取語義特征,還需要保留完整的點(diǎn)云信息?;诙S投影的方法可以有效降低算法的計算量,并通過鳥瞰圖和距離視圖保留完整的點(diǎn)云信息。本文提出的點(diǎn)網(wǎng)格融合模塊如圖1 所示,融合步驟為:點(diǎn)到網(wǎng)格模塊將輸入的點(diǎn)特征投影到鳥瞰圖和距離視圖上;空間注意力模塊由注意力模塊和上下文模塊組成,經(jīng)過空間注意力模塊提取的特征輸入二維全卷積網(wǎng)絡(luò)提取語義特征,注意力模塊使用較大的感受野獲取空間分布信息,學(xué)習(xí)較為重要的特征,上下文模塊使用不同感受野聚合上下文信息,融合大小不同的感受野;使用二維全卷積網(wǎng)絡(luò)處理二維特征圖有效提取語義特征;網(wǎng)格到點(diǎn)模塊將二維網(wǎng)格特征傳輸?shù)饺S點(diǎn)上;點(diǎn)融合模塊將初步處理的三維點(diǎn)、鳥瞰圖和距離視圖分支的特征融合,以確保點(diǎn)云信息完整。
圖1 點(diǎn)網(wǎng)格融合模塊
點(diǎn)到網(wǎng)格模型旨在將三維點(diǎn)特征轉(zhuǎn)換為二維網(wǎng)格特征圖。如圖2 所示,首先需要選擇合適的網(wǎng)格大小,然后將第k個三維點(diǎn)投射到二維網(wǎng)格獲取相應(yīng)的二維坐標(biāo)集合Rh,w包含落在同一二維網(wǎng)格(h,w)中的點(diǎn)的索引,即,其中分別為uk、vk的整數(shù)部分,通常將uk和vk坐標(biāo)四舍五入到最接近的整數(shù),并將點(diǎn)儲存在相應(yīng)的網(wǎng)格單元中。三維特征通過每個通道c取最大三維特征點(diǎn)的特征值形成相應(yīng)的二維網(wǎng)格特征,計算公式為:
圖2 點(diǎn)到網(wǎng)格操作
鳥瞰圖省略了高度維度,即z維度,而距離視圖則省略了距離r維度。因此,將這兩種視圖互補(bǔ)可減少二維投影的信息損失。它們所使用的點(diǎn)到網(wǎng)絡(luò)模型類似,只是在二維投影方式上有所不同。鳥瞰圖使用矩形二維網(wǎng)格離散化,通過矩形二維網(wǎng)格(xmin,ymin,xmax,ymax)將三維點(diǎn)云投影到x-y平面上,該平面的離散度為寬度Wbev和高度Hbev:
式中,rk、θk、φk分別為距離、垂直角、方位角。
然后將θk和φk離散化,忽略rk,獲取距離視圖的寬度Wrv和高度Hrv:
式中,f=fup+fdown為激光雷達(dá)的垂直視角;fup、fdown分別為垂直視角的上、下部分。
鳥瞰圖分支接收形狀為(Wbev=600,Hbev=600)的二維特征圖,范圍為(xmin=-50,ymin=-50,xmax=50,ymax=50)。范圍視圖分支接收形狀為(Wrv=1 024,Hrv=16)的二維特征圖。對于每個網(wǎng)格單元,根據(jù)其內(nèi)部點(diǎn)的特征值通過最大池化操作計算聚合的特征。
空間注意力模塊分為注意力模塊和上下文模塊。在鳥瞰圖和距離視圖中,上下文相關(guān)性主要體現(xiàn)在車輛和行人對道路有很強(qiáng)的依附性,即車輛和行人周圍的像素極大概率屬于道路的類別標(biāo)簽??臻g分布規(guī)律體現(xiàn)在物體類別在空間分布中的相關(guān)性和一般規(guī)律,即行人和植被的旁側(cè)像素大概率屬于道路。此外,基于激光雷達(dá)生成點(diǎn)云的方法可以看出,在距離視圖中道路一般處于圖像中軸與底線位置。
如圖3 所示,分別將點(diǎn)到網(wǎng)格模型處理后的二維網(wǎng)格特征圖輸入注意力模塊和上下文模塊。
圖3 空間注意力模塊
注意力模塊通過大尺寸卷積獲取較大感受野并使用Sigmoid 函數(shù)將權(quán)重歸一化到0~1 范圍內(nèi),對每個通道進(jìn)行縮放。上下文模塊使用1×1卷積和空洞卷積改變通道數(shù)量并增大感受野,通過融合不同尺度的特征圖獲得更準(zhǔn)確的上下文信息,最后,將兩分支輸出結(jié)果對應(yīng)元素相乘獲得空間注意力特征。此外,將上下文模塊分支的輸出結(jié)果與空間注意力輸出結(jié)果相加,以進(jìn)一步更新空間注意力特征。
采用編碼器和解碼器架構(gòu)的二維全卷積網(wǎng)絡(luò)分別應(yīng)用于鳥瞰圖和距離視圖提取語義特征。編碼器以ResNet[10]為基礎(chǔ),采用4個編碼器和3個解碼器,即9 層的輕量級骨干網(wǎng)絡(luò)。兩視圖采用類似的二維全卷積網(wǎng)絡(luò),但視圖范圍沒有沿高度維度進(jìn)行下采樣。特征通道數(shù)分別設(shè)置為64、32、64、128、128、96、64 和64。高分辨率特征圖可顯示更多細(xì)節(jié),如輪廓、邊緣、紋理等,而低分辨率特征圖包含更多的語義信息,如表征道路、大型建筑物等,解碼器使用特征金字塔進(jìn)行上采樣并融合高層和低層特征圖。
在下采樣階段,為保留更多的信息,基于豐富塊(Inception Block),本文提出三重下采樣模塊。使用3個包含二維卷積和二維最大池化的分支分別進(jìn)行特征提取,最后將通道數(shù)相加,經(jīng)過線性整流函數(shù)(Rectified Linear Unit,ReLU)層輸出結(jié)果。三重下采樣模塊使用1×1 卷積可以減少參數(shù)的積累,在提高網(wǎng)絡(luò)深度的同時提高寬度且減少了模型參數(shù),保留了更多信息,如圖4所示。
圖4 三重下采樣模塊
與點(diǎn)到網(wǎng)格操作相反,網(wǎng)格到點(diǎn)模型從二維網(wǎng)格中每個單元格提取特征重新映射到三維點(diǎn)。如圖5 所示,它在4 個相鄰網(wǎng)格內(nèi)應(yīng)用雙線性插值,即確定與點(diǎn)相關(guān)的4 個相鄰網(wǎng)格單元,它們是最接近點(diǎn)的單元格。為進(jìn)行插值,計算點(diǎn)與這4 個相鄰單元格的距離權(quán)重。對于每個特征,根據(jù)權(quán)重和這4個單元格的特征值進(jìn)行插值操作。計算公式為:
圖5 網(wǎng)格到點(diǎn)操作
式(5)考慮了點(diǎn)云位置(uk,vk)到目標(biāo)網(wǎng)格位置(i,j)的距離。對于邊緣點(diǎn),超出視圖范圍的相鄰網(wǎng)格視為無效網(wǎng)格。
點(diǎn)融合模塊融合來自原始點(diǎn)云、鳥瞰圖和距離視圖的點(diǎn)特征。通過向量拼接(Concatenate)操作合并特征通道,使融合模塊同時考慮鳥瞰圖和距離視圖的語義信息。與SuMa++[11]中的分割網(wǎng)格不同,本文不采用后處理模塊,只通過點(diǎn)融合模塊使用特征聯(lián)合和多層感知機(jī)層作為最后的輸出結(jié)果,實現(xiàn)端到端框架。
鳥瞰圖和距離視圖的分辨率不同,導(dǎo)致投影到二維網(wǎng)格的點(diǎn)范圍不同。雖然在某個視圖中,被投影到二維網(wǎng)格范圍外的點(diǎn)的特征被視為無效,但它可以傳遞另一個視圖的信息。本文設(shè)置超出鳥瞰圖視圖范圍,但在距離視圖范圍內(nèi)的點(diǎn)被視為有效點(diǎn)并傳遞相應(yīng)距離視圖點(diǎn)的特征信息。
分割預(yù)測通過一個全連接層對上一層點(diǎn)融合模塊的輸出特征進(jìn)行處理,獲得分割預(yù)測結(jié)果。受激光雷達(dá)點(diǎn)云數(shù)據(jù)的特點(diǎn),以及激光雷達(dá)點(diǎn)云語義分割數(shù)據(jù)集各類標(biāo)簽的數(shù)據(jù)量不平衡的影響,語義分割網(wǎng)絡(luò)在學(xué)習(xí)訓(xùn)練中對小類別語義分割存在困難。在同幀數(shù)據(jù)中,例如道路、汽車、植被、建筑等的環(huán)境要素的像素占比明顯高于摩托車、行人等類別。而對比整個數(shù)據(jù)集數(shù)據(jù)量中的類別,道路、人行道和建筑物在數(shù)據(jù)集中的比例是行人和騎行者的數(shù)百倍。數(shù)據(jù)的極不平衡使語義分割網(wǎng)絡(luò)在訓(xùn)練中更加傾向高占比類別,而難以提取和預(yù)測低占比類別。為減少由數(shù)據(jù)不平衡導(dǎo)致的語義分割網(wǎng)絡(luò)的性能損失,本文采用加權(quán)交叉熵?fù)p失來強(qiáng)調(diào)低占比類別:
式中,yc為真實標(biāo)簽為預(yù)測概率;Fc為類別c在整個數(shù)據(jù)集中的頻率;αc為類別c的權(quán)重;ε為一個很小的正數(shù),防止除零錯誤;C為數(shù)據(jù)集的類別數(shù)量。
為評估本文算法的性能,選用SemanticKITTI 數(shù)據(jù)集進(jìn)行訓(xùn)練和測試。該數(shù)據(jù)集包含43 552 幀360°雷達(dá)掃描點(diǎn)云數(shù)據(jù),劃分為22 個序列。序列00~序列07與序列09~序列10共19 130幀點(diǎn)云數(shù)據(jù)作為訓(xùn)練數(shù)據(jù)集,序列08 共4 071 幀數(shù)據(jù)作為驗證數(shù)據(jù)集,序列11~序列21 共20 351 幀點(diǎn)云數(shù)據(jù)作為測試數(shù)據(jù)集。選用Velodyne VLP-16 激光雷達(dá),具有垂直方向16 線光束,每幀掃描約3.2×104個點(diǎn)。采用平均交并比(mean Intersection Over Union,mIoU)評估算法的表現(xiàn):
式中,S為類別數(shù);Ti為類別i的真正值數(shù)量,即模型正確預(yù)測為類別i的數(shù)量;Fi為類別i的假正值數(shù)量,即模型錯誤預(yù)測為類別i的數(shù)量;Ni為類別i的假負(fù)值數(shù)量,即模型未能正確預(yù)測為類別i的數(shù)量。
所有測試均使用GeForce RTX 4090 圖形處理器(Graphics Processing Unit,GPU)硬件平臺完成。
為驗證本文算法各模塊的有效性,在數(shù)據(jù)集上進(jìn)行消融試驗,各模塊配置情況和試驗結(jié)果如表1所示。
表1 特定融合塊分析 %
在SemanticKITTI 測試集上與其他先進(jìn)算法進(jìn)行對比,結(jié)果如表2 所示。由表2 可以看出:對比RangeNet++,本文算法在精度和速度方面都有所提升,特別是精度明顯優(yōu)于RangeNet++ ;對比SqueezeSegV3,本文算法在精度提升的同時,單幀速度也大幅提升;對比SalsaNext 和MPF,本文算法在速度上略顯不及,但在精度上相比MPF 至少提高了7.8百分點(diǎn),證明了本文提出的多模態(tài)投影語義分割網(wǎng)絡(luò)的高效性。
此外,本文算法與其他算法在序列21上的可視化對比結(jié)果如圖6 所示。由圖6 可以看出,本文算法對于物體的預(yù)測在保持高精度的前提下具有很好的穩(wěn)定性。對于小物體預(yù)測,本文算法正確分割了“行人”這一對象,而其他算法精度較差,甚至忽略了該對象。
圖6 序列21數(shù)據(jù)集定性分割結(jié)果
本文提出了一種基于多模態(tài)投影的實時激光雷達(dá)點(diǎn)云分割算法,通過點(diǎn)和網(wǎng)格模塊實現(xiàn)二維和三維特征圖的轉(zhuǎn)換,將空間注意力模塊和特征金字塔融合模塊有機(jī)結(jié)合并加入三重下采樣模塊高效提取重要位置信息,整合了豐富的語義特征信息,結(jié)合三維點(diǎn)云、鳥瞰圖和距離視圖對點(diǎn)云信息進(jìn)行互補(bǔ)。
通過與RangeNet++、SqueezeSegV3、SalsaNext和MPF 等先進(jìn)算法進(jìn)行比較,驗證了本文算法在精度和速度方面的優(yōu)勢??梢暬Y(jié)果表明,本文算法在小物體預(yù)測方面表現(xiàn)優(yōu)異,展現(xiàn)出了較高的精度和穩(wěn)定性。