孫劉杰,趙 進,王文舉,張煜森
上海理工大學 出版印刷與藝術設計學院,上海 200093
近些年來,深度學習技術[1]的發展日新月異,在其飛速發展的同時,也帶動如自動駕駛[2]、智能機器人[3]、智能物流[4]等領域的創新進步。尤其是自動駕駛領域由于準確性和實時性要求,準確快速的3D場景感知是重中之重,而3D物體檢測[5]對于3D場景感知是至關重要的,但3D物體檢測技術受限于數據集、傳感器等因素影響,使得此項技術難度大,非常具有挑戰性。
由于激光雷達具有精確的長度測量,可提供準確的深度信息,所以激光雷達[6]是自動駕駛最常用的傳感器,激光雷達傳感器分為二維和三維兩種。蔡澤宇等人[7]設計一個具有上下行程的云臺,通過二維激光雷達的上下運動,對周圍環境物體的輪廓進行檢測,達到三維激光的功能。但這樣做由于需要上下運動,檢測速度相對慢很多。而三維激光雷達掃描周邊場景快速生成三維點云,三維點云數據保留了三維空間中原始的幾何信息,不進行任何離散化處理,更容易得到物體姿態和形狀,因此三維點云是很多3D物體檢測[8]任務的首選數據。F-PointNet[9]基于2D RGB圖像檢測結果,快速定位物體在點云數據中的空間位置,然后利用能夠直接從點云數據學習特征的PointNet[10]以及PointNet++[11],回歸物體的3D包圍盒。Shi等人[12]覺得F-PointNet嚴重依賴2D檢測性能,且存在遮擋問題容易導致漏檢,故提出兩階段PointRCNN[12],首次利用點云數據豐富的3D信息,第一階段基于每個前景點生成一個魯棒的初始3D包圍盒;第二階段融合深度、坐標、反射強度、局部特征等多種信息優化3D包圍盒參數,從而實現3D物體檢測。Shi等人[13]認為數據集中標注的3D包圍盒隱含了每個三維目標內部分布的點,這有利于學習更多有效信息,有助于提高3D物體檢測性能,而之前的方法都忽略這些,故提出Part-A2net[13]在部分感知階段充分利用數據集標注信息,預測高質量初步3D包圍盒和準確的物體內部位置;然后在部分聚合階段對包圍盒重新估計置信度,并通過物體內部部件位置的空間關系來優化包圍盒位置。
考慮到點云數據的不規則性和稀疏性,很多研究者[14-16]對點云進行預處理(如將點云去掉高度或深度轉換為二維的鳥瞰圖或前視圖像),然后再利用成熟的圖像檢測技術得到位置、朝向、類別等2D信息,最后再估計高度、深度信息從而實現三維物體的識別與檢測。RT3D[14]將稀疏點云轉成稠密的深度圖,在深度圖中生成初步3D包圍盒,進一步從整個點云中提取出感興趣目標并優化3D包圍盒參數,完成3D物體檢測;雖然深度圖的像素點灰度值反映深度,也可直接反映物體可見表面的幾何形狀,但存在較為嚴重的遮擋問題。Range-RCNN[15]為避免尺度變化和遮擋問題,提出RV-PV-BEV(range view to point view to bird eye view)模塊,將特征從Range view轉移到鳥瞰圖。VoxelNet[16]將不規則點云轉換規則的體素網格表征,然后使用3D卷積進行3D物體檢測。雖然這些方法提高了檢測速度,但在數據預處理過程中不可避免地丟失信息從而影響檢測精度。
受Transformer[17]在如機器翻譯[18]、語音識別[19]等NLP[20]領域成功啟發,近期許多研究者將Transformer應用于計算機視覺任務,如2D圖像的分類ViT[21],物體檢測DETR[22]、ACT[23],分割VisTR[24];3D點云的分類分割PT[25]、PCT[26],3D物體檢測Pointformer[27]。得益于其高效的自注意力機制,Transformer在計算機視覺任務各個領域取得種種突破。然而,現有的3D視覺處理方法Transformer由于每層輸入嵌入都是等尺度的,沒有跨尺度特征,使其不具備在不同尺度的特征之間建立注意能力,這樣對于近密遠疏的點云數據以及尺寸不同的物體是不合理的。
基于以上分析,本文提出一種基于多尺度點云Transformer的3D物體檢測方法(MSPT-RCNN)來提高3D物體檢測精度。該框架由兩個階段組成,第一階段(RPN)為更好學習點云局部幾何信息,并在不同尺度信息間建立注意,獲得點與點之間的相關性,設計基于坐標的多尺度鄰域嵌入模塊,該模塊首先逐點提取特征,然后使用最遠點采樣對點云降采樣,最后利用歐幾里德距離對降采樣后的每個點在原始點云中進行KNN[28]搜索,最后計算局部鄰域幾何特征;跳躍連接偏移注意力模塊首先得到不同層次的語義信息,最大平均池化后得到全局語義特征;然后基于采樣后的前景點聚合局部鄰域幾何信息和全局語義特征由近到遠生成初始3D包圍盒;第二階段(RCNN)為優化包圍盒的位置、尺寸、朝向和置信度,將RPN階段得到的初始包圍盒內的點進行坐標轉換,然后通過MLP得到感興趣區域的局部特征,并將學習到的局部特征結合點云深度信息、反射強度、RPN階段的單點特征、感興趣區域內點云的多尺度局部幾何信息以及全局語義特征優化3D包圍盒的信息。與其他方法相比,此方法充分考慮局部點之間的關聯性,并通過注意力機制充分利用有效特征,對較小、較遠物體檢測效果顯著。
由于Transformer在自然語言處理領域的強大表征能力并取得很好的效果,研究人員提出將Transformer擴展到計算機視覺任務。相比于卷積網絡、遞歸網絡等網絡類型,基于Transformer的模型在各種視覺任務上表現出較強競爭性,甚至擁有更好的性能。
如圖1所示,Transformer是一種由編碼模塊和解碼模塊組成的深度神經網絡,它主要基于自注意力機制,具有幾個相同結構的編碼器/解碼器,每個編碼器由自注意力機制和前饋神經網絡組成,而每個解碼器由自注意力機制、編碼解碼器注意力和前饋神經網絡組成。

圖1 Transformer框架Fig.1 Transformer framework
在編碼模塊,編碼器的自注意力機制首先將輸入向量轉換成三個不同的向量,即查詢向量Q、關鍵向量K、值向量V,然后由不同輸入得到的向量被打包成三個不同的矩陣,之后不同輸入向量之間的注意力函數通過以下四步計算:

第一步為了確定對當前位置數據進行編碼時對其他位置數據的關注程度,計算兩個不同向量之間的分數S。第二步將分數S標準化為Sn,使其具有更穩定的梯度,以便更好地訓練。第三步將使用softmax函數將分數Sn轉換為概率P。第四步獲得權重加權矩陣,每個值向量V乘以概率P,具有較大概率的向量將被隨后層更多關注。這個過程可用公式(5)統一表示為:

然后將權重加權矩陣輸入前饋神經網絡(由兩個線性層和ReLU激活函數組成,應用于每個編碼器和解碼器中自注意力層之后),可由公式(6)表示:

其中,W1和W2是兩個線性變換層參數矩陣,σ表示ReLU函數,X是注意力層的輸入。
解碼模塊中的編碼解碼注意力層與編碼模塊中的自注意力機制幾乎相同,只是鍵矩陣K和值矩陣V是從編碼器模塊中導出,查詢矩陣Q從前一層中導出。
與只關注局部特征的CNN相比,Transformer能夠捕捉長距離特征,這意味著Transformer可以輕松導出全局信息。與必須按序列計算隱藏狀態的RNN相比,Transformer效率更高,因為自注意力層和全連接層的輸出可以并行計算,也更容易加速。
PointNet[10]首創點云學習,PointNet++[11]利用球型對點云數據進行局部分組,再用多層PointNet[10]來捕獲局部結構信息。PointRCNN[12]是兩階段3D物體檢測方法,以原始點云為輸入,利用PointNet++[11]提取點云特征后,對點云特征進行處理,生成多個較為粗糙的初始3D包圍盒,最后進行點云區域池化,回歸物體準確的3D包圍盒和分類置信度。
如圖2所示,PointRCNN[12]第一階段對原始點云數據降采樣為16 384個點后,以PointNet++[11]為主干網絡提取特征并將點分類(即將點云分割為前景、背景),然后利用點云特征通過PGM(proposal generation module)模塊基于每一個前景點自下而上的生成初始3D包圍盒和對應的物體分類置信度。

圖2 PointRCNN第一階段網絡框架和相應數據流程圖Fig.2 PointRCNN stage-1 framework and corresponding data flow chart
如圖3所示,PointRCNN[12]第二階段為了優化第一階段生成的初始3D包圍盒,區域池化點云坐標、深度信息、全局語義特征和前、背景分割信息,結合感興趣區域(ROI)局部點云特征,通過編碼器得到高級語義特征,分別使用分類頭和回歸頭,細化物體包圍盒的尺寸、位置、朝向和置信度,并通過NMS(非極大值抑制)使得一個物體最終只保留一個包圍盒。

圖3 PointRCNN第二階段網絡框架和相應數據流程圖Fig.3 PointRCNN stage-2 framework and corresponding data flow chart
現有先進的點云3D物體檢測方法可以分為一階段方法和兩階段方法。一階段的方法通常更快,但直接預測物體的包圍盒而不進行細化,精度方面相對會低;而兩階段方法會在第一階段生成初始包圍盒,并在第二階段進一步優化包圍盒和置信度。因此,本文提出了從不規則點云中檢測3D物體的兩階段檢測方法MSPTRCNN,整體結構框架如圖4所示,由第一階段(RPN)和第二階段(RCNN)組成。

圖4 MSPT-RCNN結構框架Fig.4 MSPT-RCNN structure framework
RPN主要用來生成候選框;如STD[29]的RPN階段基于每個點添加一個球形anchor從而生成準確的初始包圍盒,但由于大量點云數據為建筑、數目等其他物體,這樣會造成大量冗余計算;PointRCNN[12]未使用anchor,基于每一個前景點生成一個初始包圍盒,但這樣對于一個物體生成的初始包圍盒過多,也會造成多余計算;故提出基于采樣后點云的前景點由近到遠生成初始3D包圍盒。
2.1.1多尺度Transformer主干網絡
目前大多方法使用PointNet++[11]、DGCNN[30]或者VoxelNet[16]學習點云特征。但Transformer通過注意力機制高效提取有用信息,因此設計一種新型Transformer框架,利用點云坐標作為Transformer順序嵌入需求,通過多尺度鄰域嵌入模塊和跳躍連接偏移注意力模塊,進行多尺度鄰域幾何信息和多層次語義信息學習。
(1)鄰域嵌入模塊
在點云數據中,一個點的語義內容很少。注意力機制雖能有效獲取全局語義特征,但是它可能會忽略局部幾何信息,這些局部幾何信息對于具有幾何形狀的物體是至關重要的。PointNet++[11]以關鍵點為球心,提取一定半徑范圍內點云數據的局部幾何信息,但極有可能包含多個物體的點云,導致學習錯誤的信息;DGCNN[30]使用K近鄰搜索可以有效提取物體的幾何信息,但不同物體尺寸有所差異,使用固定K近鄰搜索不合適。
如圖5(a)所示,鄰域嵌入模塊包括兩個LBR(Linear、BatchNorm、ReLU)層和兩個SG(sampling and grouping)層。LBR層為單個點嵌入,然后使用兩個SG層,每個SG層首先對點云降采樣,然后通過K-NN搜索降采樣后每個點的鄰域幾何特征。

圖5 鄰域嵌入模塊框架和搜索結果質量Fig.5 Neighborhood embedding module framework and search result quality
首先,為將語義相近的點嵌入到空間中更靠近的位置,暫不考慮點與點之間的相關性,使用單點嵌入。具體來說,用共享神經網絡將點云數據P的三維坐標(即Dp=3)嵌入到一個De維的空間Fe∈RN×De中,該網絡包括兩層LBR,每層LBR輸出維度為64維。
然后使用兩個連接的SG層來逐漸擴大幾何特征聚合過程中的感受野,在點云采樣期間,SG層利用歐幾里德距離進行K-NN搜索,聚合每個點鄰域幾何特征。具體地說,SG層將具有N個點和相應特征F的點云P作為輸入,通過最遠點采樣(FPS)算法將P下采樣到PS,對于每個采樣點PS∈P,利用K-NN搜索得到PS在P中的NS個K近鄰KNN(p,P),然后計算輸出的鄰域特征FS(P)。
如圖5(b)所示,最左側一列,自上而下分別是RGB圖像、原始點云和降采樣后點云,其中RGB圖像中的物體在點云數據中的對應位置用方框和箭頭顯示出來,紅色框表示car,黃色框表示cyclist,藍色框表示pedestrian;中間一列(紅色表示采樣點PS,藍色點表示與采樣點屬于同一物體的點,黃色點表示和采樣點不屬于同一物體的點)的G0.75、G0.50、G0.25分別表示以采樣點為圓心,以半徑0.75 m、0.50 m、0.25 m進行球型分組搜索結果的質量圖;最右側一列(紅色表示采樣點PS,藍色點表示與采樣點屬于同一物體的點,黃色點表示和采樣點不屬于同一物體的點)的K=20、K=10、K=5分別表示以20個、10個、5個鄰近點進行K-NN搜索結果的質量圖。從圖中可以看出,由于球型分組搜索粗糙地處理一定半徑范圍內的局部點云,忽略了局部點與點之間的幾何關系,所以球型分組搜索結果相比于K-NN搜索結果黃色點多很多,這說明球型分組搜索質量比K-NN搜索質量差。然后因為自動駕駛場景中行人、車輛、自行車等物體尺寸存在較大差異,以單尺度K近鄰對場景中不同尺寸物體的搜索適應性較差,如K=20對于尺寸較大的車輛物體來說較為合適,但對于自行車或者行人這種尺寸較小的物體,搜索結果存在一定的誤差,這樣學習到的特征存在一定的誤導信息;同理,K=10對于密集行人或掃描點較少的自行車,也不合適;當K=5時,即使對于小尺寸的物體也沒有錯誤的搜索,提供準確的幾何信息,但此時的感受野較小,則只能得到較小的局部特征,不利于不同尺寸物體的分類識別。
通過以上分析,本文設計多尺度K近鄰搜索,來學習點云數據中不同尺寸物體包含的多尺度幾何信息,這樣既可以獲得不同尺度的局部幾何信息,更普適于不同尺度的物體,又可以提供不同大小的感受野,有利于不同尺寸物體的分類識別。具體做法是使用相同的關鍵點,搜索不同數值的K近鄰,最后將不同尺度的鄰域幾何特征連接起來,得到多尺度幾何信息,作為跳躍連接偏移注意力模塊的輸入。其計算過程可由如下公式表示:

其中,F(P)是點P的輸入特征,MP為最大池化,RP(F(P),k)是重復k次向量F(P)形成的矩陣,FS(P)是采樣點的單一尺度鄰域幾何特征,FMS(P)為采樣點的多尺度鄰域幾何特征。
(2)跳躍連接偏移注意力模塊
注意力機制[31]是一種計算數據序列中不同項目之間語義相似度的機制。圖卷積網絡[32]證明了使用拉普拉斯矩陣L(度矩陣與鄰接矩陣之間的偏移量,即L=D-E,其中E為圖的鄰接矩陣,D為圖的對角度矩陣,對角度矩陣D是由鄰接矩陣E的每一列元素加起來得到N個數,然后把它們放在對角線上,其他地方都是零,組成一個N×N的矩陣)替換鄰接矩陣E的巨大優勢。從這個方面思考,可以將點云看作一個以“浮動”的鄰接矩陣作為注意力特征圖的圖形,然后將注意力特征圖的每一列的和縮放為1,則對角度矩陣為單位矩陣。這樣偏移注意力[26]的優化過程可以近似理解為一個拉普拉斯過程。更具體地說:
由多尺度鄰域嵌入模塊輸出的多尺度鄰域幾何特征FMS(P),作為跳躍連接偏移注意力模塊的輸入,然后進行線性變換,如下:

其中,W q、W k和W v是共享可學習線性變換層的權重矩陣,Da是Q和K的維度。為了提高計算效率,將Da設置為De/4。
如圖6所示,首先使用Q和K矩陣通過矩陣點乘來計算注意力權重:

圖6 偏移注意力層框架Fig.6 Offset-attention layer framework

然后對這些權重進行歸一化(在圖6中用SL表示)得到A=(α)i,j,此處在第一個維度上使用softmax算子,在第二個維度上使用L1-norm來規范化注意力圖。

偏移注意層的輸出特征Fsa,使用相應的注意權重、值向量計算得到:

最后,自注意特征Fsa和輸入特征FMS(P)進一步通過偏移注意層獲得輸出特征FOA:

而多尺度鄰域幾何特征和自注意特征之間的偏移量即FMS(p)-Fsa根據公式(11)~(17)可得公式(19)類似于拉普拉斯矩陣。

其中,A是注意力矩陣,I是單位矩陣,L是拉普拉斯矩陣。
在公式(19)中,W v因為是線性層的權重矩陣,可以被忽略,每一列的和縮放為1的注意力矩陣A相當于拉普拉斯矩陣L中的鄰接矩陣E,而對角度矩陣D由于注意力矩陣A每列和為1等于單位矩陣。這樣,偏移注意層對多尺度鄰域幾何特征和自注意特征之間偏移量的計算過程,可近似理解為拉普拉斯矩陣的計算過程,則偏移注意力的優化過程可以近似理解為一個拉普拉斯過程。
相比于Transformer中的自注意力,偏移注意力的查詢向量Q、關鍵向量K和值向量V矩陣由共享的線性變換矩陣和輸入特征F MS(P)確定,與輸入的順序無關。并且softmax和加權和都是與置換無關的算法。因此,整個注意的過程是排列不變的,這使得偏移注意力非常適合于無序不規則點云數據特征的學習。
并且偏移注意力的優化過程可以近似理解為一個拉普拉斯過程,而自注意力的優化過程可以近似理解為鄰接矩陣的優化,文獻[32]證明了使用拉普拉斯矩陣L替換鄰接矩陣E的巨大優勢。故本文采用偏移注意力[26]。
如圖7所示,跳躍連接偏移注意力模塊是由四個偏移注意層構成,AT j分別表示第j個偏移注意層。跳躍連接偏移注意力模塊通過以下三步計算最終輸出全局語義特征FG:


圖7 跳躍連接偏移注意力模塊框架Fig.7 Jump connection offset-attention module framework
其中,F MS(P)為輸入特征,AT j表示第j個偏移注意層,每層都具有與其輸入相同的輸出維度,F1表示第一偏移注意層的輸出,Fi,j表示輸入特征Fi經過第j個偏移注意層計算后得到的輸出,W0表示線性層的權重。
2.1.2初始3D包圍盒生成
為提取一個有效的表示點云全局特征向量,本文選擇在輸出特征后連接兩個池化:在學習到的特征表示上進行最大池化(MP)和平均池化(AP)。然后附加一個包圍盒回歸頭,基于采樣后前景點聚合多尺度鄰域幾何特征,由近到遠生成初始3D包圍盒。
3D包圍盒在Lidar坐標系中表示為(x,y,z,h,w,l,θ),其中(x,y,z)是對象中心位置,(h,w,l)是物體大小,θ是鳥瞰圖中物體的朝向。則初始3D包圍盒可以表示為:
圖8 給出了各個算法的同步誤差性能與信標節點和普通接收節點同步過程中消息總數的關系[12].從圖中可以看出,對于每種算法,隨著消息總數的增加,算法的同步誤差都在減小,但是不同算法的誤差下降幅度是不一樣的.CB-Sync算法在消息總數小于20時,較其他算法有較好的同步性能;在消息總數大于25時,CB-Sync算法與其他算法的同步誤差性能接近.換言之,CB-Sync較CCS-Sync,DA-Sync,D-Sync算法可以以更少的能量消耗得到更高的同步精度.

在第一階段得到物體粗糙的初始3D包圍盒后,這樣的包圍盒尺寸、位置、方向都不夠精確,不能準確表示物體的信息,所以本文第二階段,基于RPN生成的初始3D包圍盒,通過更具體的局部特征優化其尺寸、位置和方向??紤]到第一階段包圍盒不夠準確,為避免信息遺漏,根據第一階段的初始3D包圍盒的位置,將初始3D包圍盒稍稍擴大得到一個新的3D包圍盒,然后提取新包圍盒內的點以及這些點對應特征,用來優化包圍盒。
2.2.1點云區域池化與坐標轉換
為盡量避免信息遺漏和利用初始3D包圍盒的上下文附加信息,將第一階段得到的每個初始3D包圍盒boxi=(x i,yi,zi,hi,w i,li,θi)稍微擴大得到新的3D包圍盒,其中η是包圍盒擴大尺寸的一個常數值,設置η=1.0 m。
對于每一個點p=(x(p),y(p),z(p)),通過坐標位置確定點p是否在擴大后新包圍盒內,如果在,則這個點以及其特征將被保留用于優化包圍盒boxi。與包圍盒內點相關特征,包括:點坐標信息F(x,y,z)、逐點特征FP、多尺度鄰域幾何信息FMS(P)、激光反射強度Fr(p)、點云深度信息Fd(p)和局部空間點特征FP~。其中點坐標信息通過包圍盒重心坐標直接影響包圍盒的位置信息;逐點特征可以用于前背景點的分割,將不屬于物體的背景點剔除,從而通過精確的前景點的特征優化包圍盒信息;多尺度鄰域幾何特征為同一場景中包含的人、自行車、車輛等多種剛性物體提供豐富的幾何信息,這有利于細化包圍盒邊緣;由于不同物體之間材料不同,它們的反射率也截然不同,從而可以通過激光反射反射強度實現不同物體的分類,對包圍盒置信度優化有很大幫助。
為利用RPN階段高召回的初始3D包圍盒和能夠魯棒學習包圍盒周圍的局部空間點的特征,將屬于每個包圍盒的所有點轉換為相應3D包圍盒的標準坐標系[12],通過剛性轉換,同一物體的絕對坐標雖然完全不同,但相對坐標通常更魯棒一些。如圖8所示,一個3D包圍盒的標準坐標系表示:(1)包圍盒中心是坐標原點;(2)X0軸和Z0軸平行于地面,X0方向為包圍盒朝向,另一個Z0軸垂直于X0;(3)Y0軸垂直于地面。通過適當旋轉、平移,將每個包圍盒的所有點P坐標轉換為標準坐標P~,最后通過MLP學習局部空間點的特征FP~,通過感興趣區域內的點云數據的坐標轉換,可以更魯棒地提取感興趣區域空間內點的特征(局部空間點特征),這些特征直接表征該物體的信息,對于單個物體而言,更有利于表示該物體包圍盒尺寸、位置以及置信度的優化。

圖8 坐標轉換(CCS表示標準坐標系)Fig.8 Coordinate transformation(CCS denotes canonical coordinate system)
2.2.2特征融合
RCNN階段融合新包圍盒坐標轉換后的局部空間點的特征以及它們的全局語義特征,用于進一步優化初始包圍盒和置信度。雖然坐標轉換能夠實現魯棒的局部空間特征學習,但同時會完全丟失每個點的深度信息,為此,將激光雷達點的深度信息即在坐標轉換后,再引入到點P的特征中去,這樣既可魯棒提取特征,又不會因失去深度信息而影響包圍盒尺寸和位置預測。

然后輸入到幾個全連接層,將FC編碼到與局部空間點的特征FP~相同的維度。然后,將FC和FP~融合:

最后將FR輸入到點云編碼器網絡,獲得一個區分性高級語義特征向量,用于后續的分類置信度預測和包圍盒優化。
對于RCNN階段的分類頭,如果帶有ground-truth的包圍盒最大3D IoU大于0.6,則該包圍盒被視為正包圍盒;如果包圍盒最大3D IoU小于0.45,則該包圍盒被視為負包圍盒。以3D IoU 0.55作為包圍盒回歸頭訓練的最小閾值。最后,利用鳥瞰圖閾值為0.01的定向NMS來移除重疊的邊界框,只保留一個得分最高的包圍盒作為檢測對象的三維邊界框。
本文使用KITTI[33]數據集進行實驗。本文提出的MSPT-RCNN在KITTI[33]數據集上與PointRCNN[12]、PointPillar[34]、STD[29]、TANet[35]進行比較。STD[29]對每個點添加一個球形anchor,用每個點的語義得分來移除冗余錨點從而實現高的召回率,然后應將初始包圍盒內部的點特征由稀疏表示轉化為緊湊表示,在點池化模塊結合基于點和體素的方法的優點,實現3D物體的有效預測。之前的研究方法將原始點云柵格化為正方體的體素,PointPillars[34]將原始點云柵格化為長方體的體素,然后學習這些長方體的特征,再將學習到的特征分散回一個二維的偽圖像,最后再用檢測頭利用2D CNN得到的特征預測物體的包圍盒和分類。TANet[35]針對行人等較難檢測物體的檢測精度不高問題提出三重注意力(TA)模塊,通過聯合考慮channel-wise、point-wise和voxelwise的注意在行人檢測上取得很好的效果。
此外,本文還進行了消融實驗,選擇PointRCNN[12]作為消融實驗的基線,以驗證所提方法的有效性。
為驗證本文提出的MSPT-RCNN在3D物體檢測中的有效性,仿真實驗在Python3.7、CUDA10.0環境下使用KITTI[29]數據集進行訓練和測試,所使用計算機和配置環境的硬件參數為處理器Inter?CoreTMi7-10700K。顯卡芯片NVIDIA GeForce RTX 2070 SUPER,顯卡芯片內存容量為12 GB。
本文選擇PointRCNN[12]作為消融研究的基線,為保證對比絕對公平,所有的實驗數據和參數設置保持不變。PCT-PointRCNN表示使用PCT[26]提取特征的網絡,PCT-RCNN表示在PCT-PointRCNN基礎上將特征提取主干網絡的偏移注意力模塊替換為跳躍連接偏移注意力,MSPT-RCNN表示在PCT-RCNN基礎上使用多尺度鄰域嵌入模塊和RCNN階段融入感興趣區域內點的多尺度鄰域幾何信息。
如表1所示,替換PointRCNN[12]特征提取主干網絡后,最終檢測精度均有提升,mAP也提升了1.2個百分點。PCT-RCNN通過跳躍連接偏移注意力,獲取不同層次有效語義特征,檢測結果mAP相對于PCT-PointRCNN提升0.67個百分點。MSPT-RCNN利用兩個SG層逐步擴大感受野,通過多尺度鄰域嵌入模塊,有效學習點云的局部幾何信息,檢測結果mAP相對于PCT-RCNN提升0.29個百分點,相對于基線PointRCNN[11]提升2.16個百分點,尤其在行人和自行車物體的檢測精度提升幅度較大。由于引入Transformer、偏移注意力和多尺度KNN搜索方法,實驗證明檢測精度提升2.16個百分點的同時,運算成本和測試運行時間逐步有所增加。

表1 消融實驗結果(Cars IoU=0.7 Pedestrians,Cyclists IoU=0.5,batchsize=1)Table 1 Results of ablation experiment(Cars IoU=0.7 Pedestrians,Cyclists IoU=0.5 batchsize=1)
如表2所示(√表示引入該特征,×表示不引入該特征),點坐標信息F(x,y,z)、逐點特征FP、多尺度鄰域幾何特征F MS(P)、激光反射強度Fr(p)、深度信息Fd(p)、局部空間點特征FP~對最終的檢測精度均有提升作用,提升效果如表中mAP精度所示。

表2 特征多樣性作用消融實驗Table 2 Characteristic diversity effect ablation experiment
其中點坐標信息和深度信息對包圍盒的位置、尺寸直接相關,故提升較大,多尺度鄰域幾何特征也引入單個物體的幾何信息,對檢測結果也有不小的提升。
圖9為消融實驗檢測結果可視化圖(圖中紅色方框表示誤檢漏檢物體,并且在圖片右上角數字表示誤檢漏檢數量)。由可視化圖也可以看出消融實驗,誤檢漏檢數量逐次減少,證明本文方法對3D物體檢測均有提升效果。

圖9 消融實驗檢測結果可視化Fig.9 Visualization of ablation experiment detection results
在本節中,本文提出的方法MSPT-RCNN與Point-RCNN[12]、PointPillar[34]、STD[29]和TANet[35]四種方法進行了比較。表3顯示了不同方法下檢測精度的比較(加粗字體表示該列最高精度),圖10為不同方法的檢測結果可視化圖(圖中紅色方框表示誤檢漏檢物體,并且在圖片右上角數字表示誤檢漏檢數量),由可視化圖可以看出本文方法誤檢漏檢數最少。

圖10 不同方法下的檢測結果可視化Fig.10 Visualization of detection results under different methods

表3 不同方法檢測結果(Cars IoU=0.7 Pedestrians,Cyclists IoU=0.5)Table 3 Detection results of different methods(Cars IoU=0.7 Pedestrians,Cyclists IoU=0.5) %
PointRCNN[12]模型mAP精度比本文方法低1.87個百分點,PointRCNN[12]先逐點提取特征,雖使用PointNet++[11]通過球形分組考慮局部特征,但這樣的局部特征不夠細致,導致小物體檢測精度較低。PointPillar[34]將點云轉換為稀疏偽圖像,利用2D CNN提取偽圖像特征。將三維空間數據轉為二維圖像,大大提高推理速度,但緯度的降低,導致精度普遍偏低。TANet[35]針對較難檢測物體(如行人)通過三重注意力模塊增強目標的重要信息,提高定位精度,但對于容易檢測的車輛效果不夠好。STD[29]通過語義信息基于每一個點生成一個人為設置的球形anchor,再通過nms得到少量初始包圍盒,接下來是點云池化層采用VFE得到每一個包圍盒的特征,最后IoU分支和包圍盒預測分支結合優化初始包圍盒。但由于激光雷達傳感器的固定角度掃描,遠處物體的點通常比近處物體少得多,STD[29]針對行人設置半徑為1 m的球形anchor,對于較遠處的行人,根據少量的點易造成誤檢漏檢。
本文方法MSPT-RCNN通過多尺度鄰域嵌入模塊,有效學習點云數據中的多尺度幾何信息,通過跳躍連接偏移注意力模塊,能夠提取不同層次的有效信息。實驗結果表明,MSPT-RCNN檢測精度相較于PointRCNN[12]有較大提升,尤其是較難檢測行人方面,提升高達2.58個百分點。相較于PointPillar[34]、STD[29]和TANet[35],本文方法MSPT-RCNN綜合指標mAP最高,充分說明本文方法對點云3D物體檢測的有效性。
本文提出一種基于多尺度點云Transformer的3D物體檢測方法(MSPT-RCNN),將Transformer應用于自動駕駛真實場景3D物體檢測,以點云為輸入,設計多尺度鄰域嵌入模塊和跳躍連接注意力模塊,有效學習點云數據中的多尺度幾何信息,提取不同層次的有效語義信息。
實驗結果表明,相較于基線方法PointRCNN[12],綜合指標mAP提高了2.16個百分點,有效提高了3D物體檢測效果,在行人和自行車檢測上提升甚至高于2個百分點。相較于其他方法,MSPT-RCNN綜合指標mAP最高,充分證明本文方法通過點云數據檢測3D物體的有效性,對其他點云3D物體檢測也具有一定的研究參考價值。