如何一键减少修图时的拼接感?不如看看这篇CVPR 19论文怎么说。
来自马里兰大学、马克斯·普朗克信息学研究所、Adobe的研究人员提出了一种新型纹理混合器Texture Mixer。
他们利用深度学习和GAN实现了用户可控的纹理图像插值,融合两种不同类型的纹理样式,过渡丝滑自然。
就像下面这样:
你以为只融合纹理就完了?它还有更多好玩的应用,比如这个已经实现的纹理画笔功能,轻松合成出你想要花纹的文字:
甚至,还能预览不同物种的动物组合后皮毛图案的渐变。
狗+熊≠狗熊:
原来长颈鹿+豹子的皮毛花色拼凑起来也不违和:
老虎和斑马皮毛和纹理也能自然过渡:
这么有趣的研究,相关资源也是共享状态。
目前,更多展示、代码、训练测试数据集、已训练好的模型和补充材料都已经在项目GitHub上放出了。
在论文Texture Mixer: A Network for Controllable Synthesis and Interpolation of Texture里,研究人员揭秘了纹理混合的诀窍。
他们通过样本可控性和在任意数量的纹理样本之间进行插值,提出了新型纹理混合器Texture Mixer。
这是一种用重建任务和生成任务训练过的神经网络,可将样本的纹理投射到潜在空间,并被线性插值并投射到图像域中,从而确保直观控制和实际生成结果的质量。
整个合成流程的示意图如下:
上图中,箭头和圆圈表示对张量数据的运算,背景颜色突出显示的是不同阶段的任务,梯形表示可训练的组件,如果名称能匹配得上则这些组件可共享权重。
考虑到潜在张量,Texture Mixer使用了3种直觉潜在空间运算:平铺(tiling)、插值(interpolation)和多级混洗(shuffling)。
三种运算方式各有任务,平铺运算用来将空间上的纹理扩展到任意大小,插值运算将两个及以上潜在域中纹理的结合在一起,多级混洗预算将将相邻潜在张量中的小方块互换减少重复,然后对这些新的潜在张量进行解码得到插值。
结果显示,这种纹理混合方法优于许多基准, 研究人员进一步展示了视觉编辑应用的实际效果,并用纹理溶解(texture dissolve)、纹理画笔(texture brush)、和动物杂交(animal hybridization)任务进行测试。
在动物纹理数据集上进行纹理溶解任务,开始是这样的:
最后的合成结果是这样的:
在纹理画笔任务中,研究人员在1024×1024调色板上分别选取四块原纹理区域,随后用不同纹理进行新的字母绘画创作。
比如生成CVPR四个字母,不用纹理之间的区别还是很明显的:
在动物杂交任务中,研究人员将狗和熊两种动物皮毛的纹理融合,最后就合成了一幅狗+熊≠狗熊的动物。
最后,研究人员利用地球纹理和动物纹理数据集对合成纹理的质量进行定量评估,加粗代表最好的结果,下划线代表第二好的结果,红色代表每个指标中很高的数值。
结果显示,在可控制性、平滑程度、真实性等维度,Texture Mixer的表现都还不错。
最后,研究人员用雷达图将测试结果可视化。
前四种是基线方法,后三种是消融候选方法,结果显示,这种新方法在所有指标上都高于基线性能,并在各个维度取得了比较高的成绩。
论文地址: https://arxiv.org/abs/1901.03447
GitHub地址: https://github.com/ningyu1991/TextureMixer
— 完 —
推荐阅读