This is the Pytorch implementation of "Learning Linear Transformations for Fast Image and Video Style Transfer" (CVPR 2019).
All code tested on Ubuntu 16.04, pytorch 0.4.1, and opencv 3.4.2
git clone https://github.com/sunshineatnoon/LinearStyleTransfer
cd LinearStyleTransfer
unzip models.zip
rm models.zip
python TestArtistic.py
or conduct style transfer on relu_31 features
python TestArtistic.py --vgg_dir models/vgg_r31.pth --decoder_dir models/dec_r31.pth --matrixPath models/r31.pth --layer r31
For photo-realistic style transfer, we need first compile the pytorch_spn repository.
cd libs/pytorch_spn
sh make.sh
cd ../..
Then:
python TestPhotoReal.py
Note: images with _filtered.png
as postfix are images filtered by the SPN after style transfer, images with _smooth.png
as postfix are images post process by a smooth filter.
python TestVideo.py
python real-time-demo.py --vgg_dir models/vgg_r31.pth --decoder_dir models/dec_r31.pth --matrixPath models/r31.pth --layer r31
wget http://msvocds.blob.core.windows.net/coco2014/train2014.zip
kg download -u <username> -p <password> -c painter-by-numbers -f train.zip
To train a model that transfers relu4_1 features, run:
python Train.py --vgg_dir models/vgg_r41.pth --decoder_dir models/dec_r41.pth --layer r41 --contentPath PATH_TO_MSCOCO --stylePath PATH_TO_WikiArt --outf OUTPUT_DIR
or train a model that transfers relu3_1 features:
python Train.py --vgg_dir models/vgg_r31.pth --decoder_dir models/dec_r31.pth --layer r31 --contentPath PATH_TO_MSCOCO --stylePath PATH_TO_WikiArt --outf OUTPUT_DIR
Key hyper-parameters:
Intermediate results and weight will be stored in OUTPUT_DIR
Run:
python TrainSPN.py --contentPath PATH_TO_MSCOCO
@inproceedings{li2018learning,
author = {Li, Xueting and Liu, Sifei and Kautz, Jan and Yang, Ming-Hsuan},
title = {Learning Linear Transformations for Fast Arbitrary Style Transfer},
booktitle = {IEEE Conference on Computer Vision and Pattern Recognition},
year = {2019}
}