1. motivation
한 image를 다른 image로 바꾸는 것이라고 생각하면 된다
저해상도 image를 고해상도 image로 바꾸는 super resolution
흑백사진을 컬러사진으로 바꾸는 colorization
image의 style을 바꾸는 style transfer
다음은 input image를 Van Gogh, Monet 스타일 등으로 바꾼 예시

다음은 전혀 다른 느낌의 게임 테마를 만드는 예시
디자이너, 게임감독 비용을 감소시키며 디자이너들에게 영감을 주는 용도로도 활용될 수 있다

2. super resolution
저해상도 이미지를 고해상도 이미지로 출력하는 문제
conditional GAN의 대표적인 예시

GAN을 이야기해서 GAN으로만 풀 수 있는 거 아니냐고 물을 수 있겠지만 사실 단순한 회귀 모형으로도 풀 수 있다.
Fake로 생성한 high resolution image와 실제 high resolution image의 L1 loss나 L2 loss를 최소화시키는 방법을 이용한다

3. MAE loss vs. MSE loss vs. GAN loss
MAE loss와 MSE loss는 실제 이미지와 생성한 이미지의 pixel간의 차이를 이용하여 계산함
generator 입장에서 완벽한 생성물은 MAE loss를 사용할 때는 실제 이미지의 pixel들의 median을 사용하면 된다.

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

근데 이것이 무슨 문제가 있냐면 우리는 실제 이미지와 비슷한 이미지를 얻기를 원하는데
실제 이미지들의 평균적인 이미지를 얻는다는 것이 문제다.
그래서 단순한 회귀 모형을 사용하면 해상도를 높여주더라도 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를 이용한 생성 모델
솔직히 차이가 거의 없는데???? 약간 흐린것 같기도 하고...

'딥러닝 > Computer Vision' 카테고리의 다른 글
서로 관련없는 이미지로 바꿔버리는 CycleGAN의 핵심 아이디어 (0) | 2023.06.30 |
---|---|
image to image translation의 기본 모델인 Pix2Pix이 GAN의 약점 mode collapse를 어떻게 해결했는가 (0) | 2023.06.29 |
conditional generative model과 Generative Adversarial Network 기본 개념 이해하기 (0) | 2023.06.28 |
bounding box를 추정하는 방식이 다른 CornerNet과 CenterNet (0) | 2023.06.26 |
3d 모델을 추정하는 Denspose와 다양한 task를 한번에 풀어내는 RetinaFace (0) | 2023.06.26 |