首頁>科技>

文章導讀

本文介紹一篇基於RGB影象的單目三維目標檢測的文章AM3D,該文釋出於ICCV 2019《Accurate Monocular 3D Object Detection via Color-Embedded 3D Reconstruction for Autonomous Driving》。輸入單幅RGB影象,輸出三維Bounding Box資訊。

目錄

核心思想框架結構實現細節要點分析思考展望

核心思想

本文演算法首先獲取到深度資訊和二維目標位置先驗之後,將二維深度資訊對映到三維空間,以點雲資料形式進行後續處理。在三維姿態估計過程中演算法基於Attention機制提出了多資訊融合策略,將點雲空間資訊,畫素RGB資訊以及目標區域性特徵聚合在一起,並設計了點雲分割模組來去除目標區域的背景無關資訊。

框架結構

整個演算法框架分為兩個模組:3D資料生成和3D邊框估計:

3D資料生成部分首先採用兩個CNN網路分別對RGB影象做2D檢測和深度估計,得到2D Box和深度影象;然後深度影象根據相機引數轉換成三維點雲;3D邊框估計部分首先對三維點雲利用2D Box對其中的目標區域進行前景分割;然後採用注意力機制嵌入有效的RGB資訊;最後使用PointNet迴歸3D Box。

整個框架基於2D驅動3D的感知,類似於F-PointNet。在三維資料生成階段,訓練兩個深度CNNs進行中間任務(2D檢測和深度估計)來獲取位置和深度資訊。將生成的深度轉換為點雲,這是一種更好的3D檢測表示,然後使用2D邊界框來獲得關於感興趣區域位置的先驗資訊。最後,提取每個RoI中的點作為後續步驟的輸入資料。在三維邊框估計階段,為了改進最後的任務,分別設計了背景點分割和RGB資訊聚合兩個模組。然後使用PointNet作為骨幹網路來預測每個RoI的3D位置、維度和方向。

實現細節

1. 三維資料生成

採用現有的方法(文章重點在於使用而非獲取資料,所以具體方法未公佈)訓練兩個深度CNN來生成深度圖和2D邊界框來提供空間資訊和位置先驗; 利用camera calibration檔案將給定二維影象空間深度的畫素座標(u,v)轉換為三維座標(x,y,z),計算如下:

注意:可以使用Point Cloud編碼器-解碼器網路來學習從(u,v,d)到(x,y,z)的對映,因此在測試階段可以不再需要標定檔案(因為在點雲生成階段引入的誤差遠遠小於深度圖本身包含的噪聲)。

2. 三維邊框估計

經過3D資料生成階段後,將輸入資料編碼為點雲。但是這些資料中有許多背景點,為了準確地估計目標的位置,這些背景點應該被丟棄。本文采用一種基於深度的分割方法。首先計算每個二維邊界框的深度均值,得到RoI的近似位置,並將其作為閾值。所有z通道值大於此閾值的點都被視為背景點。嵌入點集可表示為:

然後使用輕量級網路預測RoI的中心δ , 用它來更新點雲:

然後,我們選擇PointNet作為3D檢測骨幹網估計3D物件的編碼中心(x, y, z),大小(h、w、l)和航向角θ。最後,我們將二維邊界盒的置信度分數賦值給相應的三維檢測結果。

3. RGB資訊融合

RGB資訊融合這一步的目的是為了提高演算法的可靠性。將補充的RGB資訊聚合到點雲,透過公式5將資訊新增到生成的點雲中:

其中D為輸出對應輸入點RGB值的函式。這樣,這些點被編碼為6D向量:[x, y, z, r, g, b]。但是透過簡單的concat來新增RGB資訊是不可行的。因此本文引入了一個融合任務的注意機制,利用注意機制來引導空間特徵和RGB特徵之間的資訊傳遞。由於傳遞的資訊流並不總是有用的,注意力可以作為一個門函式來控制資訊流,當我們將RGB訊息傳遞到它對應的點時,首先從XYZ分支生成的特徵圖F中生成一個attention map G,如下圖所示:

f是非線性函式,σ是sigmoid函式。然後獲得權重佔比傳遞訊息,注意力機制如下:

除了點級特徵融合之外,我們還引入了另一個分支來提供物件級RGB資訊。特別是,我們首先裁剪RGB影象的RoI,並將其調整為128×128。然後我們使用CNN提取物件級特徵對映Fobj,從融合模組獲得的最終特徵對映集F為:F←concat(Fxyz,Fobj),其中concat表示連線操作。

4、最佳化細節

整個培訓過程分為兩個階段。在第一階段,我們只根據原始論文的訓練策略對中間網路進行最佳化。之後,我們利用多損失丟失函式,同時最佳化兩個網路進行三維檢測:

其中L loc為輕量級定位網路的損失函式(僅為中心),L det為三維檢測網路(中心、大小和航向角),L corner為角點損失,首先將輸出目標解碼成定向的3D Box,然後根據ground truth在8個Box的(x, y, z)座標上直接計算平滑的L1損失。

要點分析

1. 單目三維感知的關鍵

基於影象3D感知中的資料表示問題:採用Front view這樣的2D影象去直接回歸3D座標或者無腦疊加RGB和Depth Map無法得到有效的三維空間資訊。所以需要針對不同的任務和維度,找到一種合理方式顯示錶達資料的原始分佈。

該文的解決方法:將2D影象進行深度估計再結合相機引數生成偽點雲,得到三維空間資訊,最後採用常規的點雲目標檢測方法在三維空間做檢測。

將深度圖轉換為點雲的好處如下:

(1)點雲資料顯式地顯示空間資訊,這使得網路更容易學習從輸入到輸出的非線性對映。

(2)由於某些特定的空間結構只存在於三維空間中,網路可以學習到更豐富的特徵。

(3)點雲深度分析的重大進展為我們提供了一種更加有效的三維檢測結果估計方法。

2. 多模態資訊的融合

不同於F-PointNet和Pseudo-LiDAR,AM3D為了進一步提高三維檢測精度,在偽點雲中額外加入RGB資訊。參考之前的多模態資訊融合方法,分別處理點雲的空間資訊和影象的顏色資訊,然後將提取到的特徵拼接起來經過全連線做預測。這種硬連線的方式既沒有統一不同模態資訊的隱空間,也沒有讓兩者之間進行有效互動。所以需要針對不同模態的資料找到一種融合的方法。

該文的解決方法:引入帶注意力機制的融合方式,先透過max pooling和average pooling得到點雲空間資訊的feature map,然後學習出attention map並乘上點雲顏色資訊的feature map,以有效指導RGB特徵到座標特徵的資訊傳遞。

實驗結果如下:

思考展望

如果用2D的影象做3D的檢測,資料的表示和互動形式是關鍵點。採用端到端的框架(提供一份資料,希望得到某種輸出),由於CNN內部不同特徵之間的隱式關係或間隙巨大,會限制神經網路的學習能力。所以需要分解和細化網路模型的功能,遞進式學習。盲目的疊加不同資料或者特徵並不是一種好的方式:比如影象與深度圖直接concat,或者點雲特徵和影象特徵直接concat。本篇文章的主要思想是找到一個更好的輸入表示式,而特徵的提取,檢測器方面採用較為傳統的方法,所以從精度上從檢測演算法入手。

8
最新評論
  • 整治雙十一購物亂象,國家再次出手!該跟這些套路說再見了
  • 比爾蓋茨預言:人類將面臨另一個危機,威脅全球,比病毒還難對付