RandomRooms:用于3D目標檢測的無(wú)監督預訓練方法(ICCV2021)
論文標題:RandomRooms: Unsupervised Pre-training from Synthetic Shapes and Randomized Layouts for 3D Object Detection
論文地址:https://arxiv.org/abs/2108.07794
摘要:近年來(lái),三維點(diǎn)云理解取得了一定的進(jìn)展。然而,一個(gè)主要的瓶頸是有注釋的真實(shí)數據集的稀缺,尤其是與2D目標檢測任務(wù)相比,因為對注釋場(chǎng)景的真實(shí)掃描需要大量的人力。解決這一問(wèn)題的一個(gè)方法是利用由計算機輔助設計對象模型組成的合成數據集來(lái)實(shí)現在真實(shí)數據集上的學(xué)習,上述方法可以采用預訓練和微調程序實(shí)現。但是,當將在合成目標上學(xué)習的特征轉移到真實(shí)世界中應用時(shí),往往會(huì )失敗。在這項工作中,研究人員提出了一種新的方法,通過(guò)利用合成計算機輔助設計數據集中的目標來(lái)生成場(chǎng)景的隨機布局,并且通過(guò)對從同一組合成目標生成的兩個(gè)隨機場(chǎng)景應用object-level對比學(xué)習來(lái)學(xué)習3D場(chǎng)景表示,用于為后期微調提供更好的初始化。從經(jīng)驗上看,該方法在幾個(gè)基本模型上的下游3D檢測任務(wù)上的性能具有提升,尤其是當使用較少的訓練數據時(shí),上述結果證明了該研究方法的有效性和通用性。通過(guò)運用豐富的語(yǔ)義知識和合成數據的多樣化對象,研究人員的方法在廣泛使用的3D檢測基準ScanNetV2和SUN RGB-D上獲取了當前最好的性能。研究人員期望該方法有望為目標和場(chǎng)景級別的3D理解提供新的視角。
研究貢獻:
在這項工作中,研究人員提出了一個(gè)新的框架,旨在對下游3D對象檢測任務(wù)進(jìn)行微調之前,先使用合成CAD模型數據集(即ShapeNet)進(jìn)行三維預訓練。為此,研究人員提出了RandomRooms的方法,其中,研究人員建議使用從ShapeNet數據集中隨機抽樣的一組對象生成兩種不同的場(chǎng)景布局,然后在object-level對兩者進(jìn)行對比學(xué)習。
研究方法:
1.合成對象
與ScanNetV2相比,ScanNetV2包含17個(gè)類(lèi)別的15000個(gè)對象,ShapeNet提供更為豐富的數據源,包含55個(gè)類(lèi)別的52000個(gè)對象。因此,本研究的主要目標是研究如何使用ShapeNet收集的合成CAD模型來(lái)改進(jìn)下游任務(wù),如真實(shí)數據集上的3D檢測和分割。
現有研究不足:之前的研究工作直接在ShapeNet上進(jìn)行預訓練無(wú)法提高下游檢測和分割任務(wù)的性能,主要原因可能是ShapeNet上的單個(gè)對象分類(lèi)任務(wù)與真實(shí)數據集上的多對象局部化任務(wù)之間存在差距。為了彌補這一差距,研究人員建議利用合成對象生成偽場(chǎng)景(RandomRooms),以構建有助于場(chǎng)景級理解的訓練數據。
具體操作步驟:
1)對象增強:研究人員首先將對象調整為[0.5m,2.0m]的隨機大小,以確保對象與ScanNetV2中的對象具有相似的大小。然后,研究人員應用了常用的對象點(diǎn)云掃描技術(shù),包括旋轉等。
2)布局生成:為了便于生成布局,研究人員將對象放置在矩形房間中。房間的大小根據增強對象的總面積自適應調整。布局基于兩個(gè)簡(jiǎn)單的原則生成:(1)不重疊:任何兩個(gè)對象不應占據房間中的同一空間;(2)根據重力原則,物體不應漂浮在空中,較大的物體不應置于較小的物體之上。對于每個(gè)對象,研究人員首先隨機選擇X-Y平面上滿(mǎn)足上述原則的位置,然后根據位置的當前最大高度確定位置(Z值)。如果當前位置的最大高度超過(guò)2米,物體將不會(huì )被放置在某個(gè)位置。
3)場(chǎng)景增強:研究人員對整個(gè)場(chǎng)景應用數據增強,如繞Z軸旋轉等。為了使生成的場(chǎng)景更接近真實(shí)場(chǎng)景,研究人員還添加了地板和墻壁作為混淆因素。
示例圖像如下圖所示。
2.運用Random Rooms進(jìn)行表示學(xué)習
為了利用生成的隨機房間,研究人員設計了一種object-level對比學(xué)習(OCL)方法,該方法學(xué)習區分性表示而無(wú)需類(lèi)別標注,整體框架如下圖所示。
研究中給定n個(gè)隨機采樣對象,根據上述步驟生成2個(gè)隨機房間,采用點(diǎn)云編碼器-****網(wǎng)絡(luò )提取設定的2個(gè)場(chǎng)景中的特征。為了獲得每個(gè)對象的特征,研究中對屬于該對象的每點(diǎn)特征應用平均池化操作:
然后類(lèi)似于對比學(xué)習中的常見(jiàn)做法,使用多層感知器和L2歸一化將對象特征投影到單位超球面上,Object-level對比學(xué)習目標可以寫(xiě)成:
實(shí)驗:
表示學(xué)習的一個(gè)主要目標是學(xué)習能夠轉移到下游任務(wù)的表征。為了將研究人員的Random Rooms方法應用于對于場(chǎng)景級別的理解(如3D目標檢測),研究人員結合了無(wú)監督預訓練和監督微調。具體來(lái)說(shuō),研究人員首先使用本研究方法在ShapeNet上預訓練主干模型,然后使用預訓練的權重作為初始化,并在下游3D對象檢測任務(wù)中進(jìn)一步微調模型。
(1) 預訓練設置
研究人員對ShapeNet進(jìn)行了預訓練,ShapeNet是一個(gè)由55個(gè)常見(jiàn)類(lèi)別的3D CAD模型表示的具有豐富注釋的形狀組成的數據集。要生成隨機房間,研究人員首先需要從數據集中隨機采樣多個(gè)對象。研究人員采樣的對象數是一個(gè)從12到18的隨機整數,與ScanNetV2場(chǎng)景中的平均對象數相似。然后,對于每個(gè)采樣對象,研究人員執行隨機房間生成算法,采用object-level對比學(xué)習損失以無(wú)監督的方式對模型進(jìn)行訓練.
對于下游3D目標檢測任務(wù),研究人員使用了其他研究中的主干模型,該模型以40000個(gè)點(diǎn)作為輸入點(diǎn)。根據相應的網(wǎng)絡(luò )模型配置,研究人員使用1024點(diǎn)特征作為主干模型的輸出,并對該特征進(jìn)行對比學(xué)習。在訓練期間,研究人員使用初始學(xué)習率為0.001的Adam優(yōu)化器,對模型進(jìn)行了300個(gè)epoch的訓練,在第100次和第200次epoch時(shí),學(xué)習率乘以0.1,batch size設置為16,這樣在每次迭代中,大約200~300個(gè)對象參與對比學(xué)習。
(2) 3D物體檢測
數據集:研究人員在兩個(gè)廣泛使用的3D檢測基準上進(jìn)行了實(shí)驗,ScanNetV2和SUNRGBD。ScanNetV2是一個(gè)具有豐富注釋的室內場(chǎng)景三維重建網(wǎng)格數據集。它包含1513個(gè)掃描和重建的真實(shí)場(chǎng)景,由18個(gè)不同大小和形狀的不同類(lèi)別的對象組成。目前,它是使用輕型RGB-D掃描程序創(chuàng )建的最大的一個(gè)數據集。然而,與2D視覺(jué)中的數據集相比,它的規模仍然小得多。研究人員將整個(gè)數據集劃分為兩個(gè)子集,分別有1201和312個(gè)場(chǎng)景,用于以下訓練和測試。
SUN RGB-D是用于三維場(chǎng)景理解的單視圖RGB-D數據集。它包含10335個(gè)室內RGB和深度圖像,帶有對象邊界框和帶有10種不同對象類(lèi)別的語(yǔ)義標簽。研究人員也嚴格遵循相應的拆分方法,5285個(gè)樣本作為訓練數據,5050個(gè)樣本作為測試數據。
檢測模型:研究人員將本方法與最近提出的兩種最先進(jìn)的方法進(jìn)行了比較:一種是VoteNet,另一個(gè)是H3DNet。它們都以無(wú)色的3D點(diǎn)云作為輸入。研究人員還將GSPN、3D-SIS、DSS、F-PointNet、2D-driven和Cloud of gradient等使用其他類(lèi)型的信息進(jìn)行目標檢測的信息納入比較。
消融研究:如下表所示,研究人員進(jìn)行了三組消融研究,都是在以VoteNet為主干的 ScanNetV2數據集上進(jìn)行的,使用mAP@0.25作為評估指標。
首先研究執行預訓練的數據集的選擇。研究人員發(fā)現在ShapeNet或ScanNetV2上進(jìn)行預訓練都可以提高性能,然而,由于ShapeNet的規模更大,即來(lái)自更多樣化類(lèi)別的樣本,與ScanNetV2相比,對其進(jìn)行預訓練可以獲得更好的結果。此外,研究中展示了組合兩個(gè)數據集以幫助預訓練的可能性,擁有來(lái)自?xún)蓚€(gè)數據集的對象,與使用單個(gè)數據集相比,可以獲得更好的微調結果。同時(shí),研究人員研究了用于預訓練的損失函數的影響。與PointContrast使用的point-level對比損失相比,可以通過(guò)instance-level對比損失獲得更好的預訓練結果。這表明object-level對比學(xué)習可以通過(guò)結合更多instance-level知識更好地幫助下游定位任務(wù)。此外,由于ShapeNet中對象的標簽易于訪(fǎng)問(wèn),還通過(guò)為對象的所有點(diǎn)分配相應的對象標簽來(lái)增加額外的分割損失。上述說(shuō)明該研究中的無(wú)監督預訓練策略可以實(shí)現與合成數據集上的監督預訓練相當的性能。
可視化:通過(guò)可視化在VoteNet的檢測結果,如下圖所示,預訓練的模型可以產(chǎn)生更準確的檢測結果,錯誤更少,并且更接近于真實(shí)邊界框??梢暬慕Y果進(jìn)一步證實(shí)了所提出方法的有效性。
總結:
該研究提出了一種新的框架,RandomRoom,應用于3D預訓練,它可以利用合成的CAD模型數據集來(lái)幫助在高級3D對象檢測任務(wù)中學(xué)習真實(shí)數據集。與之前在點(diǎn)級別執行對比學(xué)習的工作不同,該研究通過(guò)從CAD模型數據集中隨機采樣的同一組對象組合兩個(gè)不同的場(chǎng)景,在object-level執行對比學(xué)習,并在多個(gè)基礎模型的3D檢測任務(wù)中提升了性能,尤其是在使用較少訓練數據時(shí)。通過(guò)運用豐富的語(yǔ)義知識和合成數據的多樣化對象,研究人員的方法在廣泛使用的3D檢測基準ScanNetV2和SUN RGB-D上獲取了當前最好的性能。除了這項工作,該研究可以為未來(lái)的研究開(kāi)辟一條新途徑,即如何利用易于訪(fǎng)問(wèn)的合成對象來(lái)執行更復雜的3D場(chǎng)景理解任務(wù)。
備注:作者也是我們「3D視覺(jué)從入門(mén)到精通」特邀嘉賓:一個(gè)超干貨的3D視覺(jué)學(xué)習社區
*博客內容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀(guān)點(diǎn),如有侵權請聯(lián)系工作人員刪除。