본문 바로가기
  • 책상 밖 세상을 경험할 수 있는 Playground를 제공하고, 수동적 학습에서 창조의 삶으로의 전환을 위한 새로운 라이프 스타일을 제시합니다.
Computer Vision

[2025-1] 정인아 - Image Super-Resolution via Iterative Refinement

by kino(키노) 2025. 2. 1.

https://arxiv.org/abs/2104.07636

 

Image Super-Resolution via Iterative Refinement

We present SR3, an approach to image Super-Resolution via Repeated Refinement. SR3 adapts denoising diffusion probabilistic models to conditional image generation and performs super-resolution through a stochastic denoising process. Inference starts with p

arxiv.org


 

Intro

문제

  • 기존 GAN 기반 super-resolution 모델은 보기에 그럴듯해보이고, 실제로는 이미지의 가장자리가 과도하게 sharp해지거나, 비현실적인 패턴(artifact)이 생기는 문제가 있다.
    • 왜냐? generator(생성자)와 discriminator(판별자)가 경쟁하는 방식으로 학습하면서, generator가 다양한 고해상도의 이미지를 생성하는 게 아니라 판별자를 속일 수 있는 특정 패턴의 이미지를 생성하는 방향으로 학습될 수 있기 때문이다.
    • 때문에, 이미지가 현실적인 분포를 제대로 학습하지 못하고, 특정 질감이나 구조만 반복할 수 있다(mode collapse)
  • 보다 더 정확하고 현실적인 고해상도 이미지를 생성하는 모델이 필요

 

아이디어

  • GAN 방법을 사용하지 않고, diffusion models(Denoising Diffusion Probabilistic Models. DDPM)을 기반으로 노이즈 제거 과정을 반복하는(노이즈를 점진적으로 제거하는) 방법을 통해 이미지를 복원한다.
  • GAN처럼 픽셀 수준에서 급격한 보정을 하지 않고 부드러운 복원이 가능하기 때문에, 더 자연스럽고 현실적인 초해상도 이미지를 얻을 수 있다.

 

 

 

Method

GAN이 아니라 그냥 DDPM을 쓰면 해결되지 않나? DDPM과 다른 점이 뭔데? 하고 의문이 들 수 있다. 따라서, DDPM과 SR3의 차이점을 위주로 정리하고자 한다.

 

1. Gaussian Diffusion Process

SR3은 기본적으로 DDPM을 기반으로 한다. x를 원본 이미지(고화질 이미지), y를 x로부터 만들어진 저화질 이미지라고 할 때, 첫번째 저화질 이미지 y_0부터 시작하여 학습을 시작한다. 이 y_0에 점진적으로(t번) 노이즈를 주입하여 y_T를 만들고, 노이즈는 표준 정규 분포에 근사한다. 이를 가지고 diffusion process을 할 건데, 이 점이 기존 DDPM와 다른 점이다.

  • DDPM은 원본 이미지 x_0와 이를 noise한 이미지 x_t를 가지고 diffusion process를 거친다면,

DDPM inference

  • SR3은 원본 이미지 x를 bicubic resizing 방법으로 downsampling한 이미지 y_0를 noise한 이미지 y_t를 가지고 diffusion process를 거친다는 점이다.
  • 저해상도 이미지 y_t와 고해상도 이미지 x를 concatenate(연결)하여 diffusion 모델에 학습시킨다. 즉, diffusion process를 거쳐 점진적으로 노이즈를 제거하여 고해상도 이미지를 복원한다.

SR3 inference

 

수식으로 이해해보자면 다음과 같다.

α_t는 노이즈 수준을 결정하는 하이퍼파라미터, (1- α_t)I는 노이즈의 분산을 의미한다.

  • y_t는 y_t-1로부터 가우시안 노이즈를 추가하여 생성된다.
  • 즉, y_0에 점진적으로(t번) 노이즈를 추가하여 y_t로 변환한다.

y_t와 y_0을 기반으로 y_t-1을 추정하는 사후확률분포 유도

  • y_t에서 y_t-1를 복원하여 y_0을 점진적으로 복원한다.

 

 

2. SR3 Model Architecture

아키텍처 측면에서 SR3는 DDPM에서 사용된 U-Net 아키텍처를 기반으로 하되, 몇가지 수정한 사항이 있다.

  • DDPM에서 사용된 Residual Block을 BigGAN의 Residual Block으로 교체하여 성능을 향상
  • 해상도가 다른 단계마다 채널 수를 늘려 복잡한 표현을 학습 가능하게 만듦

 

 

3. Noise Schedule

노이즈 스케줄이란, diffusion process에서 각 시점 t의 노이즈 수준 γ을 정의하는 방법을 말한다. 기존 DDPM은 inference에 1000~2000개의 diffusion step이 필요하여 속도가 매우 느리다는 단점이 있었다. 떄문에, 대규모 이미지 처리에도 비효율적이었다. SR3은 이를 해결하기 위해 추론 시 필요한 Diffusion Step 수를 크게 줄이고, 각 단계에 사용되는 노이즈 스케줄을 최적화하는 방향을 택했다. 구체적으로 아래와 같이 동작한다.

  • 학습 단계에서는, 학습 데이터가 충분히 다양한 노이즈 수준 γ에서 학습하기 위해 step을 여러 단계(ex. T=2000)로 설정한다.
  • 추론 단계에서는, 효율성을 위해 WaveGrad에서 사용된 기술을 적용하여, 필요한 step 수를 줄인다(ex. T=100)
    • 대신 이때 사용하는 노이즈 스케줄을 PSNR(이미지 품질을 측정)과 FID(생성된 이미지와 실제 데이터 간의 분포 차이를 측정)를 기준으로 조정하여 빠르게 추론하면서도 높은 품질을 달성할 수 있게 최적화했다.

 

 

 

Review

  • SR3 모델은 기존 GAN 방식이 가진 아티팩트 문제를 해결하기 위해 등장했다.
  • SR3 모델은 DDPM을 기반으로 하되, 몇가지 차별화되는 요소를 통해 좀더 효율적인 방식으로 자연스러운 이미지를 생성한다.
    • U-Net 아키텍처에서 BigGAN Residual Block으로 대체
    • 원본 이미지를 bicubic resizing한 저해상도 이미지를 이용하여 diffusion 모델을 학습
    • WaveGrad 방법을 적용하여 빠른 추론 속도를 유지하면서 높은 품질의 이미지 생성
  • 그러나, GAN 기반 모델에 비해 추론 속도가 느리다는 단점이 존재한다.