CLIP-BEVFormer:顯式監督BEVFormer結構,提升長尾檢測性能
本文經自動駕駛之心公眾號授權轉載,轉載請聯系出處。
寫在前面&筆者的個人理解
目前,在整個自動駕駛系統當中,感知模塊扮演了其中至關重要的角色,行駛在道路上的自動駕駛車輛只有通過感知模塊獲得到準確的感知結果后,才能讓自動駕駛系統中的下游規控模塊做出及時、正確的判斷和行為決策。目前,具備自動駕駛功能的汽車中通常會配備包括環視相機傳感器、激光雷達傳感器以及毫米波雷達傳感器在內的多種數據信息傳感器來收集不同模態的信息,用于實現準確的感知任務。
由于基于純視覺的BEV感知算法需要更低的硬件以及部署成本,同時其輸出的BEV空間感知結果可以很方便的被下游規控等任務所使用而受到了來自工業界和學術界的廣泛關注。近年來,很多基于BEV空間的視覺感知算法被相繼提出,并且在公開數據集上取得了出色的感知性能。
目前,基于BEV空間的感知算法根據構建BEV特征的方式可以大體分成兩類算法模型:
- 一類是以LSS算法為代表的前向BEV特征構建方式,這類感知算法模型首先是利用感知模型中的深度估計網絡來預測特征圖的每個像素點的語義特征信息以及離散深度概率分布,然后將得到的語義特征信息與離散深度概率采用外積運算的方式構建語義視錐特征,采用BEV池化等方式最終完成BEV空間特征的構建過程。
- 另外一類是以BEVFormer算法為代表的反向BEV特征構建方式,這類感知算法模型首先是在感知的BEV空間下顯式的生成3D體素坐標點,然后利用相機的內外參將3D體素坐標點投影回圖像坐標系下,并對相應特征位置的像素特征進行提取和聚合,從而構建出BEV空間下的BEV特征。
雖然兩類算法都可以較為準確的生成BEV空間下的特征進而完成最終的3D感知結果,但在當前的基于BEV空間的3D目標感知算法中,比如BEVFormer算法存在著以下兩方面的問題:
- 問題一:由于BEVFormer感知算法模型整體框架采用的是Encoder-Decoder的網絡結構,其主要思想是利用Encoder模塊獲取BEV空間下的特征,然后利用Decoder模塊預測最終的感知結果,并通過將輸出的感知結果與真值目標計算損失來實現模型預測的BEV空間特征的過程。但通過這種網絡模型的參數更新方式會過于依賴Decoder模塊的感知性能,導致可能存在模型輸出的BEV特征與真值BEV特征并不對齊的問題,從而進一步制約感知模型最終的表現性能。
- 問題二:由于BEVFormer感知算法模型的Decoder模塊依舊沿用Transformer中的自注意力模塊->交叉注意力模塊->前饋神經網絡的步驟完成Query特征的構建輸出最終的檢測結果,其整個過程依舊是一個黑盒模型,缺乏良好的可解釋性。同時,Object Query與真值目標之間的一對一匹配過程在模型訓練的過程中也存在著很大的不確定性。
所以,針對上述提到的BEVFormer感知算法模型存在的兩點問題,我們在BEVFormer算法模型的基礎上進行改進,提出了基于環視圖像的BEV場景下的3D檢測算法模型CLIP-BEVFormer,通過利用對比學習的方式來增強模型對于BEV特征的構建能力,并且在nuScenes數據集上實現了SOTA的感知性能。
文章鏈接:https://arxiv.org/pdf/2403.08919.pdf
網絡模型的整體架構&細節梳理
在詳細介紹本文提出的具體CLIP-BEVFormer感知算法模型細節之前,下圖展示了我們提出的CLIP-BEVFormer算法的整體網絡結構。
本文提出的CLIP-BEVFormer感知算法模型整體流程圖
通過算法的整體流程圖可以看出,本文提出的CLIP-BEVFormer算法模型是在BEVFormer算法模型的基礎上進行改進的,這里先簡單回顧一下BEVFormer感知算法模型的實現過程。首先,BEVFormer算法模型輸入的是相機傳感器采集到的環視圖像數據,利用2D的圖像特征提取網絡提取輸入環視圖像的多尺度語義特征信息。其次,利用包含時序自注意力和空間交叉注意力的Encoder模塊完成2D圖像特征向BEV空間特征的轉換過程。然后,在3D感知空間中以正態分布的形式生成一組Object Query,并送入到Decoder模塊中完成與Encoder模塊輸出的BEV空間特征的空間特征交互利用。最后利用前饋神經網絡預測Object Query查詢到的語義特征,輸出網絡模型最終的分類和回歸結果。同時,在BEVFormer算法模型訓練的過程中,采用一對一的匈牙利匹配策略完成正負樣本的分配過程,并利用分類和回歸損失完成整體網絡模型參數的更新過程。BEVFormer算法模型整體的檢測過程可以用如下的數學公式進行表示:
其中,公式中的代表BEVFormer算法中的Encoder特征提取模塊,代表BEVFormer算法中的Decoder解碼模塊,代表數據集中的真值目標標簽,代表當前BEVFormer算法模型輸出的3D感知結果。
真值BEV的生成
在上文中已經有提到,現有的絕大多數基于BEV空間的3D目標檢測算法沒有顯式的對生成的BEV空間特征進行監督,導致模型生成的BEV特征可能存在與真實的BEV特征不一致的問題,這種BEV空間特征的分布差異會制約模型最終的感知性能。基于這一考慮出發,我們提出了Ground Truth BEV模塊,我們設計該模塊的核心思路是想讓模型生成的BEV特征可以和當前真值BEV特征進行對齊,從而提高模型的表現性能。
具體而言,如整體網絡框架圖所示,我們使用了一個真值編碼器()用來對BEV特征圖上的任意一個真值實例的類別標簽和空間邊界框位置信息進行編碼,該過程可以用公式表述成如下的形式:
其中公式中的具有和生成的BEV特征圖同等大小的特征維度,代表某個真值目標被編碼后的特征信息。在編碼的過程中,我們采用了兩種形式,一種是大語言模型(LLM),另外一種是多層感知機(MLP),通過實驗結果發現,兩種方式基本達到了同樣的性能。
除此之外,我們為了進一步增強真值目標在BEV特征圖上的邊界信息,我們在BEV特征圖上根據真值目標所在的空間位置將其裁剪下來,并對裁剪后的特征采用池化操作構建對應的特征信息表示,該過程可以表述成如下的形式:
最后,我們為了實現模型生成的BEV特征與真值BEV特征的進一步對齊,我們采用了對比學習的方法來優化兩類BEV特征之間的元素關系和距離,其優化過程可以表述成如下的形式:
其中公式中的和分別代表生成的BEV特征和真值BEV特征之間的相似度矩陣,代表對比學習中的邏輯尺度因子,表示矩陣間的乘法運算,代表交叉熵損失函數。通過上述對比學習的方式,我們提出的方法可以為生成的BEV特征提供更加明確的特征指導,提高模型的感知能力。
真值目標查詢交互
這部分在前文中也有提到,BEVFormer感知算法模型中的Object Query通過Decoder模塊與生成的BEV特征進行交互,獲得對應的目標查詢特征,但該過程整體還是一個黑盒過程,缺少一個完整的流程理解。針對這一問題,我們引入了真值查詢交互模塊,通過將真值目標來執行Decoder模塊的BEV特征交互來激發模型參數的學習過程。具體而言,我們將真值編碼器()模塊輸出的真值目標編碼信息引入到Object Query當中參與Decoder模塊的解碼過程,與正常的Object Query參與相同的自注意力模塊,交叉注意力模塊以及前饋神經網絡輸出最終的感知結果。但需要注意的是,在解碼的過程中,所有的Object Query均是采用了并行計算的方式,防止發生真值目標信息的泄露。整個真值目標查詢交互過程,可以抽象表述成如下的形式:
其中,公式中的代表初始化的Object Query,和分別代表真值Object Query經過Decoder模塊和感知檢測頭的輸出結果。通過在模型訓練的過程中引入真值目標的交互過程,我們提出的真值目標查詢交互模塊可以實現真值目標查詢與真值BEV特征進行交互,從而輔助模型Decoder模塊的參數更新過程。
實驗結果&評價指標
定量分析部分
為了驗證我們提出的CLIP-BEVFormer算法模型的有效性,我們分別在nuScenes數據集上從3D感知效果、數據集中目標類別的長尾分布情況以及魯棒性等角度出發進行了相關實驗,下表是我們提出的算法模型與其他3D感知算法模型在nuScenes數據集上的精度對比情況。
本文提出的方法與其他感知算法模型的對比結果
在這部分實驗中,我們分別評估了不同模型配置情況下的感知性能,具體而言,我們將CLIP-BEVFormer算法模型應用于BEVFormer的tiny和base變體中。此外,我們還探索了將預訓練的CLIP模型或者MLP層作為真值目標編碼器對于模型感知性能的影響。通過實驗結果可以看出,無論是原先的tiny還是base變體,在應用了我們提出的CLIP-BEVFormer算法后,NDS和mAP指標均有穩定的性能提升。除此之外,通過實驗結果我們可以發現,對于真值目標編碼器選擇MLP層還是語言模型,我們提出的算法模型對于此并不敏感,這種靈活性可以使得我們提出的CLIP-BEVFormer算法更具有適應能力并且方便上車部署。總之,我們提出的算法模型的各類變體的性能指標一致表明提出的CLIP-BEVFormer算法模型具有很好的感知魯棒性,可以在不同模型復雜度和參數量的情況下實現出色的檢測性能。
除了驗證我們提出的CLIP-BEVFormer在3D感知任務上的性能外,我們還進行了長尾分布的實驗來評估我們的算法在面對數據集中存在長尾分布情況下的魯棒性和泛化能力,實驗結果匯總在下表
提出的CLIP-BEVFormer算法模型在長尾問題上的表現性能
通過上表的實驗結果可以看出,nuScenes數據集中表現出了極大的類別數量不均衡的問題,其中一些類別如(建筑車輛、公交車、摩托車、自行車等)占比很低,但是對于小汽車的占比非常高。我們通過進行長尾分布的相關實驗來評估提出的CLIP-BEVFormer算法模型在特征類別上的感知性能,從而驗證其解決不太常見類別的處理能力。通過上述的實驗數據可以看出,提出的CLIP-BEVFormer算法模型在所有類別上均實現了性能的提升,并且在對于占比極少的類別上,CLIP-BEVFormer算法模型展示出了明顯的實質性改進。
考慮到在真實環境下的自動駕駛系統需要面臨硬件故障、惡劣天氣狀況或者人造障礙物容易引發的傳感器故障等問題,我們進一步實驗驗證了提出的算法模型的魯棒性。具體而言,我們為了模擬傳感器的故障問題,我們在模型實施推理的過程中隨機對一個相機的攝像頭進行遮擋,從而實現對于相機可能出現故障的場景進行模擬,相關的實驗結果如下表所示
提出的CLIP-BEVFormer算法模型的魯棒性實驗結果
通過實驗結果可以看出,無論是在tiny還是base的模型參數配置下,我們提出的CLIP-BEVFormer算法模型始終要優于BEVFormer的相同配置的基線模型,驗證了我們的算法模型在模擬傳感器故障情況下的優越性能和優秀的魯棒性。
定性分析部分
下圖展示了我們提出的CLIP-BEVFormer算法模型與BEVFormer算法模型的感知結果可視化對比情況。通過可視化的結果可以看出,我們提出的CLIP-BEVFormer算法模型的感知結果與真值目標更加的接近,表明我們提出的真值BEV特征生成模塊與真值目標查詢交互模塊的有效性。
提出的CLIP-BEVFormer算法模型與BEVFormer算法模型感知結果的可視化對比情況
結論
在本文中,針對原有的BEVFormer算法當中存在的生成BEV特征圖過程中缺少顯示監督以及Decoder模塊中Object Query與BEV特征交互查詢的不確定問題,我們提出了CLIP-BEVFormer算法模型,并從算法模型的3D感知性能、目標長尾分布以及在傳感器故障的魯棒性等方面進行實驗,大量的實驗結果表明我們提出的CLIP-BEVFormer算法模型的有效性。