馬慶祿,孫 梟,黃筱瀟,王江華
(1.重慶交通大學交通運輸學院,重慶 400074;2.重慶奉建高速公路有限公司,重慶 401120)
三維道路場景點云數據的精準分類與分割技術,是智能網聯汽車進行實時控制決策的前提。然而,與傳統2D圖像相比,3D點云圖像具有更復雜的結構以及更多的檢測信息,在三維空間中以不規則和無序的方式分布[1]。因此,為了更好地分類與分割,國內外學者圍繞優化深度學習網絡以實現高效的全局特征提取方面做了大量的研究。康自祥等[2]提出一種基于Transformer的體素化激光點云目標檢測算法,提高了運算效率,目標檢測的準確率達到88.5 %。梁志強等[3]利用圖卷積提取點云基于位置信息的低維局部特征,并通過注意力機制提取點云基于語義高維局部特征,同時使用多層感知機提權全局特征,通過多個特征融合來提高精度。Qi等[4]提出了PointNet方法,以點的方式實現點云特征學習。PointNet由幾個核心模塊組成:剛性變換(T-Net)、共享多層感知器(MLPs)和最大池(maxpooling),這些模塊保證了網絡對點排列和形狀旋轉的不變性[5],之后通過引入局部特征提取,提出了幾個變體來提高PointNet的性能。Li[6]等提出的PointCNN,類似于圖片的卷積操作,充分考慮了局部信息。Wu[7]等提出將PointConv擴展到反卷積,以獲得更好的分割結果。Wang等[8]提出了DGCNN設計了EdgeConv,可以很好地集成到多個已經存在的點云處理的pipeline中。
谷歌公司所提出的Transformer[9]具有顯著的全局特征學習能力,來代替網絡中的所有卷積運算,以便更好地表達全局特征。盡管Transformer架構目前在機器視覺研究的各個領域都得到了應用,但它們在3D點云處理中的應用仍然非常有限。在目前基于Transfomer結構的點云研究中留下了一個空白。首先Transfomer已被證明對輸入數據中的排列具有本質上的不變性,這使其成為集處理任務的理想選擇;其次,現有大多數深度學習方法處理的3D點利用局部特征來提高性能。這些技術在局部尺度上處理點,以保持它們對于輸入排列不變,導致忽略點表示之間的幾何關系,并且所述模型不能很好地捕捉全局概念[10]。
為解決上述問題,提出了一種基于雙隨機Transformer的點云分類與分割模型,并將其命名為DRPT,利用Teansformer模型獲取全局變量,并將雙隨機代替Transformer的行隨機以獲取更多點特征。在多個3D點云數據集上評估DRPT,用于分類、部分分割和語義場景分割任務。通過實驗結果表明,DRPT可以作為各種點云處理任務的準確有效的主干。
Transformer網絡依賴于多頭注意力與使用單一注意函數不同,多頭注意首先使用單獨的前饋網絡從不同的子空間學習關系,多頭注意首先將Q、K、V分別投影h次到dv,dk,dm維。然后,注意力平行應用于每個投影。使用前饋網絡將輸出連接起來并再次投影。因此,多頭注意力可以定義如公式(1)所示:
(1)

AMH(X,Y)=LayerNorm(S+rFF(S))
(2)
S=LayerNorm(X+Multihead(X,Y,Z))
(3)
公式(2)中AMH表示多頭注意力機制的輸出,取決于查詢矩陣X的順序。LayerNorm是層歸一化,rFF為向前反饋層因此其不具備置換不變性。S表示多頭注意力的中間結果,公式(3)是S的具體計算過程。公式(3)中,X是查詢矩陣、Y是鍵矩陣、Z是值矩陣,Multihead是多頭注意力函數,它將查詢、鍵和值作為輸入,并輸出它們的加權和。無論輸出順序,每個點相對應的輸出值始終相同,因為AMH僅由矩陣乘法和求和組成。
Transformer通過ViT來提高學習全局特征的能力,所以當前的點云處理傾向于使用變換器來替換網絡中的所有卷積運算,以獲得更好的特征表達。基于Transformer的點云分類方法,是為通過Transformer獲取點云的全局特性。PCT(Point Cloud Transformer)采用了PointNet架構,其中共享的MLP層被替換為標準Transformer塊。通過利用偏移注意機制和鄰域信息嵌入,PCT在點云分類中實現了最先進的性能。Han等人提出了另一種逐點學習全局特征的方法并將其命名為PT(PointTransformer)。具體來說,他們設計了一個多級Transforme來提取具有不同分辨率的目標點云的全局特征,然后將這些特征串聯起來,并將它們輸入到一個多尺度Trans fformer中,以獲得最終的全局特征。Point Transformer不是以逐點方式提取全局特征,而是將Trasnsformer層應用于點云的局部鄰域,并通過向下轉換模塊分層提取局部特征。最后,通過全局平均池操作可以獲得全局特征。然而,由于Point Transformer塊應用于每層的所有輸入點,此方法可能會產生信息冗余。此外,純Transformer體系結構(無CNN),由于變壓器中存在大量線性層,可能會導致較高的計算和內存成本。現有的模型包括PointTransformer和Point Cloud Transformer,PointTransformer在點上使用單個頭部的自我注意,以創建通過K-NN和最遠點采樣獲得的局部補片的排列不變表示,Point Cloud Transformer將偏移注意塊應用于3D點云。兩種模型創建了一種新穎的Transformer模塊,該模塊對輸入執行特征方式以及點積關注,以實現精確有效的處理。


圖1 DRPT模型結構
DRPT的總體架構如圖1所示。本文主要改進為在點云Transformer中加入點嵌入模塊和具有卷積注意投影的點間注意模塊并將其應用于3D點云識別與分割。具體表現為當一個size為N×3的輸入點云通過該體系結構時,通過基于歐幾里德距離尋找其K-NN來計算點近鄰圖。然后,將計算結果將通過點嵌入層傳遞,該層將輸入數據映射到隱式包含點的最近鄰域表示中。這其通過2D卷積運算完成的,注意力機制選取的每個點的重疊程度可以通過步幅的長度來控制。將點積注意力操作應用于該嵌入表示,然后插入式注意模塊。點積注意力可以看作是學習嵌入點的相關特征,作為其K近鄰的函數。這種注意機制學習關注點的特征,而不是點本身,也就是說,對于批次中的一組點,它學習加權單個特征變換。
另一方面,插入點注意可以解釋為在一個批次內學習不同點之間的關系(按點嵌入而不是按點的單個特征操作的行矩陣注意)。這形成了DRPT的一層。我們在InterPoint Attention操作之后更新近鄰圖,然后將其傳遞到下一個DRPT層使用特征空間嵌入維數較高的第三層也是最后一層DRPT層來學習點云的表示,無需插入注意。深層的插入注意并不能提供很多繼續你,因為Transformer最終可以學習超越其點集嵌入維度的位置的關系。這也意味著,與共享加權MLP相比,Transformer能夠在更深的層中可視化超出其有限感受野的輸入,使其成為特征空間嵌入的更好選擇。將此注意模塊添加到更深的層只會略微提高性能,但會顯著增加計算量。然后將每個變壓器層的輸出串聯起來,并通過最終的共享加權MLP。然后將其合并為全局最大值,以獲得形成點云表示的全局特征向量。然后通過一系列MLP進一步處理該表示,以對點云進行分類,或為點云中的每個點獲取語義點標簽。
具有點嵌入的PCT是提取全局特征的有效網絡。然而,它忽略了在點云學習中同樣重要的局部鄰域信息。點積注意力操作被應用于嵌入后,點積注意力可以被看作是學習作為其M個最近鄰函數點嵌入的相關特征。這種注意機制學習關注點的特征不是點本身,即對于一批中的一組點,它學習的式加權各個特征變換。之后是點間注意模塊。點間注意力可以被解釋為在鄰域中學習不同點本身之間的關系,點間注意力采用逐行矩陣注意力針對每個點嵌入操作,本文將行隨機矩陣注意力改為雙隨機矩陣注意力,其能夠增加點之間的交互,增強特征提取。將Softmax被Sinkhorn的輸出所代替,然后將它傳遞給下一個DRPT層。使深層的點間注意力能夠提供信息,Transformer最終可以學習跨越其嵌入維度的局部性的關系。這也意味著Transformer能夠在更深的層中可視化超出其有限感受野的輸入,與共享加權的MLPs相比,這使它們成為特征空間嵌入的更好選擇。將這種關注塊添加到更深的層僅略微提高了性能,但是顯著增加了計算如圖2所示。

圖2 鄰域嵌入架構
每個Transformer層的輸出然后被連接并通過最終的共享加權MLP。然后對其進行全局最大匯集,以獲得形成點云表示的全局特征向量。然后,通過一系列MLP進一步處理該表示,以對點云進行分類,或者獲得點云中每個點的語義點標簽。如在傳統的Transformer模型結構中一樣,在關注層之后使用剩余連接層標準化以及MLP層。
使用點積注意力和自注意力的組合,通過網絡傳播輸入中最重要的特征。DRPT通過使用卷積層對注意力矩陣進行采樣。利用卷積的能力來學習3D點的相關特征集。因此用形成卷積投影的深度方向卷積層替換關注塊中的原始全連接層,以獲得注意矩陣,如圖3所示。

圖3 點積注意力和點間注意力的Transformer塊

Sinkhorn(C)=argminK1n
=K
(4)
卷積運算是一種深度可分離的卷積運算,其元組為內核大小和步長。現在,將通過整個DRPT模塊的數據流形式化為批量大小B的,可得點積注意力塊輸出如式:
(5)

(6)

點云分類、零件分割和語義場景分割三個不同的數據集上對模型進行了評估。對于分類,使用基準ModelNet40數據集,對于對象部分分割,使用ShapeNet部分數據集。SemanticKITTI數據集進行語義場景分割。使用基于余弦退火的學習率調度器,不使用批量標準化衰減。在初始實驗之后,定制的學習率計劃被用于分段任務。ModelNet40數據集包含3D CAD模型的網格。共有311個模型可用于40個類別,分成468個訓練測試集。使用所有的實驗和數據集提供的官方分割,以保持公平的比較。在數據預處理方面,遵循與相同的步驟。從網格表面均勻采樣1024個點,并重新調整點云以適應單位球,在訓練過程中使用數據擴充。在增強過程中,用隨機抖動和縮放來擾動這些點最終的檢測結果如表1。其中將Class Accuracy,Instance Accuracy作為兩項評價指標進行模型對比,將DRPT與其他先進算法進行對比。

表1 ModelNet40精度對比
從表1中可以看出,DRPT優于現有的分類方法,甚至略好于PointTransformer。當模型中采用圖形計算方法時,與處理靜態圖形以及動態圖形的其他方法進行比較,以進行點云分類。在這里,即使沒有在每一層重新計算圖形,DRPT也優于動態邊緣條件濾波器(ECC),并且與DGCNN性能相當。每層之前的動態圖形計算有助于DRPT超越現有的基于圖形和非圖形的方法的準確性其中包括略微超過現有的基于Transformer的方法。
ShapeNetPart數據集包含來自16個對象類別,881個3D形狀。總共有50個對象部分可用于分割。僅選取部分在數據集上的結果總結在表2中。

表2 ShapeNet Part分割對比
表2顯示了按類別劃分的結果,所使用的評估度量是部分精度和平均交集/并集,并針對整體和每個對象類別給出。結果表明,本文的DRPT比PointNet++和PCT分別提高1.9 %和0.6 %。DRPT以87.0 %的mIoU取得了最好的結果。在測試過程中,使用了多尺度測試策略,對于所有三個模型,批量大小,訓練時期和學習率被設置為與正常估計任務的訓練相同,最終通過對模型在ShapeNet數據集的可視化如圖4所示。

圖4 ShapeNet上的DRPT分割結果
實驗在完整形狀和部分掃描上訓練模型。結果顯示,DRPT能夠有最高87.0的mIoU。在圖4中,給出了完整和部分數據的定性結果。可以看到,盡管部分數據區分復雜,但模型展示出的的預測是合理的。
SemanticKITTI基于KITTI Vision Benchmark,為所有序列提供語義注釋,涵蓋了所用汽車LiDAR完整的360度視野。數據集包含28個類,包括區分非移動和移動對象。類別涵蓋所有交通參與者,也包括地面功能類別,如停車場、人行道。用不同的類別注釋了移動和非移動的交通參與者,包括汽車、卡車、摩托車、行人和騎自行車的人如圖5所示,這可以推理場景中的動態對象。

圖5 SemanticKITTI分割圖
由圖5可以看出DRPT模型在道路場景中對于道路、車輛、植物等檢測效果明顯,能夠有效將這些物體在點云圖中進行有效分割。另外,從圖5中DRPT算法處理后的深度圖與原始深度圖的對比能夠看出,DRPT算法能進行高精度的分割,并且從點云圖的效果能夠看出在點云分割中對于道路以及道路周圍環境和參與者的分割具有良好的效果,在分割完成后能夠使得檢測目標更為簡單。按照官方提出的采用pIoU(Point Intersection over Union)作為評價指標進行實驗。pIoU是點云語義分割任務中常用的評價指標,含義是所有真實標簽和預測標簽的交集與并集的比值,包括完全匹配和部分匹配的樣本,其值越高代表模型處理點云能力越強。實驗通過與基于雷達數據的基準網絡PointNet,Voxel RCNN,VoxelNet,PointNet++,PointTransformer等經典網絡進行對比,使用數據集對比結果如表3所示。

表3 Semantickitti精度對比
從表3中可以看出,DRPT的pIoU值為85.9 %,明顯優于現有的分類方法,甚至略好于PointTransformer。DRPT加強了網絡對于全局特征的提取,提高了模型對于整體檢測精度,但對于小目標類的檢測能力并未有明顯提升。當模型中采用圖形計算方法時,與處理靜態圖形以及動態圖形的其他方法進行比較,以進行點云分類,并在距離檢測方面展示優越性。
本文提出了DRPT,一種使用Transformers處理3D點云的方法。DRPT通過在每個中間網絡層進行動態圖形計算來優化點云處理。它使用點嵌入并將其轉換為轉換器友好的數據表示,然后使用雙隨機點間注意模塊來促進點之間的串擾。DRPT優于現有的卷積方法,并在各種基準任務上與現有的基于Transformer的方法相比具有更好的性能。未來研究方向是學習沿著三維點云的流形均勻采樣點以提高模型準確性。雖然DRPT可以作為點云處理任務的有效骨干,并擴展到各種應用,但是由于Transformer框架的計算量較大,處理速度較慢,需要進一步提高處理速度。