01
摘要
最近,基于RGBD的類別級6D物體姿態(tài)估計(jì)在性能上取得了很大的進(jìn)步,然而,對于深度信息的需求阻礙了其更廣泛的應(yīng)用。為了解決這一問題,本文提出了一種 "物體深度重建網(wǎng)絡(luò)"(OLD-Net)的新方法。該方法僅輸入RGB圖像進(jìn)行類別級6D物體姿態(tài)估計(jì)。我們通過將類別級形狀先驗(yàn)變形為物體級深度和規(guī)范的NOCS表示,從而實(shí)現(xiàn)由單目RGB圖像中直接預(yù)測物體級深度。我們引入了兩個(gè)新的模塊,即歸一化全局位置提示(NGPH)和形狀感知解耦深度重建(SDDR)模塊,以學(xué)習(xí)高精度的物體級深度和形狀表示。最后,通過將預(yù)測的規(guī)范表征與反向投影的物體級深度對齊,解決了6D物體的姿態(tài)問題。在CAMERA25和REAL275數(shù)據(jù)集上進(jìn)行的廣泛實(shí)驗(yàn)表明,雖然我們的模型,但達(dá)到了最先進(jìn)的性能。??
02
本文主要工作
本文提出了一種基于RGB的類別級6D物體姿態(tài)估計(jì)新方法——Object Level Depth reconstruction Network(OLD-Net)。上圖右示為OLD-Net的主要管道。具體而言,從輸入的RGB圖像中同時(shí)預(yù)測物體級深度和NOCS表示,并將兩者對齊預(yù)測6D物體的姿態(tài)。與以往通過重構(gòu)網(wǎng)格預(yù)測物體區(qū)域深度的方法不同,本文采用端到端方式直接從RGB圖像中預(yù)測物體的觀測深度。
要獲得物體區(qū)域的深度,一種直接的方法是預(yù)測場景級深度。然而,由于視場的多樣性,通常預(yù)測的景深較粗,導(dǎo)致物體形狀細(xì)節(jié)的丟失。姿態(tài)估計(jì)性能也會受到影響。為了解決這一問題,我們通過直接學(xué)習(xí)變形類別級形狀先驗(yàn)重構(gòu)物體級深度。與預(yù)測場景級深度圖相比,重建對象級深度圖計(jì)算方便,能夠更好地保存形狀細(xì)節(jié),有利于后續(xù)的物體級深度和NOCS表示對齊過程。
為了更好地重構(gòu)物體級深度,在OLD-Net中提出了一種新的模塊——?dú)w一化全局位置提示(NGPH),以平衡場景級全局信息和局部特征級形狀細(xì)節(jié)。NGPH是帶相機(jī)本征的歸一化二維檢測結(jié)果,提供物體在場景中的絕對深度的全局位置線索,以及對不同相機(jī)捕捉到的圖像的泛化能力。此外,利用形狀感知解耦深度重建(SDDR)方法預(yù)測形狀細(xì)節(jié)和絕對深度。SDDR利用兩個(gè)獨(dú)立的深度網(wǎng)絡(luò)將絕對深度解耦預(yù)測為形狀點(diǎn)和深度平移。直觀上,形狀點(diǎn)是為了保留形狀細(xì)節(jié),而深度平移是為了預(yù)測絕對物體中心。
除深度外,我們進(jìn)一步采用基于RGBD的方法預(yù)測目標(biāo)對象的NOCS表示。在訓(xùn)練過程中使用鑒別器提高重建質(zhì)量。在NOCS表示和觀測到的物體級深度都被預(yù)測之后,我們將物體級深度逆向投影到點(diǎn)云中。通過Umeyama算法對它們進(jìn)行對齊,求解出6D物體姿態(tài)。我們在CAMERA25數(shù)據(jù)集和REAL275數(shù)據(jù)集上進(jìn)行了大量的實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果表明,該方法具有先進(jìn)的性能。
03
網(wǎng)絡(luò)主要結(jié)構(gòu)
主要的OLD-Net的網(wǎng)絡(luò)架構(gòu)如上圖所示。
我們的pipeline以圖像??和一個(gè)形狀先驗(yàn)??作為輸入。圖像由一個(gè)訓(xùn)練過的檢測器(Detect-Net)裁剪,用以表示物體特定的信息。采用均值嵌入的編碼器-解碼器網(wǎng)絡(luò)物體類別的形狀先驗(yàn)進(jìn)行預(yù)測,來解決類別差異的問題。
然后,將圖像和形狀先驗(yàn)輸入到OLD-Net中,重建上圖頂部所示的物體級深度。此外,OLD-Net還將來自(Detect-Net的二維檢測結(jié)果和攝像機(jī)本征信息作為輸入,并將其歸一化為NGPH。在OLD-Net中采用一種形狀感知的解耦深度重建方案來保持物體的形狀細(xì)節(jié)和絕對中心。
最后,利用深度網(wǎng)絡(luò)對NOCS表示進(jìn)行預(yù)測。然后,我們將對象級深度反向投影到點(diǎn)云中,采用Umeyama算法恢復(fù)物體姿態(tài)。
03
OLD-Net
如上圖圖OLD-Net的網(wǎng)絡(luò)結(jié)構(gòu)所示,OLD-Net以圖像、形狀先驗(yàn)和NGPH為輸入,首先使用兩個(gè)MLP和一個(gè)CNN學(xué)習(xí)圖像特征圖??,先驗(yàn)特征??,位置特征??。然后,利用這些特征,利用形狀感知解耦深度重構(gòu)(SDDR)方案同時(shí)預(yù)測形狀點(diǎn)和深度平移。最后,將形狀點(diǎn)和深度平移重新組合在一起,得到物體級深度。接下來,我們詳細(xì)介紹NGPH和SDDR。
規(guī)范化全局位置提示
我們的旨在直接從高質(zhì)量的圖像中預(yù)測物體層次的深度。實(shí)現(xiàn)這一目標(biāo)的最直接方法是預(yù)測場景級深度圖。然而,從原始圖像預(yù)測場景級深度圖的計(jì)算成本很高。此外,它還可能導(dǎo)致物體形狀細(xì)節(jié)的丟失。而形狀細(xì)節(jié)對于我們的管道非常重要,因?yàn)槲覀冃枰獙R兩個(gè)3D表示來恢復(fù)物體的姿態(tài)。因此,我們選擇以特定物體的圖像作為輸入來預(yù)測物體級深度。然而,由于裁剪和調(diào)整大小的操作,圖像失去了目標(biāo)的絕對全局位置信息,導(dǎo)致預(yù)測深度存在尺度模糊。為此,我們提出了NGPH,通過提供絕對全局位置信息和解決尺度模糊,很好地解決了這一問題。
我們選擇Detect-Net輸出的2D邊界框(l, t, r, b)的參數(shù)組成NGPH,它代表左、上、右,下二維邊界框的坐標(biāo)。這些信息足夠有效,可以提供給網(wǎng)絡(luò)來推斷尺度線索。例如,如果所有的圖像都是由同一臺相機(jī)捕獲的,則恢復(fù)物體的絕對深度。然而,圖像通常會被不同的相機(jī)收集。從單目RGB圖像中推斷出物體的絕對深度會受到相機(jī)本身的影響,這是一個(gè)常識。因此,我們提出將相機(jī)本征注入NGPH中。因此,經(jīng)過訓(xùn)練的網(wǎng)絡(luò)也可以被推廣到其他由不同相機(jī)捕捉到的圖像。我們通過將2D邊界框和攝像機(jī)intrinsic歸一化到規(guī)范坐標(biāo)中來使用它們:?其中??表示我們使用的最終NGPH。???和??表示相機(jī)光學(xué)中心坐標(biāo),??和??表示焦距。前兩個(gè)術(shù)語將對象的邊界框大小與焦距歸一化,消除了對象大小引起的尺度模糊。后四個(gè)術(shù)語使用邊界框的焦距和大小對物體的中心進(jìn)行歸一化,消除了模糊性,但保留了位置信息。該方法雖然簡單,但在對象級深度重構(gòu)中是必不可少的。實(shí)驗(yàn)結(jié)果表明,NGPH雖然簡單,但在物體層次深度重建中不可或缺。
形狀感知解耦深度重建
OLD-Net中使用的特征是重塑后的圖像特征矩陣??(其中??為像素?cái)?shù)),位置特征??,先驗(yàn)特征??。我們還應(yīng)用MLPs和自適應(yīng)池化??,得到全局圖像特征集??和全局先驗(yàn)特征集??。
形狀點(diǎn)預(yù)測:我們采用了形狀先驗(yàn)變形(SPD)的思想重構(gòu)形狀點(diǎn),這將為模型提供更多的物體形狀約束。具體來說,利用上述特征,網(wǎng)絡(luò)將學(xué)習(xí)一個(gè)形變場??,一個(gè)??,并將先前的形狀先驗(yàn)反向投影到對象級深度的點(diǎn)云中:?為了學(xué)習(xí)??,我們重復(fù)??,??,??共??次并將它們與??連接。將連接的特征輸入到MLP中以學(xué)習(xí)??。類似地,為了學(xué)習(xí)??,我們重復(fù)??,??,??共??次,并將它們與??連接。另一個(gè)MLP用于學(xué)習(xí)??。在本文中,我們使用形狀先驗(yàn)來預(yù)測對象級深度,為未來基于RGB的工作提供指導(dǎo)。
深度變換預(yù)測:為了學(xué)習(xí)物體中心的絕對位置,我們建議使用一個(gè)獨(dú)立的MLP來學(xué)習(xí)深度平移。我們連接??和??作為輸入。輸出是表示對象中心絕對深度的單個(gè)值。我們把它命名為??。
SDDR方案主要從三個(gè)方面來保留對象形狀細(xì)節(jié)。首先,由于我們只使用圖像塊來重建物體層深度,模型可以專注于物體的形狀而不是整個(gè)場景的幾何形狀。其次,形狀先驗(yàn)對物體的形狀提供了強(qiáng)大的約束,使其更容易恢復(fù)形狀細(xì)節(jié)。第三,分別學(xué)習(xí)絕對物體中心和物體形狀,并給予不同的注意。
在??和??被預(yù)測后,對象級深度可以表示為??,其中??為??的第三分量。注意,我們選擇監(jiān)督Z而不是反向投影的點(diǎn)云。因?yàn)橐环矫妫W(wǎng)絡(luò)在訓(xùn)練過程中更容易學(xué)習(xí)Z,另一方面,將Z逆向投影到點(diǎn)云上進(jìn)行對齊,物體的2D坐標(biāo)將為全局位置提供額外的約束,這也有利于最后的物體姿態(tài)的恢復(fù)步驟。
04
NOCS預(yù)測
我們還預(yù)測管道中目標(biāo)對象的NOCS表示,這是一種規(guī)范表示,用于與物體級深度對齊,以恢復(fù)6D對象姿勢。為了預(yù)測NOCS表示,我們將Z反投影到點(diǎn)云中,并將其輸入到MLP中,以獲得深度特征??。取??,??,??輸入,類似于重建對象級深度,我們使用SPD來預(yù)測NOCS表示:?然而,我們發(fā)現(xiàn)在某些情況下,??不夠真實(shí),這將影響最終的6D目標(biāo)姿態(tài)估計(jì)精度。因此我們采用對抗訓(xùn)練策略訓(xùn)練網(wǎng)絡(luò)。具體來說,我們設(shè)計(jì)了一個(gè)判別器來判斷預(yù)測的NOCS表示是否足夠真實(shí)。判別器的優(yōu)化目標(biāo)可表示為:?同樣,NOCS預(yù)測網(wǎng)絡(luò)的優(yōu)化目標(biāo)??:??在訓(xùn)練過程中,對判別器和NOCS預(yù)測網(wǎng)絡(luò)的參數(shù)進(jìn)行迭代更新。兩個(gè)網(wǎng)絡(luò)都將通過對抗變得越來越強(qiáng)大。因此,預(yù)測的NOCS表現(xiàn)也會變得越來越現(xiàn)實(shí)。
05
損失函數(shù)
對于物體級深度重建,我們使用Z和真實(shí)值的L1損失:?對于NOCS表示預(yù)測,我們使用損失函數(shù)包括重建的NOCS表示和真實(shí)值之間的平滑L1 loss ??,倒角距離損失??,交叉熵?fù)p失??,以鼓勵(lì)分配矩陣xmnocs的峰值分布,L2正則化損失。我們使用的總損失函數(shù)為:?
06
實(shí)驗(yàn)
我們通過PyTorch實(shí)現(xiàn)我們的方法,并使用Adam優(yōu)化器對其進(jìn)行優(yōu)化。我們在訓(xùn)練過程中隨機(jī)選擇1024像素來預(yù)測深度。Detect-Net是Mask-RCNN。使用帶有ResNet-18骨干的PSPNet來學(xué)習(xí)圖像特征。形狀先驗(yàn)點(diǎn)數(shù)為1024。我們設(shè)C = 64, ???= 1024。該模型訓(xùn)練50個(gè)epoch,批次大小為96。主網(wǎng)絡(luò)的初始學(xué)習(xí)率為0.0001,第40個(gè)epoch的衰減率為0.1。我們在CAMERA25數(shù)據(jù)集和REAL275數(shù)據(jù)集上進(jìn)行了實(shí)驗(yàn)。
重建質(zhì)量評價(jià):
在我們的工作中,主要思想是重建物體級深度和NOCS表示。因此,我們首先在表1中評估我們方法的重構(gòu)質(zhì)量。計(jì)算反向投影深度與地面真實(shí)值之間的倒角距離,驗(yàn)證深度重建的質(zhì)量。我們也計(jì)算預(yù)測的NOCS值與真實(shí)NOCS值之間的倒角距離評價(jià)NOCS預(yù)測質(zhì)量。
如上表所示對于物體級深度重構(gòu),REAL275數(shù)據(jù)集的誤差小于2cm。對于NOCS預(yù)測,REAL275數(shù)據(jù)集的誤差也接近2cm。與我們的大物體尺寸和景深相比,2厘米是一個(gè)相對較小的尺度誤差。因此,我們可以得出結(jié)論,我們的方法確實(shí)具有良好的物體級深度重構(gòu)質(zhì)量和NOCS表示預(yù)測質(zhì)量。在CAMERA25數(shù)據(jù)集上,大多數(shù)類別的NOCS表示預(yù)測誤差仍在2cm以下。然而,物體級深度構(gòu)造誤差增加到3cm到5cm。其原因可能是在較大的合成數(shù)據(jù)集中存在較大的深度分布方差。這一觀察結(jié)果還表明,重構(gòu)物體級深度比預(yù)測NOCS表示更難。
6D位姿估計(jì)的定量結(jié)果:
我們將我們的方法與下表中最先進(jìn)的方法進(jìn)行定量比較。
我們首先將我們的方法與Lee et al.在CAMERA25數(shù)據(jù)集上進(jìn)行比較。Lee等人通過首先重建網(wǎng)格,然后將網(wǎng)格渲染成深度圖來預(yù)測深度。相比之下,我們選擇直接重構(gòu)對象級深度,這更簡單,也更有效。我們可以看到,我們的方法在6個(gè)指標(biāo)中的4個(gè)指標(biāo)上優(yōu)于Lee et al.。在最嚴(yán)格的10?10cm度量,我們的方法超過Lee等人4.2分,這是一個(gè)顯著的改進(jìn)。在IoU25和IoU50指標(biāo)上,盡管我們的結(jié)果略低于Lee等人,但我們?nèi)匀粚?shí)現(xiàn)了相當(dāng)?shù)男阅?。這些結(jié)果表明,使用我們的SDDR方案和NGPH重構(gòu)對象級深度是比重構(gòu)對象網(wǎng)格更好的選擇。主要原因可能是,如果深度平移和形狀點(diǎn)解耦,網(wǎng)絡(luò)更容易學(xué)習(xí)有用的信息,如物體的形狀細(xì)節(jié)或物體的絕對中心。
為了進(jìn)一步驗(yàn)證我們重構(gòu)物體級深度比估計(jì)場景級深度的動(dòng)機(jī)和好處,我們將我們的方法與下表中的兩個(gè)場景級深度估計(jì)基線進(jìn)行比較。場景級基線-1和場景級基線-2共享相同的編碼器-解碼器網(wǎng)絡(luò)架構(gòu)。不同的是,在訓(xùn)練時(shí),場景級基線-1與NOCS重構(gòu)分支共享編碼器,而場景級基線-2獨(dú)立訓(xùn)練深度估計(jì)器。這兩個(gè)網(wǎng)絡(luò)都經(jīng)過精心調(diào)優(yōu),以實(shí)現(xiàn)最佳性能。下表顯示了OLD-Net顯著優(yōu)于兩個(gè)場景級基線。原因可能是由預(yù)測的物體級深度OLD-Net在保存形狀細(xì)節(jié)方面比粗糙的場景級深度要好得多,而形狀細(xì)節(jié)對于NOCS深度對齊過程至關(guān)重要。
所有這些結(jié)果都證明了我們的方法的優(yōu)越性。此外,我們還在下圖中展示了3D IoU、旋轉(zhuǎn)誤差和平移誤差的不同閾值下的平均精度(AP)圖。我們將我們的方法與基于rgbd的NOCS方法進(jìn)行比較。從圖中可以看出,我們的方法在所有類別的IoU和旋轉(zhuǎn)方面都表現(xiàn)出色。旋轉(zhuǎn)預(yù)測的優(yōu)異性能很大程度上是由于我們將形狀點(diǎn)解耦到深度之外,以保留形狀細(xì)節(jié)。在對準(zhǔn)中,旋轉(zhuǎn)是否準(zhǔn)確主要取決于物體形狀的質(zhì)量。因此,我們的模型在旋轉(zhuǎn)預(yù)測方面甚至達(dá)到了與基于rgbd的方法相當(dāng)?shù)男阅?。相比之下,基于rgbd的預(yù)測結(jié)果相對較低。這是因?yàn)閺膯文縍GB圖像中恢復(fù)物體的絕對全局位置是一個(gè)問題。因此,今后的工作應(yīng)更加重視獲得更精確的絕對深度預(yù)測。
6D位姿估計(jì)的定性結(jié)果:
為了定性分析我們方法的有效性,我們將估計(jì)的邊界框可視化,如下圖所示。給出了綜合數(shù)據(jù)和實(shí)際數(shù)據(jù)的計(jì)算結(jié)果??梢钥闯觯琌LD-Net可以預(yù)測的物體邊界框,這對于增強(qiáng)現(xiàn)實(shí)產(chǎn)品來說是足夠準(zhǔn)確的。在下圖中我們還展示了一些失敗案例。OLDNet有時(shí)可能會漏掉物體。我們把解決它作為我們未來的工作。
07
消融實(shí)驗(yàn)
Vanilla?SPD:
我們采用SPD來學(xué)習(xí)SDDR中的形狀點(diǎn)。人們可能會想,我們的模型的良好性能是否來自于SPD,而不是我們設(shè)計(jì)的其他模塊。因此,我們展示了僅使用普通SPD模塊(不使用OLD-Net,不使用SDDR,僅使用SPD直接預(yù)測對象級深度的反向投影點(diǎn)云)時(shí)的性能。沒有我們的其他設(shè)計(jì),Vanilla SPD的性能很差。
SDDR方案的影響:
在本文中,SDDR被引入,將物體級深度解耦為深度轉(zhuǎn)換和形狀點(diǎn)。與Vanilla SPD相比,我們在下表中的所有模型版本都采用了SDDR方案,因此,它們的性能在很大程度上得到了改善。
表中的第3行,我們沒有使用兩個(gè)單獨(dú)的模塊來獨(dú)立學(xué)習(xí)深度轉(zhuǎn)換和形狀點(diǎn),而是使用一個(gè)單一的模塊直接預(yù)測絕對的物體級深度。我們發(fā)現(xiàn),IoU25指標(biāo)和IoU50指標(biāo)下降了很多。這可能是因?yàn)槿绻话焉疃冉怦畛鰜?,網(wǎng)絡(luò)可能會丟失物體的細(xì)節(jié),如物體的長寬高比例或一些特定的物體成分。此外,在第4行,我們顯示了用MLP代替SPD來預(yù)測形狀點(diǎn)的結(jié)果,即直接回歸NOCS和物體級深度。很明顯,所有的指標(biāo)都有明顯的下降。這個(gè)結(jié)果證明了在SDDR中采用SPD是非常必要的。SPD為模型提供了關(guān)于物體形狀的強(qiáng)大約束。請注意表的第3行和第4行,雖然我們刪除了一些設(shè)計(jì),但屬于物體的像素的二維坐標(biāo)仍被用于反向投影(它也是SDDR的一部分),這將為絕對深度提供額外的約束。否則,性能會更差,如表第2行所示,它直接預(yù)測了物體點(diǎn)云。總之,SDDR方案在OLD-Net中對物體形狀細(xì)節(jié)的保存和絕對物體中心的預(yù)測都起著重要的作用。
NGPH的影響:
由于我們的模型只采取RGB圖像來預(yù)測深度以保存形狀細(xì)節(jié),全局位置信息將被丟失。為了彌補(bǔ)這一缺陷,我們將NGPH注入到我們的網(wǎng)絡(luò)中。在表的第5行中,我們將NGPH從我們的網(wǎng)絡(luò)中移除,以研究其影響。當(dāng)它被移除后,所有的指標(biāo)都下降了很多。這是因?yàn)椋瑳]有NGPH,網(wǎng)絡(luò)就很難預(yù)測絕對深度。盡管三維點(diǎn)之間的相對位置可以從圖像中推斷出來,但錯(cuò)誤的絕對深度會使我們很難通過對齊來準(zhǔn)確恢復(fù)物體的姿勢。
我們采用對抗性訓(xùn)練策略來提高預(yù)測的NOCS表示的質(zhì)量。當(dāng)它被移除時(shí),如表的倒數(shù)第二行所示,除了10?指標(biāo)外,所有指標(biāo)都下降了。這一結(jié)果證明了對抗性訓(xùn)練對于提高性能是必要的。它還表明,NOCS表示的質(zhì)量和對象層面的深度都很重要。兩者都不能被忽視。
08
總結(jié)
本文提出了一種新的基于rgb的類別級6D目標(biāo)位姿估計(jì)網(wǎng)絡(luò)OLD-Net。利用形狀先驗(yàn)直接預(yù)測物體層次深度是我們研究的關(guān)鍵。在OLD-Net中引入了歸一化全局位置提示和形狀感知解耦深度重構(gòu)方案。我們還使用對抗性訓(xùn)練預(yù)測管道中對象的規(guī)范NOCS表示。在真實(shí)數(shù)據(jù)集和合成數(shù)據(jù)集上的大量實(shí)驗(yàn)表明,我們的方法可以實(shí)現(xiàn)新的最先進(jìn)的性能。
編輯:黃飛
?
評論
查看更多