Chainer implementation of style transfer using neural network
Implementation of
Requirements
Usage
Download VGG 16 layers caffe model
Convert caffemodel to chainer model
$ python src/create_chainer_model.py
Transfer image style using "A Neural Algorithm of Artistic Style"
$ python src/run.py -c content_image.png -s style_image.png -o out_dir -g 0
Options:
- -c (--content) \<file path>: required
Content image file path
- -s (--style) \<file path>: required
Style image file path
- -o (--out_dir) \<directory path>: optional
Output directory path (default: output)
- -g (--gpu) \<GPU device index>: optional
GPU device index. Negative value indecates CPU (default: -1)
- --w (--width) \<integer>: optional
Image width (default: 256)
- --iter \<integer>: optional
Number of iteration for each iteration (default: 2000)
- --initial_image \<string|: optional
Initial image of optimization: "random" or "content" (default: random)
- --keep_color: optional
Keep color phase if specified
- --match_color_histogram: optional
Use "Color histogram matching" algorithm in "Preserving Color in Neural Artistic Style Transfer"
- --luminance_only: optional
Use "Luminance-only" algorithm in "Preserving Color in Neural Artistic Style Transfer"
- --resolution_num \<int>: optional
Number of resolutions (default: 1)
- --save_iter \<integer>: optional
Number of iteration for saving images (default: 100)
- --lr \<float>: optional
Learning rate: "alpha" value of ADAM (default: 10)
- --content_weight \<float>: optional
Weight of content loss (default: 0.005)
- --style_weight \<float>: optional
Weight of style loss (default: 1)
- --tv_weight \<float>: optional
Weight of total variation loss (default: 1e-5)
Transfer image style using Markov Random Fields algorithm
$ python src/run_mrf.py -c content_image.png -s style_image.png -o out_dir -g 0
Options:
- -c (--content) \<file path>: required
Content image file path
- -s (--style) \<file path>: required
Style image file path
- -o (--out_dir) \<directory path>: optional
Output directory path (default: output)
- -g (--gpu) \<GPU device index>: optional
GPU device index. Negative value indecates CPU (default: -1)
- --w (--width) \<integer>: optional
Image width (default: 256)
- --iter \<integer>: optional
Number of iteration for each resolution (default: 100)
- --initial_image \<string|: optional
Initial image of optimization: "random" or "content" (default: content)
- --keep_color: optional
Keep color phase if specified
- --match_color_histogram: optional
Use "Color histogram matching" algorithm in "Preserving Color in Neural Artistic Style Transfer"
- --luminance_only: optional
Use "Luminance-only" algorithm in "Preserving Color in Neural Artistic Style Transfer"
- --resolution_num \<int>: optional
Number of resolutions (default: 3)
- --save_iter \<integer>: optional
Number of iteration for saving images (default: 10)
- --lr \<float>: optional
Learning rate: "alpha" value of ADAM (default: 2.0)
- --content_weight \<float>: optional
Weight of content loss (default: 0.2)
- --style_weight \<float>: optional
Weight of style loss (default: 1)
- --tv_weight \<float>: optional
Weight of total variation loss (default: 1e-5)
License
MIT License