티스토리 뷰
1. Introduction to Deep Learning / L2. Applying Deep Learning - Style Transfer
chrisysl 2018. 6. 13. 22:55Example of Deep Learning
Style Transfer
- 딥러닝 모델로 구축 할 수있는 작업의 예로, Style Transfer가 있다.
- Style Transfer를 통해 유명한 그림을 찍고, 자신의 스타일로 자신의 이미지를 재현 할 수 있다
- 네트워크는 그 그림의 기본 기술을 배우고, 그 그림을 자체적으로 적용하는 방법을 파악한다.
- 이 모델은 유명한 그림의 스타일에 대한 교육(학습)을 받았으며,
- 이러한 스타일을 다른 이미지 및 비디오로 전송할 수 있다.
- 직접 시도해 보려면 fast-style-transfer GitHub repo에서 코드를 찾으면 된다.
- git을 사용하여 저장소를 복제하거나 전체를 Zip 아카이브로 다운로드하여 압축을 풀면 된다.
- https://github.com/lengstrom/fast-style-transfer
- 네트워크는 몇 가지 다른 스타일(https://github.com/lengstrom/fast-style-transfer/tree/master/examples/style)에 따라
- 교육(학습)되어 checkpoint 파일에 저장된다.
- checkpoint 파일에는 학습 된 네트워크에 대한 모든 정보가 들어있어, 새 이미지에 스타일을 적용한다.
Dependencies
- 진행할 코드들을 실행하는데 필요한 모든 패키지를 설치하는 가장 쉬운 방법은 Anaconda의 하위버전인 Miniconda를 사용하는 것이다.
- Miniconda는 data science에 특화되어 제작된 패키지 및 environment manager인 Conda를 제공한다.
- Windows의 경우 TensorFlow 0.12.1, Python 3.5, Pillow 3.4.2, scipy 0.18.1 및 numpy 1.11.2를 설치해야한다.
- Miniconda를 설치 한 후 Miniconda 명령 프롬프트에 다음의 명령어를 입력한다.
#_ 참고로 Windows에서는 환경 변수의 PATH가 기본값으로 변경되지 않으므로, 다른 소프트웨어에서 문제가 발생할 수 있다.
즉, Anaconda 소프트웨어를 사용하려면 Anaconda Navigator 또는 Anaconda 명령 프롬프트를 사용하는 것이 좋다.
# 이건 직접 진행중인 명령 프롬프트 화면. 이미 다 깔려있다고 나온다.(아나콘다로 앞서 진행했었음)
#>conda create -n style-transfer python=3
: Python 3을 사용하여 새 환경을 작성. 이 환경은 style-transfer코드에 필요한 모든 패키지를 보유한다.
#>activate style-transfer
: 해당 환경으로 들어간다.
#>conda install tensorflow scipy pillow
: 텐서플로우, scipy, pillow(이미지 처리 라이브러리) 설치
#>pip install moviepy
: moviepy를 설치
#>python -c "import .......
: ffmpeg(image 와 video converter) 설치
Transferring styles
- fast-style-transfer repository에서 Zip archive를 다운로드, 압축풀기.
- Rain Princess checkpoint 다운로드(https://bit.ly/2nHXYba)
- 그 다음 fast-style-transfer 폴더에 넣는다. 이 checkpoint파일은 이미 설정된 parameters가 있는 모델이다.
- 이 checkpoint파일을 사용하면 모델을 교육(학습)할 필요가 없으며, 바로 적용가능.
- 내가 원하는, 스타일을 입힐 이미지를 fast-style-transfer 폴더에 복사하십시오.
- 위에 작성한 Conda 환경을 아직 입력하지 않은 경우 입력해야함.
마지막으로, 콘솔에서 fast-style-transfer 폴더로 이동하여 다음을 입력.
실행결과
원본
변경본
<rain-princess>적용
<la-muse>적용
<scream>적용
<udnie>적용
<wave>적용
<wreck>적용
ckpt 파일들 링크
Rain Princess checkpoint
La Muse checkpoint
Udnie checkpoint
Scream checkpoint
Wave checkpoint
Wreck checkpoint