实现对图像中物体材料属性的细粒度控制是⼀项复杂的任务,具有⼴泛的商业应⽤前景,特别是在图像编辑、⼴告和图像取证等领域。如今,来⾃麻省理⼯学院计算机科学与⼈⼯智能实验室(CSAIL)和 Google Research 的研究团队推出了⼀种图像编辑“数字魔法”——Alchemist。
据介绍,Alchemist 可以任意改变图像中物体的材料属性,如粗糙度(roughness)、⾦属度(metallicity)、反照率(albedo)和透明度(transparency)。例如,让《星球⼤战》中的尤达(Yoda)看起来更加透明:让《宝可梦》中的喷⽕⻰更有⾦属质感:
据介绍,作为⼀种图像到图像的扩散模型,Alchemist 可以基于⽤户输⼊的任何图像,在-1到1的连续范围内调整每种属性,从⽽创建全新的视觉效果。“当你看着你创造的图像时,往往不是很满意。”麻省理⼯学院电⽓⼯程与计算机科学博⼠⽣、论⽂第⼀作者 Prafull Sharma 说,“有了 Alchemist,我们就能利⽤⽂本到图像模型输出的逼真性,在提供初始图像后修改特定属性。
”⽽且,由于相对属性强度是线性变化的,Alchemist 只对所需的材料属性进⾏平滑编辑,同时保留图像中的⾼级语义和其他信息。
如下图所示,如果是两只猫或两个杯⼦,可以使⽤特定实例的分割图来掩盖相对的材质变化。此外,研究团队表示,这些图像编辑功能有可能扩展到改进视频游戏模型、增强⼈⼯智能在视觉特效⽅⾯的能⼒,以及⼤幅增加机器⼈的训练数据。
具体⽽⾔,Alchemist 有助于调整视频游戏中不同模型的外观,帮助创作者加快设计过程,优化纹理以适应关卡的玩法;通过让机器⼈接触各种各样的纹理,它们可以更好地理解现实世界中的各种物品;甚⾄有助于优化图像分类,分析神经⽹络⽆法识别图像材质变化的部分。
Alchemist 因何拥有“神奇魔法”?
在计算机图形学中,双向反射分布函数(BRDFs)定义了材料属性,这导致了基于物理的 BRDF 模型的发展。以往的⽅法通常采⽤逆渲染(inverse rendering)⽅法来分离和估计复杂的场景属性(如⼏何和照明),从⽽修改材料属性。
2023 年,Daniel Subias 和 Manuel Lagunas(arXiv:2302.03619)提出了⼀种基于 GAN 的⽅法,该⽅法在合成数据上进⾏训练,⽤于感知材料编辑,重点关注⾦属和粗糙度参数,但依然需要对⽬标现实世界物体进⾏遮罩处理。
为此,在这项⼯作中,研究团队提出了⼀种利⽤预训练的⽂本到图像模型来操作图像中的细粒度材料属性的⽅法。
他们克服了两个主要挑战:⾸先,缺乏具有精确标注材料属性的真实世界数据集,使得从监督训练中泛化变得困难。为了克服第⼀个挑战,研究团队渲染了⼀个具有基于物理的材料和环境地图的合成数据集,随机编辑了 1200 种材料的材料属性,从⽽解决了对材料属性进⾏细粒度标注的需求。其次,⽂本到图像模型是使⽤⽂本描述如“⾦⾊”、“⽊头”或“塑料”等进⾏训练的,通常缺乏关于材料的细粒度细节。
这个问题因单词的离散性和材料参数的连续性之间的脱节⽽变得更加复杂。
为此,他们在现成的扩散模型中引⼊了额外的输⼊通道,并通过⼀个受 InstructPix2Pix 启发的基于指令的过程来完善这个模型。结果显示,以前的扩散系统可以从帽⼦⾥变出⼀只兔⼦,⽽ Alchemist 则可以将同⼀只兔⼦变成半透明的,还能让橡⽪⼩鸭呈现⾦属质感,去除⾦⻥的⾦⾊⾊调,擦亮旧鞋,等等。
⽽且,相⽐于 Baseline 的闪烁过渡,Alchemist 的过渡效果更加平滑。值得注意的是,尽管这⼀模型仅在 500 个合成场景上进⾏了训练,但却能够有效地将材料属性的控制泛化到真实的输⼊图像上。
局限性研究团队希望进⼀步研究 Alchemist 如何在场景层⾯改善 3D 图形资产。此外,Alchemist 还能帮助从图像中推断材料属性。这类⼯作在未来可以解开物体的视觉和机械特性之间的联系。
不过,Alchemist ⽬前还存在⼀些局限性,⽐如粗糙度和⾦属属性的感知变化很⼩,有时还会产⽣物理上不切实际的透明度。例如,想象⼀只⼿部分伸进了⻨⽚盒——在 Alchemist 对这⼀属性的最⼤设置下,你会看到⼀个没有⼿指伸进去的透明容器。该模型缺乏完整的 3D 世界模型,⽆法通过内喷涂(inpaint)来保持物理⼀致性,如上述和下图拐杖糖示例。图|Alchemist 有时⽆法达到预期效果。
例如,经过粗糙度编辑后,茶壶表⾯仍有光泽(左图);拐杖糖的⽔杯内部分被删除了(右图)。此外,与典型的⽣成模型⼀样,Alchemist 可以⽣成符合给定指令的合理解释,但并不⼀定能复制传统图形渲染器的精确结果。