GithubHelp home page GithubHelp logo

entscheidungsproblem / neural-tools Goto Github PK

View Code? Open in Web Editor NEW

This project forked from progamergov/neural-tools

0.0 1.0 0.0 27 KB

Tools made for usage alongside artistic style transfer projects

Python 100.00%

neural-tools's Introduction

Neural-Tools

Tools made for usage alongside artistic style transfer projects based on the Controlling Perceptual Factors in Neural Style Transfer research paper by Leon A. Gatys, Alexander S. Ecker, Matthias Bethge, Aaron Hertzmann, and Eli Shechtman.

In-depth information about how to perform Scale Control and Color Control, including the Neural-Style parameters used in the examples, can be found on the wiki. The Color Control feature is broken down into two different features known as Luminance-Only Style Transfer, and Color Matching. The Scale Control feature focuses on separating style image content/shapes, and style image textures.

Linear Color Transfer

The match_color function's code comes from the very talented Leon Gatys' code here. This script was developed to help enable Scale Control in Neural-Style, but it can be used for anything else that requires linear color transfer. Supported image formats include: jpg, jpeg, png, tiff, etc...

Scale Control examples made with Neural-Style, can be viewed here.

Dependencies:

sudo apt-get install python-skimage

sudo pip install numpy

sudo pip install scipy

Usage:

Basic usage:

python linear-color-transfer.py --target_image target.png --source_image source.png

Advanced usage:

python linear-color-transfer.py --target_image target.png --source_image source.png --output_image output.png --mode pca --eps 1e-5

Parameters:

  • --target_image: The image you are transfering color to. Ex: target.png

  • --source_image: The image you are transfering color from. Ex: source.png

  • --output_image: The name of your output image. Ex: output.png

  • --mode: The color transfer mode. Options are pca, chol, or sym.

  • --eps: Your eps value in scientific notation or normal notation. Ex: 1e-5 or 0.00001.

Examples:

Source Image:

Target Image:

Output Image:

See here for how to use this script for Scale Control.

Linear Color Transfer is also used for Color Matching Style Transfer:

See here on the wiki, for more details on Color Matching Style Transfer.



Luminance Transfer

This script was developed to help enable colour control in Neural-Style, also known as "Luminance Transfer". This script uses code from Leon Gatys' code here. Supported image formats include: jpg, jpeg, png, tiff, etc...

Luminance transfer/Color Control examples made with Neural-Style, can be found here.

How It Works:

Currently, all available models are trained on images with the RGB/BGR color space. An image's luminance can represented in the form of gray scale color space image, which can be converted to RGB format for Neural-Style. After the gray scale images are run through Neural-Style, re-applying the color to your output is done with the use of the LUV color space.

Basically due to pre-trained model limitations, gray scale images are used to transfer luminance, and a color space supporting luminance is used to transfer the colors back to the finished output.

Dependencies:

sudo apt-get install python-skimage

sudo pip install numpy

sudo pip install scipy

Usage:

Basic usage:

python lum-transfer.py --content_image content.png --style_image style.png

Advanced usage:

python lum-transfer.py --cp_mode lum --content_image content.png --style_image style.png --org_content content.png --output_style_image output_style.png --output_content_image output_content.png

Parameters:

The required input images and the output images, are dependent on the --cp_mode option that you choose:

  • --cp_mode: The script's mode. Options are lum, lum2, match, match_style.

Mode: lum

  • --content_image: Your content image. Ex: content.png

  • --style_image: Your style image. Ex: style.png

  • --org_content: Your original unmodified content image. Ex: original_content.png

  • --output_content_image: The name of your output content image. Ex: content_output.png

  • --output_style_image: The name of your output style image. Ex: style_output.png

Mode: match

  • --content_image: Your content image. Ex: content.png

  • --style_image: Your style image. Ex: style.png

  • --output_style_image: The name of your output style image. Ex: style_output.png

Mode: match_style

  • --content_image: Your content image. Ex: content.png

  • --style_image: Your style image. Ex: style.png

  • --output_content_image: The name of your output content image. Ex: content_output.png

Mode: lum2

  • --output_lum2: The name of your output image from Neural-Style. Ex: out.png

  • --org_content: Your original unmodified content image. Ex: original_content.png

  • --output_image: The name of your output image. Ex: output.png

Examples:

The style image is adjusted to match the content image:

After Neural-Style:

Final ouput image:


neural-tools's People

Contributors

entscheidungsproblem avatar progamergov avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.