mkeid / Texture-Synthesis

TensorFlow implementation of Texture-Synthesis Using Convolutional Neural Networks. High-level statistical structures of an image are used to new images with similar characteristics.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Texture-Synthesis implemented in TensorFlow

This is a TensorFlow implementation of Texture Synthesis Using Convolutional Neural Networks using total variation denoising as a regularizer. A pretrained VGG network was used. It is provided here by machrisaa on GitHub. The VGG implementation was customized to accomodate the implementation requirements and is of the 19-layer variety.

Using this implementation, it is possible to emulate and achieve the same synthesized results as achieved in the original paper.

The purpose of this repository is to port the texture-synthesizing algorithm to TensorFlow.

Results

Input Synthesized Sample 1 Synthesized Sample 2

Prerequisites

Usage

To synthesize a new texture sample, run:

python synthesize.py path/to/input/image --output path/to/output/image

Files

  • synthesize.py

    The main script where all the magic happens.

  • custom_vgg19.py

    A modified implementation of the VGG 19 network. This particular customization changes the default pooling of max pooling to average pooling, which allows more effective gradient flow.

  • vgg19.npy

    The weights used by the VGG network. This file is not in this repository due to its size. You must download it and place in the working directory. The program will complain and ask for you to download it with a supplied link if it does not find it.

  • utils.py

    Auxiliary routines for parsing images into numpy arrays used in the implementation.

About

TensorFlow implementation of Texture-Synthesis Using Convolutional Neural Networks. High-level statistical structures of an image are used to new images with similar characteristics.

License:MIT License


Languages

Language:Python 100.0%