朱明亮,朱 艷,謝 江
(昆明理工大學信息工程與自動化學院,云南 昆明 650500)
自動駕駛[1-2]汽車的相關技術一直是學者們研究的重點,這對整個駕駛行業的安全及社會的發展有著重要作用,而感知模塊在自動駕駛中不可或缺。利用深度學習完成感知任務成為自動駕駛領域中的熱門研究方向。感知任務主要是使車輛獲取準確的周邊信息,進行分析判斷并采取相應動作,完成對路況的準確分析,從而達到安全形勢規范的要求。近年來也涌現出許多基于純點云數據的目標檢測的方法,且相比較于與圖像融合的方法,檢測精度上有著更好的表現。
Li 等人[3]設計了一種三維全卷積網絡,該方法將點云數據轉換為二維圖,將二維全卷積網絡移植到三維目標檢測任務中。之后他們[4]又將點云離散為長度、寬度、高度和通道尺寸的四維張量,構建三維全卷積網絡進行檢測。這種方法相較于基于二維全卷積的方法,精度得到了提高,但由于點云四維張量的稀疏問題,使得計算資源上有了更多的消耗。針對點云稀疏導致的計算負擔增加問題,Engelcke 等人[5]基于卷積神經網絡,構建了一種有效的卷積層,利用一種中心點對稱的投票機制去處理輸入點云的稀疏問題,并且使用修正線性單元和L1 正則化處理卷積神經網絡,促使中間特征數據稀疏化。Li 等人[6]提出一種稀疏三維卷積網絡,充分利用點云的稀疏性,加速計算,節省了內存。Zhou等人[7]提出一種基于體素表征方式的端到端的網絡模型,先將點云在空間上劃分為體素,通過體素編碼層將點云編碼為四維張量;再通過體素特征提取層對劃分好的體素做特征提取;最終送入區域提議網絡中進行目標分類和回歸。雖然這種方法在精度方面有了很大的提升,但由于點云的稀疏和三維卷積計算復雜,導致運行速度緩慢。針對這種問題,Yan 等人[8]提出了一種利用稀疏卷積神經網絡來提高該種體素方法的效率。Lang 等人[9]受Voxelnet的啟發,設計了一種點柱特征編碼網絡框架。該框架忽略點云在空間Z軸方向上的信息,將點云在空間上劃分為點柱,通過點柱編碼網絡將點云編碼為點柱特征,再通過點柱特征提取層提取每個點柱中點云坐標信息、點柱偏移信息以及點柱中心坐標信息,最終將提取的特征編碼為偽圖像,并利用二維卷積進行三維包圍框的預測。這種方法大大簡化了網絡的復雜度,從而顯著地縮短了推理時間。Meyer 等人[10]提出了一種將點云深度信息、密度信息以及高度信息作為輸入數據進行預測的網絡模型,該方法預測了三維包圍框上點的概率分布,并根據其生成最后的包圍框。Meyer 等人在LaserNet的基礎上進行了改進,提出一種LaserNet++[11]的網絡框架,該方法充分利用對應相機圖像的紋理信息,通過映射的方式將點云和RGB 圖像進行聯系,從而進行檢測。
以上對只使用點云作數據輸入的方法都取得了較好的結果,但點云空間中仍存在著密度分布不均的問題。近密遠疏的特性使得遠處物體點云密度小,目標的幾何結構不完整,不能有效地提取待檢測物體的重要特征信息,造成網絡對物體的檢測精度不高甚至出現漏檢的問題。
針對上述問題,本文提出一種融合可變形卷積和通道注意力機制的目標檢測框架。該框架在為網絡擴大感受野的同時增強了目標物體的重要特征信息的提取能力并使網絡適應目標幾何形變,從而輸出更為有效的感受野。
本文提出的融合通道注意力[12]和可變形卷積[13]的檢測網絡框架首先進行點柱特征編碼并生成偽圖像。偽圖像的尺寸格式滿足一般圖像的表征形式,將偽圖像特征圖送入二維卷積神經網絡中,對輸入分別在在不同尺度上進行特征提取,以獲得深層網絡層中的語義特征和淺層網絡中的細節信息。在輸出不同尺度特征圖后,先對其進行可變形卷積操作改變感受野來適應不斷變化的目標的特征信息,如空間中存在的行人和騎行者;再對改變感受野后的特征圖使用通道注意力增強對關鍵特征信息的提取能力;完成通道注意力操作后,將各個尺度的特征圖進行反卷積操作輸出相同大小的特征圖,做Concat 拼接操作;最終將輸出特征圖送入檢測頭中完成分類和回歸任務。輸出的特征圖中包含了豐富的語義信息和細節信息,且有效提取了目標物體的關鍵信息。整體網絡結構如圖1 所示。

圖1 整體網絡結構
將點云數據記作L,本網絡層首先在原始點云空間上對點云數據進行編碼。將點云數據在xOy平面上劃分為一個個均勻的網格,構建點柱集合Pillar。區別于VoxelNet 中的體素特征編碼層,本方法忽略Z軸方向上的信息,將每個點柱網格中的點信息增強為(xc,yc,zc,xp,yp),其中c代表著點離整個點云中心的距離,p代表著點相對于點柱中心(x,y)的偏移量。此時雷達點云信息特征被增強到了九維。由于點云數據的稀疏性,通過對每個樣本的非空點柱數量P和每個點柱中的點云數量N限制來使用這種稀疏性D,以此產生尺度為(D,P,N)的張量,再使用與PointNet[14]類似的網絡,學習到C個通道,使得點云特征維度變為(C,P,N),再對C通道做最大池化操作,得到了(C,P)的張量,最終將特征按照原始點柱位置堆疊成大小為(C,H,W)偽圖像,此時生成的偽圖像形式與二維圖像形式相同,可送入二維卷積神經網絡中提取特征。點柱編碼流程如圖2 所示。

圖2 點柱特征編碼
在對點云空間完成點柱編碼后,整個空間被編碼為類似于二維圖像的形式。此時,針對激光雷達掃描形成的點云分布近密遠疏而造成的行人和騎自行車者的特征表達不足的問題,提出了一種結合通道注意力機制和可變形卷積的模塊。該模塊通過注意力機制增強偽圖像中的關鍵特征,并抑制無關特征信息,同時通過可變形卷積來擴大感受野,以適應在不同幀中行人和騎行者形狀姿態不一的情況。融合可變形卷積注意力模塊如圖3 所示。

圖3 通道可變形卷積模塊
該模塊將通道注意力與可變形卷積結合,對于輸入的特征圖,先通過可變形卷積中的偏移矩陣改變卷積層的采樣位置,使網絡能夠適應待檢測物體幾何形狀變化引起的特征信息位置變化。對輸入特征圖進行可變形卷積后,通過通道注意力機制增強網絡對待檢測物體重要特征的提取能力。
1.3.1 通道注意力機制
壓縮激勵網絡(Squeeze-and-Excitation Networks,SeNet)是Hu 等人在2017 年提出的一種基于特征通道的注意力模塊[12]。該模塊通過對各個特征通道建模,區分出不同特征通道的重要性,關注重要特征,抑制不重要的特征,達到增強模型檢測特征表達的效果。通道注意力模塊如圖4 所示。

圖4 通道注意力模塊
當圖像經過卷積層提取特征后,得到了維度為H×W×C的特征圖U,再將對特征圖進行處理變換后,對新特征圖U分別進行兩步操作,先是對新特征圖U進行全局平均池化實現對高度和寬度的壓縮操作,將H×W×C的特征圖壓縮為大小為1×1×C的向量,保留通道信息,此時將其記為z,對統計量z的第c個元素的計算公式為:

式中:Fsq為壓縮操作;uc為經過特征提取后的特征向量;i,j為對應特征圖上的第c個元素的位置。
對輸入的特征圖進行全局平均池化,最后得到輸出的特征zc,以學習到每個通道的特征權重。
得到的輸出特征zc依次經過全連接層、ReLU層以及全連接層和Sigmoid 層后,完成激勵,實現全面對通道之間的依賴性捕捉,計算公式為:

式中:W1、W2為兩個需要學習的權重矩陣;σ(·)為sigmoid 激活函數;δ(·)為ReLU 激活函數;s為經過激勵操作后得到的特征矩陣。
最后將得到的特征矩陣與特征矩陣u進行加權操作,加權計算公式為:

式中:為特征矩陣uc與sc經過點積加權操作得到的最終的特征矩陣。
1.3.2 可變形卷積
可變形卷積是Dai 等人在2017 年提出的一種新型卷積方式[13],可變形卷積是在普通卷積的基礎上,給每一個卷積核的參數上添加一個方向偏移量,從而使得卷積核在進行卷積操作的感受野可以不受固定形狀的限制,來增強卷積神經網絡對不規則目標的建模能力。
本文實驗使用3×3 卷積核,將卷積核采樣區域定義為R,此時,R的區域可以看作:

普通卷積操作的輸出特征圖計算公式為:

式中:p0為普通卷積核的中心點;pn為普通卷積核的采樣點;x(·)為輸入的特征圖;y(·)為輸出特征圖。在可變形卷積中,輸出特征圖的計算公式為:

式(6)中的變量含義與普通卷積操作一樣,而可變形卷積在普通卷積的基礎上引入了采樣點的位置偏移量,使得輸出的特征圖能夠更好地表達出不規則目標的特征。偏移量Δpn將上述區域R上的點根據目標的特征分布做了位移,因此對其進行雙線性插值,則可變形卷積的卷積公式轉換為:

式中:q為采樣點的偏移后的位置;p為整數網格點;G(q,p)為雙線性插值操作得到的整數形式的采樣點位置。雙線性插值公式為:

可變形卷積結構圖如圖5 所示。

圖5 可變形卷積
1.3.3 損失函數
本文實驗中的三維包圍框由(x,y,z,w,l,h,θ)確定,相比于二維包圍框,多了z軸方向的參數,以及水平朝向角的參數。在本文實驗中,回歸損失函數定義為:

為應對訓練過程中樣本不平衡的問題,分類損失函數使用焦點損失函數Focal Loss 函數[15],則分類損失函數定義為:

式中:pα為是包圍框的概率;參數α設置為0.25;參數γ設置為2。
則總損失函數計算公式為:

式中:Npos為預測正確的包圍框的數目。本文實驗中,將βloc設置為2,βcls設置為1,βdir設置為0.2。
本文實驗在Ubuntu16.04 系統下進行,使用Nvidia RTX2060 顯卡,圖形處理器(Graphics Processing Unit,GPU)內存為16 GB,深度學習框架采用Pytorch。在訓練階段,批量大小設置為2,權值衰減設置為0.000 1,學習率設置為0.000 2,迭代次數為160 epoch。
本文使用公共數據集KITTI 數據集[16]進行檢測,檢測對象有車輛、行人及騎行者。訓練過程中訓練集被分為3 712 個訓練樣本以及3 769 個驗證樣本。
2.2.1 橫向對比
本文實驗分析包括二維模式、三維模式以及鳥瞰圖模式下的檢測結果,KITTI 數據集又分為簡單、中等、困難3 種場景。依據KITTI 官網,按中等難度進行檢測結果的排名。表1 展示了不同算法在3種模式下的檢測結果。

表1 橫向對比實驗結果 %
實驗結果表明,本文算法相比較于其他通過體素或點柱劃分的算法,在3 種模式下對于車輛及騎行者的檢測精度都有很大提升。
2.2.2 消融實驗
為驗證本文方法中可變形卷積及通道注意力機制對于模型檢測性能的影響,本文進行了消融實驗,其中SA 代表通道注意力機制,DCN 代表可變形卷積模塊,Baseline 表示基線模型,檢測結果如表2所示。

表2 消融實驗結果 %
實驗結果表明:在基線模型中引入可變形卷積和通道注意力機制能夠有效提高汽車和騎行者的檢測精度;在基線模型上加入注意力機制,能有效增強目標的重要特征信息;加入可變形卷積,模型能夠使感受野適應多變的物體幾何形變特征。
本文定性分析了檢測結果,檢測效果如圖6 所示。從圖中可以看出,基線模型在檢測過程中,遠處的騎行者未能識別,出現了漏檢的情況,而本文算法檢測到遠處的騎行者。可視化檢測結果證明本文實驗能夠在一定程度上解決漏檢的問題,證明了本實驗方法的有效性。

圖6 檢測效果對比
針對自動駕駛場景中存在的問題,如雷達線數、天氣等原因都會造成物體空間點稀疏的情況,本文采用了通道注意力來提取待檢測物體的關鍵信息,以實現對目標物體檢測精度的提升。對于自動駕駛場景中,行人、騎行者、車輛在空間中存在幾何形狀變化的情況,在基線模型中引入可變形卷積模塊,使網絡具備適應這種變化的能力。實驗證明,本文改進的算法在KITTI 數據集上達到了較好的檢測效果,有效提升了模型的檢測精度,解決了基線模型中存在的漏檢問題。此外,對比其他基于體素方法的檢測算法,也能夠達到較好的檢測效果。然而,本文方法對于行人的檢測效果不理想,這是因為在駕駛場景中,桿狀物如消防栓路燈等物體幾何形狀與行人相似,從而影響了本文算法對于行人特征的有效提取。