스타일 트랜스퍼 :: 컴퓨터 비전 - mindscale
Skip to content

스타일 트랜스퍼

이미지 불러오기

from PIL import Image
import numpy as np

content = Image.open('dog.jpg')
style = Image.open('kandinsky.jpg')

크기 계산

w, h = content.size
h = int(h / (w / 512))

크기 변경

content = content.resize((512, h))
style = style.resize((512, h))
content
style

변환

content = np.array(content, dtype='float32')[np.newaxis] 
content /= 255

style = np.array(style, dtype='float32')[np.newaxis] 
style /= 255

스타일 트랜스퍼 모형

import tensorflow_hub as hub
style_transfer = hub.load(
    'https://tfhub.dev/google/magenta/arbitrary-image-stylization-v1-256/1')

모형에 이미지 입력

import tensorflow as tf
result = style_transfer(
    tf.convert_to_tensor(content), 
    tf.convert_to_tensor(style))

결과 시각화

art = result[0][0]
Image.fromarray((art.numpy() * 255).astype('uint8'))