前面二个风格迁移的程序,虽然速度够快,但只能实现作者训练好的风格,要换成自己的风格图就无能为力了。
看了一些博文,觉得《AdaIN-style》这个不错,能够实现任意风格转移,而且称实时。
在https://github.com/xunhuang1995/AdaIN-style
提供了训练好的模块模型:
https://s3.amazonaws.com/xunhuang-public/adain/decoder.t7
https://s3.amazonaws.com/xunhuang-public/adain/decoder-content-similar.t7
https://s3.amazonaws.com/xunhuang-public/adain/vgg_normalised.t7
准备用自己的代码实现一下。
先看一下该实现的效果图:
网络框图:
我们只要实现哪个虚线框中的风格转移网络就可以了。
该 'VGG编码器' 的一部分是使用了 'VGG19分类器' 中的部分,为了降低起步难度,这里先用 C++ 来实现这个VGG19的分类器
准备材料(下载)
VGG19模型:
http://www.robots.ox.ac.uk/~vgg/software/very_deep/caffe/VGG_ILSVRC_19_layers.caffemodel
分类标签:
synset_words.txt (可以搜索到)并用 'Google 翻译' 成中文
形象图: