李曉航,周建江
南京航空航天大學 雷達成像與微波光子技術教育部重點實驗室,南京 211100
不論是道路交通管理還是機場航路交通管理,自動駕駛的技術都會為智能交通和自主決策帶來革命性變革。在道路/航路交通環境中,傳感器通過實時感知道路/航路、車輛/飛機或者行人等的狀況,通過路徑規劃提高行駛效率,減少人為操作失誤帶來的風險。在民航領域,智能駕駛技術可以有效提升機場飛機的轉運效率,尤其是大型民用機場,智能駕駛技術可以應對更復雜機場航路狀況,降低安全風險,提高航班正點率。
近年來,隨著地面道路和空中航線越來越復雜,以及任務的多元化,單一傳感器已經逐漸無法適應決策和操作的需求,因此融合多傳感器技術備受矚目。點云和光學圖像能夠為環境感知提供互補信息。點云由大量的三維點集構成,描述物體的空間立體結構;而圖像則能夠提供出色的色彩飽和度和細節紋理信息。因此,融合這2 種模態的特征,能夠更準確地掌握環境狀況,提高自主決策和路徑規劃的能力[1]。
為了融合不同類別的特征,多模態網絡需要使用一種或多種語義分割模型。DeepLab 系列[2-4]是點云語義分割的經典網絡,采用編碼-解碼架構逐步恢復空間信息以捕捉清晰的目標邊界。該網絡首次提出空洞卷積的概念,并使用Atrous Spatial Pyramid Pooling(ASPP)的多膨脹率支路捕獲多尺度信息,從而有效增強網絡讀取上下文的能力。SalsaNext[5]也是基于編碼-解碼結構,由多個殘差塊、dropout 層和池化層構成編碼器,并使用像素拖拽層代替了SalsaNet[6]中的轉置卷積完成上采樣。點云和圖像特征形式的不同使它們難以直接在同一網絡下訓練,因此需要特殊的方法來提取和融合這2 種數據的特征。FusionNet[7]是一種有名的雙模態網絡結構,以光學圖像為導向輔助點云完成深度補全,并對局部信息和全局信息加權求和。但該網絡有多處交叉相融導致數據重復計算,對于大尺度和高分辨率數據特征,模型的內存消耗較大。Laser-Net++[8]分別使用獨立的CNN 網絡訓練點云和圖像,融合由CNN 提取的特征,并傳遞到Laser-Net 中,實現網絡端到端的訓練。TITAN-Net[9]將4 個神經網絡模塊化,分階段處理單模態和多模態特征,將點云語義特征轉化為圖像語義特征,通過生成式網絡融合點云和圖像的初級分割結果。這些流行的多模態融合網絡直接將光學圖像特征合并到點云特征上,或在解碼器后將分割結果簡單地中和,沒有將兩模態的互補優勢融合在網絡訓練中。即使在訓練中融合了多模態特征,也往往需要較復雜的網絡結構,繁瑣的交叉融合導致信息重復計算,增加網絡復雜度。因此,需要設計一種簡單的多模態融合模型,減少數據的重復計算,并通過分析模態特征優勢設計高效的融合模塊。
對于網絡參數的更新和計算,經典的優化算法是隨機梯度下降法(Stochastic Gradient Descent,SGD)[10],通過迭代優化,以逐漸逼近或最小化損失函數。但是在下降過程中會遇到山谷震蕩和鞍點停滯的問題。為了解決這些問題,Adaptive Moment Estimation(Adam)算法[11]利用慣性保持和環境感知,自適應調整學習率,同時在一階矩估計和二階矩估計中采用指數衰減平均計算累積梯度和累積平方梯度,并利用融合滑動窗口求平均的思想衰減不同時間長度下的貢獻。AdamBound 算法[12]使用自適應上限約束學習率,抑制了不穩定和異常的學習率。Adam-Mod 算法[13]增加了一個新的超參數來度量記憶的長短,逐元素削減學習率,避免出現高學習率。但是在這些算法中,對時間記憶的把控是基于同一窗口長度,沒有考慮到不同梯度更新幅度下對窗口長度的需求可能不同,因此需要考慮不同梯度更新幅度下對窗口長度的需求,以進一步提高算法的精度。
語義分割任務要求對像素級別的準確分類,可以實時生成具有語義信息的地面和空中視角的標簽表示,通常需要使用多種損失函數來優化網絡參數。交叉熵損失[14]是最常用的損失函數之一,它能夠逐個比對每個像素點并得出平均損失值。平衡交叉熵[15]和Focal Loss[16]是在交叉熵損失的基礎上發展而來,分別解決了數據集中類別不平衡和難易樣本不平衡的問題。雖然這些損失函數已經被廣泛應用于實際網絡訓練中,但在多模態網絡中,損失函數通常只針對某個模態支路單獨使用,對不同模態下的損失進行簡單求和,無法充分利用不同模態之間的互補優勢。因此,在多模態網絡中,需要設計新的損失函數,以有效整合不同模態的信息。
針對上述問題,提出了一種雙模態語義分割網絡,將光學圖像與點云特征相融合。首先,使用SalsaNext 和ResNet34[17]對2 個模態進行并行編碼。其次,改進了一種可自適應改變滑動窗口記憶長度的優化器。然后,在不同編碼階段使用殘差映射和膨脹點注意力機制的思想多次進行特征加權融合。同時,使用多尺度的密集像素采集模塊增強上下文聯系,并通過瓶頸結構降低模塊參數量。最后,提出了一種基于交叉熵損失的協同差異損失函數Differ Loss,能夠有效整合不同模態的信息,判別模態間的感知差異,結合Focal Loss 和Lovász-Softmax Loss[18]一起作為網絡的總損失值。
本文提出了一種雙模態并行編碼-解碼的語義分割網絡(Merge Network,MerNet),旨在融合點云特征和光學圖像特征以完成駕駛環境的像素級分類任務。MerNet 的網絡結構如圖1 所示,由5 部分組成:①主干框架:SalsaNext 是一種相對輕量化的編碼器-解碼器架構的網絡模型,能夠實現可靠的語義分割性能。在文獻[19]的語義分割任務對比中,ResNet 作為解碼器明顯表現出比其他解碼結構更強的性能,結合對網絡計算量的權衡,ResNet34 最適用于本文光學圖像的編碼任務。因此,本文使用SalsaNext 作為點云特征支路的語義分割主干網絡,ResNet34 作為圖像特征支路的編碼器網路,解碼器采用雙線性插值進行上采樣。② 優化器:Adam 和SGD 都是常用的優化器,SGD 具有簡單的實現和更少的計算量,在圖像特征的網絡訓練中優先選擇SGD 這種經典優化器。然而點云特征具有更多的噪聲影響,融合了圖像特征后,點云支路的特征具有高復雜性,Adam 在梯度下降中考慮了慣性保持和環境感知,更適用于點云支路模型。因此,對于點云特征支路,以Adam 優化器為基礎,本文提出了一種自適應歷史記憶長度的(AdamWin)優化算法,對于圖像特征流,則使用經典的隨機梯度下降法(SGD)進行優化。③融合模塊:在每個編碼階段,將光學圖像特征通過融合模塊單向映射在點云特征上,得到融合輸出作為點云流的下一編碼階段的輸入繼續編碼,從而實現點云和光學圖像特征的融合。④ 多尺度上下文模塊:在點云流的編碼器和解碼器之間提出了一種多膨脹尺度密集點云采集的上下文模塊。⑤ 損失函數:提出了一種基于交叉熵的雙模態協同差異損失,通過比對2 種模態在駕駛環境下的感知差異,并結合Focal Loss 和Lovász-Softmax Loss 優化網絡參數。

圖1 雙模態語義分割網絡MerNet 的總體網絡結構Fig.1 Overall network structure of MerNet,a dual-modal semantic segmentation network
在神經網絡的訓練過程中,優化算法尋找模型表征空間中評估指標最優的模型是至關重要的。對于光學圖像特征流,本文采用基于迭代計算的SGD 優化算法,使用隨機梯度更新權重。SGD 采用隨機單個參數損失梯度近似平均梯度的方法,公式為
式中:θ為模型參數;α為學習率;?L(θ)刻畫了參數為θ時模型的損失梯度。SGD 用隨機的單個參數損失梯度近似平均損失梯度,公式為
式中:f代表了模型的實際輸出;x和y分別代表模型的輸入和輸出。這種運算可以大大提高收斂速度,在實際訓練中,為了提高迭代的穩定性,采用小批量的梯度下降法(Mini-Batch Gradient Descent,MBGD),利用矩陣運算同時處理若干組數據,公式為
式中:m為每個批次中的樣本數量,本文訓練中設置為4。
Momentum 在SGD 中引入慣性保持的物理概念,解決山谷震蕩和鞍點停滯的現象。公式為
式中:vt表示當前時刻的動量;γ表示衰減系數,可以解釋為物理概念上的阻力;gt表示第t時間步的梯度。使用動量刻畫梯度變化的慣性,震蕩方向的梯度可以在累加的過程中因為符號的相反性被抵消,只有損失衰減方向的梯度逐漸累加,從而實現更快且更穩定的收斂。
SGD 算法使用同樣的步長更新參數,但不同參數的更新頻率不同,對于密集的特征參數,需要減小步幅;對于稀疏的特征參數,需要增大步幅。因此AdaGrad 采用歷史梯度平方來優化學習速率的自適應性,衡量不同特征參數的稀疏性。將歷史梯度平方作為分母系數自適應調整梯度更新步幅,公式為
式中:ε是為防止分母為零的很小的常數;gk為k時刻的梯度向量;gt的系數由初始設定的α優化為加了歷史經驗的自適應學習速率。
Adam 優化算法綜合了Momentum 和AdaGrad 的思想,使用一階矩記錄梯度的慣性保持特性,使用二階矩記錄環境感知特性,消除梯度震蕩對更新造成的隱患并自適應調整更新步幅。歷史梯度的累加提供了經驗性的判斷,但也產生了一定的隱患,累積梯度估計的公式為
累積平方估計的公式為
因此,隨著梯度和梯度平方的累加,代入式(6)中的學習速率,分母逐漸增大使得gt的調節作用逐漸衰弱。加持在一階矩和二階矩的滑動窗口可以利用衰減系數降低遠距離梯度對當前計算的貢獻度,公式為
式中:β1和β2分別為累積梯度和累積平方梯度的衰減系數。衰減系數可以看作對一階矩和二階矩使用滑動窗口,滑動窗口的大小在整個訓練期間取固定時間長度。
圖2(a)是損失函數隨訓練輪數的變化趨勢,可以發現,損失函數的下降速度逐漸趨于平緩。圖2(b)假設在任意時刻對歷史梯度計算采用固定窗口長度L1,這表明在不同的梯度變化趨勢下采用同樣的記憶時間長度,最近鄰時刻的梯度始終在整個衰減過程中呈現出同等價值的貢獻。但在實際梯度運算中,由于損失函數變化趨勢的不同,gt1-L1對gt1的影響要明顯大于gt2-L1對gt2的影響。為了解決不同梯度變化趨勢下歷史記憶長度對當前梯度的影響,圖2(c)在早期損失中取S1點,在晚期損失中取S2點,顯然S1點對應的梯度變化更加劇烈,S2點對應的梯度變化比較平緩。分別在這2 點取長度為L1和L2(L1>L2)的2 個滑動窗口。S1由于梯度變化速度快,遠距離記憶點的梯度值對當前時刻的貢獻更大,S2由于梯度變化速度慢,遠距離記憶點對當前時刻的貢獻小。因此在當前時刻的梯度計算中,為了更好地調節歷史梯度的貢獻值,應該隨著梯度變化趨緩而增大最近鄰時刻的梯度貢獻值,同時減小遠記憶時刻對當前時刻梯度的影響權重,相當于縮小圖2 中滑動窗口的大小。

圖2 自適應歷史記憶長度隨梯度變化趨勢的變化Fig.2 Variation of adaptive historical memory length with gradient trend
為了實現這一目標,本文使用了2 個記憶系數來調節滑動窗口的大小,記憶系數對衰減系數的調整公式為
式中:σ1是累積梯度對應對記憶系數;e為網絡訓練的輪數。累計平方梯度中記憶系數對衰減系數調整的公式為
式中:σ2是累積平方梯度對應對記憶系數。記憶系數σ1和σ2是略小于1 且極度接近1 的值,每進入新的一輪訓練衰減系數β除以一個逐漸減小的記憶系數,因此β隨著輪數的增加呈現緩慢增大的趨勢,等價于逐步增大近鄰時刻的梯度權重,衰減遠記憶時刻的梯度權重。
點云特征支路的訓練使用這種隨梯度變化趨勢自適應調整歷史記憶長度的AdamWin 優化算法,具體計算流程如算法1 所示。其中:t是時刻;θ0是初始參數向量;f(θ)是帶參數的隨機目標函數;ε是為防止分母為零的常數,取默認值1×10-8;λ表示權重衰減系數;mt是一階矩;vt是二階矩。

自適應調整歷史記憶長度的優化算法不僅考慮了歷史梯度,還考慮了梯度在不同變化趨勢下對當前梯度運算的貢獻變化。通過引入記憶系數,自適應調整遠記憶時刻的貢獻權重,使梯度關注貢獻值更大的近鄰點,避免在變化緩慢時被遠距離記憶點分散計算注意力。
在雙流網絡的并行編碼中,特征的語義信息隨著編碼的降采樣逐漸變得粗糙,在編碼結束后或預測階段的后融合結構難以充分將融合特征引入到網絡的訓練中,因此本文在編碼階段就將圖像特征通過融合模塊單向融入點云特征流中,使圖像的感知優勢充分參與點云的訓練過程。因此融合模塊考慮了不同階段的語義變化特點,使用殘差連接將原始點云輸入映射到初步融合結果,再通過膨脹點注意力模塊為特征點分配權重。融合模塊的結構如圖3 所示,其中Clidar和Ccamera分別表示點云和圖像特征的通道數;H表示特征高度;W表示特征寬度。

圖3 融合模塊Fig.3 Fusion module
首先將點云特征和圖像特征進行拼接,通過3×3 的卷積使通道數降為點云的通道數,接著使用非線性激活函數LeakyReLU,并進行批歸一化。膨脹點注意力模塊結構如圖4 所示。采用點注意力機制[20]結構,通過2 次3×3 的卷積、批歸一化、非線性激活函數ReLU,再通過Sigmoid 進行激活,與輸入的特征對應點相乘實現點特征注意力的分配。注意力分配需要判斷各特征點的重要性,因此上下文關系有利于判斷特征點在附近區域的價值權重。

圖4 膨脹點注意力模塊Fig.4 Expanding point attention module
由于數據采集視野的開闊性,特征點的判斷需要充分考慮鄰近特征的信息,因此在點注意模塊的2 個3×3 卷積中,為了擴大卷積核的感受野,在保持輸入特征尺寸不變的情況下,使用擴張率為2 的膨脹卷積,在卷積核的每2 個元素之間插入一個空洞,使得注意力計算的過程結合更大范圍的上下文內容為特征點分配權重。為了充分利用不同語義粗糙程度的圖像特征,在網絡的4 個編碼階段均使用一次融合模塊,完成圖像特征單向與點云特征融合,并將融合結果作為點云特征流的下一編碼階段的輸入參與點云特征的訓練。
感受野是指卷積神經網絡中輸出層的每一像素點在輸入層上的映射區域,小的感受野通常用于描述局部細節信息,而大的感受野則通常用于描述全局信息。為了提高語義信息的上下文感知能力,本文在點云特征支路的編碼器之后設計了一種多尺度感受野的上下文模塊(MsASPP),該模塊將不同卷積層的結果統一到同一尺寸融合輸出,結構如圖5 所示。

圖5 MsASPP 網絡結構Fig.5 Architecture of MsASPP network
MsASPP 模塊共包含6 條并聯支路。其中,1×1 的卷積用于緩解膨脹率過大造成有效權重降低的問題。同時,使用圖像級的池化層捕獲全局語義信息。其余4 條并聯支路通過卷積操作的不同擴張率來調整感受野。MsASPP 模塊的輸入特征尺寸為16×64,因此可以繼續沿用經典ASPP[3]中的(6,12,18)的擴張率,為了得到更多的細節語義信息,還增加了擴張率為3 的并聯支路,因此MsASPP 模塊中總共包含了4 個擴張率對應的感受野。
雖然多膨脹支路可以提供不同的感受野,但是膨脹卷積會使部分有效信息被遺忘。因此,在各膨脹支路中,采用4 次級聯卷積來覆蓋更多區域,以獲得密集的像素采集。
然而多膨脹率支路需要大量的計算資源來處理不同感受野下的同類型數據,因此需要高效的算法和網絡結構來提升這一模塊的計算效率。卷積層的參數量只與網絡結構有關,與輸入數據無關,因此本文在各膨脹支路中采用瓶頸結構[21]來壓縮特征尺寸,如圖6 所示。

圖6 瓶頸結構的膨脹支路Fig.6 Bottleneck-based dilated branch structure
卷積計算參數量的公式為
式中:k是卷積核的尺寸;Cin是輸入通道數;Cout是輸出通道數;bias 是偏置,默認設置為1。瓶頸結構通過1×1 的卷積將通道數降為1/4,并在輸出前使用1×1 的卷積恢復通道數。如表1 所示,使用瓶頸結構后,每一條膨脹支路的卷積參數降低了69.40%。

表1 膨脹支路使用瓶頸卷積的參數量比較Table 1 Comparison of parameter amount of dilated convolutional branch with bottleneck convolution
相對于傳統的ASPP 模塊,MsASPP 增加了一條并聯空洞卷積支路,并且每條支路級聯了4 次膨脹卷積,仍然縮減了參數量和計算量,如表2 所示。其中,參數量降低了64.89%,計算量降低了67.09%。

表2 MsASPP 和ASPP 參數量和計算量對比Table 2 Comparison of parameter amount and computational complexity between MsASPP and ASPP
在點云和圖像的語義分割任務中,需要對每個點都進行分類預測,并對所有點的損失值求平均,以求得整個點云和圖像的損失。MerNet 的損失函數由3 部分組成,分別是Foccal Loss、Lovász-Softmax Loss 和用于計算2 種模態之間感知協同差異損失的Differ Loss。
式中:Lf表示Focal Loss 計算得出的損失值;Ls表示Lovász-Softmax Loss 計算得出的損失值;Ld表示Differ Loss 計算得出的損失值;η1、η2、η3表示平衡3 個損失函數在模型總損失計算中比重的平衡系數。
Focal Loss 基于二分類交叉熵損失,通過一個動態縮放因子平衡難易樣本。它的前景的預測概率公式為
式中:p∈[0,1]表示模型屬于前景的概率。二分類交叉熵的公式為
平衡交叉熵引入平衡因子解決正負樣本不平衡的問題,公式為
式中:αt∈[0,1]表示平衡因子,本文取0.75。
Focal Loss 在平衡交叉熵損失的基礎上增加調制因子解決難易樣本平衡的問題,公式為
式中:φ∈[0,5]為表示難易樣本的調制因子。Focal Loss 被分別用于點云和圖像支路,并將2 種模態的損失值相加作為整體模型Focal Loss計算的損失總和,公式為
式中:Lf表示Focal Loss 計算出的損失總和;FLl表示點云支路的Focal Loss 損失值;FLc表示圖像支路的Focla Loss 損失值。
Lovász-Softmax Loss 是對語義分割指標IoU 直接進行優化的損失函數,公式為
式中:C表示種類數;ΔJc表示第c類的Jaccard 系數;m(c)表示第c個類的誤差向量。
Lovász-Softmax Loss 被分別用于點云和圖像支路,并將2 種模態的損失值相加作為整體模型Lovász-Softmax Loss 計算的損失總和,公式為
式中:Ls表示Lovász-Softmax Loss 計算出的損失總和;LSl表示點云特征支路的Lovász-Softmax Loss 損失值;LSc表示圖像特征支路的Lovász-Softmax Loss 損失值。
點云和圖像在自動駕駛環境感知中具有不同的優勢,點云在空間的立體結構判斷上表現更優,而圖像在色彩和細節紋理上表現更優,因此2 種模態支路的網絡預測結果有所差異。本文通過Differ Loss 交叉傳遞softmax 層的預測概率分布,旨在減小模態間的預測差異,利用一種模態下的感知優勢降低另一種模態在劣勢場景下的預測誤差。Differ Loss 基于交叉熵損失,在本文的網絡結構中解決多分類多標簽任務,在一個batch 中,交叉熵損失的計算公式為
式中:B表示batch size(單次訓練抓取的數量);n表示類別數;y表示真實標簽;表示softmax 層的預測概率。交叉熵損失將每個像素類別的預測結果分別與真實標簽進行比較,得出損失值,并對所有像素點損失值求平均。
為了計算2 種模態的感知差異,本文采用一種逐像素比較的方法。具體而言,將真實標簽替換為另一模態的預測概率分布,Differ Loss 逐個檢查每個像素點,依次比對2 種模態下的每個概率分布。其中,以點云支路為基準模態,圖像支路為對比模態,感知差異損失的計算公式為
以圖像支路為預測基準,點云支路為對比標簽,感知差異損失的計算公式為
協同差異損失總和是分別以點云和圖像為基準模態時的損失和,計算公式為
點云特征為語義提供了更精準的空間信息,圖像特征為語義提供更多的色彩和細節信息,2 種模態的感知能力互補,但并不是完全對立。因此,在協同差異損失中,應當考慮2 種模態對語義判斷的貢獻,增加平衡系數調整不同模態的損失占比,公式為
式中:ρ1和ρ2分別表示平衡以點云和圖像為基準模態的協同差異損失值的平衡系數。
本文通過枚舉實驗得出ρ1和ρ2平衡系數為1.0、2.4,且3 種損失函數在總損失中的平衡系數η1、η2、η3分別為1、1、0.5 時網絡的語義分割性能最佳。
1)實驗平臺:本文采用Ubuntu 20.04.01 操作系統,搭配NVIDIA GeForce RTX 3090 的圖像處理器(GPU),內存為24 G,cuda 版本11.6,torch 版本為1.12.1。
2)數據集:為了評估2 種模態特征融合的效果,使用公開多模態數據集SementicKITTI[22]。該數據集共包含19 個語義類別,其中包括靜態類別目標如道路、植被、柵欄、建筑、路標等,以及動態類別目標如汽車、摩托車、卡車、行人等。駕駛環境包括市中心、郊區、鄉村、高速公路等。數據集采集的場景共包含22 個數據包,序列分別為00-21,每個數據包中都包含點云和圖像數據。其中00-10 包含數據真實標簽,本文使用序列為08 的數據包作為驗證集,其余00-10 內的數據包作為訓練集。
3)參數設置:使用Pytorch 框架實現,點云和圖像支路分別以Salsanext 和ResNet34 作為主干網絡。使用了AdamWin 和SGD 這2 種優化器,設置學習率預熱(warm_up)為1 輪,學習率設為0.000 1,并采用余弦衰減。共進行了30 輪訓練,同時設置了4 個線程,batch size 設為4。
4)評價指標:為評估本文提出的網絡結構和算法的優越性,采用平均交并比(mean Intersection over Union,mIoU)來作為語義分割結果的衡量標準。該指標是對數據集中每一種類別的網絡預測與真實標簽的交并比的平均,是語義分割領域的標準度量。
為了評估本文提出的網絡結構和優化算法,在性能比較中與其他流行的單模態和多模態網絡結構進行了對比。其中,單模態網絡包括SqueezesegV3、RangeNet53++、SalsaNext等,多模態網絡包括KPRNet 和HiFANet。具體語義分割結果如表3[5,23-30]所示,最優分割結果用粗體表示。在與單模態和多模態網絡分割結果對比中,可以明顯觀察到本文提出的Mar-Net 雙模態網絡在分割性能上具備優勢,并相比于雙模態網絡KPRNet 和HiFANet 分別有0.6%和1.7%的分割優勢。MerNet 結合了注意力機制和多模態感知的優勢,在自動駕駛環境中對移動靈活、危險系數高的目標給予更大的計算注意力,并在單個類別的分割上也表現出較好的性能。從表3 中可以看出,盡管靜態目標的性能沒有達到最優水平,但與其他網絡相比,并沒有顯著的性能差異。僅有一個明顯的分割劣勢出現在“other-ground”類別上。在SemantiKITTI 數據集的論文中,“other-ground”被解釋為“當人行道和地形之間的區別不明顯時選擇此標簽”。因此,這個類別被視為無法明確分類為其他道路歸屬類型時的選擇。在本文的網絡訓練中,該類別以40.3%的概率分類為“sidewalk”,而其余的概率分布在其他道路類型和靜態物體之間。這樣的分類結果不會對駕駛時的決策產生額外的安全風險,特別是將更多的計算注意力集中在危險系數更高的動態目標物上,這更符合對安全性判斷的需要。因此,靜態目標微弱的性能劣勢是可以接受的。圖7 通過混淆矩陣的形式描述了動態高危險性目標的分割精度,將數據集中的靜態目標統稱為“static”。可以看出,MerNet 在動態目標的分割上表現出良好的性能,一定程度上增加了自動駕駛的安全性能。然而,圖7 的結果顯示,motorcyclist 類別有94%的概率被分類為bicyclist,這2 個目標具有非常相似的特征。在文獻[22]中,SemanticKITTI 數據集未明確考慮騎摩托車或自行車的騎手類別,因此motorcyclist 被識別為bicyclist 是正常現象,并且在實際的駕駛環境中需要對motorcyclist 和bicyclist 做出的決策判斷幾乎相同,因此不會增加更多的安全隱患,這樣的分類結果是可以接受的。


圖7 動態目標的混淆矩陣分析Fig.7 Analysis of confusion matrix for dynamic object detection
為了更直觀地描述MarNet 的分割效果,圖8展示了MarNet 在幾個經典分割場景中的表現。通過可視化的分割圖,可以觀察到MerNet 在光線條件不良的樹蔭區域、快速運動的車輛、行走的路人、目標物堆疊造成遮擋的情況、停車位上的車輛和警示牌等目標物的分割中,都能展現出較好的效果。

圖8 MerNet 在經典場景中的語義分割性能表現Fig.8 Semantic segmentation performance of MerNet in classic scenes
為了驗證提出的每一種網絡結構和優化算法的有效性,進行了消融實驗。表4 中的消融實驗結果分別展示了各模塊對MerNet 的貢獻。表中:AdamWin 表示點云支路使用提出的自適應記憶窗口長度的優化算法,否則使用通用的Adam優化算法;融合模塊是使用膨脹點注意力機制和殘差映射的融合,否則只對點云和圖像特征直接拼接;MsASPP 是指提出的多尺度感受野的上下文模塊;Differ Loss 是指使用了提出的協同差異損失函數,否則網絡中只有Focal Loss 和Lovász-Softmax Loss。從消融實驗結果可以看出,各模塊對整體網絡的語義分割性能都產生了提升效果。圖9 展示了MerNet 中各模塊的消融實驗語義分割性能表現。

表4 各模塊的消融實驗結果Table 4 Ablation experiments on each module

圖9 各模塊和算法消融實驗的語義分割性能表現Fig.9 Semantic segmentation performance analysis of each module and algorithm in ablation experiments
此外,為了驗證提出的融合模塊中每個網絡結構的有效性,同樣對注意力機制的使用、殘差映射和膨脹點注意力做了消融實驗,結果如表5所示。表中:簡單融合指融合模塊只進行了初步的特征拼接和卷積;注意力是指在初步融合后引入了點注意力機制;殘差映射表示在點注意力模塊前連接原始點云殘差連接;膨脹注意力表示在點注意力中的2 個3×3 卷積處使用了擴張率為2 的膨脹卷積。消融實驗結果顯示,融合模塊中的3 個結構設計都對融合效果有著性能提升的作用。

表5 融合模塊各結構的消融實驗結果對比分析Table 5 Comparative analysis of ablation experiments on various structures in fusion module
1)采用SalsaNext 和ResNet34 分別作為點云和光學圖像的主干網絡并行處理特征。
2)基于Adam 改進了一種自適應歷史記憶長度的AdamWin 優化算法,能夠根據梯度變化趨勢改變歷史梯度的記憶權重,在梯度趨緩的過程中增強近距離點對梯度計算的貢獻值。
3)基于殘差映射和膨脹點注意力的融合模塊被用于每一個編碼階段,加強了點云訓練分支對更精細細節和紋理信息的提取。
4)基于ASPP 改進了上下文模塊MsASPP,增加的并聯膨脹支路以及級聯空洞卷積,增強了點云的上下文感知信息能力,各支路采用瓶頸結構降低網絡參數量。
5)基于交叉熵損失的多模態協同損失函數,交叉傳遞不同模態間的預測標簽,增強了不同模態在特定環境下的感知優勢,避免了單一傳感器的感知劣勢使結果產生較大誤差。
本文主要改進了網絡結構、優化算法和損失函數,實驗結果表明這些改進都提高了網絡的語義分割性能。然而,多模態網絡往往會伴隨著模型復雜度較高的問題,因此本文在上下文模塊MsASPP 中考慮了壓縮參數量,并將在未來的工作中考慮對網絡的整體結構進行輕量化處理。