YOLO進(jìn)軍BEV感知!YOLO+BEV在實(shí)時(shí)檢測(cè)上的嘗試
本文經(jīng)自動(dòng)駕駛之心公眾號(hào)授權(quán)轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)聯(lián)系出處。
筆者的個(gè)人理解
通過最近的nuScenes的Leaderboard榜單可以看出,基于純視覺的感知算法取得的性能(0.668)已經(jīng)逐漸向純激光雷達(dá)的算法性能逼近。
基于純視覺的感知LeaderBoard
基于純激光雷達(dá)的感知LeaderBoard
同時(shí),多個(gè)傳感器融合的感知算法由于匯聚了不同傳感器的優(yōu)勢(shì)(相機(jī)傳感器采集的圖像提供豐富的語義信息,激光雷達(dá)傳感器提供物體的深度和幾何信息),使得檢測(cè)器得到了更加魯棒的檢測(cè)性能。
相機(jī)+激光雷達(dá)的融合感知模型
雖然目前基于多傳感器融合或者純視覺的感知算法已經(jīng)使自動(dòng)駕駛車輛具備了強(qiáng)大的感知能力,但設(shè)計(jì)出來的感知算法模型往往會(huì)受到傳感器設(shè)備成本以及潛在的環(huán)境挑戰(zhàn),使其很難做到大規(guī)模的上車部署。
而在2D目標(biāo)檢測(cè)任務(wù)中的YOLO算法模型因其在算法性能和部署方面做到了非常出色的權(quán)衡,本文就以YOLO網(wǎng)絡(luò)框架為設(shè)計(jì)原型,設(shè)計(jì)了在BEV場(chǎng)景下的感知算法模型——YOLO-BEV。
論文的arxiv鏈接:https://arxiv.org/pdf/2310.17379.pdf
YOLO-BEV算法模型的整體結(jié)構(gòu)
本文將從模型的輸入數(shù)據(jù)準(zhǔn)備,網(wǎng)絡(luò)模型架構(gòu),網(wǎng)格補(bǔ)償機(jī)制以及損失函數(shù)四方面進(jìn)行介紹。
輸入數(shù)據(jù)準(zhǔn)備
YOLO-BEV采用的是nuPlan數(shù)據(jù)集。這個(gè)數(shù)據(jù)集是包括波士頓、匹茲堡、拉斯維加斯和新加坡在內(nèi)的四個(gè)城市采集的高質(zhì)量的路采數(shù)據(jù),總計(jì)1200個(gè)小時(shí)。nuPlan數(shù)據(jù)集包含了多種駕駛條件,同時(shí)還包括了豐富的傳感器數(shù)據(jù),包括但不限于多個(gè)激光雷達(dá),多個(gè)攝像頭采集到的視角、慣性測(cè)量單元以及高精度的GPS坐標(biāo)。
與通用的視覺感知算法模型不一樣的是,本文使用的來自nuPlan數(shù)據(jù)集的8臺(tái)攝像機(jī)采集的圖像,每臺(tái)攝像機(jī)的FOV角為45°,從而構(gòu)成一個(gè)360°的環(huán)視視角。在輸入的數(shù)據(jù)方面,喂入到模型的數(shù)據(jù)是一個(gè)3x3的圖像矩陣,其中中間的圖像是空白的,如下圖所示
值得注意的是,輸入的圖像矩陣最后一行作者將三張圖片旋轉(zhuǎn)了180度,因?yàn)樽髡咴谡撐闹刑岬?,這種做法可以更好的匹配鳥瞰的空間位置。
除此之外,為了生成可靠和準(zhǔn)確的GT真實(shí)數(shù)據(jù),采用了一種創(chuàng)新但簡(jiǎn)單的提取技術(shù)。通過利用nuPlan數(shù)據(jù)集中唯一標(biāo)識(shí)的標(biāo)記,成功地建立了輸入圖像和精心計(jì)算的代表其他車輛位置的鳥瞰圖坐標(biāo)之間的一對(duì)一對(duì)應(yīng)關(guān)系。而且非必要信息,如行人、交通信號(hào)和其他環(huán)境變量,被有意地從作者的分析中省略。這種精簡(jiǎn)的方法有助于加快計(jì)算過程,顯著縮短獲得有意義的結(jié)果所需的時(shí)間。
網(wǎng)絡(luò)模型架構(gòu)
YOLO-BEV算法模型的整體網(wǎng)絡(luò)架構(gòu)如下圖所示,其中復(fù)用了原有YOLO框架的主干網(wǎng)絡(luò)和Head檢測(cè)頭。
其中3x3 Matrix of Input Picture
即輸入到網(wǎng)絡(luò)中的一組8視角的環(huán)視圖像,通過主干網(wǎng)絡(luò)提取多尺度特征,然后送入到論文中提出的CustomDetect
結(jié)構(gòu)當(dāng)中得到最終的預(yù)測(cè)結(jié)果。
CustomDetect
結(jié)構(gòu)通過上圖可以看出,分成了三個(gè)通道分支。每個(gè)通道分支包含一組卷積運(yùn)算,該卷積層的結(jié)構(gòu)用數(shù)學(xué)公示建模如下
其中以及代表每個(gè)卷積層的權(quán)重參數(shù)和偏置項(xiàng)。
針對(duì)每個(gè)通道分支輸入特征圖,得到包含待預(yù)測(cè)物體坐標(biāo)和置信度的特征的數(shù)學(xué)表達(dá)式如下:
再得到特征圖后,就可以用來預(yù)測(cè)最終的置信度得分以及在BEV空間網(wǎng)格中的位置了。
網(wǎng)格補(bǔ)償機(jī)制
網(wǎng)格補(bǔ)償機(jī)制在本文中用于去調(diào)整預(yù)測(cè)后的物體空間位置信息。網(wǎng)格補(bǔ)償機(jī)制主要包括兩個(gè)子部分,分別是Innovative Grid Creation和Precision-Driven Coordinate Adjustment模塊。
- Innovative Grid Creation模塊
對(duì)于每個(gè)單獨(dú)的檢測(cè)層都會(huì)構(gòu)建一個(gè)網(wǎng)格,這個(gè)網(wǎng)格和特征圖的尺寸大小是完全一致的。針對(duì)特征圖每個(gè)單元格的中心點(diǎn)坐標(biāo),假設(shè)其在當(dāng)前網(wǎng)格的笛卡爾坐標(biāo)系中的位置為:
通過上述操作,就可以得到特征圖每個(gè)單元格位置的中心點(diǎn)坐標(biāo)在網(wǎng)格中的相對(duì)坐標(biāo)了。
- Precision-Driven Coordinate Adjustment模塊
該模塊的作用用于將模型的檢測(cè)結(jié)果在構(gòu)建的網(wǎng)格上進(jìn)行調(diào)整。相當(dāng)于是在初始化好的中心點(diǎn)坐標(biāo)的偏移量,利用網(wǎng)絡(luò)的預(yù)測(cè)結(jié)果進(jìn)行坐標(biāo)的微調(diào),該微調(diào)的數(shù)學(xué)表達(dá)式表述如下:
通過上面的Precision-Driven Coordinate Adjustment模塊就可以得到最終細(xì)粒度的坐標(biāo)位置結(jié)果了。
損失函數(shù)
該論文中的總損失包括兩個(gè)部分,一部分是分類損失,另外一部分是回歸損失,兩個(gè)損失之間的比重靠和來調(diào)節(jié)。
對(duì)于分類損失來說,和常見的目標(biāo)檢測(cè)中的損失計(jì)算方式一樣,采用的是交叉熵?fù)p失函數(shù),訓(xùn)練過程中的正負(fù)樣本均參與分類損失的計(jì)算,即上面公式中的。
對(duì)于回歸損失來說,只有正類樣本才會(huì)參與回歸損失的計(jì)算,的計(jì)算方式如下
采用MSE作為回歸損失的目的是用來平滑梯度流,促進(jìn)了基于反向傳播的學(xué)習(xí)環(huán)境中的優(yōu)化過程。
那接下來就嘮嘮在YOLO-BEV中的正負(fù)樣本損失是如何定義的。先放下論文中的插圖!
針對(duì)兩個(gè)有向的車輛目標(biāo),其中預(yù)測(cè)的車輛目標(biāo)(圖中的綠色框),真值的車輛目標(biāo)(圖中的藍(lán)色框),因其旋轉(zhuǎn)IoU計(jì)算比較困難。所以在論文中,為了方便、快捷的計(jì)算兩個(gè)框的IoU的值,選擇對(duì)兩個(gè)有向框轉(zhuǎn)換成與軸平行的矩形框(AABBs),水平預(yù)測(cè)框?qū)?yīng)圖上的橙色框,水平真值框?qū)?yīng)圖上的水藍(lán)色框。通過計(jì)算兩個(gè)水平框之間的IoU值來近似代替兩個(gè)旋轉(zhuǎn)框的IoU值。雖然這么做會(huì)造成IoU計(jì)算不準(zhǔn)確的問題,但是作者也在論文中提到了這種近似做法并不會(huì)影響模型的訓(xùn)練優(yōu)化過程。
may generally result in slightly larger IoU values compared to more exact oriented bounding box methods. This is because the boxes are aligned to the axis and may encompass extra area that is not a true part of the overlap.Importantly, empirical testing has shown that this slight overestimation is generally acceptable, as it still effectively aids in reducing the loss during training.
與更精確的定向邊界框方法相比,通常會(huì)導(dǎo)致略大的IoU值。這是因?yàn)榭蚺c軸對(duì)齊,并且可能包含不屬于重疊部分的額外區(qū)域。重要的是,經(jīng)驗(yàn)測(cè)試表明,這種輕微的高估通常是可以接受的,因?yàn)樗匀挥行У貛椭鷾p少訓(xùn)練期間的損失。
最終在模型訓(xùn)練過程中,正類樣本即計(jì)算的IoU閾值大于設(shè)定的閾值即為正類樣本,小于設(shè)定的閾值即為負(fù)類樣本。
實(shí)驗(yàn)結(jié)果
在作者實(shí)際訓(xùn)練模型的過程中,實(shí)際訓(xùn)練策略包括了兩個(gè)階段
- 第一個(gè)階段:作者只使用了包括1000個(gè)左右實(shí)例的輕量數(shù)據(jù)集進(jìn)行訓(xùn)練從而使模型接近過訓(xùn)練過程中的擬合狀態(tài),以確保捕捉復(fù)雜特征。在這一階段,花費(fèi)了數(shù)小時(shí)的時(shí)間來達(dá)到近似過擬合的優(yōu)化模型狀態(tài)。
- 第二階段:在這一階段,作者將第一階段訓(xùn)練的模型在完整的Nuplan數(shù)據(jù)集上進(jìn)行訓(xùn)練,并且在大規(guī)模的數(shù)據(jù)集上進(jìn)行學(xué)習(xí)率、batch size等超參數(shù)的調(diào)優(yōu),從而實(shí)現(xiàn)最佳的感知性能。
通過論文中放出來的BEV下的檢測(cè)結(jié)果可以看到,YOLO-BEV的定位效果還是很不錯(cuò)的,證實(shí)了模型在復(fù)雜場(chǎng)景下進(jìn)行準(zhǔn)確的位置定位能力。
目前存在的問題以及未來工作重點(diǎn)
- NMS后處理操作仍可進(jìn)行改進(jìn)
作者提到,NMS作為目標(biāo)檢測(cè)任務(wù)中的后處理操作在抑制重復(fù)框方面是非常有效的,但是在鳥瞰圖的感知方面仍需考慮感知中特有的問題。比如兩輛車靠的比較近,NMS算法很有可能將其中的一個(gè)感知結(jié)果抑制掉?;蛘呤怯捎趶较蛱摼葐栴}導(dǎo)致的最終檢測(cè)結(jié)果距離真值目標(biāo)的位置依舊有偏移。
- 提升模型對(duì)于連續(xù)幀的建模能力
由于當(dāng)前提出的YOLO-BEV是基于單幀的,缺乏對(duì)于連續(xù)幀的建模能力,從而在生成的BEV結(jié)果中,會(huì)有不平滑的“跳躍“問題。所以作者為了改善這一問題,后續(xù)的工作可能會(huì)深入到Transformer的架構(gòu)中去建模不同幀之間的時(shí)序關(guān)系。同時(shí)作者也有提到,基于Transformer的架構(gòu)參數(shù)量較高,可能會(huì)降低模型的FPS造成系統(tǒng)的延遲。所以,要在增強(qiáng)模型的時(shí)態(tài)理解和維護(hù)實(shí)時(shí)處理能力之間取得謹(jǐn)慎的平衡。
- 提升模型對(duì)于不同類別物體的感知能力
目前該工作不能識(shí)別像交通燈、行人或者其他車輛實(shí)體。但是在理想的情況下,一個(gè)更全面的BEV結(jié)果將包含這些不同的元素,提供更豐富的感知結(jié)果,更好地為自主導(dǎo)航系統(tǒng)提供信息。所以作者后續(xù)會(huì)可能會(huì)增加不同類別的損失函數(shù)或者語義分割功能,以封裝這種粒度級(jí)別的細(xì)節(jié)。
總結(jié)
目前雖然純視覺的單模態(tài)或者是多模態(tài)融合的感知算法已經(jīng)取得了出色的成績(jī),但感知算法模型是否易于部署才是算法得以上車的關(guān)鍵所在!本文就是對(duì)YOLO-BEV的算法模型進(jìn)行了細(xì)致的介紹和解讀,希望對(duì)大家有所幫助。