[23′ PAML] SR3 : Image Super-Resolution via Iterative Refinement

This entry is part 4 of 15 in the series Image Generative Model

1. Introduction

이번 글에서는 2023년 PAML에 발표된 Image Super-Resolution via Iterative Refinement 논문을 리뷰합니다. 이 논문은 SR3라고 불리며, 이번 글에서도 SR3 라고 지칭하겠습니다.

이번 글에서는 Diffusion Model 배경 지식에 대한 설명은 생략했습니다. Diffusion Model의 기초와 응용 글을 참고해주세요.

SR3는 Super-Resolution을 위한 Diffusion Model 입니다. Super-Resolution이란 Low Resolution 이미지를 High Resolution 이미지로 복원하는 기술을 말하는데요. 예시를 보면 다음과 같습니다.

그림1. SR3 Super-Resolution 예시
그림1. SR3 Super-Resolution 예시

위 그림은 SR3를 사용하여 16×16 이미지를 256×256 이미지로 Super-Resolution 한 결과입니다. 이를 위해 8배 Super-Resolution 모델과 4배 Super-Resolution 모델을 이어붙여 구성하였죠.

SR3는 이와같이 기존 Diffusion Model의 방법을 그대로 사용하면서 Super-Resolution에 응용한 논문입니다. 이번 글에서는 SR3가 Super-Resolution을 위해 어떻게 Diffusion Model을 사용하였는지에 초점을 맞춰 살펴보겠습니다.

2. Method

이번 챕터에서는 SR3의 Super-Resolution을 위한 Diffusion Model 구성에 대해 살펴봅니다. 논문에서는 아래 그림과 같이 SR3의 Architecture를 밝히고 있습니다.

그림2. SR3 Architecture
그림2. SR3 Architecture

기존 Diffusion Model과 동일하게 UNet 구조를 확인할 수 있습니다. SR3의 Super-Resolution 방법은 아래 그림과 같습니다.

그림3. SR3 Super-Resolution 방법
그림3. SR3 Super-Resolution 방법

먼저 우리가 생성하고자 하는 이미지는 위쪽의 High Resolution 이미지 (파란색) 이라고 가정해보겠습니다. 그럼 Diffusion Model은 이 High Resolution 이미지를 생성하도록 학습 해야겠죠. 하지만 우리의 목표는 단순히 High Resolution 이미지를 생성하는것이 아닙니다. 입력으로 받은 Low Resolution 이미지로부터 High Resolution 이미지를 생성하는 Super-Resolution 모델을 만드는것이 목표죠. 따라서 Low Resolution 이미지 또한 입력으로 받아야 하는데요.

Low Resolution 이미지를 만들어주는 방법은 이렇습니다. 위 그림처럼 High Resolution 이미지를 먼저 작은 사이즈로 Resize 해줍니다(가운데). 이렇게 만든 작은 이미지를 다시 원래 사이즈로 Resize 해줍니다(아래). 이렇게 만들어진 이미지는 작은 사이즈 이미지로부터 확대한 이미지 이므로 Low Resolution 이미지가 되는 것이죠.

이제 이렇게 만든 Low Resolution 이미지와 기존의 High Resolution 이미지를 Concat하여 Diffusion Model의 입력으로 넣어줍니다. Diffusion Model 입장에서는 Low Resolution을 일종의 Condition으로 하여 High Resolution을 만들어야 하는 것이죠.

3. Experiments

이번 챕터에서는 위에서 살펴본 방법으로 구성한 SR3가 만든 Super-Resolution 결과를 살펴보겠습니다.

먼저 ImageNet 결과입니다.

그림4. ImageNet Super-Resolution Sample-1
그림4. ImageNet Super-Resolution Sample-1

64×64 이미지에서 256×256 이미지로 Super-Resolution 한 결과입니다. 굉장히 선명해진 모습을 볼 수 있습니다.

그림5. ImageNet Super-Resolution Sample-2
그림5. ImageNet Super-Resolution Sample-2

위 그림은 16×16 이미지에서 256×256 이미지로 Super-Resolution 한 결과인데요. 이는 Super-Resolution을 위한 Diffusion Model 2개를 이어 붙여 구성한 결과입니다. 최종 결과가 굉장히 좋은 모습을 볼 수 있습니다.

ImageNet 뿐만 아니라 Face 데이터셋에서도 실험해봤는데요.

그림6. Face Super-Resolution Sample
그림6. Face Super-Resolution Sample

위 결과는 FFHQ 데이터셋으로 학습한 SR3의 Super-Resolution 결과입니다. 64×64 이미지를 512×512 이미지로 Super-Resolution 해주었는데요. 마찬가지로 굉장히 좋은 성능을 확인할 수 있습니다.

4. Conclusion

이번 글에서는 Super-Resolution을 위한 Diffusion Model인 SR3의 핵심 내용을 살펴봤습니다. 이러한 Super-Resolution 기술은 이미지 생성을 위한 Diffusion Model에서 거의 필수적으로 사용되곤 하는데요. Diffusion Model은 계산량이 많아 High Resolution 이미지를 직접 생성하기 어렵기 때문입니다. 때문에 Low Resolution 이미지를 생성한 뒤 Super-Resolution 모델을 이어 붙여 최종적으로 High Resolution 이미지로 만들어주곤 합니다.

Series Navigation<< [21′ NIPS workshop] Classifier Free Guidance : Classifier-free diffusion guidance[22′ PMLR] GLIDE: Towards Photorealistic Image Generation and Editing with Text-Guided Diffusion Models >>
5 1 vote
Article Rating
Subscribe
Notify of
guest
6 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
eugene
eugene
3 months ago

안녕하세요.
좋은 글 감사합니다.
궁금한 점이 있는데, 그림 6번의 이미지에서 Bicubic이 input으로 들어간 건가요?
아니면 Input을 Bicubic 방식으로 Upscale 한 것을 보여주는 건가요?

3ejieiw123
3ejieiw123
2 months ago

안녕하세요
항상 좋은글과 정리 요약 우선 감사드립니다.
설명주신 Super-Resolution Network를 보다가 의문이 들었는데
네트워크 아키텍쳐 부분에
학습시 입력 : High-Resolution(GT) + Low-Resolution(GT->Resize)
출력 : Noise로 표현되어있는것 같은데,

혹시 Inference때는 Input구성이 어떻게 되는건가요? Inference때는
Noise + LowResolution => HighResolution 이 구성이 아니라면
어떤방식으로 High Resolution이 나오는 방식일까요?

apri un account binance
apri un account binance
1 month ago

Can you be more specific about the content of your article? After reading it, I still have some doubts. Hope you can help me.

6
0
Would love your thoughts, please comment.x
()
x
Scroll to Top