史上最全綜述:3D目標(biāo)檢測(cè)算法匯總!(3)
3D目標(biāo)檢測(cè)的學(xué)習(xí)目標(biāo)主要是針對(duì)小目標(biāo)(相比檢測(cè)范圍,目標(biāo)太小),另一方面是由于點(diǎn)云的稀疏性,如何準(zhǔn)確估計(jì)其目標(biāo)的中心和尺寸也是一個(gè)長(zhǎng)期挑戰(zhàn)。
1、Anchor-based方法
anchor是預(yù)定義的長(zhǎng)方體,具有固定的形狀,可以放置在3D空間中。3D目標(biāo)可以基于正anchor進(jìn)行預(yù)測(cè),這些正anchor與GT的IoU最大。anchor-based的3D目標(biāo)檢測(cè)方法一般是從鳥瞰圖上檢測(cè)3D目標(biāo),將3D anchor放置在BEV特征圖的每個(gè)網(wǎng)格單元上進(jìn)行。3D anchor通常對(duì)于每個(gè)類別都有一個(gè)固定的尺寸,因?yàn)橥活悇e的目標(biāo)有相似的大小。
anchor-based的損失函數(shù)包括了分類損失、回歸損失、偏航角損失等。分類損失常用的是二值交叉熵、Focal loss,回歸則是SmoothL1,航向角需要注意使用bin-based航向估計(jì)較好。除了這些單獨(dú)的損失函數(shù)外,將整個(gè)3D目標(biāo)作為整體去考慮,也有使用IoU loss的,再輔以corner loss,讓3D目標(biāo)的檢測(cè)更加穩(wěn)定。
下面是anchor-based方法的示意圖和主要目標(biāo)損失函數(shù):
2、Anchor-free方法
anchor-free方法去掉了復(fù)雜的anchor設(shè)計(jì)階段,可靈活應(yīng)用于BEV、點(diǎn)視圖和Range視圖等。沒有了anchor,就需要找其它正負(fù)樣本分配方法。比如基于一些網(wǎng)格(BEV網(wǎng)格單元、體素、柱體)進(jìn)行分配正負(fù)樣本,比如PIXOR、CenterPoint等。
還有基于點(diǎn)的分配策略,大部分都是先將前景點(diǎn)分割出來(lái),在3D目標(biāo)內(nèi)或附近的作為正樣本,并學(xué)習(xí)這些前景點(diǎn)。基于Range的分配主要是將Range像素在3D目標(biāo)內(nèi)的作為正樣本,并且回歸的時(shí)候不是以整個(gè)3D坐標(biāo)系統(tǒng)為基礎(chǔ),而是以目標(biāo)為中心的回歸坐標(biāo)系。
DETR提出了一種集合到集合的分配方式,利用匈牙利算法預(yù)測(cè)結(jié)果自動(dòng)分配到對(duì)應(yīng)的GT。
anchor-free方法設(shè)計(jì)靈活,不引入其它先驗(yàn),學(xué)習(xí)過(guò)程簡(jiǎn)化了很多,其中基于中心的方法[329]對(duì)小目標(biāo)檢測(cè)有較大潛力可挖。
雖然優(yōu)點(diǎn)不少,但不可否認(rèn),anchor-free方法如何選擇合適的正樣本來(lái)生成預(yù)測(cè)結(jié)果是個(gè)問(wèn)題,相比于anchor-based中使用高IoU正樣本,anchor-free可能會(huì)選到一些不好的正樣本,造成預(yù)測(cè)結(jié)果出現(xiàn)偏差。
下面顯示了anchor-free方法和一些里程碑方法。
3、利用輔助任務(wù)的3D目標(biāo)檢測(cè)
利用輔助任務(wù)來(lái)增強(qiáng)3D目標(biāo)的空間特征,并能對(duì)3D目標(biāo)檢測(cè)提供一些隱性的指導(dǎo)。常用的輔助任務(wù)包括:語(yǔ)義分割、IoU分支預(yù)測(cè)、目標(biāo)形狀補(bǔ)全、部件識(shí)別。
語(yǔ)義分割。前景分割可以提供目標(biāo)的位置隱含信息;利用語(yǔ)義上下文知識(shí)可以增強(qiáng)空間特征;語(yǔ)義分割可以作為預(yù)處理方法,過(guò)濾背景樣本,提升3D檢測(cè)效率。
IoU預(yù)測(cè)分支可以輔助校正目標(biāo)的置信度,比如預(yù)測(cè)置信度可以用分類置信度和IoU值的乘積來(lái)表示。經(jīng)過(guò)IoU分支的校正,更容易選擇高質(zhì)量的3D目標(biāo)作為最終預(yù)測(cè)結(jié)果。
形狀補(bǔ)全,因?yàn)辄c(diǎn)云具有稀疏性,遠(yuǎn)處的目標(biāo)只能接收幾個(gè)點(diǎn),因此從稀疏點(diǎn)云中補(bǔ)全目標(biāo)形狀可以為后面的檢測(cè)提供幫助。
識(shí)別目標(biāo)內(nèi)部的零部件有助于3D目標(biāo)檢測(cè),部件可以揭示細(xì)粒度3D信息。
除此之外,還有一些比如場(chǎng)景流估計(jì)可以識(shí)別靜態(tài)和動(dòng)態(tài)目標(biāo),可以在點(diǎn)云序列中跟蹤同一個(gè)3D目標(biāo),可以得到該目標(biāo)更準(zhǔn)確的估計(jì)。
5基于相機(jī)的3D目標(biāo)檢測(cè)
主要的基于相機(jī)的3D目標(biāo)檢測(cè)方案分為:?jiǎn)文?D、雙目、多相機(jī)3D等,具體看下圖的分類:
本身從單目圖像中檢測(cè)3D空間的目標(biāo)是一個(gè)病態(tài)問(wèn)題,因?yàn)閱文繜o(wú)法提供足夠的3D信息,很難預(yù)測(cè)3D目標(biāo)準(zhǔn)確的位置信息。
很多方法利用幾何約束和形狀先驗(yàn)從圖像中推斷深度信息,也是一種優(yōu)化單目3D目標(biāo)定位問(wèn)題的思路。但是和激光雷達(dá)比,還是相差較遠(yuǎn)。
1、純圖像單目3D檢測(cè)
受到2D檢測(cè)方法的啟發(fā),單目3D目標(biāo)檢測(cè)最直接的解決方案是通過(guò)卷積神經(jīng)網(wǎng)絡(luò)從圖像中直接回歸3D框參數(shù)。直接回歸的方法借鑒了2D檢測(cè)網(wǎng)絡(luò)架構(gòu)的設(shè)計(jì),可以端到端訓(xùn)練。這些方法可以分為單階段、兩階段,或anchor-based/anchor-free方法。
基于anchor的方法主要預(yù)先設(shè)置好3D-anchor、2D-anchor、深度anchor,然后圖像經(jīng)過(guò)卷積網(wǎng)絡(luò)后得到2D和3D的預(yù)測(cè)偏置,最終解碼及轉(zhuǎn)換過(guò)程如下所示:
anchor-free的方法也是通過(guò)2D卷積對(duì)圖像進(jìn)行處理,利用多個(gè)頭去預(yù)測(cè)3D目標(biāo)。具體包括一個(gè)分類頭、一個(gè)關(guān)鍵點(diǎn)頭預(yù)測(cè)粗粒度中心點(diǎn)、一個(gè)預(yù)測(cè)基于粗粒度中心點(diǎn)的偏置的頭、預(yù)測(cè)深度的頭、預(yù)測(cè)目標(biāo)尺寸的頭以及預(yù)測(cè)觀測(cè)角的頭。兩階段單目檢測(cè)方法通常將傳統(tǒng)的兩階段2D檢測(cè)體系擴(kuò)展到3D目標(biāo)檢測(cè)。具體來(lái)說(shuō),在第一階段利用2D檢測(cè)器從輸入圖像生成2D目標(biāo)框。然后在第二階段,通過(guò)從2D ROI中預(yù)測(cè)3D目標(biāo)參數(shù),將2D框提升到3D空間。
ROI-10D[168]擴(kuò)展了傳統(tǒng)的Faster RCNN[222],在第二階段用一種新穎的頭來(lái)預(yù)測(cè)3D目標(biāo)參數(shù)。
基于純圖像的方法可以直接使用2D目標(biāo)檢測(cè)的最新進(jìn)展,而且價(jià)格便宜,可以端到端訓(xùn)練,效率也很高。只是從單張圖像預(yù)測(cè)深度比較困難。
下圖及表展示了相關(guān)方法:
2、深度輔助的單目3D檢測(cè)
深度估計(jì)是單目3D目標(biāo)檢測(cè)的關(guān)鍵。為了獲得更準(zhǔn)確的單目檢測(cè)結(jié)果,許多論文采用預(yù)訓(xùn)練輔助深度估計(jì)網(wǎng)絡(luò)的方法。
具體來(lái)說(shuō),單目圖像首先通過(guò)預(yù)訓(xùn)練的深度估計(jì)器,如MonoDepth[83]或DORN[76],生成深度圖像。然后,主要有兩類方法處理深度圖像和單目圖像。
基于深度圖像的方法將圖像和深度映射與專門的神經(jīng)網(wǎng)絡(luò)融合,生成深度感知特征,可以提高檢測(cè)性能。基于偽激光雷達(dá)的方法將深度圖像轉(zhuǎn)換為偽激光雷達(dá)點(diǎn)云,然后在點(diǎn)云上應(yīng)用基于激光雷達(dá)的3D檢測(cè)器來(lái)檢測(cè)3D目標(biāo)。具體如下表及圖所示。
許多方法利用圖像中目標(biāo)的形狀和場(chǎng)景幾何等先驗(yàn)知識(shí),解決病態(tài)的單目3D目標(biāo)檢測(cè)問(wèn)題。
通過(guò)引入預(yù)訓(xùn)練的子網(wǎng)絡(luò)或輔助任務(wù)來(lái)學(xué)習(xí)先驗(yàn)知識(shí),這些子網(wǎng)絡(luò)或輔助任務(wù)可以提供額外的信息或約束來(lái)幫助精確定位3D目標(biāo)。廣泛采用的先驗(yàn)知識(shí)包括目標(biāo)形狀、幾何一致性、時(shí)間約束和分割信息。
如下表所示。通過(guò)重建目標(biāo)形狀,可以從圖像中獲得更詳細(xì)的目標(biāo)形狀信息,有利于3D目標(biāo)檢測(cè)。但形狀重建通常需要增加重建網(wǎng)絡(luò)預(yù)訓(xùn)練模型,單目檢測(cè)流程無(wú)法做到端到端訓(xùn)練。
而且目標(biāo)的形狀通常是從CAD模型而不是現(xiàn)實(shí)世界的實(shí)例中學(xué)習(xí)的,重建的目標(biāo)形狀和真實(shí)場(chǎng)景有較大差異。
采用幾何一致性,有助于提高檢測(cè)精度。然而,一些方法將幾何一致性表示為一個(gè)優(yōu)化問(wèn)題,在后處理中優(yōu)化目標(biāo)參數(shù)會(huì)比較耗時(shí),阻礙了端到端訓(xùn)練。
圖像分割是單目3D檢測(cè)中的重要信息。然而,訓(xùn)練分割網(wǎng)絡(luò)需要的標(biāo)注樣本比較貴。用外部數(shù)據(jù)集預(yù)訓(xùn)練的分割模型存在泛化問(wèn)題。
基于雙目的3D目標(biāo)檢測(cè)是指從一對(duì)圖像中檢測(cè)出3D物體。與單目圖像相比,雙目提供了額外的幾何約束,可用于推斷更準(zhǔn)確的深度信息。
基于雙目方法通常比基于單目的方法獲得更好的檢測(cè)性能。當(dāng)然,基于雙目的方法與基于激光雷達(dá)的方法在性能上仍有很大的差距。
雙目方法與單目檢測(cè)方法相比,可以通過(guò)立體匹配技術(shù)獲得更精確的深度和視差估計(jì),從而帶來(lái)更強(qiáng)的目標(biāo)定位能力,顯著提高了3D目標(biāo)檢測(cè)能力。具體方法見下圖及表。
自動(dòng)駕駛汽車通常會(huì)配備多個(gè)攝像頭,從多個(gè)視角獲取完整的周邊環(huán)境信息。然而,如何利用多視圖圖像進(jìn)行3D目標(biāo)檢測(cè)還沒有得到廣泛的研究。
多攝像頭3D目標(biāo)測(cè)的一個(gè)關(guān)鍵問(wèn)題是如何識(shí)別不同圖像中的同一目標(biāo),并從多視角輸入中聚合目標(biāo)特征。
一些論文通過(guò)利用跨視圖幾何約束[227]或目標(biāo)重識(shí)別[52]來(lái)解決多視圖目標(biāo)定位問(wèn)題。其他工作通過(guò)引入3D目標(biāo)查詢從不同視圖裁剪圖像特征[286]或轉(zhuǎn)換不同視圖的特征來(lái)處理多視圖特征聚合問(wèn)題。
*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。
pic相關(guān)文章:pic是什么