3D模型“換皮膚”有多簡(jiǎn)單?也就一句話的事
3D設(shè)計(jì)師福音
給灰突突的3D模型加“新皮膚”,這事兒能有多簡(jiǎn)單?
現(xiàn)在,只需要一句話就能搞定。
看!
一個(gè)普通小臺(tái)燈,給個(gè)“Brick Lamp”的描述,瞬間變“磚塊燈”:
一匹灰色小馬,加上“Astronaut Horse”,搖身一變就成了“宇航馬”:
操作簡(jiǎn)單不說,每一個(gè)角度上的細(xì)節(jié)和紋理也都呈現(xiàn)出來了。
這就是用一個(gè)專門給3D物體“換皮膚”的模型Text2Mesh做出來的,由芝加哥大學(xué)和特拉維夫大學(xué)聯(lián)合打造。
是不是有點(diǎn)意思?
一句話給3D物體“換皮膚”
Text2Mesh模型的輸入只需一個(gè)3D Mesh(無論原始圖像質(zhì)量高低),外加一句文字描述。
具體變換過程如下:
輸入的原始網(wǎng)格模型mesh,頂點(diǎn)V∈Rn×3,表面F∈{1, . . . , n}m×3,它們?cè)谡麄€(gè)訓(xùn)練過程中固定不變。
然后再構(gòu)造一個(gè)神經(jīng)風(fēng)格(neural style)網(wǎng)絡(luò),為mesh每個(gè)頂點(diǎn)生成一個(gè)樣式屬性,后續(xù)好在整個(gè)表面上定義風(fēng)格。
具體來說,該網(wǎng)絡(luò)將網(wǎng)格表面p∈V上的點(diǎn)映射成相應(yīng)的RGB顏色,并沿法線方向位移,生成一個(gè)風(fēng)格化了的初始mesh。
接著從多個(gè)視圖對(duì)這個(gè)mesh進(jìn)行渲染。
再使用CLIP嵌入的2D增強(qiáng)技術(shù)讓結(jié)果更逼真。
在這個(gè)過程中,渲染圖像和文本提示之間的CLIP相似性得分,會(huì)被作為更新神經(jīng)網(wǎng)絡(luò)權(quán)重的信號(hào)。
整個(gè)Text2Mesh不需要預(yù)訓(xùn)練,也不需要專門的3D Mesh數(shù)據(jù)集,更無需進(jìn)行UV參數(shù)化(將三角網(wǎng)格展開到二維平面)。
具體效果如何?
Text2Mesh在單個(gè)GPU上訓(xùn)練的時(shí)間只需不到25分鐘,高質(zhì)量的結(jié)果可以在10分鐘之內(nèi)出現(xiàn)。
它可以生成各種風(fēng)格,并且細(xì)節(jié)還原非常到位:
再比如下面這個(gè),不管是變雪人、忍者、蝙蝠俠、綠巨人,還是喬布斯、梅西、律師……衣服的褶皺、配飾、肌肉、發(fā)絲……等細(xì)節(jié)都可以生動(dòng)呈現(xiàn)。
研究人員還設(shè)計(jì)了一個(gè)用戶調(diào)查,將Text2Mesh與基線方法VQGAN相比。
評(píng)分涉及三個(gè)問題:1、生成的結(jié)果自然程度;2、文本與結(jié)果的匹配度;3、結(jié)果與原始圖像的匹配度。
57名用戶打分后,得出的結(jié)果如下:
Text2Mesh在每一項(xiàng)上得分都比VQGAN高。
此外,在更復(fù)雜、更特殊的文本描述之下,Text2Mesh也能hold住。
比如“由鉤針編織成的閃亮的金色衣服熨斗”:
“帶波紋金屬的藍(lán)鋼luxo臺(tái)燈”:
更厲害的是,Text2Mesh模型還可以直接使用圖片驅(qū)動(dòng)。
比如就給一張仙人掌的照片,也能直接把原始灰色的3D小豬變成“仙人掌風(fēng)格”:
One More Thing
Text2Mesh代碼已開源,在Kaggle Notebook上也有人上傳了demo。感興趣的便朋友可以一試:
最后,大家知道這是只啥么?
demo地址:
論文:
https://arxiv.org/abs/2112.03221
代碼:
https://github.com/threedle/text2mesh
參考鏈接:
https://threedle.github.io/text2mesh/