FLOPs優化神器!用於高效3D目標檢測的空間剪枝稀疏卷積(SPS-Conv)

深藍學院是專註於人工智慧的在線教育平台,已有數萬名夥伴在深藍學院平台學習,很多都來自於中國外知名院校,比如清華、北大等。

ONE

引言

稀疏卷積神經網路由於其有效性和簡單性已經成為解決3D目標檢測問題的主要研究方向之一,然而精度的提高通常伴隨著計算成本的增加,這限制了其在實際系統中的適用性。

如何在不犧牲準確性的情況下提高效率就顯得尤為關鍵。本文將介紹一種新的卷積運算元,名為空間剪枝稀疏卷積(SPS-Conv),由香港大學、香港中文大學、百度聯合開發。

SPS-Conv可以很容易得整合到現有的稀疏3D CNN中,而無需額外的架構修改。實驗表明,SPS-Conv可以在不影響性能的情況下將GFLOPs減少50%以上。

TWO
摘要

3D場景由大量背景點支配,這對於主要需要關注前景對象的檢測任務來說是多餘的。

在本文中,我們分析了現有稀疏三維神經網路的主要組成部分,發現三維神經網路忽略了數據的冗餘,並在下取樣過程中進一步放大了數據,這帶來了大量額外的和不必要的計算開銷。

受此啟發,我們提出了一種新的卷積運算元,稱為空間剪枝稀疏卷積(SPS-Conv),它包括兩種變體,空間剪枝子流形稀疏卷積(SPSS-Conv)和空間剪枝正則稀疏卷積(SPRS-Conv),這兩種都是基於動態確定關鍵區域以減少冗餘的思想。我們驗證了大小可以作為確定關鍵區域的重要線索,從而消除基於學習的方法的額外計算。

所提出的模組可以容易地結合到現有的稀疏3D CNNs中,而無需額外的架構修改。在KITTI、Waymo和nuScenes數據集上的大量實驗表明,我們的方法可以在不犧牲性能的情況下實現GFLOPs降低50%以上。

THREE
演算法分析

3.1 背景和動機

當深入研究3D檢測的任務時,可以發現3D數據本身具有高冗餘度。如圖1所示,與稀疏CNN的每個階段中的背景點相比,前景點在整個場景中的比例非常低(大約5%),這表明資訊量較少的背景點佔據了場景的主要區域。

然而,現有的3D稀疏CNN均勻地應用於整個場景,導致對背景區域的大量計算,這可能是冗餘的。直觀地說,如果可以識別並有選擇地跳過這些區域,計算成本就有可能顯著降低,而不會降低性能。

除了數據的冗餘,模型設計本身也帶來了冗餘。3D稀疏CNN的下取樣操作將計算相鄰空體素的特徵,在卷積(步距>1)下取樣之後,非空體素的數量可能增加而不是減少。這無疑會增加後續階段不必要的計算成本。

圖片

圖1 前景點和背景點對比

如圖2所示,稀疏卷積有兩種類型,即正則稀疏卷積和子流形稀疏卷積,它們的主要區別在於卷積的輸出位置。正則稀疏卷積可以像2D卷積一樣有效地擴大感受野,這對於3D稀疏數據是有利的。

然而由於產生了太多的活動位置,它也帶來了計算負擔,這可能導致在後續的卷積層速度下降。為了在效率和感受野之間取得更好的折中,稀疏卷積神經網路中的下取樣層往往採用正則稀疏卷積。

相比之下,子流形稀疏卷積限制一個輸出位置是活躍的當且僅當對應的輸入位置是活躍的,這避免了常規稀疏卷積中的膨脹,但這種情況下的感受野是有限的。

圖片

圖2 稀疏卷積的示意圖。

( a )子流形稀疏卷積( b ) 正則稀疏卷積。

3.2 SPSS-Conv空間剪枝子流形稀疏卷積

針對上述問題和兩種稀疏卷積結構,作者提出了一種新的有效的稀疏卷積運算元,命名為空間剪枝稀疏卷積(SPS-Conv)。

為了有效地降低由三維空間冗餘引起的不必要的計算成本,作者還研究了SPS-Conv的兩種變體,即空間剪枝子流形稀疏卷積(SPSS-Conv)和空間剪枝正則稀疏卷積(SPRS-Conv),它們都基於相同的思想,即冗餘應該根據不同個體的特定上下文在三維空間中動態地改善。

具體來說,考慮到背景區域通常在3D場景中佔大多數的事實,直接在輸入體積的任何地方執行子流形卷積不可避免地涉及大量不必要的計算,導致計算冗餘。

因此,著眼於緩解這個問題,作者提出了空間修剪子流形稀疏卷積(SPSS-Conv)來動態檢查感興趣的區域,其結構如圖3所示。

圖片

圖3 幅度引導的空間取樣和空間剪枝子流形稀疏卷積(SPSS-Conv)的圖示。值得注意的是,在SPSS-Conv過程中,「Important」是指只在高量值的位置進行卷積,卷積的鄰域仍然包含不重要的特徵。

3.3 SPRS-Conv空間剪枝正則稀疏卷積

正則稀疏卷積的「膨脹」效應不可避免地導致大量相鄰位置被激活,這給後續層帶來了更大的計算負擔。

而因為稀疏卷積中的空間動態稀疏性對於複雜的3D目標檢測至關重要,因此SPRS-Conv被設計為基於幅度的動態預測降取樣模組,可以有效抑制空間冗餘的放大效應。SPRS-Conv的具體結構如圖4所示。

圖片

圖4 空間剪枝正則稀疏卷積(SPRS-Conv)的圖示。SPRS-Conv的輸入由幅度引導的空間取樣產生。該圖示出了步長為2的情況。

SPSS和SPRS可以很容易地插入到任何現有的稀疏CNN,為了證明其有效性和推廣能力,作者分別用SPRS-Conv和SPSS-Conv替換稀疏CNN中除主幹層以外的所有正則稀疏卷積和子流形稀疏卷積,如圖5所示是具體的網路架構。

圖片

圖5 框架概述。使用SPSS塊和SPRS塊代替所有的子流形塊和正則塊。

FOUR
實驗

4.1 實驗環境

作者在三個具有挑戰性的基準上評估SPS-Conv,包括Waymo、nuScene以及KITTI數據集。

同時作者選用了大量的baseline進行SPS-Conv優化,在KITTI數據集包括VoxelR-CNN,PV-RCNN以及Second,對於nuScenes和Waymo數據集為CenterPoint。

分別用SPSS-Conv和SPRS-Conv代替稀疏CNN中的子流形卷積和正則卷積,其他實驗超參數遵循基準線方法的默認設置。在模型訓練上採用直接端到端的方式進行。

4.2 主要結果

nuScenes:如表1和表2所示是不同方法的定量對比結果。表1顯示帶有SPS-Conv的演算法在mAP和NDS的nuScenes測試集上取得了有競爭力的性能。

同時表2顯示SPS-Conv可以幫助基礎模型保留原始性能,同時跳過冗餘計算,具體來說,SP-CenterPoint的GFLOPs僅為基本模型的54.5%。

表1 在nuScenes數據集上與其他方法的比較。CenterPoint*表示CenterPoint的重複實驗結果。

圖片

表2 在nuScenes數據集上與基本方法的比較。GFLOPs僅包括稀疏CNN中的浮點運算。

圖片

Waymo:作者在室外數據集Waymo中提出了基於CenterPoint的SPS-Conv,結果如表3所示。實驗結果表明了SPS-Conv在具有稠密點雲的大規模數據集上的通用性:SPS-Conv在保持較高性能的同時顯著降低了FLOPs。

表3 在Waymo val split上對CenterPoint基準線方法的比較,用20%的數據進行訓練。GFLOPs僅包括稀疏CNN中的浮點運算。

圖片

KITTI:如表4和表5所示,與其他方法相比SPS-Conv取得了具有競爭力的結果。表5可以看出,使用SPS-Conv後,稀疏CNN的GFLOPs降低了50 %以上。

表4 與其他方法在KITTI val AP3D(R11)的比較

圖片

表5 與基本方法在KITTI val AP3D(R11)的比較,GFLOPs只包括稀疏CNN中的浮點運算。

圖片

4.3 消融實驗

SPS-Conv剪枝比例:SPS-Conv的剪枝比例(PR)用來控制每個塊中選擇的不重要位置的比例,比例越高,參與計算的位置越少。作者在CenterPoint上對nuScenes數據集進行評估,結果如表6和表7所示。其中GFLOPs有一個相對明顯且成比例的下降,但相比之下性能下降並沒有那麼嚴重。這也揭示了3D場景中的確包含空間冗餘,當選擇性地跳過這些冗餘位置時,不會影響性能。

表6 nuScenes val上SPSS-Conv的消融實驗

圖片

表7 nuScenes val上SPRS-Conv的消融實驗

圖片

具有高幅度位置的重要性:如表8所示,當扭轉重要位置時,在所有類別中都有相當大的性能下降。這種現象在小物體上表現得更為明顯,尤其是對於交通錐和自行車類別(甚至達到約7%的性能降幅)。

點數較多的大對象類別(例如車輛)對取樣方法不太敏感,但性能仍有明顯下降。與SPSS-Conv的實驗結果相比,SPRS的反演實驗具有更誇張的性能損失。當不進行反演時,SPRS會抑制降取樣部分減少的低幅值無關特徵,表現為沒有明顯的性能損失。

然而當選擇抑制幅度較大的位置時,空間冗餘被放大,重要特徵無法有效擴展。將上述特徵轉換為BEV圖後,由於來自輸入的前景點數量被削弱,提取的有效特徵非常有限,導致很大程度的性能下降。

表8 在nuScenes數據集上高幅度位置重要性的消融實驗 

圖片

4.4 可視化

如圖6(a)所示是修剪前後點雲的可視化結果,分別提供原始影像和修剪後的影像。可以觀察到大多數前景點被保留,背景區域中落在垂直結構中的點,例如桿和樹也被保留,這是因為它們往往容易與前景對象混淆。處理這些點需要更強的深度神經網路。如圖6(b)所示,大多數前景點的特徵量級都比較大(車輛)。相比之下,簡單的背景點(地面)以較小的幅度顯示,更容易被網路區分。

圖片

圖6 可視化

FIVE
結束語

本文介紹了稀疏神經網路中的空間冗餘,以及一種新的簡單有效的卷積運算元SPS-Conv,它有兩個變種,即SPSS-Conv和SPRS-Conv。

3D場景中大比例的背景區域導致空間冗餘,這可以通過SPS-Conv來修剪,進而大幅度減少GFLOPs,而不會影響性能。SPS-Conv為大模型的訓練提出了新的解決方案。