Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks
Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks
- Link : https://arxiv.org/abs/1703.10593
Abstract
Image-to-Image translation ๊ณผ์ ์ ๋ชฉํ๋ pair-image ๋ฐ์ดํฐ์ ์ ๊ฐ์ง๊ณ input image์ output image ์ฌ์ด์ mapping์ ํ์ตํ๋ ๊ฒ์ด๋ค.
ํ์ง๋ง, ๋ง์ task์์ ์์ ์ด๋ฃจ๋ ๋ฐ์ดํฐ๋ฅผ ๊ตฌํ๊ธฐ๋ ์ฝ์ง ์๋ค.
๋ฐ๋ผ์, ์ด ๋ ผ๋ฌธ์์๋ pair๊ฐ ์๋ ์ด๋ฏธ์ง ์ํ์ ๋ํด source domain $X$์์ target domain $Y$๋ก ์ด๋ฏธ์ง๋ฅผ translateํ๋ ๋ชจ๋ธ์ ํ์ตํ๋ ๋ฐฉ๋ฒ์ ์ ์ํ๋ค.
์ฐ๊ตฌ์ ๋ชฉํ๋ adversarial loss๋ฅผ ์ด์ฉํ์ฌ $G$๊ฐ ์์ฑํ ์ด๋ฏธ์ง $G(X)$์ ๋ถํฌ์ $Y$์ ์ด๋ฏธ์ง๊ฐ ๊ตฌ๋ถ๋์ง ์๋๋ก, mapping $G:X\rightarrow Y$๋ฅผ ํ์ตํ๋ ๊ฒ์ด๋ค.
ํ์ง๋ง adversarial loss๋ง์ ์ด์ฉํ mapping ํ์ต์ ์ ์ฝ์ด ๋ถ์กฑํ๋ค(under-constrained). ๋ฐ๋ผ์, cycle consistency loss๋ฅผ ๋์ ํ์ฌ mapping $G$์ inverse mapping $F : Y \rightarrow X$๊ฐ ์๋ก ์ํธ ๋ณด์์ ์ผ๋ก ์๋ํ๋๋ก ์ฆ, $F(G(x))\approx x \ (and \ vice\ versa)$๋๋๋ก ํ๋ค.
$F(G(x))\approx x$์ ์๋ฏธ๋ ๋ค์ ์์ธํ ์ค๋ช ํ๊ฒ๋ค.
๊ทธ ๊ฒฐ๊ณผ paired training data๊ฐ ์กด์ฌํ์ง ์์๋, collection style transfer, object transfiguration(๊ฐ์ฒด ๋ณํ), season transfer, phto enhancement ๋ฑ๊ณผ ๊ฐ์ ๋ฌธ์ ์์ qualitativeํ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์ฌ์คฌ๋ค.
1. Introduction
๋ค์๊ณผ ๊ฐ์ ์ฌ์ง์ด ์๋ค๊ณ ํด๋ณด์.
โ๋ฐ ๊ณ ํ๊ฐ ์ด ์ฌ์ง๊ณผ ๊ฐ์ ํ๊ฒฝ์ ๋ณด๊ณ ๊ทธ๋ฆฐ๋ค๋ฉด ์ด๋จ๊น?โ
๋ฐ ๊ณ ํ๊ฐ ์ง์ ์ด ํ๊ฒฝ์ ๊ทธ๋ฆฐ ๊ทธ๋ฆผ์ ์๋๋ผ๋, ์ฐ๋ฆฌ๊ฐ ์๋ ๋ฐ ๊ณ ํ์ ๊ทธ๋ฆผ ์คํ์ผ๋ค์ ์๊ฐํด๋ณผ ๋ ์๋ง๋ ๋ค์๊ณผ ๊ฐ์ ๊ทธ๋ฆผ์ด ๋์ฌ๊ฑฐ๋ผ ์๊ฐํด๋ณผ ์ ์๋ค. ๊ฝค ๊ทธ๋ด์ฌํ๋ค.
์ด ์ฐ๊ตฌ์์๋ ๊ฐ์ ์ ๊ทผ ๋ฐฉ์์ ์ ์ํ๋ค. ์ฐ๋ฆฌ๊ฐ ๋ฐ ๊ณ ํ๊ฐ ๊ทธ๋ฆฐ ๊ทธ๋ฆผ๋ค์ ๋ณด๊ณ ๊ทธ ์คํ์ผ์ ์๊ฐํด๋ณด๋ ๊ฒ์ฒ๋ผ, ํ ์ด๋ฏธ์ง ์ปฌ๋ ์ ์ ํน์ฑ(characteristics)์ ํฌ์ฐฉํ๊ณ , ์ด๋ ํ pair-image๋ ์๋ ๋ค๋ฅธ ์ด๋ฏธ์ง ์ปฌ๋ ์ ์ ๋ณํ์ํค๋ ๊ฒ์ด๋ค.
์ง๊ธ๊ป Image-to-image translation ๋ฌธ์ ๋ pair-image๊ฐ ์กด์ฌํ๋ supervised ํ๊ฒฝ์์ ๊ฐ๋ ฅํ translate์ ์๋ํ๋ค. ํ์ง๋ง, pair-image ๋ฐ์ดํฐ์ ์ ์ค๋นํ๋ ๊ฑด ๊ฝค๋ ์ด๋ ต๋ค.
์ ์ฌ์ง์ฒ๋ผ ์ด์ ๋ก ์กด์ฌํ๋ ์ด๋ฏธ์ง ์์ ์ฐพ๊ธฐ๋ ์ด๋ ค์ธ ๊ฒ์ด๊ณ , ์ฌ์ง์ด, ๊ฐ์ ํ๊ฒฝ ์ฌ์ง์ Monet๋ Van Goah ์คํ์ผ๋ก ๊ทธ๋ ค์ง ๊ทธ๋ฆผ์ ์ฐพ๋๋ค๋ ๊ฒ์ ๋ถ๊ฐ๋ฅํ ๊ฒ์ด๋ค. Monet์ Van Goah๊ฐ ๊ทธ๋ฆฐ ๊ทธ๋ฆผ๋ค์ ์๋ ํ๊ฒฝ ์ฌ์ง๋ค์ ๊ทธ๋๋ก ์ฐพ์๋ด์ง ์๋ํ..
๊ทธ๋์ ์ด ์ฐ๊ตฌ์์๋ paired input-output์ด ์๋, domain $X$์ domain $Y$์ ๋ํด, mapping $G : X \rightarrow Y$๋ฅผ ํ์ต์ํจ๋ค. $G$๋ $\hat{y}$์ $y$๋ฅผ ๊ตฌ๋ถํ๋ adversary train์ ํตํด output $\hat{y} = G(x), x \in X$๊ฐ $y \in Y$์ ์ด๋ฏธ์ง์ ๊ตฌ๋ถ์ด ๋์ง ์๋๋ก ํ์ตํ๋ค.
ํ์ง๋ง, input $x$์ output $y$๊ฐ ์๋ฏธ์๊ฒ paired๋์ง ์์ ์ ์๋ค. ์๋ํ๋ฉด $X$๋ฅผ $Y$์ ๋งคํํ๋ ํจ์$G$๊ฐ ๋งค์ฐ ๋ค์ํ๊ฒ ์กด์ฌํ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค. ๊ฐ๊ฐ์ ๋ณํ ํจ์๋ ์๋ก ๋ค๋ฅธ ๋ฐฉ์์ผ๋ก $X$๋ฅผ ์ด๋ฏธ์ง $Y$๋ก ๋ณํํ ์ ์์ง๋ง, ์ต์ข ์ ์ผ๋ก ์์ฑ๋ ์ด๋ฏธ์ง๋ค์ ๋ถํฌ๋ ๊ฐ์ ์ ์๋ค.
๊ฒ๋ค๊ฐ mode collapse ๋ฌธ์ ๋ฅผ ์ผ์ผ์ผ, ๋ชจ๋ ์ด๋ฏธ์ง๊ฐ ๊ฐ์ output image๋ก ๋งคํ๋์ด, ์ฆ ๊ฐ์ ์ด๋ฏธ์ง๋ง์ ์ถ๋ ฅํ๋, ์ต์ ํ์ ์คํจํ๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์๋ค.
์ด ๋ ผ๋ฌธ์์๋ translation์ด โcycle consistentโ ๋ง์กฑํด์ผํจ์ ์์๋๋ค. Cycle consistent๋ ์๋ฅผ๋ค์ด, ์์ด๋ก ๋ ๋ฌธ์ฅ์ ํ๋์ค์ด๋ก ๋ฒ์ญํ๊ณ , ๋ฒ์ญํ ๋ฌธ์ฅ(French)์ ๋ค์ ์์ด๋ก ๋ฒ์ญํ์ ๋ ์๋์ ์์ด ๋ฌธ์ฅ์ผ๋ก ๋์์์ผ ํ๋ค๋ ๊ฒ์ ์๋ฏธํ๋ค. ์ํ์ ์ผ๋ก ํํํ์๋ฉด, translator $G : X\rightarrow Y$์ translator $F:Y\rightarrow X$๊ฐ ์๋ค๋ฉด, $G$์ $F$๋ ์ญ์ ๊ด๊ณ์ด๋ฉฐ, ๋์ mappings๋ ์ผ๋์ผ ๋์(bijections)์ด์ด์ผ ํ๋ค. ์ด ๋ฐฉ์์ mapping $G$์ $F$๋ฅผ ํ๋ จํ๋๋ฐ ์ ์ฉํ๊ณ , cycle consistency loss๋ฅผ ์ถ๊ฐํ๋ค. cycle consistency loss๋ $F(G(x)) \approx x$์ $G(F(y)) \approx y$๊ฐ ๋๋๋ก ์กฐ์ ํ๋ loss ํจ์์ด๋ค.
- $F(G(x)) \approx x$ : input $x$์ ๋ํด, $G(x)$๋ $\hat{y}$๋ฅผ ๋ง๋ค๊ณ , $F(G(x))$๋ $\hat{y}$๋ฅผ input์ผ๋ก ํ์ฌ $\hat{x}$๋ฅผ ๋ง๋ ๋ค. ์ด๋ ๊ฒ ์ต์ข ์ ์ผ๋ก ๋ง๋ค์ด์ง output์ด ์ด๊ธฐ input $x$์ ์ ์ฌํด์ง๋๋ก ํ๋ ๊ฒ์ด ๋ชฉํ์ด๋ค.
์ด cycle consistency loss์ adversarial losses๋ฅผ ๊ฒฐํฉํ์ฌ unpaired image-to-image translation์ ์ ์ฒด ๋ชฉํ๋ฅผ ์ ์ํ๋ค.
2. Related work
Generative Adversarial Networks (GANs)
GANs์ด ์ฑ๊ณตํ ์ ์์๋ ํต์ฌ์ ์ธ ์ด์ ๋, ์์ฑ๋ ์ด๋ฏธ์ง๊ฐ ์ค์ ์ฌ์ง๊ณผ ๊ตฌ๋ถ๋์ง ์๋๋ก ํ๋ adversarial loss ์์ด๋์ด ๋๋ถ์ด๋ค.
Neural Style Transfer
Neural Style Transfer๋ image-to-image translation์ ์ํํ๋ ๋ ํ๊ฐ์ง ๋ฐฉ๋ฒ์ด๋ค. ๋ค๋ง, Neural style transfer๋ โ๋ ์ด๋ฏธ์ง ์ฌ์ดโ์ ๋ณํ์ ์ํํ๋ค๋ฉด, ์ด ์ฐ๊ตฌ์์ ํ๊ณ ์ ํ๋ ๊ฒ์ โ๋ ์ด๋ฏธ์ง ์ปฌ๋ ์ ์ฌ์ดโ์ ๋์ ๊ตฌ์กฐ๋ฅผ ํ์ ํ์ฌ mapping์ ํ์ตํ์ฌ ์ด๋ฏธ์ง ๋ณํ์ ์ํํ๋ค.
Neural style transfer๋ ์ฃผ๋ก ํ ์ด๋ฏธ์ง์ ์คํ์ผ์ ๋ค๋ฅธ ์ด๋ฏธ์ง์ ํฉ์ฑํ๋ ์์ ์ ์ํํ์ง๋ง, CycleGAN์ ๋ ์ด๋ฏธ์ง ์ปฌ๋ ์ ์ฌ์ด์ mapping์ ํ์ตํ๋ ํน์ฑ์ผ๋ก ์ธํด neural style transfer๊ณผ ๊ฐ์ single sample transfer methods๋ก๋ ์ํํ๊ธฐ ์ด๋ ค์ด, โpainting์ photo๋ก ๋ฐ๊พธ๋ ์์ โ์ด๋, โ๊ฐ์ฒด ๋ณํ(object transfiguration)โ๊ณผ ๊ฐ์ ์์ ์ ์ํํ ์ ์๋ค.
3. Formulation
๋ชจ๋ธ์ ๊ถ๊ทน์ ์ธ ํ์ต ๋ชฉํ๋ domain $X$์ $Y$์ฌ์ด์ mapping functions์ ํ์ตํ๋ ๊ฒ์ด๋ค.
๋ชจ๋ธ์ mapping ํจ์ โ$G$โ์ โ$F$โ๋ฅผ ํฌํจํ๊ณ ์๋๋ฐ, $G$๋ $x_i \in X$๋ฅผ $Y$ ๋๋ฉ์ธ์ ๋งคํํ๊ณ , $F$๋ $y\in y$๋ฅผ $X$ ๋๋ฉ์ธ์ ๋งคํํ๋ค.
๋ํ, ๊ธฐ์กด GANs๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก discriminator๊ฐ ์กด์ฌํ๋๋ฐ, ์ฌ๊ธฐ์๋ ์ค์ ์ด๋ฏธ์ง $x$์ $F$๊ฐ ๋ง๋ค์ด๋ธ ์ด๋ฏธ์ง $F(y)$๋ฅผ ๊ตฌ๋ถํ๋ discriminator โ$D_X$โ์ ์ด๋ฏธ์ง $y$์ $G(x)$๋ฅผ ๊ตฌ๋ถํ๋ โ$D_Y$โ ๋ ๊ฐ๊ฐ ์กด์ฌํ๋ค.
๊ทธ๋ฆฌ๊ณ ์ด ๋ชจ๋ธ์ ํ์ต์ํค๊ธฐ ์ํ ๋ชฉ์ ํจ์(objective)๋ก loss function โAdversarial Lossโ์ โCycle Consistency Lossโ๊ฐ ์๋ค.
3.1 Adversarial Loss
Introduction์์๋ ๋งํ๋ฏ, ์ฐ๋ฆฌ๊ฐ ์๊ฐํ๋๋๋ก ๋งคํ์ด ํ์ต ๋์ง ์์ ์ ์๋ค. ๊ทธ๋์ adversarial losses ๋ง์ผ๋ก๋ ์ฐ๋ฆฌ๊ฐ ์ํ๋ ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์ ์๊ธฐ์, cycle consistency loss๋ฅผ ๋์ ํ๋ค. Cycle consistency๋ $x\rightarrow G(x) \rightarrow F(G(x)) \approx x$๊ฐ ์ฑ๋ฆฝํ๋ ์ฆ, input data $x$๋ฅผ image translationํ ๊ฒฐ๊ณผ๋ฅผ ๋ค์ ๋ฐ๋๋ก translationํ์์ ๋ ์๋์ $x$๋ก ๋์์์ผ ํ๋ค.
๋ง์ฐฌ๊ฐ์ง๋ก $F$์ ๋ํด $y \rightarrow F(y) \rightarrow G(F(y)) \approx y$๊ฐ ์ฑ๋ฆฝํด์ผ ํ๋ค.
๋ฐ๋ผ์ ์ด๋ฅผ ์ํด cycle consistency loss๋ฅผ ๋ค์๊ณผ ๊ฐ์ด ํํํ๋ค.
$L_{cyc}(G,F)=E_{x\sim p_{data(x)}}[ | ย | F(G(x))-x | ย | 1] + E{y\sim p_{data(y)}}[ | ย | G(F(y))-y | ย | _1]$ |
๋ค์ ์ฌ์ง์ ๋ณด๋ฉด cycle consistency๊ฐ ์ ํ์ต๋ ๋ชจ์ต์ ๋ณผ ์ ์๋ค.
3.3 Full Objective
Adversarial loss์ cycle consistency loss๋ฅผ ํฉ์น full objective๋ ๋ค์๊ณผ ๊ฐ๋ค.
$L(G,F,D_X,D_Y)=L_{GAN}(G,D_Y,X,Y)+L_{GAN}(F,D_X,Y,X)+\lambda L_{cyc}(G,F)$
์ฌ๊ธฐ์ $\lambda$๋ adversarial loss์ cycle consistency loss ์ฌ์ด์ ์๋์ ์ค์๋์ ๋ฐ๋ผ ์ ํด์ง๋ค.
์ด ์ฐ๊ตฌ์์๋ $\lambda = 10$์ผ๋ก ์งํํ์๋ค.
์ด ๋ชจ๋ธ์ ํ์ต ๋ชฉํ๋ $G^,F^=arg \ \underset{G,F}{min} \ \underset{D_X,D_Y}{max} \ L(G,F,D_X,D_Y)$๋ก ํํํ ์ ์๋ค.
6. Limitations and Discussion
์ด ๋ชจ๋ธ์ Color๋ texture์ ๋ณํ๋ ์ ์ํํ์ง๋ง, ์ ์ฌ์ง์ฒ๋ผ ๊ฐ์์ง๋ฅผ ๊ณ ์์ด๋ก ๋ฐ๊พธ๋ geometricํ ๋ณํ๋ฅผ ์ํํ๊ธฐ๋ ํ๊ณ๊ฐ ์๋ค. ๋ง๊ณผ ์ผ๋ฃฉ๋ง์ ์๋ก ๋น์ทํ์ฌ ๋ณํํ๊ธฐ ์ฝ์ง๋ง, ๊ฐ์ ๊ณ ์์ด๋ ์๊ธด ํํ๊ฐ ํฌ๊ฒ ๋ฌ๋ผ ๋ณํํ๊ธฐ ์ด๋ ต๋ค.
๋ํ, ํ์ต ๋ฐ์ดํฐ์ ์ ํน์ฑ์ ์ํด ๋ณํ์ ์ ์ฝ์ ๋ฐ๋๋ค. ์๋ฅผ ๋ค์ด ์ผ์์ ๋ง ๋ฐ์ดํฐ์ (๋ง์ด ๋จ๋ ์ผ๋ก ์๋ ์ด๋ฏธ์ง)๊ณผ ์ผ๋ฃฉ๋ง ๋ฐ์ดํฐ์ ์ ๊ฐ์ง๊ณ ํ์ตํ๋ฉด, ๋ง์ ์ฌ๋์ด ํ์๋ ์ฌ์ง์์ horse โ zebra task๋ฅผ ์ํํ๋๋ฐ์๋ ์ด๋ ค์์ ๊ฒช๋๋ค.
7. Appendix
์ด ๋ ผ๋ฌธ์ section 7์๋ ๊ฐ๊ฐ์ ๋ฐ์ดํฐ์ ์ ํ์ตํ ๋์ ๋ํ ์ผ๋ค์ด ์ ๋์์๋ค. ๋ชจ๋ธ์ ๊ตฌํํด๋ณผ ๋ ์ฐธ๊ณ ํ๋ฉด ์ข์ ๊ฒ ๊ฐ๋ค.
์ด ๋ ผ๋ฌธ์์ ์ ์ํ ๋ชจ๋ธ ๊ตฌํ ์ฝ๋์ด๋ค.
https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix
https://github.com/junyanz/CycleGAN
Cycle GAN์ ๊ฒฐ๊ณผ๋ฌผ๋ค์ ๊ฐ์ํ๋ฉฐ ๊ธ์ ๋ง์น๋ค.
Leave a comment