來自張標(biāo)大佬的文章灭必,將三維形狀表示成向量集合玄糟,然后使用擴(kuò)散模型實(shí)現(xiàn)多種條件控制生成
這種表示是在全局隱向量,規(guī)則隱向量和不規(guī)則隱向量的表示的基礎(chǔ)上發(fā)展而來站楚,利用到了徑向基函數(shù)礁遵,交叉注意力轻绞,自注意力等設(shè)計(jì)了幾種基于transformer的處理方式。對于條件生成任務(wù)佣耐,采用兩階段的訓(xùn)練策略政勃,第一階段是自動編碼器(變分自動編碼器),將三維形狀編碼到潛在空間中兼砖。第二階段是在學(xué)習(xí)到的潛在空間中訓(xùn)練一個擴(kuò)散模型奸远。
一個合適的學(xué)習(xí)到的神經(jīng)場表示,必須在壓縮和重建質(zhì)量之間提供一個良好的權(quán)衡掖鱼。這種設(shè)計(jì)通常需要三個組成部分:用于存儲潛在信息的空間數(shù)據(jù)結(jié)構(gòu)然走、空間插值方法和神經(jīng)網(wǎng)絡(luò)架構(gòu)。文獻(xiàn)中提出的備選方案有多種戏挡,如圖2所示芍瑞。早期的方法使用單個全局隱向量結(jié)合MLP網(wǎng)絡(luò)。這個概念簡單但通常很難重建高質(zhì)量的形狀褐墅。通過使用latent grid 3D規(guī)則網(wǎng)格拆檬,結(jié)合三線性插值和MLP,可以獲得更好的形狀細(xì)節(jié)妥凳。然而竟贯,這樣的表示對于生成式模型來說太大了,只能使用極低分辨率的(例如, 8 × 8 × 8)的網(wǎng)格逝钥。通過引入稀疏性屑那,latents排列在不規(guī)則的網(wǎng)格中。雖然在很大程度上減少了潛在的尺寸,但在3DShape2VecSet的設(shè)計(jì)中持际,我們?nèi)杂泻艽蟮母倪M(jìn)空間沃琅。
受transformer中交叉注意力的啟發(fā),使用固定大小的隱向量集合作為形狀的隱向量表示蜘欲。我們認(rèn)為有兩個主要原因促成了表征的成功益眉。首先,該表示非常適合與基于transformer的網(wǎng)絡(luò)使用姥份。由于基于transformer的網(wǎng)絡(luò)往往優(yōu)于當(dāng)前的備選方案郭脂,因此我們可以更好地從這種網(wǎng)絡(luò)架構(gòu)中受益。與僅使用MLPs處理潛在信息不同澈歉,我們使用了線性層和交叉注意力展鸡。其次,該表征不再使用明確設(shè)計(jì)的位置特征闷祥,而僅賦予網(wǎng)絡(luò)以其認(rèn)為合適的任何形式編碼位置信息的選擇權(quán)娱颊,這符合我們的設(shè)計(jì)原則,即學(xué)習(xí)到的表示優(yōu)于手工設(shè)計(jì)的表示凯砍。所提出的潛在表示見圖2e )箱硕。
歸納起來,作者的貢獻(xiàn)如下:( 1 )提出了一種新的三維形狀表示方法悟衩。任何形狀都可以用固定長度的隱層數(shù)組來表示剧罩,并使用交叉注意力和線性層來處理,以產(chǎn)生一個神經(jīng)場座泳。( 2 )我們提出了一種新的網(wǎng)絡(luò)架構(gòu)來處理所提出的表示中的形狀惠昔,包括一個構(gòu)建塊來使用交叉注意力從大的點(diǎn)云中聚合信息。( 3 )我們改進(jìn)了3D形狀自編碼的研究現(xiàn)狀挑势,以獲得包含局部細(xì)節(jié)的高保真重建镇防。( 4 )提出了一種latent set diffusion。我們改進(jìn)了FID潮饱、KID来氧、FPD和KPD在3D形狀生成方面的研究現(xiàn)狀。( 5 )展示了類別條件生成香拉、文本條件生成啦扬、點(diǎn)云補(bǔ)全和圖像條件生成的3D形狀擴(kuò)散。
1凫碌、形狀表示
徑向基函數(shù)
一個連續(xù)函數(shù)可以用3D中的一組加權(quán)點(diǎn)用RBFs表示:
這里 是徑向基函數(shù)radial basis function (RBF) 通常表示兩個輸入之間的相似性(或相異性)扑毡,
給定xi的真值占有率occupancies,λi的值可以通過求解一個線性方程組得到盛险。這樣瞄摊,我們可以將連續(xù)函數(shù)O ( · )表示為M個點(diǎn)的集合以及它們對應(yīng)的權(quán)重勋又。
然而,為了保留三維形狀的細(xì)節(jié)换帜,往往需要非常多的點(diǎn)數(shù)(如文獻(xiàn)[ Carr et al.2001 ]中M = 80000)赐写。這種表示并沒有從表示學(xué)習(xí)的最新進(jìn)展中獲益,也無法與更緊湊的學(xué)習(xí)表示競爭膜赃。因此,我們想對表征進(jìn)行修改揉忘,使其變成一個神經(jīng)場跳座。
神經(jīng)場的表示
有兩種解決方案:一種是將每個形狀表示為一個單獨(dú)的神經(jīng)網(wǎng)絡(luò)(使得固定大小網(wǎng)絡(luò)的網(wǎng)絡(luò)權(quán)值成為形狀的表示),并將一個擴(kuò)散過程訓(xùn)練為超網(wǎng)絡(luò)泣矛。(將形狀表示成網(wǎng)絡(luò)疲眷,使用超網(wǎng)絡(luò)表示不同形狀)第二種方法是為所有形狀建立一個共享的編碼器-解碼器網(wǎng)絡(luò),并將每個形狀表示為編碼器計(jì)算的一個潛在形狀(將形狀表示成不同的latents)您朽。第二種方法表示更緊湊狂丝,因?yàn)樗怯蓴?shù)據(jù)集中的所有形狀共同學(xué)習(xí)的,而網(wǎng)絡(luò)權(quán)重本身并不計(jì)算到潛在的表示哗总。這樣的神經(jīng)場以坐標(biāo)x和C維隱形f的元組作為輸入几颜,輸出占有率。
因此很多方法來表示f讯屈,如圖2蛋哭。第一種方法是使用單個全局隱變量f,但是一個主要的限制是編碼形狀細(xì)節(jié)的能力涮母。后續(xù)的一些工作研究了將傳統(tǒng)的數(shù)據(jù)結(jié)構(gòu)如規(guī)則網(wǎng)格與神經(jīng)場概念相結(jié)合的坐標(biāo)依賴隱層谆趾。將隱向量排列成空間數(shù)據(jù)結(jié)構(gòu),然后插值(三線性)得到坐標(biāo)依賴的隱向量fx叛本。最近的一項(xiàng)工作3DILG也是張標(biāo)大神的cvpr文章 [ Zhang et al . 2022]提出了一種3D形狀的稀疏表示方法沪蓬,使用在點(diǎn)位置xi的不規(guī)則網(wǎng)格中排列的隱元fi。然后通過核回歸估計(jì)最終的坐標(biāo)依賴潛變量fx来候。
其中 是一個歸一化因子跷叉,因此,三維形狀的表示可以寫為
吠勘,在此之后一個MLP
應(yīng)用于將近似特征
投影到占有率性芬,
提出的表示方法
我們初步探索了基于不規(guī)則和規(guī)則網(wǎng)格irregular and regular grids以及三平面tri-planes、頻率組成frequency compositions,和其他分解表示的三維形狀表示的多種變體剧防。最終植锉,我們無法對現(xiàn)有的不規(guī)則網(wǎng)格進(jìn)行改進(jìn)。然而峭拘,我們能夠?qū)崿F(xiàn)一個顯著的改善與以下的策略俊庇。我們的目標(biāo)是保持不規(guī)則網(wǎng)格和插值的結(jié)構(gòu)狮暑,但是沒有顯式地表示實(shí)際的空間位置。我們讓網(wǎng)絡(luò)對空間信息進(jìn)行編碼辉饱。我們保持了插值的結(jié)構(gòu)搬男,但減少了顯式的點(diǎn)坐標(biāo),并從公式中集成了交叉注意力彭沼。他的結(jié)果是下面的可學(xué)習(xí)函數(shù)逼近器缔逛,
最后通過一個fc層得到占有率
與3DILG和其他所有基于坐標(biāo)隱變量的方法相比,我們降低了對坐標(biāo)集合的依賴姓惑,新的表示只包含一組隱變量褐奴, 另一個觀點(diǎn)是將其看作查詢點(diǎn)x和一組潛變量之間的交叉注意力。
2于毙、形狀表示方法
該結(jié)構(gòu)由三個部分組成:3D形狀編碼器敦冬、KL正則化模塊和3D形狀解碼器。
形狀編碼
為了將三維形狀表示為一組向量唯沮,首先的挑戰(zhàn)是如果將較多的點(diǎn)云信息聚合到一個較小的向量集合中脖旱,解決這個問題的一個流行的方法是將大的點(diǎn)云劃分為更小的塊集合,并在每個塊中學(xué)習(xí)一個潛在向量介蛉。雖然這在許多網(wǎng)絡(luò)中是一個非常有研究和標(biāo)準(zhǔn)的組件萌庆,但我們發(fā)現(xiàn)了一種更成功的方法來從大的點(diǎn)云中聚合特征,該方法與transformer架構(gòu)更好地兼容币旧。我們考慮了兩種選擇踊兜。一種是定義一個查詢集合,這個集合是可以學(xué)習(xí)的佳恬,另一種是使用點(diǎn)云自身捏境,首先使用最遠(yuǎn)點(diǎn)采樣得到更小的點(diǎn)擊,然后進(jìn)行位置嵌入通過交叉注意力得到position毁葱。如圖4所示垫言。數(shù)量M影響重構(gòu)性能:M越大,重構(gòu)效果越好倾剿。但由于transformer架構(gòu)的原因筷频,M對訓(xùn)練時(shí)間影響較大,不宜過大前痘。在我們的最終模型中凛捏,將隱層節(jié)點(diǎn)數(shù)M設(shè)置為512,通道數(shù)C設(shè)置為512芹缔,以在重建質(zhì)量和訓(xùn)練時(shí)間之間進(jìn)行權(quán)衡坯癣。
正則化
我們將VAE的設(shè)計(jì)思想應(yīng)用于我們的3D形狀表示,并利用KL散度對特征進(jìn)行正則化最欠。需要注意的是示罗,KL正則化是可選的惩猫,只對第二階段的擴(kuò)散模型訓(xùn)練是必要的。如果我們只想從點(diǎn)云中重建表面蚜点,就不需要KL正則化轧房。
首先通過兩個網(wǎng)絡(luò)分支分別對均值和方差進(jìn)行線性投影:
其中 and
是兩個線性映射層,我們使用了不同大小的輸出通道C0绍绘,其中C0<<C奶镶,這樣的壓縮使得我們可以在更小的潛在總大小M上訓(xùn)練擴(kuò)散模型
. 這樣可以寫成VAE的形式
這里,KL正則化可以寫作
在實(shí)際應(yīng)用中陪拘,我們將KL損失的權(quán)重設(shè)置為0.001实辑,并實(shí)驗(yàn)了不同C0值的性能。我們推薦的設(shè)置是C0 = 32
形狀解碼
為了增加網(wǎng)絡(luò)的表達(dá)能力藻丢,我們在兩部分之間加入了一個潛在學(xué)習(xí)網(wǎng)絡(luò)(latent learning network)。因?yàn)槲覀兊碾[層是一組向量摄乒,所以在這里使用transformer網(wǎng)絡(luò)是很自然的悠反。因此,這里提出的網(wǎng)絡(luò)是一系列自注意塊馍佑,形狀編碼后的latents 輸入到self-att塊中斋否,對于一個查詢x,使用交叉注意力獲得相對應(yīng)的latent拭荤,然后通過全連接層獲得占用率茵臭。
損失
使用交叉熵?fù)p失訓(xùn)練,我們在分辨率為的網(wǎng)格中采樣查詢點(diǎn)舅世。利用Marching Cubes對最終曲面進(jìn)行重構(gòu)
3旦委、形狀生成
我們提出的擴(kuò)散模型結(jié)合了潛在擴(kuò)散(壓縮潛在空間的思想)、EDM (大部分訓(xùn)練細(xì)節(jié))雏亚,和我們的形狀表示設(shè)計(jì)(該架構(gòu)基于注意力和自注意力而不是卷積)缨硝。 擴(kuò)散模型在kl正則化后的潛在空間訓(xùn)練
該網(wǎng)絡(luò)可以很容易地通過自注意力transformer進(jìn)行建模。每層由兩個注意力塊組成罢低。第一個自注意力塊是對潛在集進(jìn)行專注學(xué)習(xí)的自我關(guān)注查辩。第二個注入條件信息C (圖7 ( b )) )。對于類別等簡單信息网持,C是一個可學(xué)習(xí)的嵌入向量(例如,對于55個類別,有55個不同的嵌入向量)宜岛。對于單視角圖像,我們使用ResNet - 18作為上下文編碼器來提取一個全局特征向量作為條件C功舀。對于文本條件萍倡,我們使用BERT來學(xué)習(xí)一個全局特征向量作為C。對于部分點(diǎn)云辟汰,我們使用本文的形狀編碼方法得到一組潛在嵌入作為C遣铝。在無條件生成的情況下佑刷,交叉注意力退化為自注意力(圖7 ( a )) )。
實(shí)驗(yàn)設(shè)置
數(shù)據(jù)集
我們使用ShapeNet - v2數(shù)據(jù)集作為基準(zhǔn)酿炸,包含55類人造物體瘫絮。我們使用[ Zhang et al . 2022]中的training / val拆分。我們像在[Mescheder et al 2019]中一樣對形狀進(jìn)行預(yù)處理填硕。每個形狀首先轉(zhuǎn)換為水密網(wǎng)格麦萤,然后歸一化到其包圍盒,從中進(jìn)一步采樣尺寸為50扁眯,000的稠密表面點(diǎn)云壮莹。為了學(xué)習(xí)神經(jīng)場,我們在三維空間中隨機(jī)采樣50姻檀,000個有占位的點(diǎn)命满,在近表面區(qū)域隨機(jī)采樣50,000個有占位的點(diǎn)绣版。對于單視點(diǎn)物體重建胶台,我們使用3D - R2N2 提供的2D渲染數(shù)據(jù)集,其中每個形狀從24個隨機(jī)視點(diǎn)渲染成大小為224 × 224的RGB圖像杂抽。對于文本驅(qū)動的形狀生成诈唬,我們使用Shape Glot的文本提示。對于形狀補(bǔ)全訓(xùn)練的數(shù)據(jù)預(yù)處理缩麸,我們通過采樣點(diǎn)云面片來創(chuàng)建部分點(diǎn)云铸磅。
形狀自動編碼結(jié)果
對于形狀自編碼器,我們使用大小為2048的點(diǎn)云作為輸入杭朱。在每次迭代中阅仔,我們分別從格點(diǎn)中抽取1024個查詢點(diǎn)和從近表面區(qū)域中抽取1024個查詢點(diǎn)進(jìn)行占有率預(yù)測。形狀自編碼器在8 A100上訓(xùn)練弧械,對于T = 1霎槐,600個epoch,批處理大小為512梦谜。學(xué)習(xí)速率在前t0 = 80個epochs線性增加到lrmax = 5e-5丘跌,然后使用余弦衰減規(guī)則逐漸減小,until reaching the minimum value of 1?? ? 6. 擴(kuò)散模型在4 A100上進(jìn)行訓(xùn)練唁桩,批次大小為256闭树,T = 8000epochs.。在前t0 = 800個歷元中荒澡,學(xué)習(xí)速率線性增加到lrmax = 1e-4报辱,然后使用上述衰減規(guī)律逐漸減小,直到達(dá)到1e - 6单山。我們對EDM [ Karras et al 2022]的超參數(shù)使用默認(rèn)設(shè)置碍现。在采樣過程中幅疼,我們僅通過18個去噪步驟就得到了最終的潛在集。
可以說相當(dāng)炸裂昼接,平均iou達(dá)到96.5%效果相當(dāng)好爽篷,他這里說訓(xùn)練了1600輪,不知道怎么訓(xùn)練的慢睡,單個椅子類別70多G的數(shù)據(jù)逐工,8張3090 24G顯存需要1天訓(xùn)練,全部數(shù)據(jù)有500G漂辐,不知道要訓(xùn)練多久泪喊。可能要一周髓涯。而且使用給出的數(shù)據(jù)和代碼在單類椅子上訓(xùn)練的iou只有91%袒啼,暫不明確問題出來哪里,可能是單個類別導(dǎo)致的纬纪?
使用下采樣作為latents的方法都優(yōu)于可學(xué)習(xí)查詢蚓再。因此,我們在后面的實(shí)驗(yàn)中使用了下采樣點(diǎn)云育八,
latents數(shù)量M是網(wǎng)絡(luò)中使用的潛在向量的數(shù)量。直觀上赦邻,M越大髓棋,重建效果越好。我們在表中給出了M的結(jié)果惶洲。4 .因此按声,在我們的所有實(shí)驗(yàn)中,M都設(shè)置為512恬吕。對于M較大的情況签则,計(jì)算成本更高。
此外铐料,kl正則化將確定性形狀編碼變?yōu)樽兎肿跃幋a器渐裂。引入的超參數(shù)為C0。較小的C0導(dǎo)致較高的壓縮率钠惩。C0的選擇在表5中給出柒凉。顯然,更大的C0給出了更好的結(jié)果篓跛。C0 = 8膝捞,16,32愧沟,64的重建結(jié)果非常接近蔬咬。然而鲤遥,在第二階段,它們之間存在顯著差異林艘,因?yàn)楦蟮臐撛谝?guī)模會使擴(kuò)散模型的訓(xùn)練更加困難盖奈。它表明在KL塊中大大增加壓縮并不會過多地降低重建性能。我們還可以看到北启,通過減少C0來壓縮KL塊比使用更少的隱向量M來壓縮要好得多卜朗。
無條件形狀生成
我們用表6中提出的度量來評估無條件形狀生成任務(wù)我們還將我們的方法與[ Zhang et al . 2022]中提出的基線方法進(jìn)行了比較。該方法稱為Grid - 83咕村,因?yàn)殡[層網(wǎng)格大小為83场钉,與Auto SDF [ Mittal et al 2022]中完全相同。表中還給出了不同C0的結(jié)果懈涛。當(dāng)C0 = 32時(shí)逛万,我們的結(jié)果在所有度量中都是最好的。當(dāng)C0 = 64時(shí)批钠,結(jié)果變差宇植。這也符合我們的猜想,即更大的潛在規(guī)模使得訓(xùn)練更加困難埋心。
類別條件生成
文本驅(qū)動的條件生成
由于該模型是一個概率模型指郁,我們可以在給定文本提示的情況下對形狀進(jìn)行采樣。結(jié)果非常令人鼓舞拷呆,它們構(gòu)成了使用擴(kuò)散模型的文本條件3D形狀生成的第一個演示闲坎。據(jù)我們所知,在提交這項(xiàng)工作的時(shí)候茬斧,還沒有公開發(fā)表的競爭方法腰懂。
形狀補(bǔ)全
我們還通過使用部分點(diǎn)云作為條件輸入擴(kuò)展了我們的擴(kuò)散模型用于概率形狀補(bǔ)全。與ShapeFormer [ Yan et al . 2022]的對比結(jié)果如圖12所示项秉⌒辶铮可見,我們的潛在集擴(kuò)散可以預(yù)測更準(zhǔn)確的完工娄蔼,我們也有能力實(shí)現(xiàn)更多樣的世代怖喻。
圖像條件生成
生成的新穎度
3、limitation
雖然我們的方法在各種任務(wù)上展示了令人信服的結(jié)果岁诉,但我們的設(shè)計(jì)選擇也有我們想要討論的缺點(diǎn)罢防。例如,我們需要一個兩階段的訓(xùn)練策略唉侄。雖然這導(dǎo)致在生成質(zhì)量方面的性能提高咒吐,但訓(xùn)練第一階段比依賴手工設(shè)計(jì)的特征如小波[ Hui et al . 2022]更耗時(shí)。此外,如果考慮的形狀數(shù)據(jù)發(fā)生變化恬叹,第一階段可能需要重新訓(xùn)練候生,而對于第二階段- -我們的擴(kuò)散架構(gòu)的核心- -訓(xùn)練時(shí)間也相對較高≌乐纾總的來說唯鸭,我們認(rèn)為未來的研究途徑有很大的潛力來加快培訓(xùn),特別是在擴(kuò)散模型的背景下硅确。