深度学习实践,风格变换deep image analogy

Deep Image Analogy是基于机器学习的风格转换方法。

以下是其基本资料:

文献的原文https://arxiv.org/abs/1705.01088

国内研究者对论文的阅读笔记https://blog.csdn.net/hungryof/article/details/73752993

转换实现效果:

相比于Neural、Prisma等机器学习的方法效果要更好些。

运行系统

分Windows版本和Linux版本,由于linux自带python,且安装依赖库安装较为方便,使用linux作为运行系统。

github页面https://github.com/msracver/Deep-Image-Analogy/tree/linux

官方给的指导上提到,需要使用CUDA,所以需要使用Navid显卡且支持CUDA的电脑。虚拟机无法使用CUDA,个人电脑想实现的话就得使用linux或者Mac OS X系统。此外,可以租赁GPU云服务器,笔者在阿里云上租了最便宜的计算型GPU,系统可自动安装CUDA,价格6.5元/小时。

环境配置

笔者使用的是阿里云GPU服务器,自动安装CUDA8。Deep-Image-Analogy的运行环境需要安装两种caffe。一种是标准的caffe,另一种是Deep-Image-Analogy内置的caffe。服务器调试使用的是XShell工具,ssh连接,且可通过sz、rz指令和PC端收发文件。

首先确定安装目录,笔者习惯在/opt目录下做实验,创建Image文件夹。

安装常用的依赖库(这些是我记下来的,有少数几个没记录,后续安装遇到问题的话百度就能解决)

apt install git

apt-get install --no-install-recommends libboost-all-dev

apt-get install libopenblas-dev liblapack-dev libatlas-base-dev

apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev

pip install graphviz

pip install opencv-python

apt install lrzsz

apt install python-numpy

pip install PyWavelets

这里由于linux系统默认是使用python2,我搭环境也是基于python2,本文全篇建立在python2环境上,用pip安装一些低版本的库会失败,所以用以下语句

easy_install 'scikit-image<0.15'

easy_install  'scipy<1.1'

修改PATH
vi /etc/profile
export PATH=$PATH:/usr/local/cuda/bin
source /etc/profile

安装hdf5

详见https://jingyan.baidu.com/article/cbcede077e1ebe02f40b4d1e.html

安装标准caffe

获得caffe源码有两种方案

方案1:

在linux的/opt/Image目录下输入

git clone https://github.com/BVLC/caffe.git

使用git安装,依赖于网络,在使用云服务器的时候,时间等于金钱,而这个下载了半小时。

方案2:

先把github上的东西下载到本地,再上传到阿里云服务器,使用XShell的rz、sz指令进行传输。

caffe编译

笔者参照https://blog.csdn.net/dypromise/article/details/86577627进行安装,不过本文的写作顺序做了改变

进入caffe目录,笔者使用git下载,进入的是/opt/Image/caffe目录

安装caffe需要的依赖项 

cd /opt/Image/caffe/python

for req in $(cat requirements.txt); do sudo pip2 install $req; done

修改Makefile.config

cd /opt/Image/caffe/

mv Makefile.config.example Makefile.config

修改 Makefile.config,修改的部分为opencv是否启用、opencv的版本、hdf5的目录、我写的版本是2,具体可看上面链接(笔者没安装anaconda3,没修改相关内容)。

修改后保存,然后运行

make all

make pycaffe

添加路径

vi /etc/profile

在文件最后添加:
export PYTHONPATH=/opt/Image/caffe/python:$PYTHONPATH
保存后运行
source /etc/profile

安装结束,运行指令

python

import caffe

没有报错则说明安装正确。

安装Deep-Image-Analogy

获得源码

不建议使用git下载,速度慢不说,文件还不齐全。下载zip包上传到服务器,在/opt/Image/解压

可得到Deep-Image-Analogy-linux文件夹

安装caffe

在/opt/Image/Deep-Image-Analogy-linux目录下

cd python
for req in $(cat requirements.txt); do sudo pip2 install $req; done

反回/opt/Image/Deep-Image-Analogy-linux目录后

sh scripts/config_deep_image_analogy.sh

这个要根据网络情况耗时不同,我是花了2小时。

再修改Makefile.config,同标准caffe安装。

make all

sh scripts/make_deep_image_analogy.sh

vi /etc/profile
在文件最后添加:
export LD_LIBRARY_PATH=/opt/Image/Deep-Image-Analogy-linux/build/lib:$LD_LIBRARY_PATH
然后运行
source /etc/profile

到此,环境配置完成。

风格变换测试

在Deep-Image-Analogy-Linux目录下运行

./demo deep_image_analogy/models/ deep_image_analogy/demo/content.png deep_image_analogy/demo/style.png deep_image_analogy/demo/output/ 0 0.5 2 0

四个数值参数中,分别是SetGPU(atoi(argv[5])),SetRatio(atof(argv[6])),SetBlendWeight(atoi(argv[7])),UsePhotoTransfer(true/false)

github主页中对其说明是

For the four applications, our settings are mostly (but not definitely):

  • Photo to Style: blend weight=3, ratio=0.5 for face and ratio=1 for other cases.
  • Style to Style: blend weight=3, ratio=1.
  • Style to Photo: blend weight=2, ratio=0.5.
  • Photo to Photo: blend weight=3, ratio=1.

实际测试结果:

输入图片

输出图片

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 精致技术 设计师:CSDN官方博客 返回首页