본론부터 말하자면 SRDIff는 단순히 Diffusion model을 SR task에 적용한 논문이다. Novelty 측면에서 새로울 것이 그렇게 많지는 않지만, Diffusion model을 어떻게 다른 task에 적용했는지 등을 간단하게 짚어보기 위해 리뷰하고자 한다.

저자들은 논문의 Motivation으로 1. PSNR을 높히는 모델에서의 over-smoothing 현상 2. GAN 모델에서의 mode collapse를 지적한a다. 이 부분은 SR에서의 문제라기보다, 기존 생성모델 혹은 single image estimate의 문제라 할 수 있는 부분으로 SR에서의 motivation이 굉장히 빈약하다.

Contribution은 1) Diffusion 모델을 처음 사용해서 생성을 해서 SOTA를 달성했다와 2) Training이 쉽다 3) Latent space 의 image manipulation 이 가능하다로 말한다.

조금 더 사족을 달자면 SR task의 경우에는 정해진 size의 output 을 만드는 모델들, 그리고 다양한 size의 모델을 만들 수 있는 모델이 있는데, 대부분의 모델들이 정해진 size를 만들고 위 논문도 이를 타게팅 한다. 물론 다양한 size의 output을 만들기 위해 iterative한 inference를 할 수도 있는데 보통 iterative한 방법(AR)은 error가 propagate되기 떄문에 한 번에 다양한 사이즈를 만드는 모델 보다 성능이 떨어진다. 다양한 size의 inference가 안되는 것도 역시 아쉬운 부분이나 이는 task의 한계이니 이 모델에 기대할 부분은 아니라 생각한다.

Method

Denoising diffusion model에 관해서는 앞에 수 많은 발표자가 설명했기에 넘어가도록 하겠다.

이 논문의 핵심은 정해진 size의 HR이미지를 만들기 위해 LR을 HR이미지 크기로 up-sampling한 뒤 HR이미지와 up-sampling한 LR이미지의 residual 을 모델이 예측하는 것이다.

학습과 추론의 알고리즘은 다음과 같다

Untitled

우선 학습에서 다른 점은 모델의 인풋에 x_e라는 항이 들어갔단 점이다. 매 step에 LR이미지의 embedding의 벡터를 넣어주는데 StyleGAN에서 흔하게 쓰이는 테크닉이기에 새로울 것은 없다. LR이미지가 매 time step에 들어감으로써 content를 잊지 않게 해준다는 정도로 이해하면 될 것이다. 물론 이 또한 SR task로 한정해도 이 논문에서 처음 제안한 방법은 아니다.

Untitled

모델 아키텍쳐는 아래와 같은 단순한 U-Net 구조이다. DDPM 에서는 attention module이 들어간 Pixel-CNN++를 썼는데, 이 논문은 computational cost를 줄이기 위해 간단한 U-Net을 사용했다.

Untitled

Experiments

이런 novelty가 별로 없어보이는 논문을 학회에 낼 때에는 실험을 엄격하게 하는게 더욱 중요하다 생각한다. 성능이 확실하면 떨어뜨릴 이유가 줄어들기 때문이다.

실험은 face SR(8X)과 general한 setting인 SR(4X)에서 진행한다. 8X는 CelebA를 이용하고 4X에서는 DIV2K와 Flickr2K 이미지를 이용한다. LR이미지의 GT는 모든 이미지를 align시킨 후 center crop하고 160X160으로 resize해서 얻는다.

Untitled