如何提升小計算量的BEV模型性能?也許DistillBEV是個答案!
本文只做學術分享,如有侵權(quán),聯(lián)系刪文
筆者的個人理解
BEV模型今年被越來越多自動駕駛公司落地上車,雖然Nvidia的Orin平臺和地平線的J5系列算力都比較大,但由于功能模型較多,很多公司都在想辦法將模型做小,但小模型計算量的減少會導致性能下降,那么如何提升小模型性能呢?領域常見的方法主要是半監(jiān)督和蒸餾。今天的主角是知識蒸餾任務,蒸餾又分為同構(gòu)蒸餾和異構(gòu)蒸餾,由于現(xiàn)在大多方案是純視覺,通過點云大模型蒸餾視覺小模型受到了許多團隊的認可,是一種無痛漲點的方法。
如何設計蒸餾模型呢?
多目BEV 3D感知方案由于相機的較低成本使其在自動駕駛領域大規(guī)模生產(chǎn)中成為主流,單/多目 BEV 和基于 LiDAR 的 3D 目標檢測之間存在明顯的性能差距。一個關鍵原因是 LiDAR 可以捕獲準確的深度和其他幾何測量結(jié)果,而僅從圖像輸入推斷此類 3D 信息是非常具有挑戰(zhàn)性的。DistillBEV提出通過訓練基于多目 BEV 的學生檢測器模仿訓練有素的基于?LiDAR 的教師檢測器的特征來增強其表示學習。并提出了有效的平衡策略,以強制學生專注于從老師那里學習關鍵特征,并將知識轉(zhuǎn)移到具有時間融合的多尺度層。DistillBEV提出了 BEV 中的跨模式蒸餾,它自然地適用于 LiDAR 和基于多目 BEV 的探測器之間的知識傳輸。除此之外,有效的平衡設計,使學生能夠?qū)W⒂趯W習多尺度和時間融合的教師的關鍵特征。DistillBEV的方法比學生模型有了顯著改進,在 nuScenes 上實現(xiàn)了最先進的性能。
知識蒸餾在檢測任務中為什么重要?
基于相機
該領域的許多方法基于單目視覺范式,如FCOS3D和DD3D,類似于2D目標檢測。最近,基于多目的BEV(鳥瞰圖)框架因其固有的優(yōu)點而成為趨勢。在這個框架中,視圖轉(zhuǎn)換模塊起著將多視圖圖像特征轉(zhuǎn)換為BEV的基礎性作用。一些方法采用逆透視映射或多層感知器來執(zhí)行從透視視圖到BEV的轉(zhuǎn)換。引入LSS來通過相應的逐bin深度分布提升圖像特征的方法如BEVDet,BEVDet4D和BEVDepth。BEVFormer中提出,利用交叉注意力來查找和匯聚跨目的圖像特征。此外,BEV表示提供了在多個時間戳上改善目標檢測和運動狀態(tài)估計的更理想的場景特征連接。BEVDet4D和BEVDepth通過空間對齊融合先前和當前的特征,而BEVFormer通過軟注意力進行時間上的融合。
基于Lidar
由于該領域的大多數(shù)方法將不規(guī)則點云轉(zhuǎn)換為規(guī)則網(wǎng)格,如柱狀物或體素,因此自然而然地在BEV中提取特征。VoxelNet對每個體素內(nèi)聚合的點特征應用3D卷積。SECOND利用稀疏的3D卷積提高計算效率。PointPillars提出將高度維度折疊并使用2D卷積以進一步減少推理延遲。CenterPoint是一種流行的無錨點方法,將目標表示為點。PillarNeXt表明,基于柱狀物的模型在架構(gòu)和訓練方面的現(xiàn)代化設計在準確性和延遲方面都優(yōu)于體素對應物。廣泛使用融合多個傳感器來增強檢測性能。MVP是CenterPoint的傳感器融合版本,通過虛擬圖像點增強。
知識蒸餾
這項技術最初是為了通過將來自較大教師模型的信息傳遞給緊湊的學生模型來進行網(wǎng)絡壓縮而提出的。該領域中的大多數(shù)方法最初是為圖像分類而設計的,但對于圖像目標檢測的改進卻很少。最近一些方法已成功地將知識蒸餾應用于2D目標檢測。然而,對于3D目標檢測的蒸餾研究較少,特別是當教師和學生模型來自不同模態(tài)時。與DistillBEV提出的方法最相關的工作是BEVDistill,該工作引入了一種密集的前景引導特征模仿和一種稀疏的實例級蒸餾,以從激光雷達傳遞空間知識到多目3D目標檢測。與這種方法相比,DistillBEV的方法通過引入?yún)^(qū)域分解和自適應縮放實現(xiàn)了更精細的蒸餾。此外,DistillBEV的設計適應多尺度蒸餾,可以增強在不同特征抽象層面上的跨模態(tài)知識傳遞。
怎么設計一個BEV下的蒸餾網(wǎng)絡?

如圖所示,為了解決跨模態(tài)知識遷移的挑戰(zhàn),DistillBEV 涉及制定區(qū)域分解掩模(綠框)、自適應縮放因子(黃框)和空間注意圖(紅框),以及對多尺度層和時間融合進行擴展。
區(qū)域分解
根據(jù)GT以及teacher與student之間的差異程度進行區(qū)域劃分,著重學習有GT區(qū)域和diff區(qū)域
在 2D 目標檢測中由于前景和背景區(qū)域之間的不平衡,簡單地在教師和學生之間進行特征對齊很難取得改進。這種現(xiàn)象在 3D 目標檢測中更為嚴重,因為絕大多數(shù) 3D 空間沒有目標。通過對 BEV 特征圖的統(tǒng)計發(fā)現(xiàn),平均不到 30% 的像素是非空的,意味著其中只有一小部分包含感興趣的目標。為了進行有效的知識遷移,DistillBEV引入了區(qū)域分解來指導學生應重點關注關鍵區(qū)域,而不是平等對待所有區(qū)域。具體來說,將特征圖分為四種類型:真陽性(TP)、假陽性(FP)、真陰性(TN)和假陰性(FN)。因此,定義區(qū)域分解掩模:


這種分解使DistillBEV的方法能夠靈活地為不同區(qū)域分配不同的重要性??紤]地面真值框覆蓋的區(qū)域(即 TP 和 FN 區(qū)域的并集)是很簡單的,它們準確地傳達了前景目標的特征。然而,DistillBEV也以不同于 TN 區(qū)域的方式對待 FP 區(qū)域。當教師模型在某些區(qū)域產(chǎn)生高激活時,即使它們是 FP(例如,一根桿子被誤檢測為行人),鼓勵學生模型模仿此類特征響應仍然有利于整體 3D 幾何學習??梢酝ㄟ^對教師檢測器和地面真實標簽生成的置信度熱圖進行閾值化來找到 FP 區(qū)域:


尺度自適應
目標面積越大,越縮放(大的前景),F(xiàn)P,TN區(qū)域(背景)被縮放,生成weight map約束損失
在 BEV 中從教師向?qū)W生提取知識的另一個挑戰(zhàn)是各種目標尺寸的巨大跨度。例如,從鳥瞰角度看,一輛公共汽車的體積是行人的幾十倍。此外,墻壁和植物等背景淹沒了非空白區(qū)域。因此,背景目標和巨大的前景目標將主導蒸餾損失,因為更多的特征來自于它們。希望反映對蒸餾損失具有相似貢獻的不同大小的目標或類別。引入自適應縮放因子來實現(xiàn)此目標:


空間注意力
由teacher的空間注意力以及student的多尺度自適應后(尺度對齊)的空間注意力構(gòu)成一張attention map用于后續(xù)約束損失
DistillBEV采用基于提取的教師和學生特征的空間注意力圖來進一步選擇更多信息豐富的特征來關注。空間注意力圖的構(gòu)建方式如下:



多尺度蒸餾
蒸餾(尺度對齊后的)多尺度,但是區(qū)域劃分基于有語義表達能力的head層
網(wǎng)絡中不同深度的層編碼不同的抽象特征,結(jié)合了不同級別的特征,可以更好地檢測各種大小的對象。為了實現(xiàn)教師和學生之間的全面對齊,DistillBEV采用這種思想對基于CNN的模型進行多尺度的特征蒸餾。但教師和學生網(wǎng)絡是分別設計的不同的架構(gòu),使得找到中間特征對應關系變得非常重要。例如,教師中的 BEV 特征圖通常是學生中 BEV 特征圖大小的 2 倍或 4 倍。簡單地對齊相同分辨率的特征會導致特征抽象級別的不兼容。因此,

蒸餾損失
上述設計均被用于雷達teacher對相機student的損失部分




DistillBEV利用注意力模仿?lián)p失來強制學生學習生成注意力模式,與教師相似,因此關注教師網(wǎng)絡認為更重要的空間位置:

總損失:

其中 N是選擇執(zhí)行蒸餾的層數(shù),λ控制兩個損失函數(shù)之間的相對重要性。
時間融合的蒸餾
多相機 BEV 中表示的一項理想特性是促進多個時間戳特征的融合。利用時間融合開發(fā)的方法通過利用重要的動態(tài)線索極大地改進了 3D 對象檢測和運動估計。至于基于激光雷達的模型,通常的做法是通過自運動補償直接將過去的掃描轉(zhuǎn)換到當前坐標系來融合多個點云,并將相對時間戳添加到每個點的測量中。因此,在DistillBEV的方法中進行時態(tài)知識遷移是很自然的,因為教師可以很容易地與使用時態(tài)信息的學生兼容。在實踐中,對基于單幀和多幀的學生模型采用統(tǒng)一的教師模型,以通過時間融合進行蒸餾。
DistillBEV優(yōu)勢在哪里?
我們在大規(guī)模自動駕駛基準測試nuScenes上進行了評估。該數(shù)據(jù)集包括大約20秒的1,000個場景,由32束激光雷達和20Hz和10Hz頻率下的6個目捕獲。對于3D目標檢測,總共有10個類別,標注以2Hz的頻率提供。按照標準評估劃分,分別使用700、150和150個場景進行訓練、驗證和測試。遵循官方評估指標,包括平均精度(mAP)和nuScenes檢測分數(shù)(NDS)作為主要指標。還使用mATE、mASE、mAOE、mAVE和mAAE來測量平移、尺度、方向、速度和屬性相關的錯誤。
教師和學生模型?為了驗證DistillBEV方法的普適性,考慮了各種教師和學生模型。采用流行的CenterPoint或其傳感器融合版本MVP作為教師模型。至于學生模型,選擇BEVDet、BEVDet4D、BEVDepth和BEVFormer作為代表性的學生模型,它們代表了從CNN到Transformer、從base版本到時間("4D" 以融合時間)和空間("Depth" 以增強可信賴深度估計)擴展的廣泛范圍的學生模型。這些模型共同形成8種不同的教師-學生組合。
在PyTorch中實現(xiàn),并使用8個NVIDIA Tesla V100 GPU進行網(wǎng)絡訓練,批量大小為64。采用AdamW作為優(yōu)化器,學習率采用2e-4的余弦調(diào)度。所有模型均經(jīng)過24個時期的訓練,采用CBGS策略。遵循BEVDet和BEVDepth,在圖像和BEV空間中都應用了數(shù)據(jù)增強。按照標準評估協(xié)議設置檢測范圍為[-51.2m, 51.2m]×[-51.2m, 51.2m]。ResNet-50在ImageNet-1K上預先訓練,用作圖像的骨干網(wǎng)絡,圖像大小處理為256×704,除非另有說明。采用通過教師的參數(shù)初始化學生的檢測頭,以實現(xiàn)更快的收斂。
Main Results
nuScenes驗證集上基于多個base采用DistillBEV結(jié)果:

nuScenes驗證集:

nuScenes測試集:

Ablation Studies

Visualization

參考:DistillBEV: Boosting Multi-Camera 3D Object Detection with Cross-Modal Knowledge Distillation

自動駕駛Daily
自動駕駛技術與行業(yè)發(fā)展日常分享,專注自動駕駛與AI
公眾號
① 全網(wǎng)獨家視頻課程
BEV感知、毫米波雷達視覺融合、多傳感器標定、多傳感器融合、多模態(tài)3D目標檢測、點云3D目標檢測、目標跟蹤、Occupancy、cuda與TensorRT模型部署、協(xié)同感知、語義分割、自動駕駛仿真、傳感器部署、決策規(guī)劃、軌跡預測等多個方向?qū)W習視頻(掃碼即可學習)

視頻官網(wǎng):www.zdjszx.com
② 國內(nèi)首個自動駕駛學習社區(qū)
近2000人的交流社區(qū),涉及30+自動駕駛技術棧學習路線,想要了解更多自動駕駛感知(2D檢測、分割、2D/3D車道線、BEV感知、3D目標檢測、Occupancy、多傳感器融合、多傳感器標定、目標跟蹤、光流估計)、自動駕駛定位建圖(SLAM、高精地圖、局部在線地圖)、自動駕駛規(guī)劃控制/軌跡預測等領域技術方案、AI模型部署落地實戰(zhàn)、行業(yè)動態(tài)、崗位發(fā)布,歡迎掃描下方二維碼,加入自動駕駛之心知識星球,這是一個真正有干貨的地方,與領域大佬交流入門、學習、工作、跳槽上的各類難題,日常分享論文+代碼+視頻,期待交流!

③【自動駕駛之心】技術交流群
自動駕駛之心是首個自動駕駛開發(fā)者社區(qū),聚焦目標檢測、語義分割、全景分割、實例分割、關鍵點檢測、車道線、目標跟蹤、3D目標檢測、BEV感知、多模態(tài)感知、Occupancy、多傳感器融合、transformer、大模型、點云處理、端到端自動駕駛、SLAM、光流估計、深度估計、軌跡預測、高精地圖、NeRF、規(guī)劃控制、模型部署落地、自動駕駛仿真測試、產(chǎn)品經(jīng)理、硬件配置、AI求職交流等方向。掃碼添加汽車人助理微信邀請入群,備注:學校/公司+方向+昵稱(快速入群方式)

④【自動駕駛之心】平臺矩陣,歡迎聯(lián)系我們!
