博客專欄

EEPW首頁(yè) > 博客 > CaDDN:基于單目的3D目標(biāo)檢測(cè)新方法(CVPR2021)

CaDDN:基于單目的3D目標(biāo)檢測(cè)新方法(CVPR2021)

發(fā)布人:計(jì)算機(jī)視覺工坊 時(shí)間:2021-11-06 來(lái)源:工程師 發(fā)布文章

以下文章來(lái)源于CV研習(xí)社 ,作者元?dú)鉂M滿的打工人

作者丨元?dú)鉂M滿的打工人

來(lái)源丨CV研習(xí)社

文章導(dǎo)讀

導(dǎo)讀:在自動(dòng)駕駛的技術(shù)中,3D目標(biāo)檢測(cè)能夠提更加豐富的信息,如:目標(biāo)的類別、位置和姿態(tài)。因此,與2D檢測(cè)相比,3D目標(biāo)檢測(cè)的難度更大。目前很多的方法都是使用激光雷達(dá)進(jìn)行3D目標(biāo)檢測(cè),但激光雷達(dá)的方案成本高且壽命短,而相機(jī)的方案成本低且壽命長(zhǎng)。小編今天要分享的論文是基于單目的3D目標(biāo)檢測(cè)方法CaDDN,名為:Categorical Depth Distribution Network for Monocular 3D Object Detection。讓我們一起來(lái)學(xué)習(xí)一下吧。

Part 01

單目3D目標(biāo)檢測(cè)的優(yōu)點(diǎn)和難點(diǎn)

優(yōu)點(diǎn):

在自動(dòng)駕駛中,相比于使用昂貴的激光雷達(dá)等傳感器,相機(jī)傳感器成本低廉,且壽命長(zhǎng)、易于安裝,同時(shí)圖像的檢測(cè)技術(shù)相對(duì)更加成熟,有利于研究工作的快速進(jìn)行。

難點(diǎn):

單目3D目標(biāo)檢測(cè)的難點(diǎn)就在于對(duì)深度信息的預(yù)測(cè),而這也恰恰是激光雷達(dá)的優(yōu)勢(shì)所在。在單目的方案中,將實(shí)例從3D空間投影到2D圖像平面就必然會(huì)損失圖像的深度信息。因此,對(duì)于深度信息的處理一直是單目目標(biāo)檢測(cè)的重點(diǎn)研究?jī)?nèi)容。

Part 02

單目3D目標(biāo)檢測(cè)方法分類

單目3D目標(biāo)檢測(cè)的方法通常都需要生成中間表示來(lái)輔助三維檢測(cè)任務(wù)?;谶@些表示,方法可以分為三類,分別是直接檢測(cè)、基于深度檢測(cè)和基于網(wǎng)格檢測(cè)。

直接檢測(cè):直接檢測(cè)的方法可以結(jié)合二維圖像平面和三維空間之間的關(guān)系來(lái)輔助檢測(cè),例如通過(guò)關(guān)鍵點(diǎn)檢測(cè)的方法,并使用已知的幾何特征來(lái)協(xié)助3D box的構(gòu)建。這類方法較為簡(jiǎn)單高效,但由于沒有顯式的學(xué)習(xí)深度信息,因此性能不如其他的方法。

基于深度檢測(cè):基于深度的方法通常都會(huì)創(chuàng)建一個(gè)深度預(yù)測(cè)的分支,輸出結(jié)果是一張深度圖來(lái)輔助對(duì)于深度的檢測(cè)。深度圖可以和圖像結(jié)合使用,也可以轉(zhuǎn)化為點(diǎn)云。但由于在訓(xùn)練時(shí),檢測(cè)和深度預(yù)測(cè)是分離訓(xùn)練的,這可能會(huì)到導(dǎo)致一些信息的損失,從而影響網(wǎng)絡(luò)的整體效果。

基于網(wǎng)格的方法:基于網(wǎng)格的方法通過(guò)預(yù)測(cè)BEV網(wǎng)格作為3D目標(biāo)檢測(cè)的輸入,從而避免了對(duì)深度信息的直接預(yù)測(cè)。如OFT的方法提出了一種體素網(wǎng)格,通過(guò)把體素投影到圖像平面上進(jìn)而采樣圖像特征將其轉(zhuǎn)換成BEV的形式。但缺點(diǎn)是多個(gè)體素會(huì)投影到相同的圖像特征上,造成特征的重疊,而導(dǎo)致網(wǎng)絡(luò)性能的降低。

Part 03

CaDDN網(wǎng)絡(luò)的提出

CaDDN網(wǎng)絡(luò)結(jié)合了上面提到三種方法的優(yōu)點(diǎn),所提出的網(wǎng)絡(luò)通過(guò)以端到端的方式聯(lián)合執(zhí)行深度估計(jì)和3D目標(biāo)檢測(cè),并利用深度估計(jì)生成具有準(zhǔn)確和局部特征的有意義的鳥瞰圖表示,網(wǎng)絡(luò)結(jié)構(gòu)圖如下。

1.png

網(wǎng)絡(luò)結(jié)構(gòu)圖

CaDDN網(wǎng)絡(luò)的創(chuàng)新點(diǎn):

(1)網(wǎng)絡(luò)預(yù)測(cè)像素級(jí)分類深度分布以準(zhǔn)確定位 3D 空間中的圖像信息。每個(gè)預(yù)測(cè)分布描述了像素屬于一組預(yù)定義深度容器的概率。

(2)網(wǎng)絡(luò)以端到端的方式學(xué)習(xí)深度分布,聯(lián)合優(yōu)化精確的深度預(yù)測(cè)和準(zhǔn)確的3D目標(biāo)檢測(cè)。

(3)網(wǎng)絡(luò)提出使用分類深度分布和投影幾何從單個(gè)圖像生成高質(zhì)量鳥瞰圖場(chǎng)景表示的新方法。

CaDDN的性能表現(xiàn):網(wǎng)絡(luò)在KITTI 3D目標(biāo)檢測(cè)數(shù)據(jù)集中的汽車和行人的檢測(cè)任務(wù)中,在文章發(fā)表時(shí),在所有的方法中排名第一。同時(shí)也是第一個(gè)在Waymo數(shù)據(jù)集下提交檢測(cè)結(jié)果的網(wǎng)絡(luò)。

Part 04

CaDDN的具體實(shí)現(xiàn)

文章大體上分為幾個(gè)部分,為每個(gè)像素預(yù)測(cè)深度網(wǎng)格分布、體素網(wǎng)格映射、生成鳥瞰圖和3D檢測(cè),下面是每個(gè)部分的具體解析。

(1)圖像特征--->視錐特征

在這一步驟中,將會(huì)每個(gè)像素預(yù)測(cè)深度網(wǎng)格分布。網(wǎng)絡(luò)的輸入是(H×W×3)的彩色圖片,輸出是(H×W×D×C)的視錐特征圖,其中C為特征通道數(shù),D為劃分好的深度網(wǎng)格。在這步驟中間有幾個(gè)過(guò)程,過(guò)程如下圖所示:

2.png

首先輸入的彩色圖像需要經(jīng)過(guò)image backbone提取圖像特征,通道數(shù)為C。之后會(huì)分為二個(gè)分支,第一個(gè)分支進(jìn)行圖像特征的降維,對(duì)圖像特征進(jìn)行提煉。第二個(gè)分支是進(jìn)行分類深度分布計(jì)算,為圖像特征中的每個(gè)像素預(yù)測(cè)D個(gè)概率,其中每個(gè)概率表示深度值屬于指定depth bin的置信度。

然后,圖像特征和分類深度分布做外積操作生成視椎體特征網(wǎng)格。具體的操作過(guò)程如下圖所示。

3.png

使用(u, v, c) 表示圖像特征F中的坐標(biāo),(u, v, di)表示分類深度分布D中的坐標(biāo),其中(u, v)是特征像素位置,c是通道索引,di是深度bin索引。為了生成視錐特征網(wǎng)格G,每個(gè)特征像素F(u,v)由其關(guān)聯(lián)的D(u,v)中的depth bin概率加權(quán),以填充到深度軸di處。特征像素可以使用外積按深度概率加權(quán),定義如下:

4.png

分類深度分布D與圖像特征F外積之后得到視椎體特征矩陣G(WF×HF×D×C),即(WF×HF)每個(gè)像素處對(duì)應(yīng)著一個(gè)D×C的矩陣。

(2)視錐特征-->體素特征

這一步的主要目的是進(jìn)行視錐到3D空間的映射過(guò)程,即對(duì)于體素空間中的點(diǎn)(x,y,z),找到其在視錐空間中的映射點(diǎn),通過(guò)trilinear interpolation獲取視錐體網(wǎng)格采樣點(diǎn)深度值,將其填充至體素空間。具體的操作過(guò)程如下圖。

5.png

體素采樣點(diǎn)[x, y, z]在每個(gè)體素的中心產(chǎn)生并變換到視錐網(wǎng)格,形成視錐網(wǎng)格采樣點(diǎn)[u, v, dc],其中dc是連續(xù)的沿視錐深度軸di的深度值。深度離散化方法將每個(gè)連續(xù)深度值dc轉(zhuǎn)換為離散深度bin索引di,形成視錐網(wǎng)格采樣點(diǎn)[u, v, di]。最后通過(guò)trilinear interpolation獲取視椎體網(wǎng)格采樣點(diǎn)[u, v, di]處的數(shù)值,并將該數(shù)值復(fù)制到體素采樣點(diǎn)[x, y, z]處。

(3)體素特征-->鳥瞰圖(BEV)

直接折疊體素特征V(X×Y×Z×C)就可以得到鳥瞰圖B(X×Y×C)。具體的操作過(guò)程是:將Z軸和C軸拼接起來(lái),然后采用1x1 convolution + BatchNorm +ReLU layer將(Z×C)通道降維至C,就得到了鳥瞰圖B(X×Y×C)。

(4)3D目標(biāo)檢測(cè)

文章在生成的鳥瞰圖上執(zhí)行3D目標(biāo)檢測(cè),這里作者使用了PointPillar的方法,并對(duì)網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行了一定的調(diào)整,最終完成檢測(cè)過(guò)程。

對(duì)深度進(jìn)行網(wǎng)格化的估計(jì)是本文的創(chuàng)新點(diǎn),文章給出了深度網(wǎng)格的監(jiān)督,其實(shí)核心方法是如何將連續(xù)值離散化。這里作者給出了3種離散方式,分別是均勻離散(UD)、間距增加的離散(SID)和線性增加的離散化(LID)。并最終選用LID,因?yàn)長(zhǎng)ID的離散化為不同深度提供了平衡的深度估計(jì)。

6.png

三種離散方式

Part 05

實(shí)驗(yàn)

作者在KITTI和Waymo二大數(shù)據(jù)集上進(jìn)行了實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如下。

KITTI數(shù)據(jù)集:在汽車和行人的檢測(cè)任務(wù)上,CaDDN取得了較好的效果,在騎行者的檢測(cè)中,效果雖然不如MonoPSR效果好,但較其余的方法則有大幅度的提升。下表是KITTI數(shù)據(jù)集下的檢測(cè)結(jié)果。

7.png

KITTI數(shù)據(jù)集檢測(cè)結(jié)果

Waymo數(shù)據(jù)集:由于CaDDN是一個(gè)提交結(jié)果,所以作者和M3D-RPN進(jìn)行了比較,同樣取得了較好的檢測(cè)結(jié)果。下表是Waymo數(shù)據(jù)集車輛類別的檢測(cè)結(jié)果。

8.png

Waymo數(shù)據(jù)集檢測(cè)結(jié)果

Part 06

總結(jié)

本文提出了一種新的單目3D目標(biāo)檢測(cè)的方法,該方法可以精確的估計(jì)每個(gè)像素的分類深度分布。將深度分布和圖像特征相結(jié)合,生成保留深度置信度的鳥瞰圖表示,并用于3D目標(biāo)檢測(cè)。該方法取得了較好的性能表現(xiàn),論文較先前方法的改進(jìn)之處,值得學(xué)習(xí)。

本文僅做學(xué)術(shù)分享,如有侵權(quán),請(qǐng)聯(lián)系刪文。

*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。



關(guān)鍵詞: AI

相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉