梁正友,陳子奧,蔡俊民,孫 宇
(1.廣西大學 計算機與電子信息學院,廣西 南寧 530004;2.廣西大學 廣西多媒體通信與網絡技術重點實驗室,廣西 南寧 530004)
與二維目標識別相比,點云具有輸入數據容量巨大,圖像結構復雜,導致計算量大幅提升等問題,因此點云目標識別是一個非常有挑戰的研究課題。
早期基于深度學習的激光雷達點云識別普遍采用將3D點投影到2D點圖中,然后使用單一的2D端到端全卷積網絡來識別。Kurobe等[1]用局部特征與全局特征連接起來并回歸點云之間的對應關系,而不是直接構成或聚合特征,因此比傳統方法集成了更多有用的信息。Heyang Li等[2]提出了一種在三維激光雷達點云中精確地分割和提取鄉村路面目標的方法,為了降低計算資源的需求,點云在進行仿射變換之前被映射到一個二維圖像空間,陳強等[3]先計算源點云與目標點云的內部形態描述子關鍵點,再求取關鍵點k鄰域內優化的點對信息然后進行點云處理,大幅提高處理效率。胡輝等[4]的改進R-FCN結合多尺度訓練、可變形網絡的方法,降低了環境因素的影響,提高了檢測的精確度。
Qi等[5]通過改進原本將純點作為網絡輸入的模型,將兩個變化的原網絡模型實現分割和目標檢測,由于投影矩陣是已知的,這樣就可以從二維圖像區域得到三維截錐了。基于體素的方法是深度學習在目標識別領域的重要發展,其最大的缺點是點云體素化后其體積非常龐大,運算速度非常緩慢。Voxelnet[6]突破性地解決了基于點等方法逐點進行運算導致的模型運算巨大問題,在此基礎上SECOND[7]通過改善了稀疏卷積網絡,解決推理速度慢和朝向估計的性能差的問題,Alex等提出的Pointpillars[8]進一步對Yan Yan的SECOND進行優化,把點云數據轉化成Pillar(點柱),然后用PillarVFE提取特征,這樣得到的鳥瞰圖,中間省略了SECOND中的稀疏卷積操作,此方法在損失了部分準確率,但在識別速度上表現得十分優秀。
相較于VoxelNet,SECOND和Pointpillars等方法中強調提取點云數據中的語義特征,本文的方法加強了點云信息中的定位特征,能夠識別點云中的更多信息,使目標準確率提升。本文主要創新點和貢獻有:①設計了一種混合路徑融合的殘差金字塔網絡,能夠提取包含點云語義信息和點云定位信息的點云特征;②在混合路徑的提取模塊中加入注意力機制,強化在殘差網絡中提取的點云定位特征,進一步增加了模型對于有效特征的學習能力;③通過和其它方法在KITTI公開數據集上進行對比分析,驗證了本文方法在點云識別上的先進性。
點云數據因為其數據體積非常龐大的特點,在訓練神經網絡時會造成計算量也非常大,點云點柱化的設計很好地解決了這種計算量龐大的問題,因此本文采用了pointpillar網絡作為基礎網絡,并增加了一個注意力模塊。本文的網絡結構如圖1所示,由點柱特征提取、混合路徑聚合網絡(包括注意力、殘差金字塔等兩個子模塊)和檢測頭等3個模塊組成。

圖1 網絡結構
點柱特征提取模塊將稀疏的三維數據轉換為堆疊的柱張量和柱指數張量,再通過簡化的Pointnet[5]網絡對張量化的點云數據進行處理使其偽圖像化。這樣做的好處是直接使用柱子而不是體素來處理點云數據,從而忽略了z軸方向上的差異,沒有了多個體素,將3D空間轉為2D偽圖像處理,大大提升運行速度。
混合路徑聚合網絡,它包括了殘差金字塔模塊和注意力模塊兩個模塊。在殘差金字塔模塊中,點柱特征提取模塊傳遞的點云特征經過處理,以提取和融合多尺度的特征信息。這樣的處理能夠有效地捕捉目標的細節和上下文關系,從而提高定位準確性。注意力模塊被應用于獲取增強的定位特征。通過多層采樣和特征融合,注意力模塊能夠選擇和強化具有較高重要性的定位特征,并將其歸一化后與多尺度特征進行合并,形成一個384維的預測特征,這樣的特征表示具有更強的表達能力和區分度。
檢測頭模塊中包含了3個關鍵預測分支:分類預測、錨盒回歸預測和方向分類預測。這些預測分支的結合在輸入的預測特征中融合了語義信息和定位信息,從而顯著提高了目標檢測的預測效果。
1.2.1 路徑聚合網絡
目前最經典的特征金字塔網絡[9](feature pyramids net)采用了ConvNet的金字塔特征層次結構。該網絡首先以任意大小的單尺度圖像作為輸入,通過自底向上和自頂向下的網絡卷積操作,生成多尺度的圖像特征。通過橫向連接,這些特征被結合在一起,用于預測任務。這種網絡結構具有從低級到高級的語義信息,構建了一個具有高級語義的特征金字塔。如圖2(a)所示,通過多次卷積操作,得到了多層特征圖。接著,通過自頂向下的特征融合,將每個特征圖與其前一層的特征結合起來。這種自頂向下的特征融合過程有助于提取更高級別的語義特征,并增強了網絡對目標的表示能力。

圖2 路徑聚合網絡
在金字塔網絡中的特征融合過程中,隨著特征圖的尺寸減小,感受野也相應增大。在特征金字塔網絡中,自頂向下的傳遞模式中,雖然高層特征被傳遞到下層,但底層特征無法影響高層特征。信息從頂部向下逐層傳遞,計算量逐漸增大,導致頂層特征在特征傳播過程中部分定位特征可能會丟失,在PANet[10](路徑聚合網絡)圖2(b)中通過在自頂向下特征融合之后,再進行自底向上的特征融合。這種雙向傳遞的方式,使得每一層特征圖都能獲取前面所有特征圖的特征信息。這樣的設計能夠有效解決頂層特征在傳播過程中丟失部分定位特征的問題。
1.2.2 混合路徑聚合的殘差金字塔網絡
本文采用了基于PANet路徑聚合網絡的思想,并結合殘差結構[11]的方法,以進一步提取點云的定位特征。在特征提取過程中,采用用殘差網絡主要是基于以下3個原因:首先,殘差網絡能夠有效地控制模型參數的數量,從而提高模型的效率和運行速度。其次,殘差網絡在保持梯度不消失或爆炸的前提下,能夠增加網絡的深度,解決了傳統網絡中深度增加所引發的梯度問題。最重要的是,通過殘差模塊的使用,我們能夠補全路徑聚合網絡的自底向上的特征融合,使得融合后的特征圖能夠包含每個尺度特征圖的特征信息。這種特征融合的方法能夠提高點云定位任務的準確性和魯棒性,使得模型在處理復雜場景和不同尺度的點云數據時具有更好的性能表現。因此,本文的方法在點云特征提取方面具有重要的意義,并為相關領域的研究提供了有價值的思路和方法。
其結構如圖3所示。網絡由3個部分組成:一個自頂向下的卷積神經網絡以越來越小的空間分辨率生成多尺度特征,一個注意力機制模塊提取特征并進行下采樣生成多尺度特征圖,以及一個特征金字塔特征網絡將兩條網絡進行連接。自上而下的卷積神經網絡可以由一系列塊Block(C,K,S) 表示。每個塊以C(channals) 輸出通道,K(Kernel)2D 卷積核和S(Strides) 步幅操作組成,每個輸出通道后面使用BatchNorm批規范化函數和ReLU線性整流函數來解決梯度爆炸。層內的第一個卷積的步幅S=2,以降低要素的空間分辨率,卷積核K=(3×3)。每個Block的所有后續卷積步幅S = 1保持相的同空間分辨率。ResBlock中利用注意力機制提取特征,并通過下采樣的卷積核K=(1×1) 步幅S=2進行下采樣。在第三個網絡中將前兩層中的每個Block的末端做一次通道C=128的卷積,并在Block3的輸出特征繼續兩次步幅S=2的向上采樣,將相同空間分辨率的特征進行并聯,并通過卷積核K=[(1×1),(2×2),(4×4)]步幅S=[1,2,4]的反卷積歸一化不同尺度的特征圖并連接得到最終特征F。

圖3 混合路徑聚合網絡
1.2.3 改進的混合坐標注意力機制
注意力機制在深度學習中是一種數據權重分配方法,可以很好地強化部分特征。Coordinate Attention[12]位置注意力是通過將位置信息嵌入到通道注意力中的一種新穎有效的注意力機制,通過把SENet(squeeze-and-excitation network)[13]中的通道注意力分解成了兩條并行的一維特征通道,在其之上進行編碼再融合,以獲得在方向和位置上更加敏感的特征表示。這種改進方法能夠有效地提取和強化特征,從而提升模型的性能。
由于Coordinate注意力中平均池化可能導致欠擬合問題,并為了增強金字塔網絡中Resblock的特征,本文對該注意力進行了改進。圖4展示了改進后的注意力結構。在改進后的結構中,通過對點云的XY坐標分別進行平均池化,新增了一條原始的SE注意力通道,將其擴展為兩條一維通道和一條二維通道,并在不同通道上對特征進行融合。接下來,本文將詳細描述這一改進方法。

圖4 混合坐標注意力
將特征轉為兩對1D特征,對輸入X,用兩個池化核 (H,1) 和(1,W)去沿水平和垂直方向對其編碼。因此可用C通道的高度h和寬度w來表示輸出
(1)
(2)
對每個1D特征進行最大池化和平均池化,然后在不同通道對特征進行融合通過將池化后的特征經過一個共享卷積變換和非空線性函數,再沿著空間維度將特征分解為兩個單獨的張量,再用(1×1)的卷積核去對輸入X對其直接編碼,可表示為
(3)
最后經過sigmoid激活函數融合得到最終的輸出信息。
損失函數使用SECOND中的相同損失函數。因為要檢測的物體的大小近似固定,所以使用固定大小的錨,地面真值框和錨由 (x,y,z,w,l,h,θ) 定義,其中x,y,z為中心坐標,w,l,h分別為寬度、長度、高度,θ是繞z軸的偏航旋轉。地面實況和錨之間的定位回歸殘差定義如下


Δθ=sin(θgt-θa)
(4)

(5)
由于角度定位損失無法區分翻轉的方框,因此在離散化方向上用softmax分類損失Ldir學習航向。為了解決這種損失將具有相反方向的框視為相同的問題,在RPN的輸出中添加了一個簡單的方向分類器
Lcls=-αa(1-pa)γlogpa
(6)
其中,pa是類的概率,常數系數γ設置為2,α設置為0.25。結合上述損失,我們可以得到多任務損失的最終形式如下
(7)
其中,Lcls是分類損失,其Lreg是角度損失,是Ldir方向分類損失,常數系數β1=1,β2=2,和β3=0.2。
本文的所有實驗都是在KITTI[14]點云目標識別數據集上進行的。該數據集包含了3類對象,分別是汽車、行人和自行車。3D對象檢測基準由7481張訓練圖像和7518張測試圖像以及對應的點云構成,總共有80.256個標注對象。所有圖像都是彩色,并以png和bin文件的格式保存。
在目標檢測任務中,對于汽車類別的檢測,要求目標框與真實邊界框的重疊面積達到70%以上。對于行人和自行車類別的檢測,要求重疊面積達到50%以上才能被視為有效檢測結果。無關區域的檢測結果或者小于最小尺寸的檢測結果將被視為誤報。檢測難度的定義見表1。

表1 KITTI點云檢測難度標準
指標KITTI的用PR曲線上的40個召回位置的平均精度(AP)來衡量檢測效果。根據對象大小、遮擋和截斷級別,標簽被分為3個子集(簡單(easy)、中等(Mode-rate)、困難(Hard))。
所有檢測結果均使用KITTI官方評估檢測指標進行測量,這些指標包括:鳥瞰圖(BEV)、3D、2D和平均方向相似性(AOS)。二維檢測在圖像平面上進行,平均方向相似性評估二維檢測的平均方向(BEV視角)相似性。
所有實驗在一臺配備Intel?CoreTMi5-10400F 2.9 GHz處理器、16 GB內存和1塊Nvidia RTX3060ti顯卡(顯存8 GB)的工作站上進行。軟件環境采用Ubuntu 18.04操作系統,Python 3.6編程語言,PyTorch 1.10.2深度學習框架以及Cuda 11.3加速庫。我們選用了自適應優化器Adam進行模型優化,動量大小設置為0.9,初始學習率為0.003,權重衰減為0.01,批處理大小設置為3。整個訓練過程共計80個epoch,總計耗時7小時。
為了直觀展示本方法在KITTI數據集上的檢測效果,圖5展示了基線模型和本方法的可視化結果。圖5中共有4組圖片,從左至右排列,分別為圖5(a)、圖5(b)、圖5(c)、圖5(d)。每組圖片的左側展示了本文方法的結果,右側展示了基線模型的結果。在每組圖片中,從上至下分別展示了3D點云錨框、鳥瞰圖錨框和2D圖像錨框。這樣的可視化呈現方式有助于直觀地比較兩種方法的檢測效果。圖中的第一行圖中的score為置信度得分,這些分數代表了預測結果的可信度,具體結果請參考表2。通常情況下,當預測結果正確時,較高的分數意味著更好的預測效果;而當預測結果錯誤時,較高的分數則意味著預測效果較差,根據圖5和表2的結果可知,本文的模型在3D點云錨框方面表現出明顯的精確度優勢,相較于PointPillars模型,在預測正確的情況下置信度方面都有一定的提升。通過觀察圖片中鳥瞰圖的點密度,可以推斷出所識別目標與傳感器之間的距離。特別是通過圖5(c)的結果,可以觀察到本文所提出的模型對于遠距離目標的識別具有較高的準確性。此外,在圖5(d)的結果中,基線模型將自行車類別錯誤地識別為行人類目標,而本文的模型則沒有出現這種錯誤。

表2 可視化結構置信度分數

圖5 在KITTI數據集上的可視化
本文的模型還能有效解決目標識別中的定位特征錯誤問題。通過仔細觀察圖5(b)中的圖像,可以明顯觀察到基線模型由于對目標點云方向的估計錯誤,導致在同一位置的點云中錯誤地識別出了兩個方向交叉的目標。然而,本文提出的網絡結構通過引入殘差結構和注意力機制,顯著提升了對定位特征的提取能力。通過這些機制的協同作用,本文模型能夠更全面地利用點云數據中的信息,并有效地減少定位特征錯誤的問題,從而實現更加準確的目標識別結果。
為了分析不同成分對最終性能的影響,我們對KITTI驗證集進行了消融研究見表3。通過使用兩類(行人和自行車)的BEV和3D平均準確率作為評估指標,基礎模型如表4所示為PointPillars模型。

表3 在KITTI驗證集上的消融實驗

表4 在KITTI驗證集上和基線模型的性能的提升
金字塔網絡:從表3的特征金字塔網絡和本文改進的殘差金字塔中可以看出,用傳統的FPN替換骨干網絡在3D卷積上有一定的提升,但是在俯視圖上有較大的干擾影響,導致精度下降。可見由殘差結構傳遞的自頂部信息流往下逐層損失的位置信息對目標識別的影響至關重要。
注意力機制:本文從表3中Attention和本文改進方法的結果可以看出直接加入的注意力因為直接對點云運算,再經過骨干網絡的特征提取導致定位特征強化沒有發揮很好的效果其準確率反而有一定下降,并且通過對比最后兩條實驗結果在相同金字塔網絡影響下本章改進的注意力提升非常大,可以看出經過本章算法改進的混合注意力機制,通過路徑聚合的網絡可以充分發揮出的該坐標注意力的優勢。
表4描述了本文算法在KITTI數據集上的測試精度和相較于原始模型的精度提升,可以看出與PointPillars相比,本文模型的精度更高,且運行的內存不變,運行速度也沒有明顯下降,依舊能滿足60 hz的工業要求。本文方法有著更高的性能,達到標準的運行速度,為滿足目前的智能駕駛中實時性和準確性的要求,本模型可以作為智能車輛駕駛的參考方案。
為了驗證所提方法的性能,將該方法與主流的點云識別方法進行對比,對比結果見表5,能夠看出,本文方法在KITTI數據集上自行車鳥瞰圖類上分別得到了81.12%、64.61%、57.93%的結果,相較于同樣使用注意力機制的TANet(Triple Attention,三元注意力)本文的注意力更加簡單,在不降低運行速度的同時,準確率也有顯著的提升。相較于Faraway-Frustum等直接使用點云的模型,本文模型使用點云轉換點柱的方法,達成偽圖像以便使用2D卷積,使運行速度極大提升,可以看到本文模型繼承了PointPillars的檢測速度,遠超其它模型,且精度還能有所提升,擁有著很強的競爭力。

表5 在KITTI測試集上與主流方法性能對比
本文提出了一種混合路徑融合的點云目標識別網絡,包括殘差特征金字塔網絡和混合坐標注意力機制,能夠在激光雷達點云上進行端到端訓練。在KITTI數據集的實驗結果表明了本文所提算法在保證速度的前提下提供了更好的檢測性能。
本文后續重點工作將考慮點云的編碼方法。通過直接使用點云數據的情況下保持更多特征的投射為偽圖像,以保證速度的提升下有更多的性能提升。