Kubric: A scalable dataset generator
CVPR2022
https://arxiv.org/abs/2203.03570
Submitted 7 March, 2022; originally announced March 2022.
數(shù)據(jù)是機器學習的驅(qū)動力搔体,訓練數(shù)據(jù)的數(shù)量和質(zhì)量對系統(tǒng)的性能往往比體系結(jié)構和訓練細節(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.引言
高質(zhì)量的大規(guī)模數(shù)據(jù)對深度學習至關重要∧岸遥可以說沈跨,它與許多體系結(jié)構和訓練細節(jié)一樣重要,甚至更重要兔综。然而饿凛,即使對于許多簡單的視覺任務,收集和管理足夠數(shù)量的數(shù)據(jù)仍然是一項艱巨的挑戰(zhàn)软驰。一些關鍵障礙包括高質(zhì)量涧窒、詳細注釋、數(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模型到光流估計飞蛹,以及基準測試結(jié)果。
2????相關工作
合成數(shù)據(jù)為許多圖像任務提供了高質(zhì)量的標簽灸眼,如語義[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ù)淤刃,然后將其轉(zhuǎn)換為合成數(shù)據(jù)格式晒他。[56]創(chuàng)建高質(zhì)量的房間場景,但有許多手動步驟逸贾,包括姿勢對齊和材質(zhì)指定陨仅。[27]還利用3D掃描,并提供對廣泛場景參數(shù)的控制铝侵,包括相機位置灼伤、視野和照明,以及許多每幀圖像線索咪鲜。雖然這些方法為特定捕獲的場景生成高質(zhì)量數(shù)據(jù)狐赡,但管道仍然依賴于整個場景的3D掃描,這給規(guī)呐北化帶來了瓶頸猾警。
通用數(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上世分,支持生成高質(zhì)量的渲染和綜合注釋,以及剛體物理模擬缀辩。主要區(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通過提供一個簡單的面向?qū)ο驛PI接口,在后臺使用PyBullet和Blender仔掸,將設置脆贵、數(shù)據(jù)傳輸?shù)膹碗s性隱藏起來,并保持同步起暮,從而最大限度地減少了這種摩擦卖氨。我們還提供來自各種數(shù)據(jù)源的預處理3D資產(chǎn),這些資產(chǎn)可以以最小的工作量使用负懦。
逼真
為了最大限度地發(fā)揮作用筒捺,數(shù)據(jù)生成器應該能夠盡可能多地建模真實數(shù)據(jù)的結(jié)構和復雜性。Blender的Cycles raytracing engine支持高水平的真實感密似,可以模擬復雜的視覺現(xiàn)象,如反射葫盼、折射残腌、間接照明、次表面散射贫导、運動模糊抛猫、景深等。研究這些效果非常重要孩灯,它們也有助于縮小泛化差距闺金。
可規(guī)模化性峰档。
數(shù)據(jù)生成工作負載可以從簡單的玩具數(shù)據(jù)原型到生成大量高分辨率視頻數(shù)據(jù)败匹。為了支持這一系列用例,Kubric被設計成無縫地從本地工作流擴展到在云中的數(shù)千臺機器上運行大型作業(yè)讥巡。
便攜且可復制掀亩。
為了促進數(shù)據(jù)生成代碼的重用,重要的是管道易于設置并產(chǎn)生相同的結(jié)果——即使在不同的機器上執(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.結(jié)構,并支持將生成過程從本地原型擴展到大量并行作業(yè)蛾魄;e虑瀑、 g.使用谷歌云平臺(GCP),我們?yōu)槠涮峁┓奖愕膯幽_本滴须。我們還計劃支持Apache Beam管道舌狗,該管道將數(shù)據(jù)集的生成、收集和后處理結(jié)合到一個方便(但最終難以調(diào)試)的工作流中扔水。
場景結(jié)構痛侍。
每個工作人員設置一個場景對象,該對象跟蹤全局設置(例如魔市,分辨率主届、要渲染的幀數(shù)、重力)待德、一個攝影機和所有對象岂膳,包括燈光、材質(zhì)磅网、動畫等谈截,我們統(tǒng)稱為資源。它們是Kubric中用于控制場景內(nèi)容的主要抽象,每個抽象都暴露了一組屬性簸喂,例如位置毙死、速度或顏色。將對象添加到場景中的每個實例時喻鳄,會將對象添加到相應的場景中扼倘。目前,它包括PyBullet模擬器和Blender渲染器除呵,但Kubric可以擴展以支持其他視圖(例如再菊,最近開源的MuJoCo)。此外颜曾,還會自動與所有連接到KU的屬性的數(shù)據(jù)鏈接進行通信纠拔。這樣,用戶只需使用Kubric提供的抽象泛豪,而不必擔心接口或約定的差異稠诲。
模擬器。
對于物理模擬诡曙,我們與在機器人技術中廣泛使用的開源PyBullet物理引擎[18]接口(例如[43,46,107])臀叙。它可以在填充場景時使用,以確保對象不重疊价卤,但主要用于運行(剛體)模擬劝萤,并將生成的軌跡轉(zhuǎn)換為關鍵幀和碰撞事件列表。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邊界框、速度葫松、質(zhì)量瓦糕、摩擦力、相機參數(shù)腋么、碰撞事件以及自定義元數(shù)據(jù)咕娄。
3.3. 資產(chǎn)
創(chuàng)建合成場景的一個限制因素是高質(zhì)量3D資源的可用性。存在多個資產(chǎn)集合珊擂,但它們的使用通常需要大量清理和轉(zhuǎn)換圣勒,以使它們與給定管道兼容。Kubric在一個公共的谷歌云存儲桶中提供了幾個經(jīng)過預處理的資產(chǎn)集合摧扇。使用這些資產(chǎn)就像用kb更改資產(chǎn)源的路徑一樣簡單圣贸。資產(chǎn)來源(路徑)。在核心級別扛稽,每個數(shù)據(jù)集源都與一個清單相關聯(lián)吁峻。json文件存儲高級聚合信息,無需遍歷整個文件夾結(jié)構在张。清單中每個條目的“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)的整合。這些轉(zhuǎn)換腳本可在ShapeNet 2kubric子目錄中找到疚膊;轉(zhuǎn)換過程可以通過其中可用的Docker容器輕松復制义辕。這個轉(zhuǎn)換過程花了很多時間≈ 在80核虛擬機(Google Cloud VM n2-highcpu-80)上運行16個小時,并通過Python的多處理庫執(zhí)行線程并行化寓盗。一小部分模型未能轉(zhuǎn)換(例如灌砖,它們?nèi)鄙偌y理、材質(zhì)錯誤或只是使轉(zhuǎn)換過程崩潰)傀蚌,并在轉(zhuǎn)換代碼中列出基显。
雖然數(shù)據(jù)集中的許多模型在通過OpenGL可視化時會產(chǎn)生令人滿意的渲染效果,但使用照片級真實感渲染器(即混合器循環(huán))時善炫,渲染質(zhì)量會顯著提高撩幽。我們收集了社區(qū)(即ShapeNet和Blender官方論壇)關于如何調(diào)整模型以盡量減少視覺瑕疵發(fā)生的智慧。轉(zhuǎn)換過程通過腳本化的混合器修改器實現(xiàn)自動化箩艺,包括刪除雙重窜醉、禁用自動平滑、分割銳邊艺谆,以及沿基本體的局部法線無限小地置換多邊形網(wǎng)格的面榨惰。對于碰撞幾何體,我們首先使用ManifoldPlus[41]將資源轉(zhuǎn)換為無懈可擊的網(wǎng)格静汤,然后使用PyBullet[19]中包裝的VAHCD[62]實現(xiàn)來計算3D對象的凸分解琅催,其質(zhì)量和慣性張量最終由trimesh[22]估計。
谷歌掃描對象(GSO)[77]撒妈。
是一個常見家用物體的數(shù)據(jù)集恢暖,已被3D掃描排监,用于機器人模擬和合成感知研究狰右。它是根據(jù)CC-BY 4.0許可證授權的,包含≈ 1k高品質(zhì)紋理網(wǎng)格舆床;見圖4棋蚌。我們以Kubric格式發(fā)布該數(shù)據(jù)集的預處理版本嫁佳,其中再次包含生成的碰撞網(wǎng)格。
Polyhaven[115]谷暮。是一個公共(CC0許可)圖書館蒿往,我們從中收集和預處理HDRI圖像,用作背景和照明湿弦,以及用于高質(zhì)量材料的紋理瓤漏。
3.4. 場景理解數(shù)據(jù)集(SUND)
為了便于將數(shù)據(jù)吸收到機器學習模型中,我們與Kubric一起引入了SunDs(場景理解數(shù)據(jù)集)數(shù)據(jù)集前端2颊埃。SunDs是訪問公共場景理解數(shù)據(jù)集的API蔬充。字段名和結(jié)構、形狀班利、數(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、文件夾結(jié)構等)鼓黔,并返回可由機器學習模型(TF央勒、Jax、Torch)直接攝取的張量澳化。在內(nèi)部崔步,SunDs是TFD的包裝器,可以擴展到大型數(shù)據(jù)集(≈ TB)缎谷,以提供與分布式云文件系統(tǒng)(如GCS井濒、S3)的本機兼容性,并利用tf列林。數(shù)據(jù)管道功能(預取瑞你、多線程、自動緩存希痴、轉(zhuǎn)換等)者甲。
為了進一步簡化數(shù)據(jù)攝取,SunDs在TFD的基礎上引入了任務的概念砌创。每個SunDs數(shù)據(jù)集可以為不同的任務加載虏缸。任務控制:
?使用/解碼數(shù)據(jù)集的哪些功能鲫懒。事實上,場景理解數(shù)據(jù)集通常有很多領域(激光雷達刽辙、光流等)窥岩,但只有一小部分用于任何給定任務。選擇要使用的字段可以避免解碼不必要特征的成本宰缤。
?將哪種轉(zhuǎn)換應用于管道颂翼。例如,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不等。每種方法都依賴于不同的注釋子集(流動语淘、分割诲宇、深度、相機姿勢或?qū)ο笞藙荩┗谭褂貌煌奶卣髯蛹ɡ缥锢砘蜓b配動畫)姑蓝,并需要控制不同的因素(背景、材質(zhì)或照明)吕粗。任何一個數(shù)據(jù)集都可能是由一個更簡單纺荧、專用的代碼庫生成的,但這將是非常低效的颅筋。相反宙暇,憑借Kubric的多功能性,可以直接創(chuàng)建议泵、擴展和組合數(shù)據(jù)集占贫,利用一個公共平臺和共享的工程工作。
這些不同的挑戰(zhàn)也突顯了合成數(shù)據(jù)的不同用途先口。有些方法用作比較現(xiàn)有方法和未來方法的基準型奥,而另一些方法則為實際應用程序(sim-to-real)提供額外的訓練數(shù)據(jù)。有些是為了經(jīng)驗性地測試特定的假設(例如碉京,在測試中)厢汹,而有些則側(cè)重于可以在沒有隱私和法律問題的情況下共享的數(shù)據(jù)。
我們在下面的章節(jié)中描述了13個挑戰(zhàn)谐宙;i烫葬、 e.4.6)存在非靜態(tài)場景結(jié)構時的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]鲫惶,它們能夠?qū)⒁曨l分解為時間一致的對象分割模板(見表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的結(jié)果要精確得多,這證明了使用3D渲染的好處荔睹。庫布里奇在與AutoFlow的比賽中也表現(xiàn)出色割以。請注意,這不是一個蘋果對蘋果的比較应媚,因為AutoFlow的超參數(shù)已被學習严沥,以優(yōu)化Sintel數(shù)據(jù)集的性能[89]。這些結(jié)果表明中姜,學習Kubric的超參數(shù)可能會顯著提高性能消玄。
4.3. NeRF中的紋理結(jié)構
神經(jīng)輻射場本質(zhì)上是體積表示,但通常用于實體對象的表面建模丢胚。這些NeRF曲面模型是該模型試圖滿足多視圖重建問題的結(jié)果:為了從多個視圖一致地重建曲面細節(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é)議,將這個預先訓練好的模型轉(zhuǎn)移到各種數(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)的像素相對應的射線她肯。這種損失的性質(zhì)意味著,當場景在多個視圖之間不是完全靜態(tài)的時欲低,恢復的表示被破壞辕宏;參見圖11(中間)。這一挑戰(zhàn)表明砾莱,要充分解決這一問題瑞筐,還需要進一步的研究;見表7腊瑟。在“傳送”挑戰(zhàn)中聚假,雖然大部分場景保持僵硬,但我們在場景邊界內(nèi)隨機添加了冒名頂替者非靜態(tài)對象(即猴頭)闰非,而在“抖動”挑戰(zhàn)中膘格,冒名頂替者位置圍繞固定位置抖動瘪贱。換句話說,這兩個數(shù)據(jù)集評估了訓練過程中非結(jié)構化(遠程傳輸)與結(jié)構化(抖動)異常值的敏感性菜秦。圖10展示了每個挑戰(zhàn)的一些訓練框架。如表7所示球昨,非結(jié)構化異常值在一定程度上由NeRF-L1解決(?2.4 dB),結(jié)構化異常值更難克服主慰。
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結(jié)構提供了有助于消除目標對象邊界歧義的信息枝笨。對于簡單的挑戰(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梗摇,以獲得額外的基線結(jié)果伶授;見表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)中捞挥,我們將每個對象的材質(zhì)屬性固定為鏡面反射CLEVR的屬性[44],并使用12次光線反彈對每個場景進行光線跟蹤讹俊。我們在這個數(shù)據(jù)集上測試了最近提出的兩個模型:光場網(wǎng)絡[86]仍劈,它通過360度光場參數(shù)化場景,以及PixelNeRF[114]这溅,一種條件三維結(jié)構化神經(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])結(jié)合編碼器首先從圖像中提取潛在特征桐臊,然后結(jié)合解碼器從編碼的特征向量中提取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總結(jié)了我們關于“分布中”的結(jié)果,說明我們在枕頭和碗上的表現(xiàn)最好(IoU 0.75和0.72)诀姚,在麥克風和耳機上的表現(xiàn)最差(IoU 0.34)响牛。對于“分布外”,測試類的結(jié)果與圖14中報告的結(jié)果接近赫段,這表明SoftRas可以推廣到新類呀打,但其局限性在于從耳機等復雜形狀的類重建圖像。我們觀察到糯笙,這個經(jīng)過處理的數(shù)據(jù)集使我們能夠訓練一個軟件贬丛,該軟件能夠重建比Liu等人的原始工作范圍更廣的對象。[58]但某些類的性能很差给涕,這有望激發(fā)對更強大的2D到3D重建方法的進一步研究豺憔。4.10. 基于視頻的重建
正如第9.4節(jié)所討論的额获,單鏡頭重建的性質(zhì)非常具有挑戰(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,并比較重建結(jié)果博肋;見表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]精度而叼。也就是說身笤,對于給定的閾值α,它是像素的距離葵陵,我們考慮一個點是否正確液荸。
我們的最終指標結(jié)合了分類準確度和檢測準確度,并受到了目標跟蹤文獻[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之間的點積完成的? (再次通過雙線性插值提妊蚬丁)和幀t中的每個特征塑陵,然后是空間上的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北戏,并反轉(zhuǎn)該過程负芋,在第t幀中的位置上計算softmax? 并將其轉(zhuǎn)換為點對應。如果估計點大于其起始位置的48個像素嗜愈,我們認為它被遮擋旧蛾。
我們以256×256的分辨率在MOVi-E上評估了這個過程。對于每個評估視頻蠕嫁,我們在所有幀中隨機采樣256個查詢點锨天。我們嘗試從每個對象以及背景中采樣相同數(shù)量的點,但將每個對象的采樣數(shù)量限制為可見像素的最大0.2%剃毒。我們使用標準的數(shù)據(jù)增強病袄,包括圖像的隨機裁剪,小到圖像面積的30%赘阀,縱橫比在2:1和1:2之間益缠,以及用于光流實驗的相同顏色增強和像素噪聲傅是。
結(jié)果如表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ù)的某些方面,例如對象跟隨的公共軌跡亡容。為了評估分布外傳輸嗤疯,我們還將我們的算法應用于垂直翻轉(zhuǎn)的視頻,結(jié)果如表12所示闺兢。這對性能的影響約為4%茂缚,表明網(wǎng)絡在較小程度上記住了軌跡。最后屋谭,圖17顯示了kubric驗證視頻上我們的點跟蹤算法的定性示例脚囊。我們看到,對于運動相對較小的簡單點桐磁,如藍星或青色圓悔耘,即使紋理相對較少,算法也相當準確我擂。跟蹤也適用于具有合理獨特紋理的點衬以,如綠色正方形。遮擋有時也會被正確檢測到:對于紅色X扶踊,該算法正確地確定了第11幀上的遮擋泄鹏,盡管它過早地在第15幀上再次找到該點。然而秧耗,也有明顯的失敱缸选:例如,算法丟失了洋紅+,可能是因為對象旋轉(zhuǎn)太多车猬,以至于外觀發(fā)生了實質(zhì)性的變化霉猛。這表明,使用關于物體方向的全局推理珠闰,而不是僅僅依靠外觀惜浅,可能是有用的。當點被遮擋時伏嗜,我們還看到第7幀上的菱形有很大的誤差坛悉;該算法將點放在遮擋器對象之間,可能是因為特征描述符過于依賴上下文承绸。這一結(jié)果表明裸影,同時捕獲全局對象運動,同時保持對遮擋的魯棒性军熏,將是該數(shù)據(jù)集向前發(fā)展的一個重大挑戰(zhàn)轩猩。
4.12. 場景語義分割
作為另一個用例,我們考慮了比較2D和3D語義分割模型的任務荡澎。由于這些方法在根本不同的基質(zhì)上運行均践,因此很難量化一種方法與另一種方法的有效性。為此摩幔,我們構建了三個二維圖像和三維點云直接對應的合成數(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ù)集中的每個像素拯欧。當結(jié)合深度和分割圖時详囤,我們得到一個標記的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)秩铆。在定性結(jié)果中,我們發(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]中給出了進一步的結(jié)果以及與NeSF的比較亚侠。
4.13. 條件新視點合成
像[66]這樣的神經(jīng)場景表示已經(jīng)在現(xiàn)實世界數(shù)據(jù)集上的新視圖合成任務中產(chǎn)生了最先進的結(jié)果[63],然而俗扇,必須在每個新場景上訓練一個新模型硝烂,這不允許模型在數(shù)據(jù)集上學習先驗知識。之前的工作通常使用ShapeNet數(shù)據(jù)集[14]來評估一種方法在多大程度上可以推廣到新場景[86114]铜幽。然而滞谢,ShapeNet由標準化的面向?qū)ο蠼M成,對于某些類別(例如飛機)除抛,它們有數(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)生相當高質(zhì)量的結(jié)果(參見[82])赏表,但它們的規(guī)模化比例與我們的照片級真實感復雜數(shù)據(jù)集大不相同:雖然PixelNeRF在處理遠離條件化視圖的視圖時有明顯的困難匈仗,但LFN根本無法規(guī)钠敖耍化到這種復雜性,SRT的重建也會變得模糊悠轩。[82]中提供了有關這一挑戰(zhàn)和數(shù)據(jù)集發(fā)布的更多詳細信息间狂。
5.結(jié)論
我們將介紹Kubric,這是一個通用Python框架火架,包括用于大規(guī)模生成的工具鉴象、集成來自多個源的資產(chǎn)、豐富的注釋和用于將數(shù)據(jù)直接移植到訓練管道的通用導出數(shù)據(jù)格式(SunDS)何鸡。Kubric能夠生成高質(zhì)量的合成數(shù)據(jù),解決自然圖像數(shù)據(jù)管理中固有的許多問題骡男,并避免構建特定任務的一次性管道的費用俭尖。我們在11個案例研究中展示了我們的框架的有效性,其中生成的數(shù)據(jù)集對于一系列不同的視覺任務具有不同的復雜性洞翩。在每種情況下,Kubric都大大減少了生成所需數(shù)據(jù)的工程工作焰望,并促進了重用和協(xié)作骚亿。我們希望它將通過降低生成高質(zhì)量合成數(shù)據(jù)的障礙、減少碎片化熊赖、促進管道和數(shù)據(jù)集的共享來幫助社區(qū)来屠。
局限性和未來的工作。
雖然Kubric已經(jīng)非常有用,但它仍在開發(fā)中俱笛,還不支持Blender和Pybillet的許多功能捆姜。值得注意的例子包括霧或火等體積效果、柔體和布料模擬迎膜,以及景深和運動模糊等高級相機效果泥技。我們還計劃對更多來源的資產(chǎn)進行預處理和統(tǒng)一,包括ABC數(shù)據(jù)集[51]或亞馬遜伯克利對象[17]磕仅。目前珊豹,Kubric需要大量的計算資源,因為它依賴于路徑跟蹤渲染器而不是光柵化渲染器榕订。我們希望添加對光柵化后端的支持店茶,允許用戶在速度和渲染質(zhì)量之間進行權衡。我們在補充材料的第6節(jié)中討論了圍繞我們的系統(tǒng)應用的潛在社會影響和道德影響劫恒。
6.社會影響和道德考慮
多樣性的應用贩幻,可以利用我們的系統(tǒng)值得一個廣泛的討論其潛在的社會影響和倫理考慮時,應考慮應用它两嘴。作為一種通用工具丛楚,而不是針對應用程序的解決方案,Kubric有可能帶來多種好處溶诞,也有因疏忽甚至惡意濫用而造成損害的風險鸯檬。
社會影響。
合成數(shù)據(jù)集構建為系統(tǒng)工程師提供了在野外和與真人一起部署之前檢測和糾正潛在危險故障模式的機會螺垢,尤其是對于那些涉及人機交互的應用喧务,例如自動駕駛汽車和機器人。然而枉圃,這并不排除開發(fā)可能對人類造成嚴重傷害的系統(tǒng)的可能性功茴;相反,它提出了考慮這種結(jié)果可能性的重要性孽亲。因此坎穿,我們敦促Kubric用戶工作的系統(tǒng)部署在實驗室外,采取積極措施返劲,以減輕這種風險玲昧,并認為他們在設計過程的最前沿。盡管如此篮绿,利用合成數(shù)據(jù)集構建作為一種工具來幫助預防有害后果的潛在價值仍有待進一步探索孵延。
道德考慮。
雖然Kubric的數(shù)據(jù)集生成依賴于人為驅(qū)動的設計自動化亲配,但它回避了對人工衍生數(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)建都是如此贷痪,但希望通過實驗和復制幻妓,就像模型體系結(jié)構一樣,該領域?qū)⒆孕羞x擇有用的數(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ù)集的元評估期間承擔額外的責任座菠。