给灰突突的 3D 模型加“新皮肤”,这事儿能有多简单?
现在,只需要一句话就能搞定。
一个普通小台灯,给个“Brick Lamp”的描述,瞬间变“砖块灯”:
一匹灰色小马,加上“Astronaut Horse”,摇身一变就成了“宇航马”:
操作简单不说,每一个角度上的细节和纹理也都呈现出来了。
这就是用一个专门给 3D 物体“换皮肤”的模型 Text2Mesh 做出来的,由芝加哥大学和特拉维夫大学联合打造。
一句话给 3D 物体“换皮肤”
Text2Mesh 模型的输入只需一个 3D Mesh(无论原始图像质量高低),外加一句文字描述。
具体变换过程如下:
输入的原始网格模型 mesh,顶点 V∈Rn×3,表面 F∈{1, . . . , n}m×3,它们在整个训练过程中固定不变。
然后再构造一个神经风格(neural style)网络,为 mesh 每个顶点生成一个样式属性,后续好在整个表面上定义风格。
具体来说,该网络将网格表面 p∈V 上的点映射成相应的 RGB 颜色,并沿法线方向位移,生成一个风格化了的初始 mesh。
接着从多个视图对这个 mesh 进行渲染。
再使用 CLIP 嵌入的 2D 增强技术让结果更逼真。
在这个过程中,渲染图像和文本提示之间的 CLIP 相似性得分,会被作为更新神经网络权重的信号。
整个 Text2Mesh 不需要预训练,也不需要专门的 3D Mesh 数据集,更无需进行 UV 参数化(将三角网格展开到二维平面)。
具体效果如何?
Text2Mesh 在单个 GPU 上训练的时间只需不到 25 分钟,高质量的结果可以在 10 分钟之内出现。
它可以生成各种风格,并且细节还原非常到位:
再比如下面这个,不管是变雪人、忍者、蝙蝠侠、绿巨人,还是乔布斯、梅西、律师…… 衣服的褶皱、配饰、肌肉、发丝…… 等细节都可以生动呈现。
研究人员还设计了一个用户调查,将 Text2Mesh 与基线方法 VQGAN 相比。
评分涉及三个问题:1、生成的结果自然程度;2、文本与结果的匹配度;3、结果与原始图像的匹配度。
57 名用户打分后,得出的结果如下:
Text2Mesh 在每一项上得分都比 VQGAN 高。
此外,在更复杂、更特殊的文本描述之下,Text2Mesh 也能 hold 住。
比如“由钩针编织成的闪亮的金色衣服熨斗”:
“带波纹金属的蓝钢 luxo 台灯”:
更厉害的是,Text2Mesh 模型还可以直接使用图片驱动。
比如就给一张仙人掌的照片,也能直接把原始灰色的 3D 小猪变成“仙人掌风格”:
One More Thing
Text2Mesh 代码已开源,在 Kaggle Notebook 上也有人上传了 demo。感兴趣的便朋友可以一试:
最后,大家知道这是只啥么?
demo 地址:
https://www.kaggle.com/neverix/text2mesh/
论文:
https://arxiv.org/abs/2112.03221
代码:
https://github.com/threedle/text2mesh
参考链接:
https://threedle.github.io/text2mesh/