【Disp R-CNN解讀】通過形狀先驗引導的立體三維目標檢測實例視差估計
摘要
最近的許多工作通過視差估計恢復點云,然后應用3D探測器解決了這一問題。視差圖是為整個圖像計算的,這是昂貴的,并且不能利用特定類別的先驗。相反,我們設計了一個實例視差估計網絡 iDispNet,它僅僅為感興趣的目標區域里的像素預測視差,并且學習類別特定的形狀先驗,以便更準確的估計視差。
為了解決訓練中視差標注不足的問題,我們提出在不需要雷達點云的情況下,使用統計形狀模型生成密集視差偽真值,這使得我們的系統具有更廣泛的適用性。在KITTI數據集上進行的實驗表明,即使在訓練時不使用雷達數據,Disp R-CNN 也達到了具有競爭力的性能,在平均精度方面比以前的先進方法高出20%。
代碼開源:https://github.com/zju3dv/disprcnn
一、引言
三維物體檢測方法以估計的視差圖為輸入,將其轉換為深度圖或點云來檢測其中的物體。然而,由于視差估計網絡是為一般的立體匹配而設計的,而不是為三維目標檢測任務,這些管道有兩個主要的缺點:
首先,視差估計過程是在全圖像上進行的,在低紋理或非lamberterian表面,如車輛表面,往往不能產生準確的視差,而這些區域正是我們需要進行3D邊界框估計的區域。
此外,由于圖像中感興趣的前景物體通常比背景物體占用更少的空間,視差估計網絡和3D檢測器在目標檢測不需要的區域花費了大量的計算時間,導致運行速度較慢。
在這項工作中,我們的目標是探索如何用一個專門用于3D目標檢測的視差估計模塊來解決這些缺點。我們認為,從網絡特征學習和運行效率的角度來看,在全圖像上估計視差是次優的。為此,我們提出了一個名為 Disp R-CNN 的新系統,該系統通過一個用于實例級視差估計的網絡來檢測三維物體。視差估計只在包含感興趣對象的區域執行,從而使網絡聚焦于前景對象,并學習適合于3D對象檢測的類別特定的形狀先驗。
實驗表明,在物體形狀先驗的指導下,估計的實例視差捕獲了物體邊界的平滑形狀和鋒利邊緣,而且比完整幀的對應值更準確。通過實例級視差估計的設計,在視差估計過程中減少了輸入和輸出像素的數量,減少了代價量搜索的范圍,從而減少了整體三維檢測框架的運行時間。
綜上所述,本文的貢獻如下:
提出了一種基于實例級視差估計的立體三維目標檢測框架,該框架在精度和運行速度上均優于目前最先進的基線。
偽真值(pseudo-ground-truth)生成過程,為實例視差估計網絡提供監督,并指導它事先學習物體形狀,有利于三維目標檢測。
二、方法
給定一對立體圖像,目標是檢測所有感興趣對象實例的三維邊界框。如下圖所示,我們的檢測管道由三個階段組成:首先檢測每個對象的二維邊界框和實例掩碼,然后僅估計屬于對象的像素的視差,最后使用3D檢測器從實例點云預測三維邊界框。
2.1 Stereo Mask R-CNN
Stereo Mask R-CNN 由兩個階段組成。第一階段是 Stereo R-CNN 中提出的區域建議網絡的立體變形,其中來自左右圖像的對象候選框從同一組錨生成,以確保左右感興趣區域(RoIs)之間的正確對應。第二階段使用 Mask R-CNN 中提出的 RoIAlign 從特征地圖中提取對象特征,接下來是兩個預測頭,生成2D邊界框、分類分數和實例分割掩碼。
2.2 Instance Disparity Estimation Network
視差估計模塊負責立體三維目標檢測中三維數據的恢復,其精度直接影響到三維檢測性能。iDispNet只將目標RoI圖像作為輸入,只對前景像素進行監督,從而捕獲特定類別的形狀先驗,從而產生更準確的視差預測。
正式地說,一個像素p的全幀視差定義為:
其中, u p l u_p^{l} upl 和 u p r u_p^r upr 分別表示點 p 在左右視圖中的水平像素坐標。通過 Stereo Mask R-CNN 獲得的 2D 邊界框,我們可以從完整圖像中裁剪出左、右RoIs,并將它們在水平方向上對齊。將每個 R O I s ( w l , w r ) ROIs (w^l, w^r) ROIs(wl,wr) 的寬度設置為較大的值,以使兩個roi共享相同的大小。
一旦 ROIs 對齊,左邊圖像(參考)像素 p 的視差位移從全幀視差變為實例視差,定義為:
其中, b l b^l bl 和 b r b^r br 分別表示兩個視圖中邊界框的左邊界坐標。我們的目標本質上是了解每個屬于感興趣對象 p 的實例差異 D i ( p ) D_i(p) Di (p)而不是 D f ( p ) D_f(p) Df (p)。這種裁剪和對齊的過程如下圖所示。
將左右兩幅圖像中的所有roi調整為共同大小 H × w。對于實例分割掩碼給出的屬于一個對象實例 O O O 的所有像素 p,定義實例視差的損失函數為:
其中, D ^ i ′ ( p ) \hat{D}'_ i(p) D^i′ (p)為點 p 預測的實例視差, D i ′ ( p ) D'_ i(p) Di′ (p)是實例視差真值。 w l w^l wl 和 w r w^r wr表示兩個視圖中二維邊界框的寬度,|O|表示屬于對象 O O O的像素數。
一旦 iDispNet 輸出實例視差 D ^ i ′ ( p ) \hat{D}'_ i(p) D^i′ (p),我們就可以計算出屬于前景的每個像素 p 的3D位置,作為接下來的3D檢測器的輸入。三維坐標(X, Y, Z)推導如下:
其中,B 是左右相機之間的基線長度, ( c u , c v ) (c_u, c_v) (cu ,cv )為相機中心對應的像素位置, ( f u , f v ) (f_u, f_v) (fu ,fv ) 分別為水平焦距和垂直焦距。
2.3 Pseudo Ground-truth Generation
訓練立體匹配網絡需要大量密集視差地面真值,而大多數3D目標檢測數據集都不提供這些數據,因為手動標注很困難。
得益于iDispNet只需要對前景預測,我們提出了一種在不需要LiDAR點云的情況下,為真實數據生成大量密集視差偽真值(Pesudo-GT)的有效方法。生成過程通過特定類別的形狀先驗模型來實現,從該先驗模型可以重構對象形狀并隨后將其渲染到圖像平面以獲得密集的視差真實值。
我們使用體積截斷符號距離函數(TSDF)作為形狀表示。對于形狀變化相對較小的一些剛性物體類別(如車輛),該類別的TSDF形狀空間可以用低維子空間來近似。形式上,用子空間的基V表示,它由訓練形狀的前導主成分得到,平均形狀表示為μ,實例的形狀 φ ~ \widetilde{φ} φ
可以表示為:
其中 z ∈ R K z∈R^K z∈RK是形狀系數,K是子空間的維度。
給定一個實例的三維邊界框ground-truth和點云,可以通過最小化以下代價函數來重建實例的形狀系數z:
其中 φ(x, z) 為三維點x在形狀系數z定義的TSDF體積中的內插值,P為實例對應的點云,|P|為點云中的點數。只有z在優化過程中被更新。直觀地說,這個代價函數最小化點云到由 TSDF 的零點定義的物體表面的距離。點云可以從現成的視差估計模塊或選擇性的激光雷達點獲得。
由于上述代價函數不限制物體形狀的三維維度,我們提出以下維度正則化項,以減少物體溢出三維邊界框的發生:
其中 V o u t V^{out} Vout表示在一個卷中定義在3D邊界框之外的所有體素。尺寸正則化可視化如下圖所示:
為了將形狀系數限制在一個適當的范圍內,使用以下正則化項來懲罰優化形狀與平均形狀的偏差:
其中, σ k σ_k σk 是第k個主成分對應的第k個特征值。
綜合以上各項,總成本函數為:
最后,根據優化后的物體形狀渲染實例視差偽GT D i D_i Di 可以根據優化后的物體形狀進行渲染如下:
其中,M表示移動立方體操作,該操作將TSDF體積轉換為三角形網格。π表示生成像素級深度地圖的網格渲染器。下圖顯示了渲染視差偽GT的一些示例:
2.4 3D detection network
在我們的實現中,PointRCNN[27]被用作3D對象檢測器。與傳統方法輸入整個場景的點云不同,我們使用由實例視差轉換的實例點云作為PointRCNN的輸入。輸入點云子樣本減少到768個。
三、實驗
3.1 KITTI上3D目標檢測
KITTI目標檢測基準包含7481幅訓練圖像和7518幅測試圖像。為了評估訓練集,我們將其分為訓練和驗證集,分別包含3712和3769張圖像。目標被分為三個層次: 簡單,中等和困難,這取決于他們的二維邊界框大小,遮擋,和截斷程度。
如下表所示,在KITTI簡單模式下,我們的方法獲得了超過23.57%的改進 A P b e v AP_{bev} APbev ,IOU值為0.7。這種巨大的改進來自 pseudo-GT,即使在訓練時沒有LiDAR真值,它可以提供大量的訓練數據。
如下表所示,本文的方法比 PL*(AVOD)在IOU=0.7,簡單模式和中等模式下的 A P b e v AP_{bev} APbev 分別高7%和5%。并且,在簡單模式下 A P 3 d AP_{3d} AP3d 提升4%。
下圖展示了物體檢測、實例視差估計和視差偽GT的一些定性結果:
3.2 消融研究
如下表所示,以偽GT作為真值,我們的iDispNet比全幀PSMNet獲得更小的視差和深度誤差。使用稀疏的激光雷達點作為真值,我們的iDispNet仍然比全幀方法PSMNet和最先進的深度立體方法GANet性能更好,尤其是在對象深度RMSE誤差方面。
比較第二行和第三行,結果表明:重復使用從RPN中提取的特征限制了估計視差圖的質量,這導致iDispNet的端到端版本給出次優結果。
下圖顯示了實例視差估計的一些定性結果以及與全幀視差估計的比較。全幀PSMNet無法捕捉車輛的平滑表面和銳邊,因此導致以下3D探測器難以從不準確的點云預測正確的邊界框。相比之下,由于實例視差估計和視差偽GT的監督,我們的iDispNet提供了更準確和穩定的預測。
3.3 運行時間
顯示了我們的方法與其他立體方法的運行時間比較。我們的方法需要0.425s,幾乎超過了所有以前的立體方法。具體來說,我們的方法0.17s用于二維檢測和分割,0.13s用于實例視差估計,0.125s用于從點云進行三維檢測。這種效率歸因于僅估計ROI中的視差和僅從實例點云中估計3D邊界框,這大大減少了搜索空間。
3.4 失敗案例
下圖展示了一些故障案例,我們的3D對象檢測方法最有可能在距離太遠的對象上失敗,如圖7(a)所示,或者在圖7(b)所示的強遮擋或截斷情況下失敗。原因是這些對象上的3D點太少,檢測器無法預測正確的邊界框。我們的偽GT生成最有可能在形狀異常的物體上失敗,如圖7(c)中的汽車,它比其他汽車短得多。
四、總結
本文提出了一種基于立體圖像的三維目標檢測方法。關鍵思想是僅在檢測到的二維邊界框中估計實例級別的像素級視差,并基于從實例視差轉換而來的實例點云檢測對象。為了解決訓練數據的稀缺性和稀疏性,我們提出將從CAD模型中學習到的形狀先驗知識整合起來,生成偽GT視差作為監督。在KITTI數據集的3D檢測基準上的實驗表明,我們提出的方法在很大程度上優于現有的方法,特別是在訓練時沒有激光雷達監控的情況下。
機器學習 神經網絡
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。