純LiDAR 3D檢測路在何方?時序遞歸TimePillars:直接干到200m!
本文經自動駕駛之心公眾號授權轉載,轉載請聯系出處。
基于LiDAR點云點3D Object Detection一哥是一個很經典的問題,學術界和工業界都提出了各種各樣的模型來提高精度、速度和魯棒性。但因為室外的復雜環境,所以室外點云的Object Detection的性能都還不是太好。而激光雷達點云本質上比較稀疏,如何針對性得解決這一問題呢?論文給出了自己的答案:依照時序信息的聚合來完成信息的提取。
寫在前面
這篇論文主要討論了自動駕駛中的一個關鍵挑戰:如何準確地創建周圍環境的三維表示。這對于自動駕駛汽車的可靠性和安全性至關重要。特別是,自動駕駛車輛需要能夠識別其周圍的物體,如車輛和行人,并準確確定它們的位置、大小和方向。通常情況下,人們會使用深度神經網絡處理激光雷達(LiDAR)數據來執行此任務。
大部分現有文獻集中在單幀方法上,即一次使用一個傳感器掃描的數據。這種方法在經典基準測試中表現良好,這些測試的物體距離可達75米。然而,激光雷達點云本質上是稀疏的,特別是在遠距離范圍內。因此,論文聲稱僅使用單個掃描進行長距離檢測(例如,達到200米)是不夠的。
為了解決這個問題,一種方法是使用點云聚合,即將一系列激光雷達掃描數據連續起來,從而獲得更密集的輸入。然而,這種方式在計算上代價高昂,并且無法充分利用在網絡內部進行聚合所帶來的優勢。一個明顯的替代方案是使用遞歸方法,這些方法可以隨時間積累信息。
文章還提到,增加檢測范圍的其他技術包括使用先進的操作,如稀疏卷積、注意力模塊和3D卷積。但是,這些方法通常忽略了目標硬件的兼容性問題。部署和訓練神經網絡所用的硬件往往在支持的操作和延遲方面有顯著差異。例如,稀疏卷積或注意力這樣的操作通常不被現有的目標硬件支持,比如Nvidia Orin DLA。此外,3D卷積等層由于實時延遲要求往往不可行。這就強調了使用簡單操作,如2D卷積的必要性。
論文中提出了一個新型的時序遞歸模型,TimePillars,該模型尊重常見目標硬件上支持的操作集,依賴于2D卷積,基于點柱(Pillar)輸入表示和一個卷積遞歸單元。通過單個卷積和輔助學習的幫助,對遞歸單元的隱藏狀態應用了自車Motion Compensation。通過消融研究表明,使用輔助任務來確保這種操作的正確性是恰當的。論文還研究了遞歸模塊在管道中的最佳位置,并清楚地表明,將其放置在網絡的骨干和檢測頭之間可以獲得最佳性能。在新發布的Zenseact開放數據集(ZOD)上,論文展示了TimePillars方法的有效性。與單幀和多幀點柱基線相比,TimePillars取得了顯著的評估性能提升,特別是在重要的自行車手和行人類別中,在遠距離(長達200米)的檢測上表現尤為突出。最后,TimePillars的延遲顯著低于多幀點柱,使其適合實時系統。
這篇論文的主要貢獻包括提出了一個新的時序遞歸模型TimePillars,用于解決3D激光雷達物體檢測任務,同時尊重常見目標硬件支持的操作集;展示了TimePillars在長距離檢測上相比單幀和多幀點柱基線取得了顯著更好的性能;并且首次在新的Zenseact開放數據集上對3D激光雷達物體檢測模型進行了基準測試。不過,該論文的限制在于,它僅關注激光雷達數據,沒有考慮其他傳感器輸入,并且其方法基于單一的最新基線。盡管如此,作者認為他們的框架是通用的,即未來對基線的改進將轉化為整體性能的提升。
詳解TimePillars
Input preprocessing
在這篇論文的“輸入預處理”部分,作者采用了“柱化”(Pillarisation)技術來處理輸入的點云數據。這種方法不同于常規的體素化,它將點云分割成垂直的柱狀結構,僅在水平方向(x和y軸)上分割,而在垂直方向(z軸)上保持固定高度。這樣做可以保持網絡輸入尺寸的一致性,并允許使用2D卷積進行有效處理。
然而,Pillarisation處理的一個問題是產生了許多空的柱子,導致數據非常稀疏。為解決這個問題,論文中提出了使用動態體素化技術。這種技術避免了為每個柱子設置預定義點數的需求,從而不需要對每個柱子進行截斷或填充操作。相反,整個點云數據被整體處理,以匹配到所需的總點數,這里設置為20萬個點。這種預處理方法的好處是,它最大程度地減少了信息的損失,并且使得生成的數據表示更加穩定和一致。
Model architecture
然后對于Model architecture,作者詳細介紹了一個由柱特征編碼器(Pillar Feature Encoder)、2D卷積神經網絡(CNN)骨干和檢測頭組成的神經網絡架構。
- Pillar Feature Encoder:這個部分將預處理后的輸入張量映射成鳥瞰視圖(BEV)偽圖像。使用動態體素化后,簡化的PointNet進行了相應的調整。輸入經過1D卷積,批量歸一化和ReLU激活函數處理,得到一個形狀為 的張量,其中 代表通道數。在最終的散射最大化(scatter max)層之前,對通道應用最大池化,形成形狀為 的潛在空間。由于初始張量被編碼為 ,在前面的層之后變成 ,因此去掉了最大池化操作。
- Backbone:采用原始柱狀論文中提出的2D CNN骨干架構,由于其深度效率比較優越。使用三個下采樣塊(Conv2D-BN-ReLU)縮小潛在空間,并使用三個上采樣塊和轉置卷積將其恢復,輸出形狀為 。
- Memory Unit:將系統的記憶建模為一個遞歸神經網絡(RNN),具體采用卷積GRU(convGRU),這是Gated Recurrent Unit的卷積版本。卷積GRU的優勢在于避免了梯度消失問題,并且在保持空間數據特性的同時提高了效率。與其他選擇,如LSTM相比,GRU由于門的數量更少,因此具有更少的可訓練參數,可以視為一種記憶正則化技術(降低隱藏狀態的復雜性)。通過合并類似性質的操作,減少了所需卷積層的數量,從而使單元更高效。
- Detection Head:對SSD(Single Shot MultiBox Detector)進行了簡單的修改。保留了SSD的核心理念,即單次通過且無需區域提議,但取消了錨盒(anchor boxes)的使用。直接為網格中的每個單元格輸出預測,雖然失去了單元格多對象檢測能力,但避免了繁瑣且常常不精確的錨盒參數調整,并簡化了推理過程。線性層處理分類和定位(位置、大小和角度)回歸的各自輸出。只有大小使用激活函數(ReLU),以防止取負值。此外,不同于相關文獻,論文通過獨立預測車輛行駛方向的正弦和余弦分量,并從中提取角度,避免了直接角度回歸的問題。
Feature Ego-Motion Compensation
在論文這一部分,作者討論了如何處理由卷積GRU輸出的隱藏狀態特征,這些特征是以前一幀的坐標系表示的。如果直接存儲并用于計算下一個預測,由于自我運動(ego-motion)會發生空間不匹配。
為了進行轉換,可以應用不同的技術。理想情況下,已經校正的數據將被輸入網絡,而不是在網絡內部進行轉換。然而,這不是論文提出的方法,因為它需要在推理過程中的每一步重置隱藏狀態,轉換之前的點云,并將它們傳播到整個網絡。這不僅效率低下,而且違背了使用RNN的目的。因此,在循環上下文中,補償需要在特征級別進行。這使得假設的解決方案更高效,但也使問題變得更復雜。傳統的插值方法可以用來獲取變換坐標系中的特征。
與此相反,論文中受到Chen等人工作的啟發,提出使用卷積操作和輔助任務來執行變換。考慮到前述工作的細節有限,論文提出了針對該問題的定制解決方案。
論文采取的方法是通過一個額外的卷積層,為網絡提供執行特征轉換所需的信息。首先計算兩個連續幀之間的相對變換矩陣,即成功變換特征所需執行的操作。然后,從中提取2D信息(旋轉和平移部分):
這種簡化避免了主要矩陣常數,并在2D(偽圖像)域中工作,將16個值簡化為6個。然后將矩陣展平,并擴展以匹配要補償的隱藏特征的形狀 。第一個維度表示需要轉換的幀數。這種表示使其適合于在隱藏特征的通道維度中串聯每個潛在柱子。
最后,隱藏狀態特征被輸入到一個2D卷積層中,該層適合變換過程。需要注意的一個關鍵方面是:卷積的執行并不保證變換的進行。通道串聯只是為網絡提供了關于如何可能執行變換的額外信息。在這種情況下,使用輔助學習是合適的。在訓練過程中,添加了一個額外的學習目標(坐標變換)與主要目標(物體檢測)并行。設計一個輔助任務,其目的是在監督下引導網絡通過變換過程,以確保補償的正確性輔助任務僅限于訓練過程。一旦網絡學會了正確地變換特征,它就失去了適用性。因此,在推理時不考慮該任務。下一節中將進一步實驗,對比其影響。
實驗
實驗結果表明,TimePillars模型在處理Zenseact Open Dataset(ZOD)幀數據集時表現出色,特別是在處理長達120米的范圍時。這些結果凸顯了TimePillars在不同運動轉換方法下的性能差異,并與其他方法進行了比較。
在對比基準模型PointPillars和多幀(MF)PointPillars后,可以看出TimePillars在多個關鍵性能指標上取得了顯著提升。尤其是在NuScenes Detection Score(NDS)上,TimePillars展示了更高的綜合評分,反映了其在檢測性能和定位精度方面的優勢。此外,TimePillars在平均轉換誤差(mATE)、平均尺度誤差(mASE)和平均方向誤差(mAOE)上也取得了更低的數值,表明其在定位準確性和方向估計上更為精準。特別值得注意的是,TimePillars在運動轉換方面的不同實現方法對性能有顯著影響。當采用卷積基的運動轉換(Conv-based)時,TimePillars在NDS、mATE、mASE和mAOE上的表現尤為突出,證明了這種方法在Motion Compensation和提高檢測精度方面的有效性。相比之下,使用插值方法的TimePillars雖然也優于基準模型,但在某些指標上不如卷積方法。平均精度(mAP)的結果顯示,TimePillars在車輛、騎行者和行人類別的檢測上均表現良好,特別是在處理騎行者和行人這些更為挑戰性的類別時,其性能提升更為顯著。從處理頻率(f (Hz))的角度來看,TimePillars雖然不如單幀PointPillars那樣快,但與多幀PointPillars相比,其處理速度更快,同時保持了較高的檢測性能。這表明TimePillars在保持實時處理的同時,能夠有效地進行長距離檢測和Motion Compensation。也就是說TimePillars模型在長距離檢測、Motion Compensation以及處理速度方面展現出顯著優勢,尤其是在處理多幀數據和采用卷積基運動轉換技術時。這些結果強調了TimePillars在自動駕駛車輛的3D激光雷達物體檢測領域的應用潛力。
上述實驗結果表明,TimePillars模型在不同距離范圍內的物體檢測性能上表現卓越,尤其是與基準模型PointPillars相比。這些結果分為三個主要的檢測范圍:0至50米、50至100米和100米以上。
首先,NuScenes Detection Score(NDS)和平均精度(mAP)為整體性能指標。TimePillars在這兩項指標上均優于PointPillars,顯示出整體上更高的檢測能力和定位精度。具體來說,TimePillars的NDS為0.723,遠高于PointPillars的0.657;而在mAP方面,TimePillars也以0.570顯著超越了PointPillars的0.475。
在不同距離范圍內的性能對比中,可以看到TimePillars在各個范圍內均有更好的表現。對于車輛類別,TimePillars在0至50米、50至100米和100米以上的范圍內的檢測精度分別為0.884、0.776和0.591,均高于PointPillars在相同范圍內的性能。這表明TimePillars在車輛檢測方面,無論是近距離還是遠距離,都具有更高的準確性。在處理易受傷害的交通工具(如摩托車、輪椅、電動滑板車等)時,TimePillars同樣展現了更好的檢測性能。特別是在100米以上的范圍內,TimePillars的檢測精度為0.178,而PointPillars僅為0.036,顯示出在遠距離檢測方面的顯著優勢。對于行人檢測,TimePillars也呈現出更好的性能,尤其是在50至100米的范圍內,其檢測精度達到了0.350,而PointPillars僅為0.211。即便在更遠的距離(100米以上),TimePillars仍能實現一定程度的檢測(0.032的精度),而PointPillars在這一范圍內的表現為零。
這些實驗結果強調了TimePillars在處理不同距離范圍內的物體檢測任務上的優越性能。無論是在近距離還是在更具挑戰性的遠距離范圍內,TimePillars均能提供更準確和可靠的檢測結果,這對于自動駕駛車輛的安全和效率至關重要。
討論
首先,TimePillars模型的主要優點在于其對長距離物體檢測的有效性。通過采用動態體素化和卷積GRU結構,模型能夠更好地處理稀疏的激光雷達數據,尤其是在遠距離物體檢測方面。這對于自動駕駛車輛在復雜和變化的道路環境中的安全運行至關重要。此外,模型在處理速度上也顯示出了較好的性能,這對于實時應用是必不可少的。另一方面,TimePillars在Motion Compensation方面采用了基于卷積的方法,這是對傳統方法的一大改進。這種方法在訓練過程中通過輔助任務確保了轉換的正確性,提高了模型在處理運動對象時的精確度。
然而,論文的研究也存在一些局限。首先,雖然TimePillars在處理遠距離物體檢測方面表現出色,但這種性能的提升可能以犧牲一定的處理速度為代價。雖然模型的速度仍適用于實時應用,但與單幀方法相比,仍有所下降。此外,論文主要關注于LiDAR數據,沒有考慮其他傳感器輸入,如相機或雷達,這可能限制了模型在更復雜多傳感器環境中的應用。
也就是說TimePillars在自動駕駛車輛的3D激光雷達物體檢測方面展現出了顯著的優勢,特別是在長距離檢測和Motion Compensation方面。盡管存在處理速度的輕微折衷和對多傳感器數據處理的局限性,TimePillars仍然代表了在這一領域中的一個重要進步。
結論
這項工作表明,考慮過去的傳感器數據比僅利用當前的信息更為優越。訪問先前的駕駛環境信息,可以應對激光雷達點云的稀疏性質,并導致更準確的預測。我們證明了遞歸網絡作為實現后者的手段是合適的。與通過大量處理創建更密集數據表示的點云聚合方法相比,賦予系統記憶力帶來了更加穩健的解決方案。我們提出的方法TimePillars,實現了解決遞歸問題的一種方式。僅通過在推理過程中增加三個額外的卷積層,我們證明了基本的網絡構建模塊足以取得顯著成果,并保證了現有的效率和硬件集成規范得以滿足。據我們所知,這項工作為新引入的Zenseact開放數據集上的3D物體檢測任務提供了首個基準結果。我們希望我們的工作能為未來更安全、更可持續的道路做出貢獻。
原文鏈接:https://mp.weixin.qq.com/s/FFTjac98-sddaavsHY4Y0Q