纹理合成器
-
基于判别器和生成器建模方法的纹理合成具有很大的潜力,但是现有方法为了效率而采用的前向网络在泛化能力上并不行,即一个网络只能合成一种纹理,缺少多样性。本文着重解决该问题。训练一个多纹理合成网络存在的一些困难:不同类型纹理的统计特是完全不同,使用基于 Gram 矩阵的纹理损失[1, 2]只能部分的衡量其中的差异;纹理之间内在的不同导致收敛速率也不一样。所以训练一个多纹理合成网络的难度取决于纹理之间的差异和各个纹理本身的复杂性。另外,多纹理合成网络还会出现输入的噪声向量被边缘化的问题,这就导致一个给定的纹理无法生成多个不同样本,这通常意味着对特定纹理的过拟合。
本文设计的网络结构有两个输入,一个噪声向量、一个 one-hot vector 表示不同纹理,网络分为 Generator 和 Selector 两路,Selector 的每层的特征图除了自用之外,还会和 Generator 的对应层特征拼接在一起作为 Generator 下一层的输入,最后一层的输出即为生成的纹理,再使用 VGG 提取特征。基于 Gram 矩阵的纹理损失函数对于单一纹理合成很有用,但是用于多纹理时并不够理想,作者认为这是因为不同纹理的 Gram 矩阵在尺度上有较大的差异导致的,所以本文首先是改进了 Texture loss,由公式(1)变成公式(2):
改进前后的效果对比:
第一行是原始纹理,第二行是公式(1)的效果,第三行是改进后的效果。
西南地区IT社群(QQ)
- 云南
- 【昆明网页设计交流吧】243627302
- 【昆明nodejs交流吧】 243626749
- 【VUE】838405306
- 【云南程序员总群】343606807
- 【昆明UI设计】104031254
- 【云南软件外包】15547313
- 贵州
- 【PHP/java源码/站长交流群】55692114
- 四川
- 【成都Java/JavaWeb交流】86669225
- 【vaScript+PHP+MySql】116270060
- 【UI设计/设计交流学习群】135794928
- 重庆
- 【诺基亚 JAVA游戏博物馆】 559479780
- 【PHP,Java,Python,C++接单】 442103442
- 西藏