3D目標檢測(CVPR2020:Lidar)
LiDAR-Based Online 3D Video Object Detection With Graph-Based Message Passing and Spatiotemporal Transformer Attention
論文地址:
源碼地址:https://github.com/yinjunbo/3DVID
摘要
現有的基於LiDAR的三維目標檢測大多集中在單幀檢測上,而忽略了連續點雲幀的時空信息。本文提出了一種基於點雲序列的端到端在線三維視頻目標檢測方法。該模型包括空間特征編碼組件和時空特征聚合組件。在前一部分中,提出了一種新的支柱消息傳遞網絡(PMPNet)對每個離散點雲幀進行編碼。該方法通過迭代消息傳遞,自適應地從相鄰節點中收集柱節點的信息,有效地擴大了柱特征的接收范圍。在后一部分中,提出了一個注意的時空變換器GRU(AST-GRU)來聚合時空信息,這增強了傳統的ConvGRU的注意記憶選通機制。AST-GRU包含一個空間變換器注意(STA)模塊和一個時間變換器注意(TTA)模塊,分別強調前景對象和對齊動態對象。實驗結果表明,所提出的三維視頻目標檢測器在大規模nuScenes基准上達到了最先進的性能。
一.基本理論與創新點
基於激光雷達的三維目標檢測在自主駕駛、機器人導航和虛擬/增強現實等廣泛應用中發揮着重要作用[11,46]。目前大多數3D目標檢測方法(42、58、6、62、24)都遵循單幀檢測模式,而在點雲視頻中進行檢測的很少。點雲視頻被定義為點雲幀的時間序列。例如,在nuScenes數據集[4]中,使用現代32束激光雷達傳感器每秒可以捕獲20個點雲幀。由於點雲的稀疏性,單幀檢測可能會受到一些限制。特別是,遮擋、長距離和非均勻采樣不可避免地發生在某一幀上,其中單幀目標檢測器無法處理這些情況,從而導致性能惡化,如圖1所示。然而,點雲視頻包含了豐富的前景對象時空信息,可以對其進行探索以提高檢測性能。構建三維視頻目標檢測器的主要問題是如何對連續點雲幀的時空特征表示進行建模。本文提出將基於圖形的空間特征編碼組件與注意感知的時空特征聚合組件相結合,實現連續點雲幀的視頻相干捕獲,從而為基於激光雷達的三維視頻目標檢測提供端到端的在線解決方案。
流行的單幀三維目標檢測器往往首先將點雲離散為體素或柱狀網格[62、56、24],然后使用卷積神經網絡(CNN)堆棧提取點雲特征。這種方法結合了現有二維或三維cnn的成功,通常比基於點的方法獲得更好的計算效率[42,37]。因此,在空間特征編碼組件中,也遵循這個范例為每個輸入幀提取特征。然而,這些方法的一個潛在問題在於,只關注局部聚集的特征,即使用點網[39]為單獨的體素或柱體提取特征,如[62]和[24]。為了進一步擴大接受域,必須重復應用跨步或池操作,這將導致空間信息的丟失。為了解決這一問題,提出了一種新的基於圖的網絡,稱為支柱消息傳遞網絡(PMPNet),將非空支柱視為圖節點,並通過聚合來自其鄰居的消息來自適應地擴大節點的接收域。PMPNet通過對k-NN圖的迭代推理,可以挖掘離散點雲框架中不同柱網之間豐富的幾何關系。這有效地鼓勵了一個框架內不同空間區域之間的信息交換。
在獲得每個輸入幀的空間特征后,將這些特征集合到時空特征聚合組件中。由於ConvGRU[1]在2D視頻理解領域顯示出了很好的性能,建議使用一個專注的時空轉換器GRU(AST-GRU),通過使用專注的內存選通機制捕獲連續點雲幀的依賴關系,將ConvGRU擴展到3D領域。具體來說,在考慮基於激光雷達的自動駕駛場景中的三維視頻目標檢測時,存在兩個潛在的限制。首先,在鳥瞰圖中,大多數前景對象(如汽車和行人)占據較小的區域,背景噪聲不可避免地以一個循環單元計算新的內存。因此,建議利用空間變換注意(STA)模塊(一個源自[48,53]的內部注意)來抑制背景噪聲,並通過用上下文信息對每個像素進行關注來強調前景對象。其次,當更新遞歸單元中的存儲器時,兩個輸入(即舊存儲器和新輸入)的空間特征沒有很好地對齊。特別是,盡管可以使用ego姿勢信息精確地將靜態對象跨幀對齊,但動態對象的大運動卻沒有對齊,這將影響新內存的質量。為了解決這一問題,提出了一個時間變換注意(TTA)模塊,該模塊利用時間交互注意機制自適應地捕獲連續幀中的對象運動。這將更好地利用修改后的可變形卷積層[65,64]。與vanilla ConvGRU相比,AST-GRU能夠更好地處理時空特征,產生更可靠的新內存。
綜上所述,提出了一種新的基於激光雷達的在線三維視頻目標檢測器,利用了以往的長期信息來提高檢測性能。在模型中,引入了一種新的PMPNet,通過基於迭代圖的消息傳遞,自適應地擴大離散點clod幀中支柱節點的接收場。然后將輸出的序列特征聚合到AST-GRU中,利用注意記憶選通機制挖掘點雲視頻的豐富一致性。大量的評估表明,3D視頻目標檢測器在大規模nuScenes基准上相對於單幀檢測器取得了更好的性能。

二.相關研究
基於激光雷達的三維目標檢測
現有的三維目標檢測方法大致可分為三類:基於激光雷達的方法[42、58、62、24、61、56]、基於圖像的方法[22、54、26、34、25]和基於多傳感器融合的方法[5、29、30、21、38]。在這里,主要關注基於激光雷達的方法,因為對不同的光照和天氣條件不太敏感。其中,一個類別[62、57、24]通常將點雲離散為規則網格(例如體素或柱),然后利用2D或3D cnn進行特征提取。另一個類別[42,58,6]使用點網絡++[39]這樣的點特征抽取器直接從原始點雲學習三維表示。在具有大規模點雲的場景中直接應用基於點的檢測器通常是不切實際的,因為往往對每個點執行特征提取。例如,nuScenes數據集[4]中的一個關鍵幀包含300000個點雲,這些點雲在0.5秒內被10個非關鍵幀激光雷達掃描加密。使用這樣的比例在點雲上操作將導致非平凡的計算成本和內存需求。相比之下,基於體素的方法可以解決這種困難,因為對點數不太敏感。Zhou等人[62]首先將端到端CNN應用於基於體素的3D對象檢測。提出用一個體素特征編碼(VFE)層來描述每個體素,並利用級聯的3D和2dcnn來提取深層特征。然后利用區域建議網絡(RPN)得到最終的檢測結果。之后,朗等人[24]進一步擴展[62],將點雲投影到鳥瞰圖上,並用柱特征網絡(PFN)對每個離散化網格(命名柱)進行編碼。
VFE層和PFN在生成網格級表示時都只考慮單獨的體素或柱體,忽略了較大空間區域的信息交換。相反,PMPNet通過基於圖的消息傳遞從全局的角度對支柱特征進行編碼,從而促進了具有非局部屬性的表示。此外,這些單幀三維目標檢測器只能逐幀處理點雲數據,缺乏對時間信息的挖掘。盡管[33]在點雲序列上應用了時態3D ConvNet,但在對時態域的特征進行降采樣時遇到了特征折疊問題。而且,不能處理具有多幀標簽的長期序列。AST-GRU采用一種專注的存儲選通機制來捕捉長期的時間信息,這可以充分挖掘點雲視頻中的時空一致性。

圖形神經網絡
圖神經網絡(GNN)是由Gori等人首次提出的。[13] 為圖結構數據的內在關系建模。然后斯卡塞利等人[41]擴展到不同類型的圖。然后,根據不同的消息傳播策略,從兩個方向對GNNs進行了探討。第一組[28、19、60、36、40]使用選通機制使信息能夠在圖形中傳播。例如,Li等人[28]利用遞歸神經網絡來描述每個圖節點的狀態。然后,Gilmer等人[12] 推廣了一種將圖形推理描述為參數化消息傳遞網絡的框架。另一組[3,15,9,17,27]將卷積網絡集成到圖域中,稱為圖卷積神經網絡(GCNNs),通過圖卷積層的堆棧更新節點特征。由於圖形的強大表達能力,GNNs在許多領域都取得了很好的結果[9,10,51,2,52]。PMPNet屬於第一組,使用門控消息傳遞策略捕獲支柱特征,用於構建每個點雲框架的空間表示。
三.網絡結構
PMPNet
PMPNet是一個端到端的可微模型,通過用神經網絡參數化所有函數來實現。
主干模塊
如文獻[62]所述,利用2D骨干網進一步提取由三個完全卷積層組成的RW×H×L的特征。每個塊被定義為一個元組(S,Z,C)。所有塊都有Z×Z卷積核,輸出通道數為C。每個塊的第一層以步長S操作,而其層以步長1操作。每個塊的輸出特征通過上采樣層調整到相同的分辨率,然后連接在一起以合並來自不同特征級別的語義信息。
AST-GRU模塊
在STA模塊中,公式11和公式13中的所有線性函數都是1×1卷積層。在TTA模塊中,規則卷積層、可變形卷積層和ConvGRU都有3×3大小的可學習核。
四.實驗測試
在表1中給出了算法和其最新方法在nuScenes基准上的性能比較。PointPillars[24]、SARPNET[59]、WYSIWYG[18]和Tolist[35]都是基於體素的單幀3D對象檢測器。特別是,PointPillars被用作模型的基線。WYSIWYG是最近的一種算法,使用體素化的可見性貼圖擴展了點柱。
三維視頻目標檢測器在很大程度上優於這些方法。特別是,將Ficial PointPillars算法改進了15%。請注意,nuScenes數據集中存在嚴重的類不平衡問題。文[63]中的方法設計了一種類數據擴充算法。進一步結合這些技術可以提高模型的性能。但是,着重於研究點雲視頻的時空一致性,而處理類不平衡問題並不是本文的目的。此外,在圖5中進一步展示了一些定性結果。除了圖1中的遮擋情況外,還提出了另一種檢測距離較遠的車(右上角的車)的情況,其點雲特別稀疏,這對單幀檢測器來說是非常具有挑戰性的。再次,3D視頻目標檢測器利用注意力集中的時間信息有效地檢測出遠處的汽車。

在這一部分中,將研究算法中每個模塊的有效性。由於nuScenes中的訓練樣本是KITTI中的7倍(28130對3712),因此在整個數據集上訓練多個模型是非常重要的。因此,使用一個mini訓練組進行驗證。包含約3500個從原始訓練組均勻取樣的樣本。此外,在模型中,PointPillars[24]被用作基線檢測器。首先,在空間特征編碼組件中評估PMPNet,用PMPNet替換PointPillars中的PFN。如表2所示,將基線提高了2.05%。其次,通過將時空特征聚合組件(ConvGRU、STA-GRU和TTA-GRU)中的各個模塊添加到點柱中,驗證了的能力。
可以看到,所有這些模塊都比單幀檢測器取得了更好的性能。此外,還將AST-GRU與其視頻目標檢測器進行了比較。由於nuScenes中的每個關鍵幀都包含由前10個非關鍵幀掃描合並的點雲,因此在合並的關鍵幀上訓練的點柱基線可以被視為最簡單的視頻對象檢測器。AST-GRU提高了5.98%。然后,通過實現文[33]中的后期特征融合模塊,將ASTGRU與基於時態3D ConvNet的方法進行了比較。臨時3D ConvNet在訓練過程中只能訪問一個關鍵幀標簽(0.5s),聚集更多的標簽反而會降低性能。從表2可以看出,基於3D ConvNetbased的方法比PointPillars基線高出1.82%。
相比之下,AST-GRU進一步優於4.16%,這說明了長期時間信息的重要性。最后,采用PMPNet的全模型取得了最佳的性能。最后,分析了輸入序列長度的影響。由於每個關鍵幀都包含大量會增加內存需求的點雲,因此在進行此實驗時不使用非關鍵幀掃描中的點雲。不同輸入長度的實驗結果如表3所示。實驗結果表明,利用已有的長期時間信息(2.5s)可以獲得更好的三維目標檢測性能。
