Kubric: A scalable dataset generator
CVPR2022
https://arxiv.org/abs/2203.03570
Submitted 7 March, 2022; originally announced March 2022.
數(shù)據(jù)是機器學習的驅動力,訓練數(shù)據(jù)的數(shù)量和質量對系統(tǒng)的性能往往比體系結構和訓練細節(jié)更重要。但大規(guī)模收集、處理和注釋真實數(shù)據(jù)是困難的、昂貴的,而且經(jīng)常會引發(fā)額外的隱私、公平性和法律問題。合成數(shù)據(jù)是一個強大的工具,有可能解決這些缺點:1)成本低廉2)支持豐富的事實注釋3)提供對數(shù)據(jù)的完全控制,4)可以規(guī)避或緩解偏見、隱私和許可方面的問題。不幸的是,用于有效數(shù)據(jù)生成的軟件工具不如用于架構設計和訓練的軟件工具成熟,這導致生成工作支離破碎。為了解決這些問題,我們引入了Kubric,這是一個開源Python框架,它與Pybill和Blender接口,生成具有豐富注釋的照片逼真場景,并無縫擴展到分布在數(shù)千臺機器上的大型作業(yè),并生成TBs數(shù)據(jù)。我們通過展示一系列13種不同生成的數(shù)據(jù)集來展示Kubric的有效性,這些數(shù)據(jù)集用于從研究3D NeRF模型到光流估計的任務。我們發(fā)布了Kubric、使用的資產(chǎn)、所有生成代碼以及呈現(xiàn)的數(shù)據(jù)集,以供重用和修改。
1.引言
高質量的大規(guī)模數(shù)據(jù)對深度學習至關重要??梢哉f,它與許多體系結構和訓練細節(jié)一樣重要,甚至更重要。然而,即使對于許多簡單的視覺任務,收集和管理足夠數(shù)量的數(shù)據(jù)仍然是一項艱巨的挑戰(zhàn)。一些關鍵障礙包括高質量、詳細注釋、數(shù)據(jù)多樣性、對任務域復雜性的控制,以及對隱私、公平性和許可的擔憂[4]。本文提倡使用合成數(shù)據(jù)來規(guī)避其中的許多問題,為此,我們引入了Kubric,這是一個開源管道,用于生成具有豐富的真值標簽的真實圖像和視頻數(shù)據(jù),用于無數(shù)視覺任務。
長期以來,合成數(shù)據(jù)一直被用于基準評估(例如光流[6,7]),因為它支持豐富的真值注釋和對數(shù)據(jù)復雜性的細粒度控制。它還可以在違反模型假設(例如剛性)的情況下進行系統(tǒng)的模型評估。合成數(shù)據(jù)也被有效地用于訓練。這包括RGBD[85]在3D人體姿勢估計方面的開創(chuàng)性工作,以及最近在無數(shù)任務方面的開創(chuàng)性工作,包括面部關鍵點檢測[103]、視頻中的人體姿勢[24]和語義分割[116]。照片真實感通常被認為是縮小泛化差距的關鍵,但即使沒有完美的真實感,合成數(shù)據(jù)也可以非常有效(例如,飛椅[26]、MPI Sintel[13]和最近的AutoFlow[89])。
不幸的是,用于數(shù)據(jù)生成的有效軟件工具不如用于架構設計和訓練的成熟。因此,毫不奇怪,大多數(shù)生成工作雖然成本高昂,但都是一次性的,而且是針對特定任務的。盡管設計和開發(fā)具有挑戰(zhàn)性,但我們需要的是一個用于照片真實感生成的通用框架,該框架支持大規(guī)模重用、復制和共享資產(chǎn),支持同時在數(shù)千臺機器上執(zhí)行大型作業(yè)的工作流。Kubric使用一致的框架、簡單的Python API和全套大規(guī)模生成工具解決了這些問題,集成了來自多個來源的資產(chǎn),使用通用的導出數(shù)據(jù)格式將數(shù)據(jù)移植到訓練管道中,并為無數(shù)的vision任務提供了豐富的注釋??傊?,我們的主要貢獻是:
?????我們介紹了Kubric,這是一個為無數(shù)視覺任務生成照片真實感合成數(shù)據(jù)集的框架,具有對數(shù)據(jù)復雜性的細粒度控制和豐富的真值注釋。
?????Kubric支持大規(guī)模生成,在數(shù)千臺機器上無縫運行大型作業(yè),以標準導出數(shù)據(jù)格式生成TB的數(shù)據(jù)。
?????Kubric的多功能性體現(xiàn)在為新的視覺挑戰(zhàn)問題創(chuàng)建了13個數(shù)據(jù)集,包括3D NeRF模型到光流估計,以及基準測試結果。
2????相關工作
合成數(shù)據(jù)為許多圖像任務提供了高質量的標簽,如語義[16]和實例[102]分割、文本定位[37]、對象檢測[40]和分類[32]。有許多大型合成數(shù)據(jù)集,例如用于特定任務的CLEVR[44]、ScanNet[21]、SceneNet RGB-D[65]、NYU v2[67]、SYNTHIA[80]、virtual KITTI[33]和flying things 3D[64]。然而,這些數(shù)據(jù)集很少包含所有圖像任務的所有可能注釋,缺少關鍵信號,如相機姿勢、實例或語義分割遮罩,或光流。這對于多任務問題尤其具有挑戰(zhàn)性,比如用語義分割聯(lián)合訓練神經(jīng)場景模型[118]。此外,固定數(shù)據(jù)集可能會引入偏見[94,95],例如以對象為中心的偏見[71]和攝影師的偏見[5]。相比之下,Kubric會自動為每一幀生成圖像提示( image cues),并輕松支持各種視角和照明條件。
專門的合成數(shù)據(jù)管道。
有許多手工制作的合成數(shù)據(jù)生成管道[37、49、66]是由Blender[9]和Unity3D[11]等渲染引擎構建的。雖然這些管道可以緩解視角和照明方面的偏差,但它們通常專門用于特定任務。這使得在不深入了解底層渲染引擎的情況下,調(diào)整它們以提供額外的注釋具有挑戰(zhàn)性。真實世界到sim卡管道通過3D掃描捕獲真實世界的數(shù)據(jù),然后將其轉換為合成數(shù)據(jù)格式。[56]創(chuàng)建高質量的房間場景,但有許多手動步驟,包括姿勢對齊和材質指定。[27]還利用3D掃描,并提供對廣泛場景參數(shù)的控制,包括相機位置、視野和照明,以及許多每幀圖像線索。雖然這些方法為特定捕獲的場景生成高質量數(shù)據(jù),但管道仍然依賴于整個場景的3D掃描,這給規(guī)?;瘞砹似款i。
通用數(shù)據(jù)集創(chuàng)建管道。通用合成數(shù)據(jù)管道(如Kubric)旨在通過支持3D資源集合中網(wǎng)格、紋理、預先存在的場景等的任意隨機組合來解決這些問題。這減輕了現(xiàn)實世界到sim管道的一些擴展考慮,并且更容易支持來自不同數(shù)據(jù)集的資產(chǎn)組合。這些管道的尺寸各不相同(見表1)。一個重要的區(qū)別是使用渲染引擎,光線跟蹤引擎支持全局照明和其他高級照明效果,這比光柵化引擎具有更高的逼真度,但計算量更大。大多數(shù)通用合成數(shù)據(jù)生成管道(如[53、83、84、93、106])都是建立在光柵化基礎上的,這使得它們非??焖?,通??梢栽谝慌_GPU機器上生成整個數(shù)據(jù)集。3DeWord(34)是一個很好的例子,這種引擎具有靈活的Python API,綜合出口能力,以UnyD3D為基礎的光柵化引擎,英偉達Flex(61)物理模擬器,甚至聲音生成通過pyEngress(96)。范圍最接近Kubric的框架是BlenderProc[23]:一種基于光線跟蹤的管道,構建在Blender上,支持生成高質量的渲染和綜合注釋,以及剛體物理模擬。主要區(qū)別在于Kubric專注于將工作負載擴展到多個工作人員,以及與tensorflow數(shù)據(jù)集的集成。
3.基礎設施
Kubric是一個高級python庫,在渲染引擎、物理模擬器和數(shù)據(jù)導出基礎設施之間起著粘合作用;參見圖2。它的主要貢獻是簡化過程,減少希望生成和共享合成數(shù)據(jù)的研究人員面臨的障礙和摩擦。
3.1. 設計原則
開放。
數(shù)據(jù)生成代碼應該可以被學術界和工業(yè)界的研究人員免費使用。Kubric通過開放源代碼和Apache2許可證來解決這個問題,并且只使用具有類似許可證的軟件。再加上免費3D資源和紋理的使用,研究人員不僅可以共享數(shù)據(jù),還可以讓其他人復制和修改數(shù)據(jù)。
易于使用。
計算機圖形格式、慣例和接口的碎片化是設置和重用數(shù)據(jù)生成代碼的主要難點。Kubric通過提供一個簡單的面向對象API接口,在后臺使用PyBullet和Blender,將設置、數(shù)據(jù)傳輸?shù)膹碗s性隱藏起來,并保持同步,從而最大限度地減少了這種摩擦。我們還提供來自各種數(shù)據(jù)源的預處理3D資產(chǎn),這些資產(chǎn)可以以最小的工作量使用。
逼真
為了最大限度地發(fā)揮作用,數(shù)據(jù)生成器應該能夠盡可能多地建模真實數(shù)據(jù)的結構和復雜性。Blender的Cycles raytracing engine支持高水平的真實感,可以模擬復雜的視覺現(xiàn)象,如反射、折射、間接照明、次表面散射、運動模糊、景深等。研究這些效果非常重要,它們也有助于縮小泛化差距。
可規(guī)?;?。
數(shù)據(jù)生成工作負載可以從簡單的玩具數(shù)據(jù)原型到生成大量高分辨率視頻數(shù)據(jù)。為了支持這一系列用例,Kubric被設計成無縫地從本地工作流擴展到在云中的數(shù)千臺機器上運行大型作業(yè)。
便攜且可復制。
為了促進數(shù)據(jù)生成代碼的重用,重要的是管道易于設置并產(chǎn)生相同的結果——即使在不同的機器上執(zhí)行時也是如此。這一點尤其重要,因為安裝Blender Python模塊非常困難[31],而且版本之間存在很大差異。通過分發(fā)Kubric Docker映像,我們確保了可移植性,并消除了大部分安裝痛苦。
數(shù)據(jù)導出。
默認情況下,Kubric會導出一組豐富的真值注釋,從分割、光流、曲面法線和深度圖,到對象軌跡、碰撞事件和相機參數(shù)。我們還介紹了SunDs(見第3.4節(jié)),這是一個統(tǒng)一的多任務前端,用于基于場景的豐富注釋數(shù)據(jù)。
3.2. 庫布里克工人——圖3
典型的Kubric工作流包括編寫工作腳本,創(chuàng)建、模擬和渲染單個隨機場景。然后,通過多次運行這個worker,然后收集生成的數(shù)據(jù)來生成完整的數(shù)據(jù)集。這種獨立場景的劃分反映了大多數(shù)數(shù)據(jù)集的i.i.d.結構,并支持將生成過程從本地原型擴展到大量并行作業(yè);e、 g.使用谷歌云平臺(GCP),我們?yōu)槠涮峁┓奖愕膯幽_本。我們還計劃支持Apache Beam管道,該管道將數(shù)據(jù)集的生成、收集和后處理結合到一個方便(但最終難以調(diào)試)的工作流中。
場景結構。
每個工作人員設置一個場景對象,該對象跟蹤全局設置(例如,分辨率、要渲染的幀數(shù)、重力)、一個攝影機和所有對象,包括燈光、材質、動畫等,我們統(tǒng)稱為資源。它們是Kubric中用于控制場景內(nèi)容的主要抽象,每個抽象都暴露了一組屬性,例如位置、速度或顏色。將對象添加到場景中的每個實例時,會將對象添加到相應的場景中。目前,它包括PyBullet模擬器和Blender渲染器,但Kubric可以擴展以支持其他視圖(例如,最近開源的MuJoCo)。此外,還會自動與所有連接到KU的屬性的數(shù)據(jù)鏈接進行通信。這樣,用戶只需使用Kubric提供的抽象,而不必擔心接口或約定的差異。
模擬器。
對于物理模擬,我們與在機器人技術中廣泛使用的開源PyBullet物理引擎[18]接口(例如[43,46,107])。它可以在填充場景時使用,以確保對象不重疊,但主要用于運行(剛體)模擬,并將生成的軌跡轉換為關鍵幀和碰撞事件列表。Bullet還可以處理被操縱的模型、軟體模擬和庫布里克尚不支持的各種約束。
渲染器。
Kubric使用bpy模塊作為Blender的接口,Blender是一種功能強大的開源3D計算機圖形渲染器,廣泛用于游戲開發(fā)和視覺效果。Blender還提供了一個功能強大的UI,可用于以交互方式調(diào)試和調(diào)整場景,以及創(chuàng)建和導出新資源。對于渲染,我們依靠cycles——Blender的光線跟蹤引擎——與光柵化渲染引擎不同,它支持全局照明,精確捕捉軟陰影、反射、折射和次表面散射等效果。這些效果對于視覺真實感至關重要,再加上Blender的大量其他功能,它們使藝術家能夠創(chuàng)建具有照片真實感的3D對象和場景。缺點是,周期可能比光柵化渲染引擎慢幾個數(shù)量級,但對于Kubric來說,我們認為這種計算成本是一種值得權衡的權衡,以換取增加的真實感和系統(tǒng)研究復雜視覺效果的能力。
注釋。
Blender的另一個重要功能是使用專門的渲染過程來計算輔助真值信息。我們利用此功能導出(除RGB圖像外)1個深度圖、2個實例分割、3個光流、4個曲面法線和5個對象坐標(見圖1)。除了這些圖像空間注釋,Kubric還自動收集以對象為中心的元數(shù)據(jù),例如2D/3D軌跡、2D/3D邊界框、速度、質量、摩擦力、相機參數(shù)、碰撞事件以及自定義元數(shù)據(jù)。
3.3. 資產(chǎn)
創(chuàng)建合成場景的一個限制因素是高質量3D資源的可用性。存在多個資產(chǎn)集合,但它們的使用通常需要大量清理和轉換,以使它們與給定管道兼容。Kubric在一個公共的谷歌云存儲桶中提供了幾個經(jīng)過預處理的資產(chǎn)集合。使用這些資產(chǎn)就像用kb更改資產(chǎn)源的路徑一樣簡單。資產(chǎn)來源(路徑)。在核心級別,每個數(shù)據(jù)集源都與一個清單相關聯(lián)。json文件存儲高級聚合信息,無需遍歷整個文件夾結構。清單中每個條目的“id”屬性與包含資產(chǎn)數(shù)據(jù)的存檔文件一一對應。每個檔案都包含一個JSON文件,其中包含特定對象的詳細元數(shù)據(jù),包括用于渲染、碰撞檢測的子資產(chǎn)路徑,以及Pybill使用的統(tǒng)一機器人描述格式(URDF)中的物理屬性定義。對于紋理模型,我們采用GLTF標準[79],并將紋理與幾何體一起以二進制格式存儲。
庫巴基。
對于簡單的原型設計,我們提供了圖4頂行所示的11個簡單資產(chǎn)的小集合。
形核。v2。
該數(shù)據(jù)集是完整ShapeNet數(shù)據(jù)集[14]的一個子集,包含55個具有規(guī)范對齊和常見對象類別注釋(均為手動驗證)的51300個獨特3D模型。進行了廣泛的預處理,以簡化Kubric內(nèi)部這些資產(chǎn)的整合。這些轉換腳本可在ShapeNet 2kubric子目錄中找到;轉換過程可以通過其中可用的Docker容器輕松復制。這個轉換過程花了很多時間≈ 在80核虛擬機(Google Cloud VM n2-highcpu-80)上運行16個小時,并通過Python的多處理庫執(zhí)行線程并行化。一小部分模型未能轉換(例如,它們?nèi)鄙偌y理、材質錯誤或只是使轉換過程崩潰),并在轉換代碼中列出。
雖然數(shù)據(jù)集中的許多模型在通過OpenGL可視化時會產(chǎn)生令人滿意的渲染效果,但使用照片級真實感渲染器(即混合器循環(huán))時,渲染質量會顯著提高。我們收集了社區(qū)(即ShapeNet和Blender官方論壇)關于如何調(diào)整模型以盡量減少視覺瑕疵發(fā)生的智慧。轉換過程通過腳本化的混合器修改器實現(xiàn)自動化,包括刪除雙重、禁用自動平滑、分割銳邊,以及沿基本體的局部法線無限小地置換多邊形網(wǎng)格的面。對于碰撞幾何體,我們首先使用ManifoldPlus[41]將資源轉換為無懈可擊的網(wǎng)格,然后使用PyBullet[19]中包裝的VAHCD[62]實現(xiàn)來計算3D對象的凸分解,其質量和慣性張量最終由trimesh[22]估計。
谷歌掃描對象(GSO)[77]。
是一個常見家用物體的數(shù)據(jù)集,已被3D掃描,用于機器人模擬和合成感知研究。它是根據(jù)CC-BY 4.0許可證授權的,包含≈ 1k高品質紋理網(wǎng)格;見圖4。我們以Kubric格式發(fā)布該數(shù)據(jù)集的預處理版本,其中再次包含生成的碰撞網(wǎng)格。
Polyhaven[115]。是一個公共(CC0許可)圖書館,我們從中收集和預處理HDRI圖像,用作背景和照明,以及用于高質量材料的紋理。
3.4. 場景理解數(shù)據(jù)集(SUND)
為了便于將數(shù)據(jù)吸收到機器學習模型中,我們與Kubric一起引入了SunDs(場景理解數(shù)據(jù)集)數(shù)據(jù)集前端2。SunDs是訪問公共場景理解數(shù)據(jù)集的API。字段名和結構、形狀、數(shù)據(jù)類型在不同的數(shù)據(jù)集中是標準化的。這樣就可以輕松地在數(shù)據(jù)集之間切換(例如,從合成數(shù)據(jù)切換到真實數(shù)據(jù))。所有SunDs數(shù)據(jù)集由兩個子數(shù)據(jù)集組成:
?場景數(shù)據(jù)集包含高級場景元數(shù)據(jù)(例如,場景邊界、整個場景的網(wǎng)格等)。
?幀數(shù)據(jù)集包含場景中的單個示例(例如,RGB圖像、邊界框等)。
SunDs抽象出特定于數(shù)據(jù)集的文件格式(json、npz、文件夾結構等),并返回可由機器學習模型(TF、Jax、Torch)直接攝取的張量。在內(nèi)部,SunDs是TFD的包裝器,可以擴展到大型數(shù)據(jù)集(≈ TB),以提供與分布式云文件系統(tǒng)(如GCS、S3)的本機兼容性,并利用tf。數(shù)據(jù)管道功能(預取、多線程、自動緩存、轉換等)。
為了進一步簡化數(shù)據(jù)攝取,SunDs在TFD的基礎上引入了任務的概念。每個SunDs數(shù)據(jù)集可以為不同的任務加載。任務控制:
?使用/解碼數(shù)據(jù)集的哪些功能。事實上,場景理解數(shù)據(jù)集通常有很多領域(激光雷達、光流等),但只有一小部分用于任何給定任務。選擇要使用的字段可以避免解碼不必要特征的成本。
?將哪種轉換應用于管道。例如,NeRF任務將從數(shù)據(jù)集中包含的相機內(nèi)部/外部動態(tài)生成光線原點/方向。
4.庫布里克數(shù)據(jù)集和挑戰(zhàn)
為了展示Kubric的威力和多功能性,我們接下來將描述一系列新的挑戰(zhàn)問題,每個問題都有Kubric生成的數(shù)據(jù)3(見表2)。它們涵蓋不同規(guī)模的2D和3D任務,數(shù)據(jù)集大小從MBs到TBs不等。每種方法都依賴于不同的注釋子集(流動、分割、深度、相機姿勢或對象姿勢),使用不同的特征子集(例如物理或裝配動畫),并需要控制不同的因素(背景、材質或照明)。任何一個數(shù)據(jù)集都可能是由一個更簡單、專用的代碼庫生成的,但這將是非常低效的。相反,憑借Kubric的多功能性,可以直接創(chuàng)建、擴展和組合數(shù)據(jù)集,利用一個公共平臺和共享的工程工作。
這些不同的挑戰(zhàn)也突顯了合成數(shù)據(jù)的不同用途。有些方法用作比較現(xiàn)有方法和未來方法的基準,而另一些方法則為實際應用程序(sim-to-real)提供額外的訓練數(shù)據(jù)。有些是為了經(jīng)驗性地測試特定的假設(例如,在測試中),而有些則側重于可以在沒有隱私和法律問題的情況下共享的數(shù)據(jù)。
我們在下面的章節(jié)中描述了13個挑戰(zhàn);i、 e.4.6)存在非靜態(tài)場景結構時的Nerf重建;4.7)顯著目標檢測任務的新穎多視角版本;4.8)聚焦非朗伯曲面的三維重建基準;4.9)從單個圖像重建3D網(wǎng)格的SOFTRAS的規(guī)模化和泛化研究;4.10)研究基于視頻的三維網(wǎng)格重建對網(wǎng)格變形和不準確流動的魯棒性;4.11)長期密集二維點跟蹤任務,包括一種新的對比跟蹤算法;4.12)大規(guī)模多視點語義場景理解基準;4.13)具有挑戰(zhàn)性的新場景新穎視圖合成數(shù)據(jù)集。
4.1. 從視頻中發(fā)現(xiàn)對象
對象發(fā)現(xiàn)方法旨在將場景分解為其組成部分,并在最少的監(jiān)督下找到對象實例分割模板。雖然Idio[36]、MONet[12]、GENESIS[28]和Slot Attention[59]等最新模型成功地分解了紋理均勻的簡單場景,但分解具有高視覺復雜度和復雜動力學的動態(tài)場景(即視頻)仍然很困難。這項挑戰(zhàn)引入了五個多對象視頻(MOVi)數(shù)據(jù)集,即MOVi-A到-E(見圖5),它們增加了視覺和動態(tài)復雜性,旨在測試現(xiàn)有對象發(fā)現(xiàn)方法的局限性,從而實現(xiàn)向更真實和多樣化的視覺場景的進展。
我們測試了兩種最新的視頻對象發(fā)現(xiàn)方法SAVi[50]和SIMONe[45],它們能夠將視頻分解為時間一致的對象分割模板(見表3)。SAVi在訓練過程中使用光流,在僅分解運動對象的視頻時表現(xiàn)更好,尤其是在視頻的第一幀中接收到額外線索時。隨著復雜度的增加,這兩種方法的性能都會下降,但MOVi-D和-E中的靜態(tài)對象除外,它們有時會被SIMONe部分捕獲。這兩種方法都不能可靠地分解所有五個數(shù)據(jù)集中的場景。
4.2. 光流
光流是指視頻中從一幀像素到下一幀像素的二維運動。它是視頻處理和分析的基礎。與高級視覺任務不同,我們無法在普通現(xiàn)實世界視頻上獲得可靠的、基本真實的光流,即使有人類注釋。光流實際上是計算機視覺中第一個依靠合成數(shù)據(jù)進行評估的子領域[7]。
最近的深部模型PWC net[90]、RAFT[92]和VCN[110]都依賴于合成數(shù)據(jù)進行預訓練,比如FlyingChairs[26]。然而,F(xiàn)lyingChairs缺乏照片真實感,使用合成椅子作為唯一的前景對象,并且沒有一般的3D運動。AutoFlow[89]學習渲染超參數(shù)以生成合成流數(shù)據(jù)集,與FlyingChairs[89]相比產(chǎn)生了巨大的性能增益。但AutoFlow采用簡單的二維分層模型,在渲染時缺乏三維運動和真實感。我們的Kubric數(shù)據(jù)集解決了這些缺點,如圖6所示。
我們使用相同的訓練協(xié)議對不同數(shù)據(jù)集上的訓練進行比較[88,89,92]。如表4所示,當使用手動選擇的渲染超參數(shù)時,Kubric比FlyingChairs的結果要精確得多,這證明了使用3D渲染的好處。庫布里奇在與AutoFlow的比賽中也表現(xiàn)出色。請注意,這不是一個蘋果對蘋果的比較,因為AutoFlow的超參數(shù)已被學習,以優(yōu)化Sintel數(shù)據(jù)集的性能[89]。這些結果表明,學習Kubric的超參數(shù)可能會顯著提高性能。
4.3. NeRF中的紋理結構
神經(jīng)輻射場本質上是體積表示,但通常用于實體對象的表面建模。這些NeRF曲面模型是該模型試圖滿足多視圖重建問題的結果:為了從多個視圖一致地重建曲面細節(jié),這些細節(jié)必須位于真實曲面周圍的體積薄片中。請注意,并非所有曲面都會鼓勵NeRF構建曲面模型。具有平坦顏色的表面仍可以重建為非實體體積。因此,根據(jù)NeRF方法在多大程度上根據(jù)紋理與實際表面保持一致,來對其進行基準測試,這是一個有趣的方面,至今尚未探索。
為了量化這一點,我們創(chuàng)建了包含平面的合成場景,這些平面的紋理是通過藍色噪聲程序生成的,具有不同的空間頻率。我們用紋理的截止頻率標注每個像素,并分析頻率、深度方差和重建誤差之間的相關性。然后我們用這些合成數(shù)據(jù)訓練一個NeRF模型。如表5所示,我們發(fā)現(xiàn)頻率的增加與較低的深度方差相關,這表明更好地逼近硬表面,同時也增加了重建誤差,表明網(wǎng)絡對復雜紋理的逼近能力較差。未來的體積多視圖重建方法將如何處理這種模糊性并鼓勵硬表面邊界,這將是一個有趣的發(fā)現(xiàn)。
4.4. 姿態(tài)估計
基于姿勢估計的交互體驗(如Kinect)通常以人類姿勢為特征,這些姿勢在包含用戶生成圖片(如COCO[57])的大多數(shù)數(shù)據(jù)集中仍然沒有得到充分的體現(xiàn),因為適合圖片的姿勢呈現(xiàn)出明顯的采樣偏差。模擬數(shù)據(jù)可以用不太美觀的姿勢來補充真實數(shù)據(jù),但這在現(xiàn)實生活中的人體運動中很常見。在這里,我們改進了MoveNet[98],這是一個基于CenterNet[119]的姿勢推斷CNN,通常在COCO[57]和Active[98]上進行訓練(一個擁有更多不同姿勢的專有數(shù)據(jù)集)。與Simpose[120]一樣,訓練批次將真實和合成數(shù)據(jù)與80/20%的混合物混合。與[120]不同,合成材料不提供額外的標簽(例如,表面法線),但只提供更多不同的示例。如圖8所示,樣本中有41個裝配好的渲染人員模型,放置在隨機的室內(nèi)場景中,背景元素和紋理來自BlenderKit和TextureHaven。人體姿勢是從舞蹈和鍛煉ActorCore動畫中提取的。雖然非CC0資產(chǎn)的許可條款禁止發(fā)布數(shù)據(jù),但數(shù)據(jù)集可以由相同網(wǎng)格和動畫資產(chǎn)的任何所有者使用我們的開源軟件重新生成。合成數(shù)據(jù)提高了關鍵點平均精度(見表6)、域內(nèi)(在COCO和Active上)和域外(在瑜伽上,一組包含1000個示例的扭曲姿勢測試集)。因此,合成數(shù)據(jù)現(xiàn)在在我們以人為中心的靜止圖像和視頻訓練程序中經(jīng)常使用。
4.5. 預訓練視覺表征
自從AlexNet[55]以來,計算機視覺的整個領域都從重新使用對大量數(shù)據(jù)進行預訓練的“主干”中受益匪淺[25,52,54,76]。然而,最近的工作讓人對繼續(xù)使用由互聯(lián)網(wǎng)上大量照片組成的數(shù)據(jù)集產(chǎn)生了懷疑[8112]。一種完全繞過基于web圖像的數(shù)據(jù)缺點的潛在方法是使用渲染數(shù)據(jù)。最近,這顯示了人臉識別的巨大成功[103],我們假設合成數(shù)據(jù)最終也可以取代網(wǎng)絡圖像,用于預訓練一般計算機視覺主干。為了評估這種設置的前景,我們進行了一個小型試點實驗。Kubric用于在透明背景上以各種隨機姿勢渲染ShapeNet對象。我們對ResNet-50進行預訓練,從以各種方式將對象與隨機背景圖像組合的圖像中預測對象的類別,如圖9(上圖)所示。然后,我們按照[52]中的協(xié)議,將這個預先訓練好的模型轉移到各種數(shù)據(jù)集。圖9(下圖)顯示,這個簡單的試點實驗已經(jīng)將ImageNet上隨機預訓練和預訓練之間的差距縮小了一半,這表明這是一種很有前途的方法。
4.6. 健壯的NeRF
神經(jīng)輻射場[66]或NeRF,通過最小化形式L(θ)=ErkI(r)的光度重建損失,通過體繪制訓練靜態(tài)3D場景的表示? Iθ(r)k22,其中r是與多攝像機系統(tǒng)的像素相對應的射線。這種損失的性質意味著,當場景在多個視圖之間不是完全靜態(tài)的時,恢復的表示被破壞;參見圖11(中間)。這一挑戰(zhàn)表明,要充分解決這一問題,還需要進一步的研究;見表7。在“傳送”挑戰(zhàn)中,雖然大部分場景保持僵硬,但我們在場景邊界內(nèi)隨機添加了冒名頂替者非靜態(tài)對象(即猴頭),而在“抖動”挑戰(zhàn)中,冒名頂替者位置圍繞固定位置抖動。換句話說,這兩個數(shù)據(jù)集評估了訓練過程中非結構化(遠程傳輸)與結構化(抖動)異常值的敏感性。圖10展示了每個挑戰(zhàn)的一些訓練框架。如表7所示,非結構化異常值在一定程度上由NeRF-L1解決(?2.4 dB),結構化異常值更難克服。
4.7. 多視圖對象摳圖
顯著目標檢測(SOD)的目的是從背景中分割出圖像中最顯著的目標。
經(jīng)典方法涉及活動輪廓[47,69]或graphcut[20,104]技術,但也存在人在回路[72,81,100]的技術,以及最近的深度學習變體[30,73,74,105,117]。有了人的反饋,交互方法通常是健壯的,但也很昂貴。自動分割,無論是傳統(tǒng)方法還是深度網(wǎng)絡,性能都較差。在這里,我們提出了一種新的SOD操作模式,這是一項非常困難的任務(參見圖12),但有足夠的信息供人類解決問題而不產(chǎn)生歧義。我們在這個數(shù)據(jù)集上比較了幾種單視圖最先進的SOD算法,并提出了兩個復雜度更高的數(shù)據(jù)集。我們假設可以訪問同一突出物體的多張圖像(從不同角度拍攝),而不是一張圖像。對于同一對象的多個視圖,我們的理論是,自動SOD將更加健壯,因為多個圖像隱含的3D結構提供了有助于消除目標對象邊界歧義的信息。對于簡單的挑戰(zhàn),場景中只包含一個顯著的對象,而在困難的挑戰(zhàn)中,我們額外插入雜波。所有目標對象都是從POLYHAVEN HDRIs[115]的ShapeNet Core V2背景中隨機選擇的。在困難挑戰(zhàn)的情況下,雜波對象也會從ShapeNet Core V2中隨機采樣。我們?yōu)槊總€場景渲染10幅圖像,并使用Kubric導出圖像和分割遮罩。訓練/測試集包含1000/100個場景,分別適用于簡單場景和困難場景。
據(jù)我們所知,多視圖SOD基線并不存在。因此,我們將最近的SOTA單視圖SOD模型作為基線進行評估。我們首先在easy數(shù)據(jù)集上評估預訓練模型,如表8所示。一些經(jīng)過訓練的模型(如U 2-Net)表現(xiàn)良好。接下來,我們在easy數(shù)據(jù)集上微調(diào)性能最好的預訓練模型(U 2-Net和CPD)。盡管U 2-Net和CPD的性能很好,但支持多視圖的SOD模型應該更強大,因為單視圖SOD模型的失敗案例(如圖12)表明,缺乏3D理解往往是罪魁禍首。最后但并非最不重要的是,我們從頭開始在easy數(shù)據(jù)集上訓練U 2-Net和CPD,以獲得額外的基線結果;見表8。我們在硬數(shù)據(jù)集上重復實驗。在雜亂無章的情況下,任務變得更加困難。雜波通常被誤認為是突出的物體,尤其是當物體距離很近時。同樣,缺乏3D理解是模型性能相對較差的一個重要因素。我們假設,使用多個視圖的模型將顯著改善基線。
4.8. 復雜BRDF
考慮從很少的觀測重建三維場景的核心視覺問題[ 68, 86, 87,114 ]。當前的數(shù)據(jù)集[48114]主要以朗伯場景為特征,即主要由漫反射曲面組成的場景,幾乎沒有鏡面反射高光。在這種情況下,唯一相關的場景參數(shù)是3D幾何體以及漫反射曲面顏色。當場景曲面高度反射時,精確的新視圖合成所需的場景屬性數(shù)量會顯著增加。模型需要處理3D幾何體、每個表面點的BRDF,以及入射到場景中的光的完整特征,而不僅僅是3D形狀和外觀。為此,我們呈現(xiàn)了一個高度鏡面反射的ShapeNet數(shù)據(jù)集版本,作為對少數(shù)幾種新穎視圖合成算法的挑戰(zhàn)。我們遵循Kato等人[48]的方法,從相同的24個視圖中渲染13個類的對象。對于每個對象,我們隨機分配一種RGB顏色。我們在上半球的隨機位置放置三個光源。在本次挑戰(zhàn)中,我們將每個對象的材質屬性固定為鏡面反射CLEVR的屬性[44],并使用12次光線反彈對每個場景進行光線跟蹤。我們在這個數(shù)據(jù)集上測試了最近提出的兩個模型:光場網(wǎng)絡[86],它通過360度光場參數(shù)化場景,以及PixelNeRF[114],一種條件三維結構化神經(jīng)場景表示。為了使這些模型能夠在測試時成功地訓練和執(zhí)行,它們需要正確地建模與視圖相關的前向模型,并正確地推斷光源的位置。我們發(fā)現(xiàn),與朗伯形狀相比,表9和鏡面反射模型的性能都要差得多。在圖13中,我們展示了現(xiàn)有方法如何努力在形狀中表示固有的鏡面反射。
4.9. 單視圖重建
由于問題的不適定性,僅從二維圖像監(jiān)控重建對象(例如多邊形網(wǎng)格)的顯式三維表示具有挑戰(zhàn)性。給定輸入的2D圖像及其關聯(lián)的3D視點參數(shù)(即,包括觀察對象的相機的方位角、距離和仰角),當前的方法(例如SOFTRAS[58])結合編碼器首先從圖像中提取潛在特征,然后結合解碼器從編碼的特征向量中提取3D頂點和面部連接性。接下來,可微分渲染器可以根據(jù)視點投影3D面,同時考慮與視圖相關的遮擋約束。為了訓練這種基于光柵化的可微渲染模型,可以根據(jù)該投影(即渲染)輸出和對象輪廓圖像與真值視點之間的差異來制定損失函數(shù)。一個常見的損失函數(shù)是基于投影圖像和真值圖像之間的軟IoU損失。值得注意的是,整個優(yōu)化不再依賴于對顯式3D對象參數(shù)化的任何直接3D監(jiān)控,只需要視點標簽,并且這些標簽可以通過負責生成2D監(jiān)控圖像的源攝像頭輕松確定。
我們在整個SHAPENET CoreV2數(shù)據(jù)集上訓練SOFTRAS[58]模型,而不是SHAPENET的常用子集,該子集只有13個類別,這是該領域已發(fā)表作品的典型特征[48,58,109]。完整的ShapeNet CoreV2由55個類別組成,共有約51300個對象模型。我們利用Kubric的能力自動處理這些對象模型,并將每個對象模型投影到24個隨機視點,同時保持一致的元信息(相機姿勢和對象類別),使我們能夠高效地訓練軟件。我們在兩個實驗裝置上對SoftRas進行了訓練:“分布中”,為此我們遵循[58]的訓練方案,對每個類別的80%進行訓練,并對每個類別剩余的20%進行測試和報告性能,以及“分布外”,在“分布外”中,我們對所有類別進行訓練,但不包括4個需要測試的類別。它們是火車、水塔、洗衣機和容器。圖14和圖15總結了我們關于“分布中”的結果,說明我們在枕頭和碗上的表現(xiàn)最好(IoU 0.75和0.72),在麥克風和耳機上的表現(xiàn)最差(IoU 0.34)。對于“分布外”,測試類的結果與圖14中報告的結果接近,這表明SoftRas可以推廣到新類,但其局限性在于從耳機等復雜形狀的類重建圖像。我們觀察到,這個經(jīng)過處理的數(shù)據(jù)集使我們能夠訓練一個軟件,該軟件能夠重建比Liu等人的原始工作范圍更廣的對象。[58]但某些類的性能很差,這有望激發(fā)對更強大的2D到3D重建方法的進一步研究。4.10. 基于視頻的重建
正如第9.4節(jié)所討論的,單鏡頭重建的性質非常具有挑戰(zhàn)性。為了更好地監(jiān)督曲面重建,視頻數(shù)據(jù)的廣泛可用性為圖像提供了一個有吸引力的替代方案。視頻序列的多幀一致性施加了額外的約束。然而,由于大多數(shù)三維場景不是靜態(tài)的,許多有趣的現(xiàn)實世界對象也不是剛性的,因此基于視頻的曲面重建方法對變形的魯棒性提出了新的挑戰(zhàn)。LASR[111]提出了一種管道,該管道可以從單目視頻中聯(lián)合恢復物體表面網(wǎng)格、關節(jié)和相機參數(shù),而無需使用特定類別的形狀模板。該方法首先使用現(xiàn)成的網(wǎng)絡生成主要對象的遮罩(輪廓)和每個幀的光流。然后,通過利用SOFTRAS[58],
LASR通過最小化每個幀的輸入和重新渲染的彩色圖像、輪廓和光流之間的差異,聯(lián)合優(yōu)化對象的靜止形狀、關節(jié)、蒙皮權重和相機參數(shù)。
在本次挑戰(zhàn)中,我們首先利用Kubric生成剛性(ShapeNet資產(chǎn))和非剛性4對象的視頻,以評估LASR的總體性能。如圖16所示,LASR可以很好地將網(wǎng)格與輸入視圖相匹配,但無法外推到看不見的視圖。由于光流損耗已被證明是至關重要的,而且地面真值流永遠無法從實際數(shù)據(jù)中獲得,我們還評估了LASR在多大程度上依賴于流量估計的準確性。我們分別使用Kubric提供的估計光流或地面真值來訓練LASR,并比較重建結果;見表10。正如預期的那樣,使用真值光流進行訓練可以提高性能,盡管這種改進是微不足道的。與許多其他基于網(wǎng)格的可微渲染器一樣,LASR的另一個基本限制是,它假設一個固定的網(wǎng)格拓撲,因此無法處理拓撲變化。在圖16中,我們展示了一個LASR無法重建非零屬形狀(即圓環(huán))的示例,強調(diào)了需要進行更多研究,以獲得更穩(wěn)健的方法。
4.11. 點跟蹤
光流的概念可以很容易地擴展到長期跟蹤,遵循跟蹤任意點的方法[3]。也就是說,給定場景中曲面上的視頻和目標點(在2D中指定),目標是輸出該點在其他視頻幀中出現(xiàn)的2D位置。這種運動推理有很多應用,從三維曲面重建到對重心和彈性等物理特性的推理,再到交互式代理的長片段對象記憶。光流在許多這樣的領域是不夠的,因為它不能處理遮擋,幀對上的小誤差可能會導致漂移,隨著時間的推移會導致大誤差。通過識別3D對象上的一個點,然后在整個場景中投影該點,可以直接從Kubric獲得長期軌跡。這個問題的大規(guī)模訓練數(shù)據(jù)集對于人類來說很難注釋,因此合成數(shù)據(jù)可以在實現(xiàn)良好性能方面發(fā)揮關鍵作用。
給定一個視頻,注釋由一組軌跡組成,即一組2D點
韻律學。
我們使用三個建議的指標來跟蹤任何點[3]。第一種方法忽略輸出位置,通過簡單的分類精度單獨評估遮擋估計,該分類精度為每幀上的每個點賦予相等的權重。第二個指標僅評估跟蹤精度。在真值中被標記為遮擋的幀將被忽略。對于其余部分,我們報告了幾個不同閾值的PCK風格[2]精度。也就是說,對于給定的閾值α,它是像素的距離,我們考慮一個點是否正確。
我們的最終指標結合了分類準確度和檢測準確度,并受到了目標跟蹤文獻[60]中Jaccard風格指標的啟發(fā)。
設T pα為真正的集合:即,所有可見的地面真點(Xi,t,yI,t),其中(席席,t,y i,t)被預測為未遮擋,空間預測在α的距離內(nèi)。設Fnα為假陰性:預測將被遮擋的可見地面真值點,或預測的空間位置距離地面真值α更遠。設F pα為假陽性:預測為可見的點(席,t,y,i,t),其中地面實況遠大于距離α或地面損壞被遮擋的地方。Jaccard度量則為| tpα|/(| tpα|+| fnα|+| fpα|)。在實踐中,我們在5個不同的閾值上計算這些度量,其形式為α=δx像素,對于x∈ {0,1,2,3,4}和δ=2。我們通過計算閾值的平均值來得到一個總體指標
基線。
接下來,我們定義一種基線方法,可以開始解決點跟蹤問題。文獻中最接近的問題之一是使用DAVIS[70]等數(shù)據(jù)集進行分段跟蹤。因此,我們的基線是受VFS[108]的啟發(fā),VFS[108]是戴維斯的最先進方法。VFS有兩個關鍵組成部分:第一,自我監(jiān)督訓練階段,目標是學習圖像中點之間的良好相似性度量;第二,基于早期工作[101]的測試時間跟蹤算法,該算法可以將未標記幀中的點與標記幀中的點相關聯(lián)。然而,我們的模型經(jīng)過修改,以處理點而不是段,并利用我們現(xiàn)有的標記訓練數(shù)據(jù)。對于預訓練,我們采用對比法[39]。我們使用標準的ResNet-50[38]作為主干,直到最后的卷積,最后兩個塊的跨距為1,這為我們提供了跨距為8的每一幀的特征網(wǎng)格Fi(在通道軸上是L2歸一化的)。給定一個查詢點? , Y? , T? ) (注意:當我們考慮一個點時,我們將I指數(shù)降到清晰程度),我們首先提取特征F。? 對于該點,通過位置(x)處的雙線性插值?/8,y?/8) 從幀t的特征網(wǎng)格? . 然后,我們計算以下對比損失函數(shù):其中,F(xiàn)的時空維度上的j和k指數(shù)。溫度超參數(shù)τ設置為0.1。γj是監(jiān)督的來源:如果fj與f一致,則其值較高? , 如果不是,則為0。注意,如果有另外一個點被認為與f“對應”? , 那么k上的和只有一個項,剩下一個標準的對比損失。然而,在我們的例子中,我們有多個潛在的對應關系,這種損失促使所有這些對應關系都有大致相同的高點積。
我們通過雙線性插值計算γj。說
特征fj位于卷積特征網(wǎng)格內(nèi)x、y位置的t幀上,地面真值位置位于(xt/8、yt/8)(在特征網(wǎng)格的坐標框架內(nèi))。如果(xt/8,yt/8)位于其中一個角位于x?j,y?j的網(wǎng)格單元內(nèi),那么我們設置γj=(1)? |xk? xt/8 |)? (1 ? |yk? yt/8 |)。否則為0。如果在測試時,給定一個查詢點(x),則對于幀t,地面真值被標記為閉塞,則γj也被設置為0? , Y? , T? ), 我們首先計算每一幀的對應關系。對于時間t的單個幀,這是通過f和f之間的點積完成的? (再次通過雙線性插值提?。┖蛶瑃中的每個特征,然后是空間上的softmax S,這為我們提供了可能位置的熱圖,即Sxy是x,y對應于(x)的概率? , Y? , T? ). 然后,我們通過找到S的argmax并將距離它超過40像素(5個網(wǎng)格單位)的任何網(wǎng)格單元歸零來計算S,以抑制潛在的多模對應。然后我們計算潛在位置的加權平均值[?x,y?]=px,y[x,y]? S~xy/px,y S~xy。為了區(qū)分該點是否被遮擋,我們使用循環(huán)一致性[99101]。也就是說,我們從第t幀中的點[?x,y?]提取一個新的特征?f,并反轉該過程,在第t幀中的位置上計算softmax? 并將其轉換為點對應。如果估計點大于其起始位置的48個像素,我們認為它被遮擋。
我們以256×256的分辨率在MOVi-E上評估了這個過程。對于每個評估視頻,我們在所有幀中隨機采樣256個查詢點。我們嘗試從每個對象以及背景中采樣相同數(shù)量的點,但將每個對象的采樣數(shù)量限制為可見像素的最大0.2%。我們使用標準的數(shù)據(jù)增強,包括圖像的隨機裁剪,小到圖像面積的30%,縱橫比在2:1和1:2之間,以及用于光流實驗的相同顏色增強和像素噪聲。
結果如表11所示。
為了進行比較,我們還提供了一個na?ve基線,它假設沒有運動和遮擋,這是在不參考像素的情況下可以實現(xiàn)的最好方法。我們發(fā)現(xiàn),對比方法在粗跟蹤方面相當出色,將最大閾值上的錯誤率從25.2%降至5.8%,比原始基線減少了6倍多。然而,對于更精確的跟蹤,誤差的減少并沒有那么大。另一方面,這種方法檢測遮擋的準確性很差;對于我們用于循環(huán)一致性的閾值(48),準確度實際上比偶然性差。然而,循環(huán)一致性檢查失敗的點實際上不太可能在任何距離閾值內(nèi);因此,我們發(fā)現(xiàn)從輸出中刪除這些點可以提高平均Jaccard度量。由于網(wǎng)絡是根據(jù)來自同一分布的數(shù)據(jù)進行訓練和評估的,因此該算法有可能會記住訓練數(shù)據(jù)的某些方面,例如對象跟隨的公共軌跡。為了評估分布外傳輸,我們還將我們的算法應用于垂直翻轉的視頻,結果如表12所示。這對性能的影響約為4%,表明網(wǎng)絡在較小程度上記住了軌跡。最后,圖17顯示了kubric驗證視頻上我們的點跟蹤算法的定性示例。我們看到,對于運動相對較小的簡單點,如藍星或青色圓,即使紋理相對較少,算法也相當準確。跟蹤也適用于具有合理獨特紋理的點,如綠色正方形。遮擋有時也會被正確檢測到:對于紅色X,該算法正確地確定了第11幀上的遮擋,盡管它過早地在第15幀上再次找到該點。然而,也有明顯的失?。豪?,算法丟失了洋紅+,可能是因為對象旋轉太多,以至于外觀發(fā)生了實質性的變化。這表明,使用關于物體方向的全局推理,而不是僅僅依靠外觀,可能是有用的。當點被遮擋時,我們還看到第7幀上的菱形有很大的誤差;該算法將點放在遮擋器對象之間,可能是因為特征描述符過于依賴上下文。這一結果表明,同時捕獲全局對象運動,同時保持對遮擋的魯棒性,將是該數(shù)據(jù)集向前發(fā)展的一個重大挑戰(zhàn)。
4.12. 場景語義分割
作為另一個用例,我們考慮了比較2D和3D語義分割模型的任務。由于這些方法在根本不同的基質上運行,因此很難量化一種方法與另一種方法的有效性。為此,我們構建了三個二維圖像和三維點云直接對應的合成數(shù)據(jù)集:KLEVR、ToyBox5和ToyBox13。每個ToyBox數(shù)據(jù)集由525個場景組成。每個場景在平面上包含4-12個直立的ShapeNet對象,其中有382個隨機選擇的HDRI背景。這些數(shù)據(jù)集只在所使用的ShapeNet對象集上有所不同。在ToyBox5中,我們使用前5個最常見的對象類別;在ToyBox13中,13個最常見的對象類別。對于每個場景,我們選擇300個相機姿勢,每個姿勢渲染3個圖像:RGB圖、分割圖和深度圖。有了相機參數(shù)的知識,我們就能夠構造一個相機光線r(t)=o+td,對應于數(shù)據(jù)集中的每個像素。當結合深度和分割圖時,我們得到一個標記的3D點云,其中每個3D點對應一個相機像素。我們將場景的點云定義為由所有攝影機姿勢構造的所有3D點的并集。KLEVR數(shù)據(jù)集的構造與ToyBox數(shù)據(jù)集相同,只是有一個固定的中性灰色背景和5個柏拉圖式的對象形狀。
實驗。
我們展示了二維圖像和三維點云分割的兩個代表性基線:DeepLab[15]和SparseConvNet[35]。此外,我們將這些方法與NeSF[97]進行了比較,NeSF[97]是一種從擺姿勢的RGB圖像中進行密集2D和3D場景分割的方法。我們對所有方法進行語義監(jiān)控訓練,從500個場景中的每個場景中提取9個攝像頭,并從剩余的25個場景中拿出4個攝像頭進行評估。在2D中,我們看到NeSF和DeepLab的表現(xiàn)類似,DeepLab的表現(xiàn)優(yōu)于NeSF 0.3%至6.6%(表13)。在定性結果中,我們發(fā)現(xiàn)DeepLab的預測更緊密地勾勒出了對象,而犧牲了多視圖的一致性。在3D中,隨著數(shù)據(jù)集復雜性的增加,SparseConvNet比NeSF在聯(lián)合上實現(xiàn)的平均交集高出1.9%到23.1%,且具有更大的邊距。我們將此歸因于SparseConvNet以密集點云的形式訪問真值3D幾何體和監(jiān)督。這將導致3D幾何圖形的高度密集和精確表示。另一方面,NeSF必須僅從擺姿勢的2D圖像推斷3D幾何和語義。[97]中給出了進一步的結果以及與NeSF的比較。
4.13. 條件新視點合成
像[66]這樣的神經(jīng)場景表示已經(jīng)在現(xiàn)實世界數(shù)據(jù)集上的新視圖合成任務中產(chǎn)生了最先進的結果[63],然而,必須在每個新場景上訓練一個新模型,這不允許模型在數(shù)據(jù)集上學習先驗知識。之前的工作通常使用ShapeNet數(shù)據(jù)集[14]來評估一種方法在多大程度上可以推廣到新場景[86114]。然而,ShapeNet由標準化的面向對象組成,對于某些類別(例如飛機),它們有數(shù)千個相同的類示例,并使用平面著色進行渲染。我們引入了一個新的大規(guī)模數(shù)據(jù)集,使用Kubric生成具有ShapeNet對象組的照片逼真場景。100萬個場景中的每一個都使用382張隨機選擇的背景地圖中的一張。我們?yōu)槊總€場景渲染十個128×128隨機視圖,并使用五個作為條件視圖,另外五個作為目標視圖。任務是在給定條件化視圖的情況下重建目標視圖。我們比較了以下最新的方法:PixelNeRF[114],它將點投影到條件視圖中以插值編碼的圖像特征;LFN[86],它將場景壓縮為單個潛在代碼,并使用超網(wǎng)絡將其解碼為隱式場景表示,產(chǎn)生場景特定MLP的權重;以及SRT[82],它通過transformer編碼器-解碼器架構學習可規(guī)?;臐撛趫鼍凹硎?。圖19將這些方法與我們的新挑戰(zhàn)進行了比較。盡管上述所有方法都能在ShapeNet上產(chǎn)生相當高質量的結果(參見[82]),但它們的規(guī)模化比例與我們的照片級真實感復雜數(shù)據(jù)集大不相同:雖然PixelNeRF在處理遠離條件化視圖的視圖時有明顯的困難,但LFN根本無法規(guī)?;竭@種復雜性,SRT的重建也會變得模糊。[82]中提供了有關這一挑戰(zhàn)和數(shù)據(jù)集發(fā)布的更多詳細信息。
5.結論
我們將介紹Kubric,這是一個通用Python框架,包括用于大規(guī)模生成的工具、集成來自多個源的資產(chǎn)、豐富的注釋和用于將數(shù)據(jù)直接移植到訓練管道的通用導出數(shù)據(jù)格式(SunDS)。Kubric能夠生成高質量的合成數(shù)據(jù),解決自然圖像數(shù)據(jù)管理中固有的許多問題,并避免構建特定任務的一次性管道的費用。我們在11個案例研究中展示了我們的框架的有效性,其中生成的數(shù)據(jù)集對于一系列不同的視覺任務具有不同的復雜性。在每種情況下,Kubric都大大減少了生成所需數(shù)據(jù)的工程工作,并促進了重用和協(xié)作。我們希望它將通過降低生成高質量合成數(shù)據(jù)的障礙、減少碎片化、促進管道和數(shù)據(jù)集的共享來幫助社區(qū)。
局限性和未來的工作。
雖然Kubric已經(jīng)非常有用,但它仍在開發(fā)中,還不支持Blender和Pybillet的許多功能。值得注意的例子包括霧或火等體積效果、柔體和布料模擬,以及景深和運動模糊等高級相機效果。我們還計劃對更多來源的資產(chǎn)進行預處理和統(tǒng)一,包括ABC數(shù)據(jù)集[51]或亞馬遜伯克利對象[17]。目前,Kubric需要大量的計算資源,因為它依賴于路徑跟蹤渲染器而不是光柵化渲染器。我們希望添加對光柵化后端的支持,允許用戶在速度和渲染質量之間進行權衡。我們在補充材料的第6節(jié)中討論了圍繞我們的系統(tǒng)應用的潛在社會影響和道德影響。
6.社會影響和道德考慮
多樣性的應用,可以利用我們的系統(tǒng)值得一個廣泛的討論其潛在的社會影響和倫理考慮時,應考慮應用它。作為一種通用工具,而不是針對應用程序的解決方案,Kubric有可能帶來多種好處,也有因疏忽甚至惡意濫用而造成損害的風險。
社會影響。
合成數(shù)據(jù)集構建為系統(tǒng)工程師提供了在野外和與真人一起部署之前檢測和糾正潛在危險故障模式的機會,尤其是對于那些涉及人機交互的應用,例如自動駕駛汽車和機器人。然而,這并不排除開發(fā)可能對人類造成嚴重傷害的系統(tǒng)的可能性;相反,它提出了考慮這種結果可能性的重要性。因此,我們敦促Kubric用戶工作的系統(tǒng)部署在實驗室外,采取積極措施,以減輕這種風險,并認為他們在設計過程的最前沿。盡管如此,利用合成數(shù)據(jù)集構建作為一種工具來幫助預防有害后果的潛在價值仍有待進一步探索。
道德考慮。
雖然Kubric的數(shù)據(jù)集生成依賴于人為驅動的設計自動化,但它回避了對人工衍生數(shù)據(jù)的迫切需求。這有助于避免研究中的道德問題和法律障礙,也可以成為研究和緩解不良社會偏見的有力工具。盡管如此,任何人在回路半自動化流程都容易受到設計師偏見的影響。雖然更明確控制的數(shù)據(jù)集設計方法允許工程師推遲因處理從現(xiàn)實世界捕獲的數(shù)據(jù)而引起的(重要)隱私問題的復雜性,但有人可以合理地認為,這樣的好處被數(shù)據(jù)集合成過程中引入的偏見抵消了——至少部分抵消了。事實上,任何明確構建的合成數(shù)據(jù)集都很容易繼承構建過程中使用的偏差——但我們認為,它在設計過程的早期階段和更大程度的可控性上促進了討論和(希望)偏差的緩解。然后,合成數(shù)據(jù)和真實數(shù)據(jù)之間的分布差異的潛在下游影響將成為一個重要的額外問題,需要進行明確的評估和潛在的緩解/處理,以防止真實世界的偏見。
我們還注意到,雖然Kubric一方面提供了一種創(chuàng)建新數(shù)據(jù)集的有效方法,有助于避免被現(xiàn)有數(shù)據(jù)卡住或過度擬合,但另一方面,它也可能會使數(shù)據(jù)集的激增,以突出所選方法的優(yōu)勢。雖然所有數(shù)據(jù)集的創(chuàng)建都是如此,但希望通過實驗和復制,就像模型體系結構一樣,該領域將自行選擇有用的數(shù)據(jù)集,對共同感興趣的任務的不同模型進行公平、平衡的評估。
環(huán)境方面的考慮。
可控合成數(shù)據(jù)集的構建有助于促進基于控制的科學方法論:例如,可以明確地隔離和測試混雜因素,并允許在擴展到更大的問題之前構建更小的問題(即,只測試那些試圖驗證的行為),更一般的設置。這種策略有助于減少在大型數(shù)據(jù)集上重復訓練大型模型的需要,從而降低研究項目的整體環(huán)境影響。然而,生成大型可控合成數(shù)據(jù)集的能力并非沒有成本;例如,我們的光流數(shù)據(jù)集需要大約3年的CPU計算時間。因此,我們敦促研究人員注意訓練和生成數(shù)據(jù)集的成本,并避免生成不必要的大型數(shù)據(jù)集。因此,設計能夠以更節(jié)能的方式增加合成數(shù)據(jù)集的替代合成模型(例如,使用潛在空間動力學模型)是未來研究的一個重要方向。
提要
合成數(shù)據(jù)提供了研究人員和工程師考慮和面對偏見對他們的系統(tǒng)的影響,圍繞危險故障模式的設計,以及所有在隱私保護設置的機會。這當然不排除任何最終系統(tǒng)中存在此類問題,因為利用這些機會的方式和程度應要求在設計和綜合數(shù)據(jù)集的元評估期間承擔額外的責任。