image to image translation - super resolution, colorization, style transfer - 의 개념 이해하기

1. motivation

 

한 image를 다른 image로 바꾸는 것이라고 생각하면 된다

 

저해상도 image를 고해상도 image로 바꾸는 super resolution

 

흑백사진을 컬러사진으로 바꾸는 colorization

 

image의 style을 바꾸는 style transfer

 

다음은 input image를 Van Gogh, Monet 스타일 등으로 바꾼 예시

 

 

다음은 전혀 다른 느낌의 게임 테마를 만드는 예시

 

디자이너, 게임감독 비용을 감소시키며 디자이너들에게 영감을 주는 용도로도 활용될 수 있다

 

 

 

2. super resolution

 

저해상도 이미지를 고해상도 이미지로 출력하는 문제

 

conditional GAN의 대표적인 예시

 

해상도를 높이는 super resolution

 

GAN을 이야기해서 GAN으로만 풀 수 있는 거 아니냐고 물을 수 있겠지만 사실 단순한 회귀 모형으로도 풀 수 있다.

 

Fake로 생성한 high resolution image와 실제 high resolution image의 L1 loss나 L2 loss를 최소화시키는 방법을 이용한다

 

GAN이 없었을 때는 기존의 회귀모형으로 문제를 해결했다.

 

 

3. MAE loss vs. MSE loss vs. GAN loss

 

MAE loss와 MSE loss는 실제 이미지와 생성한 이미지의 pixel간의 차이를 이용하여 계산함

 

generator 입장에서 완벽한 생성물은 MAE loss를 사용할 때는 실제 이미지의 pixel들의 median을 사용하면 된다.

 

median에서 MAE가 최소가 된다

 

MSE loss를 사용할 때는 실제 이미지의 pixel들의 mean을 사용하면 된다.

 

주어진 관측값들의 기댓값(mean)이 MSE가 최소가 되는 값

 

근데 이것이 무슨 문제가 있냐면 우리는 실제 이미지와 비슷한 이미지를 얻기를 원하는데

 

실제 이미지들의 평균적인 이미지를 얻는다는 것이 문제다.

 

그래서 단순한 회귀 모형을 사용하면 해상도를 높여주더라도 real image와는 거리가 먼 blurry한 이미지를 출력해서 좋지않았다.

 

그래서 GAN loss를 설계하여 사용했는데 해상도도 높이며 실제 이미지와 비슷한 이미지를 출력해주었다.

 

 

 

보라색 동그라미는 MAE loss와 MSE loss가 생성해주는 이미지

 

실제 이미지와 가까운 이미지를 생성하는 것이 아니고 실제 이미지들의 평균적인 거리에 있는 이미지를 생성

 

반면 파란색 동그라미는 GAN loss가 생성해주는 이미지

 

실제 이미지에 가까운 이미지를 생성해주었다.

 

 

4. 예시로 알아보는 3가지 loss의 차이점

 

극단적으로 real image가 black 아니면 white라고 가정하자.

 

MAE나 MSE loss를 사용하면 black과 white의 중간인 gray 이미지를 출력해준다.

 

그러나 우리는 실제 이미지와 비슷한 이미지를 얻기를 원한다.

 

GAN loss를 사용하면 discriminator가 회색 이미지를 잘 판별하므로 generator는 더욱 정교한 이미지 생성을 위해 black이나 white를 생성한다.

 

 

 

5. SRGAN의 생성 예시

 

SRResNet는 MSE loss를 이용한 생성 모델

 

SRGAN이 GAN loss를 이용한 생성 모델

 

솔직히 차이가 거의 없는데???? 약간 흐린것 같기도 하고...

 

 

TAGS.

Comments