Github 项目推荐 | GAN 非平稳纹理合成

该库是论文「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),这对复制我们论文的结果非常有用。 其他一些有用的脚本也包括在内。

原文发布于微信公众号 - AI研习社(okweiwu)

原文发表时间:2018-06-07

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Petrichor的专栏

TensorFlow大本营

23240
来自专栏和蔼的张星的图像处理专栏

9.SSD目标检测之三:训练失败记录(我为什么有脸写这个……)

这个大概折腾了三四天,反正我能想到改的地方都改了,笔记本上试过了,宿舍的电脑上也试过了,反正就是不行,我也没什么办法了,后面就转向YoloV3了。尽管失败了,还...

27120
来自专栏Petrichor的专栏

tensorflow: 畅玩tensorboard图表(SCALARS)

这篇博客建立在你已经会使用tensorboard的基础上。如果你还不会记录数据并使用tensorboard,请移步我之前的另一篇博客:tensorflow: t...

39330
来自专栏专知

【干货】手把手教你用苹果Core ML和Swift开发人脸目标识别APP

【导读】CoreML是2017年苹果WWDC发布的最令人兴奋的功能之一。它可用于将机器学习整合到应用程序中,并且全部脱机。CoreML提供的机器学习 API,包...

33660
来自专栏素质云笔记

SSD+caffe︱Single Shot MultiBox Detector 目标检测+fine-tuning(二)

承接上一篇SSD介绍:SSD+caffe︱Single Shot MultiBox Detector 目标检测(一) 如果自己要训练SSD模型呢,关键...

1.2K100
来自专栏GAN&CV

使用tensorflow 的slim模块fine-tune resnet/densenet/inception网络,解决batchnorm问题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_25737169/article/d...

1.2K20
来自专栏和蔼的张星的图像处理专栏

10.YOLO系列及如何训练自己的数据。

SSD失败之后就挺失望的,而且莫名其妙,于是转向YOLO了,其实object detection领域可选的模型并不多,RCNN系列我是大概看过的,还写过:RCN...

62920
来自专栏人工智能LeadAI

YOLO:实时目标检测

一瞥(You Only Look Once, YOLO),是检测Pascal VOC(http://host.robots.ox.ac.uk:8080/pasc...

1.1K70
来自专栏机器学习之旅

python开发:基于SSD下的图像内容识别(二)

感谢 @zcl1122指出的倒数第三节代码中的i错误的被简书转行成大写的I的问题。

31830
来自专栏AI研习社

Github 项目推荐 | 类 Keras 的 PyTorch 深度学习框架 —— PyToune

PyToune 是一个类 Keras 的 Pytorch 深度学习框架,可用来处理训练神经网络所需的大部分模板代码。 用 PyToune 你可以: 更容易地训练...

388100

扫码关注云+社区

领取腾讯云代金券