์๊ณ ๋ฆฌ์ฆ์ CNN๋ท(์ผ๋ฐ์ ์ผ๋ก VGG-16/19)์ ์ฌ์ฉํ์ฌ ํ ์ ๋ ฅ ์ด๋ฏธ์ง(์คํ์ผ ์ด๋ฏธ์ง)์์ -> ๋ค๋ฅธ ์ ๋ ฅ ์ด๋ฏธ์ง(์ฝํ ์ธ ์ด๋ฏธ์ง)๋ก ์คํ์ผ์ ์ ์กํ๋ค. ์ด ํ๋ก์ ํธ์์๋ GAN์ ํ์ฉํ Style Transfer์ ํตํด ์ฐ์๋ ์ด๋ฏธ์ง์ ์คํ์ผ ๋ณํ๋ฅผ ์ํํ๊ณ , ํน์ ์์ญ์ ์ง์ ํ์ฌ ์คํ์ผ ๋ณํ๋ฅผ ํ๋ค.
- ์คํ์ผ ์ด๋ฏธ์ง + ์ฌ๊ณ์ , ์ฝํ ํธ ์ด๋ฏธ์ง โ ์๊ฐ์ ๋ฐ๋ผ ๋ณํ๋ gif ์์ฑ
- ํน์ ์์ญ(์ง์ ์์ญ)๋ง ์คํ์ผ ๋ณํ
๋ค์๊ณผ ๊ฐ์ด Style transfer ์์ฉ ๋ถ์ผ ํ์ฅ ์ด ๋ ๊ฐ์ง๋ฅผ ์ํํจ.
python, numpy, os, argparse, matplotlib, cv2 ๊ธฐํ ๋ฑ๋ฑ...
- defaults
- pytorch
- python=3.7.6
- pip=20.0.2
- matplotlib=3.1.3
- pytorch==1.4.0
- torchvision=0.5.0
- numpy==1.18.1
- opencv-python==4.2.0.32
์ง์ ์ดฌ์ํ 8์ด์ง๋ฆฌ ํ๊ต ์์์ -> ์ด๋น ํ๋ ์์ด 30fps์ธ 240์ฅ์ ์ฐ์๋ ์ฌ์ง๋ค๋ก ๋ณํํจ.
=> ์ ์ฌ์ง๊ณผ ๊ฐ์ด content_0to59 ํ์ผ ์์ ์ ์ฅ๋ 60์ฅ์ ์ฌ์ง๋ค.
=> content_0to59, content_60to119, content_120to179, content_180to239 ์ด 4๊ฐ์ ํ์ผ์ 60์ฅ์ฉ ๊ตฌ๋ถํด๋ .
์์ฑ ๋ชจ๋ธ์ธ GAN์ ์ข ๋ฅ๋ ๋ค์๊ณผ ๊ฐ๋ค.
- Conditional gan(2014)
- DC gan (2015)
- cycle gan (2017)
- star gan (2018)
- style gan (2019)
(๋ณดํต VGG-16๋ VGG-19 ์ฌ์ฉ)
- ์ด ์ค์์ style gan์ด ๊ฐ์ฅ ์ต์ ๋ฒ์ ์ด๋ค.
- ๋ฐ๋ผ์ ๊ฑด๋ฌผ์ด๋ ์ฌ๋์ ์ผ๊ตด ์ style transfer์ํค๊ธฐ ๋๋ฌธ์ ๋ฐ์ด๋ ์ฑ๋ฅ์ ๊ฐ์ก๋ค๊ณ ํ๋จํ๋ค.
-> ์์ ๊ฐ์ ์ด์ ๋ก style gan์ผ๋ก ๋ชจ๋ธ์ ์ง git hub ํ์ผ๋ค์ ์ฐพ์๋ณด๋ค๊ฐ,
์ฒจ๋ถํ ์๋ฃ๊ฐ ๋ด๊ฐ ํ๊ณ ์ ํ๋ ๋ฐฉํฅ๊ณผ ๊ฐ์ฅ ๋น์ทํ๋ค๊ณ ์๊ฐํ์ฌ
๋ฉ์ธ์ผ๋ก ์ฐธ๊ณ ํ์ฌ ์งํํ๊ฒ ๋์๋ค.
- 60์ฅ์ฉ ์ด ๋ค ๋ฒ์ style transfer ์งํ
- style์ ์ฌ๊ณ์ ์ด๋ฏธ์ง (๋ด, ์ฌ๋ฆ, ๊ฐ์, ๊ฒจ์ธ) ์ฌ์ฉ
๊ฒฐ๊ณผ => 2์ด๊ฐ ์ง๋ ๋๋ง๋ค ๊ณ์ ์ด ๋ฐ๋๋ 8์ด์ง๋ฆฌ ํ๊ต ์์ ๋ฐ gif ์์ฑ
- spring 60์ฅ + summer 60์ฅ + autumn 60์ฅ + winter 60์ฅ ํฉ์น gif
ํน์ ์์ญ ์คํ์ผ ๋ณํ์ ๋ค์ ๊นํ๋ธ์, ํ๊ต์์ ์ค์ตํ ํฌ๋ก๋งํค ์ฝ๋๋ฅผ ๋ณด๋ฉฐ ์งํํ์๋ค.
- ์ด๋ฏธ์ง๋ก๋
- ์ด๋ฏธ์ง ๋ณํ (BGR -> HSV)
- ํ๋์ ๋ฒ์ ์ ์ (HSV)
- ํ๋ ์์ญ ๋ง์คํฌ ์์ฑ
- ๋ง์คํฌ ์ ์ฅ
๋ค์๊ณผ ๊ฐ์ด ์๋ณธ content์์ ํ๋ ๋ฐ ์ฐฝ๋ฌธ์ ๊ทธ๋๋ก ๋๊ณ ,
๊ฑฐ๊ธฐ์ autumn์ผ๋ก style transfer ๋ ํ๊ต ๊ฑด๋ฌผ ๋ฐ ๋๋ก ๋๋ญ์ ์์ญ์ ์ค๋ฒ๋ ์ด ํ๋ค.
-
๋ชจ๋ธ์ ์ฑ๋ฅ์ ๋ฐ์ด๋๋, ์์งํ๊ฒ ๋งํด์ ์ด๋ฐ ์คํ์ผ ๋ณํ ์ ๊ฒฝ๋ง์ ์์ ์ ์ผ๋ก๋ง ์ฌ์ฉํด๋ณธ๋ค๋ ๊ฒ ํ๋ก์ ํธ ๋ด๋ด ์์ฌ์ ๋ค. ๋ฐ๋ผ์ ์ถํ ๋ค๋ฅธ ํ๋ก์ ํธ๋ฅผ ์งํํ ๋๋ ๋ฐ์ดํฐ ์ฆ๊ฐํ๋ ๋ฐฉ๋ฒ์ผ๋ก๋ GAN์ ์ฌ์ฉํด๋ณด๊ณ ์ถ๋ค.
-
์์ 1์์ ์ธ๊ธํ๋ ๋ฐ์ ๊ฐ์ด, ์์ ๊ณผ ์์ฑ ๋ชจ๋ธ์ ๊ฒฐํฉํ์ ๋ ๋์ค๋ ๊ฒฐ๊ณผ๋ ์ฌ๋์ ์ฃผ๊ด์ ์ธ ํ๋จ์ด ๋ค์ด๊ฐ๊ธฐ ๋๋ฌธ์ ์ข๊ณ ๋์๋ค ํ ์ ํํ ์งํ๊ฐ ์๋ค. ๋ฐ๋ผ์ ํ๊ฐ์งํ๊ฐ ๋ฑํ ์ ํด์ ธ์์ง ์๊ธฐ ๋๋ฌธ์, ์คํ์ผ ๋ณํ๋ ์ด๋ฏธ์ง๋ฅผ ํ๊ฐํด์ฃผ๋ ์ฌ์ดํธ์ ๋ด ๊ฒฐ๊ณผ๋ฌผ์ ์ง์ ์ฌ๋ ค์, ๋์ฒด์ ์ผ๋ก ์ด๋ค ์ด๋ฏธ์ง๊ฐ ๊ฐ์ฅ ์ ์ ๋์๋์ง์ ๋ํ ํฌํ๋ฅผ ๋ฐ์๋ณด๊ณ ์ถ๋ค.
-
๋ชจ๋ธ ์์ ์๋ ํ๋ผ๋ฏธํฐ๋ค์ ์ง์ ์กฐ์ ํด๋ณด๊ณ ์ถ๋ค. ์ง๊ธ์ ํ๋ถ์์ด๋ผ ํ๋ผ๋ฏธํฐ๊น์ง ์๋๋ณด์ง ๋ชป ํ ์ ์ด ์์ฝ๋ค. ๋ชจ๋ธ ์์ฉ ๋ถ์ผ ํ์ฅ๋ ๋ฌผ๋ก ์ข์ง๋ง, ์ง์ ์ ์ผ๋ก ์ฑ๋ฅ ๊ฐ์ ํ๋ ๊ฒ๋ ํ๋ถ์์ผ ๋ ํฐ ๋์์ด ๋ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ๋ค. ๋ฐ๋ผ์ ์ถํ ์๋ํด ๋ณผ ์์ ์ด๋ค.