We added styles from various paintings to a photo of Chicago. Click on thumbnails to see full applied style images.
Implementation Details
Our implementation uses TensorFlow to train a fast style transfer network. We use roughly the same transformation network as described in Johnson, except that batch normalization is replaced with Ulyanov's instance normalization, and the scaling/offset of the output tanh layer is slightly different. We use a loss function close to the one described in Gatys, using VGG19 instead of VGG16 and typically using "shallower" layers than in Johnson's implementation (e.g. we use relu1_1 rather than relu1_2). Empirically, this results in larger scale style features in transformations.
Documentation
Training Style Transfer Networks
Use style.py to train a new style transfer network. Run python style.py to view all the possible parameters. Training takes 4-6 hours on a Maxwell Titan X. More detailed documentation here. Before you run this, you should run setup.sh. Example usage:
Remember: floyd command uploads contents of your current directory. So use relative paths only. '/output' is a special path. Contents stored here will be saved after
the training is done. So checkpoints should be directed there.
Evaluating Style Transfer Networks
Use evaluate.py to evaluate a style transfer network. Run python evaluate.py to view all the possible parameters. Evaluation takes 100 ms per frame (when batch size is 1) on a Maxwell Titan X. More detailed documentation here. Takes several seconds per frame on a CPU. Models for evaluation are located here. Example usage:
Remember: '/input' is a special path. Any data source included in the run command will be available at that path.
Stylizing Video
Use transform_video.py to transfer style into a video. Run python transform_video.py to view all the possible parameters. Requires ffmpeg. More detailed documentation here. Example usage:
This project could not have happened without the advice (and GPU access) given by Anish Athalye.
The project also borrowed some code from Anish's Neural Style
Some readme/docs formatting was borrowed from Justin Johnson's Fast Neural Style
The image of the Stata Center at the very beginning of the README was taken by Juan Paulo
License
Copyright (c) 2016 Logan Engstrom. Contact me for commercial use (email: engstrom at my university's domain dot edu). Free for research/noncommercial use, as long as proper attribution is given and this copyright notice is retained.
请发表评论