選單

淺析基於單目的3D目標檢測新方法

在自動駕駛的技術中,3D目標檢測能夠提更加豐富的資訊,如:目標的類別、位置和姿態。因此,與2D檢測相比,3D目標檢測的難度更大。目前很多的方法都是使用鐳射雷達進行3D目標檢測,但鐳射雷達的方案成本高且壽命短,而相機的方案成本低且壽命長。

單目3D目標檢測的優點和難點

優點:

在自動駕駛中,相比於使用昂貴的鐳射雷達等感測器,相機感測器成本低廉,且壽命長、易於安裝,同時影象的檢測技術相對更加成熟,有利於研究工作的快速進行。

難點:

單目3D目標檢測的難點就在於對深度資訊的預測,而這也恰恰是鐳射雷達的優勢所在。在單目的方案中,將例項從3D空間投影到2D影象平面就必然會損失影象的深度資訊。因此,對於深度資訊的處理一直是單目目標檢測的重點研究內容。

單目3D目標檢測方法分類

單目3D目標檢測的方法通常都需要生成中間表示來輔助三維檢測任務。基於這些表示,方法可以分為三類,分別是直接檢測、基於深度檢測和基於網格檢測。

直接檢測:

直接檢測的方法可以結合二維影象平面和三維空間之間的關係來輔助檢測,例如透過關鍵點檢測的方法,並使用已知的幾何特徵來協助3D box的構建。這類方法較為簡單高效,但由於沒有顯式的學習深度資訊,因此效能不如其他的方法。

基於深度檢測:

基於深度的方法通常都會建立一個深度預測的分支,輸出結果是一張深度圖來輔助對於深度的檢測。深度圖可以和影象結合使用,也可以轉化為點雲。但由於在訓練時,檢測和深度預測是分離訓練的,這可能會到導致一些資訊的損失,從而影響網路的整體效果。

基於網格的方法:

基於網格的方法透過預測BEV網格作為3D目標檢測的輸入,從而避免了對深度資訊的直接預測。如OFT的方法提出了一種體素網格,透過把體素投影到影象平面上進而取樣影象特徵將其轉換成BEV的形式。但缺點是多個體素會投影到相同的影象特徵上,造成特徵的重疊,而導致網路效能的降低。

CaDDN網路的提出

CaDDN網路結合了上面提到三種方法的優點,所提出的網路透過以端到端的方式聯合執行深度估計和3D目標檢測,並利用深度估計生成具有準確和區域性特徵的有意義的鳥瞰圖表示,網路結構圖如下。

淺析基於單目的3D目標檢測新方法

網路結構圖

CaDDN網路的創新點:

(1)網路預測畫素級分類深度分佈以準確定位 3D 空間中的影象資訊。每個預測分佈描述了畫素屬於一組預定義深度容器的機率。

(2)網路以端到端的方式學習深度分佈,聯合最佳化精確的深度預測和準確的3D目標檢測。

(3)網路提出使用分類深度分佈和投影幾何從單個影象生成高質量鳥瞰圖場景表示的新方法。

CaDDN的效能表現:

網路在KITTI 3D目標檢測資料集中的汽車和行人的檢測任務中,在文章發表時,在所有的方法中排名第一。同時也是第一個在Waymo資料集下提交檢測結果的網路。

CaDDN的具體實現

文章大體上分為幾個部分,為每個畫素預測深度網格分佈、體素網格對映、生成鳥瞰圖和3D檢測,下面是每個部分的具體解析。

(1)影象特徵--->視錐特徵

在這一步驟中,將會每個畫素預測深度網格分佈。網路的輸入是(H×W×3)的彩色圖片,輸出是(H×W×D×C)的視錐特徵圖,其中C為特徵通道數,D為劃分好的深度網格。在這步驟中間有幾個過程,過程如下圖所示:

淺析基於單目的3D目標檢測新方法

首先輸入的彩色影象需要經過image backbone提取影象特徵,通道數為C。之後會分為二個分支,第一個分支進行影象特徵的降維,對影象特徵進行提煉。第二個分支是進行分類深度分佈計算,為影象特徵中的每個畫素預測D個機率,其中每個機率表示深度值屬於指定depth bin的置信度。

然後,影象特徵和分類深度分佈做外積操作生成視椎體特徵網格。具體的操作過程如下圖所示。

淺析基於單目的3D目標檢測新方法

使用(u, v, c) 表示影象特徵F中的座標,(u, v, di)表示分類深度分佈D中的座標,其中(u, v)是特徵畫素位置,c是通道索引,di是深度bin索引。為了生成視錐特徵網格G,每個特徵畫素F(u,v)由其關聯的D(u,v)中的depth bin機率加權,以填充到深度軸di處。特徵畫素可以使用外積按深度機率加權,定義如下:

分類深度分佈D與影象特徵F外積之後得到視椎體特徵矩陣G(WF×HF×D×C),即(WF×HF)每個畫素處對應著一個D×C的矩陣。

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

這一步的主要目的是進行視錐到3D空間的對映過程,即對於體素空間中的點(x,y,z),找到其在視錐空間中的對映點,透過trilinear interpolation獲取視錐體網格取樣點深度值,將其填充至體素空間。具體的操作過程如下圖。

淺析基於單目的3D目標檢測新方法

體素取樣點[x, y, z]在每個體素的中心產生並變換到視錐網格,形成視錐網格取樣點[u, v, dc],其中dc是連續的沿視錐深度軸di的深度值。深度離散化方法將每個連續深度值dc轉換為離散深度bin索引di,形成視錐網格取樣點[u, v, di]。最後透過trilinear interpolation獲取視椎體網格取樣點[u, v, di]處的數值,並將該數值複製到體素取樣點[x, y, z]處。

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

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

(4)3D目標檢測

文章在生成的鳥瞰圖上執行3D目標檢測,這裡作者使用了PointPillar的方法,並對網路結構進行了一定的調整,最終完成檢測過程。

對深度進行網格化的估計是本文的創新點,文章給出了深度網格的監督,其實核心方法是如何將連續值離散化。這裡作者給出了3種離散方式,分別是均勻離散(UD)、間距增加的離散(SID)和線性增加的離散化(LID)。並最終選用LID,因為LID的離散化為不同深度提供了平衡的深度估計。

淺析基於單目的3D目標檢測新方法

三種離散方式

實驗

作者在KITTI和Waymo二大資料集上進行了實驗,實驗結果如下。

KITTI資料集:在汽車和行人的檢測任務上,CaDDN取得了較好的效果,在騎行者的檢測中,效果雖然不如MonoPSR效果好,但較其餘的方法則有大幅度的提升。下表是KITTI資料集下的檢測結果。

淺析基於單目的3D目標檢測新方法

KITTI資料集檢測結果

Waymo資料集:由於CaDDN是一個提交結果,所以作者和M3D-RPN進行了比較,同樣取得了較好的檢測結果。下表是Waymo資料集車輛類別的檢測結果。

淺析基於單目的3D目標檢測新方法

Waymo資料集檢測結果

本文提出了一種新的單目3D目標檢測的方法,該方法可以精確的估計每個畫素的分類深度分佈。將深度分佈和影象特徵相結合,生成保留深度置信度的鳥瞰圖表示,並用於3D目標檢測。

轉載自CV研習社,文中觀點僅供分享交流,不代表本公眾號立場,如涉及版權等問題,請您告知,我們將及時處理。

—— END ——