davidpkatz / deep-photo-styletransfer

Code and data for paper "Deep Photo Style Transfer": https://arxiv.org/abs/1703.07511

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

deep-photo-styletransfer

Based on "Deep Photo Style Transfer". Amended from here. PLEASE NOTE RESTRICTIONS ON USAGE OF ORIGINAL CODE.

Features

  • Dockerised for ease of installing.
  • Matting Laplacian calculations are ~100 times faster than original MATLAB code.
  • No dependency on MATLAB.
  • Consistent image scaling is managed automatically, rather than having to manually rescale everything.
  • No longer a requirement to use particular filenames and directories.

Setup

Build this image using something like:

docker build -t deep_photo .

To run the container you'll need recent nvidia drivers installed and nvidia-docker (from here: https://github.com/NVIDIA/nvidia-docker). Then run something like:

nvidia-docker run -it --name deep_photo deep_photo

Usage

Run:

python3 gen_all.py <options>

Arguments

usage: gen_all.py [-h] [-in_dir IN_DIRECTORY] [-style_dir STYLE_DIRECTORY]
                  [-in_seg_dir IN_SEG_DIRECTORY]
                  [-style_seg_dir STYLE_SEG_DIRECTORY]
                  [-tmp_results_dir TEMPORARY_RESULTS_DIRECTORY]
                  [-results_dir RESULTS_DIRECTORY]
                  [-lap_dir LAPLACIAN_DIRECTORY] [-width WIDTH]
                  [-gpus NUM_GPUS] [-opt {lbfgs,adam}]
                  [-stage_1_iter STAGE_1_ITERATIONS]
                  [-stage_2_iter STAGE_2_ITERATIONS]

optional arguments:
  -h, --help            show this help message and exit
  -in_dir IN_DIRECTORY, --in_directory IN_DIRECTORY
                        Path to inputs
  -style_dir STYLE_DIRECTORY, --style_directory STYLE_DIRECTORY
                        Path to styles
  -in_seg_dir IN_SEG_DIRECTORY, --in_seg_directory IN_SEG_DIRECTORY
                        Path to input segmentation
  -style_seg_dir STYLE_SEG_DIRECTORY, --style_seg_directory STYLE_SEG_DIRECTORY
                        Path to style segmentation
  -tmp_results_dir TEMPORARY_RESULTS_DIRECTORY, --temporary_results_directory TEMPORARY_RESULTS_DIRECTORY
                        Path to temporary results directory
  -results_dir RESULTS_DIRECTORY, --results_directory RESULTS_DIRECTORY
                        Path to results directory
  -lap_dir LAPLACIAN_DIRECTORY, --laplacian_directory LAPLACIAN_DIRECTORY
                        Path to laplacians
  -width WIDTH, --width WIDTH
                        Image width
  -gpus NUM_GPUS, --num_gpus NUM_GPUS
                        Number of GPUs
  -opt {lbfgs,adam}, --optimiser {lbfgs,adam}
                        Name of optimiser (lbfgs or adam)
  -stage_1_iter STAGE_1_ITERATIONS, --stage_1_iterations STAGE_1_ITERATIONS
                        Iterations in stage 1
  -stage_2_iter STAGE_2_ITERATIONS, --stage_2_iterations STAGE_2_ITERATIONS
                        Iterations in stage 2

TODO: Document this properly.

About

Code and data for paper "Deep Photo Style Transfer": https://arxiv.org/abs/1703.07511

License:MIT License


Languages

Language:Lua 60.3%Language:Cuda 22.2%Language:Python 16.5%Language:Makefile 0.7%Language:Shell 0.4%