CaDDN:基于單目的3D目標(biāo)檢測(cè)新方法(CVPR2021)
以下文章來(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)圖如下。
網(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ò)程如下圖所示:
首先輸入的彩色圖像需要經(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ò)程如下圖所示。
使用(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),定義如下:
分類深度分布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ò)程如下圖。
體素采樣點(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ì)。
三種離散方式
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é)果。
KITTI數(shù)據(jù)集檢測(cè)結(jié)果
Waymo數(shù)據(jù)集:由于CaDDN是一個(gè)提交結(jié)果,所以作者和M3D-RPN進(jìn)行了比較,同樣取得了較好的檢測(cè)結(jié)果。下表是Waymo數(shù)據(jù)集車輛類別的檢測(cè)結(jié)果。
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)系工作人員刪除。