jessemelpolio
该库是论文「Non-stationary texture synthesis using adversarial expansions.」的官方代码。
论文链接:
http://vcc.szu.edu.cn/research/2018/TexSyn
Github 链接:
https://github.com/jessemelpolio/non-stationary_texture_syn
如果你需要使用此代码做研究,请引用以下内容:
@article{TexSyn18,
title = {Non-stationary Texture Synthesis by Adversarial Expansion},
author = {Yang Zhou and Zhen Zhu and Xiang Bai and Dani Lischinski and Daniel Cohen-Or and Hui Huang},
journal = {ACM Transactions on Graphics (Proc. SIGGRAPH)},
volume = {37},
number = {4},
pages = {},
year = {2018},
}
需求
此代码在 Ubuntu 14.04 和 16.04 下进行了测试。 整个项目可以在以下环境中运作良好:
python-2.7
正确指定了 CUDA 的 pytorch-0.3.0
CUDA 8.0
python-2.7 下的其他软件包
准备工作
首先运行,download_pretrained_models.sh 来创建一个新的 Models 文件夹,然后将在 ImageNet 上预先训练过的 VGG19 模型下载到此文件夹,预训练的 VGG19 模型用于计算 style loss。
数据
源纹理图片没有格式的限制,建议数据文件夹结构使用 datasets 文件夹中子文件夹中的结构。
+--half
|
| +--sunflower
|
| +--train
|
| +--sunflower.jpg
|
| +--test
|
| +--sunflower.jpg
|
| +--brick
|
| +--train
|
| +--brick.jpg
|
| +--test
|
| +--brick.jpg
|
...
该库的结构
主文件夹,train.py 用于训练论文中描述的模型,test.py 用于测试原始图像(结果是输入大小的两倍), test_recurrent.py 用于极端扩展,nn-vis.py 用于可视化发生器的内部层,论文中显示的 residual blocks 可视化通过 cnn-vis.py 生成。
在 data 文件夹数据中,文 件custom_dataset_data_loader 指定了五种数据集模式:aligned,unaligned,single 和 half_crop,一般来讲,用 single 来测试,用 half_crop 来训练。
在 models 文件夹中,两个文件非常重要:models.py 和 networks.py,请在使用前仔细检查它。half_gan_style.py 是论文中使用的主要模型。一些实用程序在 vgg.py 中实现。
在 options 文件夹中,所有超参数都在这里定义。转到此文件夹可查看每个超参数的含义。
script 文件夹里包含了用于测试和训练的脚本。要训练或测试模型,请使用诸如 sh scripts / train_half_style.sh 之类的命令。
util 文件夹存放了一些用于产生柏林噪声的脚本(perlin2d.py),生成随机区块(random_tile.py),这对复制我们论文的结果非常有用。 其他一些有用的脚本也包括在内。
原文:https://mp.weixin.qq.com/s?__biz=MjM5ODU3OTIyOA==&mid=2650671630&idx=3&sn=90c1f16f2f1722472e573e1b98ab343d&chksm=bec2377d89b5be6bdc4e90bc27f4df52904c131c6cf24e21f1478e3c775520bbc9e2b8dbc0c1&mpshare=1&scene=23&srcid=0607sdc7Rb5O5bzIc6a2uajs#rd