論文閱讀:Disp R-CNN:Stereo 3D Object Detection via Shape Prior Guided Instance Disparity Estimation

Disp R-CNN: Stereo 3D Object Detection via Shape Prior Guided Instance Disparity Estimation

摘要(理解)

作者提出一種用於3D目標檢測的名爲disp R-CNN 的網絡。該網絡相較於一般的3D目標檢測模型,不同點主要在:

  1. 該網絡僅估計感興趣目標的視差;
  2. 學習(識別特定的形狀先驗category-specific shape prior)以獲得更精確的視差估計;
  3. 可以不使用LiDAR提供的點雲,而使用statistical shape model生成稠密視差僞真值;

實驗結果:在KITTIKITTI數據集上顯示,即使在訓練時沒有真值,Disp R-CNN 在準確度方面也獲得了比state-of-the-art 的方法高20%的結果

Q:僞真值獲取方式\textbf{Q:僞真值獲取方式}

實驗結果&結論

在這裏插入圖片描述
圖5:上下3行分別顯示,(感興趣)3D邊界預測、視差估計結果以及僞視差真值
Q:視差估計與僞視差真值如何獲得?\textbf{Q:視差估計與僞視差真值如何獲得?}
在這裏插入圖片描述
圖6:對比PSMNet和iDispNet視差估計結果,可以發現iDispNet的估計結果更加細緻。

方法

整體步驟

  1. 首先檢測感興趣目標mask(2D)
  2. 僅估計mask內的目標的視差
  3. 使用3D detector爲每個instance的點雲預測一個bounding boxes

Stereo Mask R-CNN(得到mask)

拓展了Stereo R-CNN 框架,用於左圖的分割mask的預測,Stereo Mask R-CNN分兩步:

  1. Region Proposal Network 的雙目變量,左右圖像中的object proposals 從同一組anchor生成,以確保左右ROI區域的對應
  2. 使用RoIAlign從feature map中提取特徵,然後produce 2Dbounding boxes,classification scores 和instance segmentation mask。

Instance Disparity Estimation Network(對mask內的目標估計視差)

視差估計模型作用於恢復3D目標,因此視差估計的精度直接影響3D檢測的性能。考慮到計算整個圖片的視差是冗餘的,並且(對於交通工具)來說the Lambertian reflectance assumption for the photometricconsistency constraint used in stereo matching cannot hold。 所以作者提出專門用於3D目標檢測的基於學習的目標視差估計網絡(instance disparity estimation network iDispNet)

iDispNet只把RoI區域作爲輸入,並且只在前景像素上進行監督,所以它能夠捕獲特定類別的形狀(it captures the category-specific shape prior ),因此可以產生更加精確的視差預測。
Formally speaking,對於像素pp,full-frame disparity 定義爲:
Df(p)=uplupr(1)D_f(p)=u_p^l-u_p^r \tag{1}
其中uplu_p^lupru_p^r分別代表像素pp在左右圖中的水平座標。通過Stereo Mask R-CNN
獲得的2D bounding boxes, “我們”能夠從整體圖像中剪切左右ROI,並且在水平方向使之對其。爲了保證ROI具有相同的尺寸,它們的寬度(wl,wr)(w^l,w^r)設置爲值比較大的一個。ROI對齊之後,左圖像上像素pp的視差從全局視差轉變爲instance disparity:
Di(p)=Df(p)(blbr)(2)D_i(p)=D_f(p)-(b^l-b^r) \tag{2}
其中blb^lbrb^r分別代表兩圖中bounding boxes的左邊界,詳細理解如下圖:
在這裏插入圖片描述
“我們”的目標是學習Di(p)D_i(p),而非Df(p)D_f(p)
將左右圖的所有ROI都resize爲HWH*W。對於所有的屬於目標OO的像素pppp是否屬於OO由上述的instance segmentation mask判定),目標視差的loss function 定義爲:
Lidisp=1OpOL1,smooth(D^i(p)Di(p)),(3)L_{idisp}=\frac{1}{|O|}\sum_{p\in{O}}L_{1,smooth}(\hat{D}_i^{'}(p)-D_i^{'}(p)),\tag{3}
Di(p)=Di(p)max(wl,wr)W,(4)D_i^{'}(p)=\frac{D_i(p)}{max(w^l,w^r)}W,\tag{4}
其中D^i(p)\hat{D}_i^{'}(p)是像素pp的predicted instance disparity,Di(p)D_i^{'}(p) is the instance disparity ground-truth,(wl,wr)(w^l,w^r)代表左右圖的2D bounding boxes 的寬度,O|O|代表屬於目標OO的像素的個數。iDispNet 輸出D^i(p)\hat{D}_i^{'}(p),便可以計算每個像素pp所屬的前景,然後作爲接下來3D detector的輸入。3D座標(X,Y,Z)(X,Y,Z)的計算方法爲:
X=(upcu)fuZ,Y=vpcvfvZ,X=\frac{(u_p-c_u)}{f_u}Z,Y=\frac{v_p-c_v}{f_v}Z,
Z=BfuD^i(p)+blbr,Z=\frac{Bf_u}{\hat{D}_i^{'}(p)+b^l-b^r},
其中BB是基線長度,(cu,cv)(c_u,c_v)爲相機中心的像素位置,fu,fvf_u,f_v分別是水平和垂直焦距。

Pseudo Ground-truth Generation

訓練雙目匹配網絡需要大量的稠密視差,但是多數數據集並不提供。通常是由於LiDAR點雲的獲取成本過高。得力於iDispNet僅需要前景監督(Benefiting from the design of the ispNet which only requires foreground supervision),“我們”提出一個不需要依賴LiDAR點雲的爲真實數據生成大量稠密視差僞真值的方法。 生成過程通過類別特定的形狀先驗模型實現,從該模型可以重建對象形狀,然後將其渲染到圖像平面,以獲得稠密的視差真值。

使用the volumetric Truncated Signed Distance Function (TSDF) 作爲形狀表示,對於某些形狀變化相對較小的剛性對象類別(例如交通工具),TSDF形狀空間可以能夠近似爲一個低維度的子空間,將子空間的基定義爲VV,由訓練形狀的主成分中提取,mean shape 定義爲μ\mu,從而一個instance的shape ϕ^\hat{\phi}可以表示爲:
ϕ^(z)=Vz+μ,(5)\hat{\phi}(z)=Vz+\mu,\tag{5}
其中zRKz\in\mathbb{R}^K是形狀係數,KK是子空間的維度。

給定3D bounding box 真值和instance的點雲,我們能夠通過最小化cost function(式6)爲一個instance 重建形狀係數zz
Lpc(z)=1PxPϕ(x,z)2,(6)L_{pc}(z)=\frac{1}{|P|}\sum_{x\in{P}}\phi(x,z)^2,\tag{6}
其中ϕ(x,z)\phi(x,z)是由形狀係數zz定義的TSDF volume中的3D點xx的插值,PP是instance相關的點雲,P|P|是點雲中點的個數。只有zz在優化過程中被更新,這個cost function最小化了點雲到由TSDF的過零點定義的物體表面的距離,點雲可以從現成的視差估計模塊或可選的LiDAR點獲得。

由於上述的cost function不約束目標形狀的3D尺寸,“我們”提出了以下尺寸正則化項,以減少物體溢出三維包圍盒的情況:
Ldim(z)=vVoutmax(ϕ(v,z),0)2,(7)L_{dim}(z)=\sum_{v\in V^{out}} max(-\phi (v,z),0)^2,\tag{7}
其中VoutV_{out}表示體積中超過3D bounding box的所有體素,如圖4表示尺寸正則化
在這裏插入圖片描述

爲了將形狀係數限制在適當的範圍內,使用以下正則化項來懲罰優化形狀與平均形狀之間的偏差:
Lz(z)=k=1K(zkσk)2,(8)L_z(z)=\sum_{k=1}^{K}(\frac{z_k}{\sigma_k})^2,\tag{8}
σk\sigma_k表示第k個主分量對應的特徵值。結合上述各個部分,最終的cost function爲
L(z)=w1Lpc(z)+w2Ldim(z)+w3Lz(z).(9)L(z)=w_1L_{pc}(z)+w_2L_{dim}(z)+w_3L_z(z).\tag{9}
最後,目標視差僞真值DiD_i可以根據優化對象進行渲染,如下:
Di=Bfuπ(M(ϕ^(z)))(blbr),(10)D_i=\frac{Bf_u}{\pi(M(\hat{\phi}(z)))}-(b^l-b^r),\tag{10}其中MM表示marching cubes 將TSDF體積轉化爲三角網格。π\pi表示生成像素深度圖的網格渲染器,上述圖五第三行給出了一些僞視差真值的示例。

Discussion && Implementation Details

這一部分主要講述了網絡的選擇和實現的細節

網絡的選擇

作者考慮了兩種網絡架構:

  1. 只使用iDispNet的解碼部分作爲prediction head,從主幹網提取的RoI特徵在視差估計中被重新使用,disparity head 與網絡的其他部分進行端到端的訓練;
  2. 將ROI圖片從原圖中分割出來,然後將ROI圖片輸入iDispNet的編碼解碼網絡。

通過實驗證明第二種架構較第一種架構更有優勢,所以該文選擇使用第二種架構。且作者認爲原因在於:目標分割和視差估計的要求不一(We believe the reason behind this result is related to the different requirements between the tasks of instance segmentation and disparity estimation.)視差估計需要更細粒度的特徵表示,以使像素級的代價體積處理更加精確,而實例分割則需要對屬於對象的每個像素進行相同的類概率預測。通過聯合訓練端到端版本的網絡,主幹網必須在這兩個不同的任務之間進行平衡,從而導致不理想的結果(機翻).
僞視差真值生成的點雲選擇:總體來說,在形狀優化過程中點雲的使用有兩種選擇,1.可以是數據集中LiDAR獲得的稀疏點雲;2.通過off-the-shelf disparity estimation network 對其它數據集訓練預測得到的。第一種方法能夠提供更加精確的點雲,但是對於優化Lpc(z)L_{pc}(z)如果沒有LiDAR點雲,第二種方式是唯一的選擇。“我們”評估於實現上述兩種方法,方法2在沒有LiDAR數據表現更優。

實現細節

該部分主要包括三件事情

  1. iDispNet的結構與實現:使用PSMNet作爲iDispNet的結構,ROI圖片resize爲224*224的大小作爲input。在雙目匹配中,視差搜索範圍爲-48到+48(該範圍包含了數據集90%以上的視差分佈範圍)。
  2. 3D detection network的實現:PointRCNN在這裏用作3D object detection。“我們”使用從instance disparity 轉換來的instance point cloud作爲Point RCNN的輸入,而不是將整個場景的點雲作爲輸入。這樣點雲的size就被縮小到768.
  3. 僞視差真值的生成:爲了提高僞真值的穩定性,只有在3Dbounding boxes中的點才被用於優化(only points that sit inside of the ground-truth 3D bounding box are used for optimization)。對於少於10個點的目標,它的mean shape 可以未經優化而直接使用。我們選擇PCA前五個主成分並且將體積設置爲604060。訓練數據來自Google。通過訓練得到參數:w1=10/3,w2=w3=1w_1=10/3,w_2=w_3=1。優化使用一個用Ceres實現的Levenberg-Marquardt求解器。
訓練策略

We train the Stereo Mask R-CNN for 20 epochs with a weight decay of 0.0005, the iDispNet for 100 epochs with a weight decay of 0.01and the PointRCNN 360 epochs with a weight decay of 0.0005. The learning rate is first warmed up to 0.01and then decreases slowly in all the training processes.

實驗

在KITTI數據集上展開實驗

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章