논문 링크: 2201.09865
저자: Andreas Lugmayr, Martin Danelljan, Andres Romero, Fisher Yu, Radu Timofte, Luc Van Gool
소속: Computer Vision Lab, ETH Z¨ urich, Switzerland
발행일: 2022 8월 31일
1. Abstract
Free-form Inpainting은 이미지에서 임의의 마스크 영역을 채우는 작업으로, 기존 방법들은 특정 마스크 분포에서 훈련되어 새로운 마스크에 대한 일반화가 어렵다. 또한, 기존의 픽셀 단위 및 perceptual loss 기반 방법은 의미론적으로 자연스러운 생성을 보장하지 못한다.
본 논문에서는 RePaint를 제안한다.
- Denoising Diffusion Probabilistic Model (DDPM) 기반 inpainting 기법.
- 사전 학습된 unconditional DDPM을 생성 prior로 활용.
- Reverse diffusion 과정에서 마스크가 적용되지 않은 영역을 원본 이미지 정보로 샘플링.
- 기존 DDPM 네트워크를 수정하거나 추가 훈련 없이 높은 품질과 다양한 결과 생성 가능.
- CelebA-HQ 및 ImageNet에서 검증하여 SOTA Autoregressive 및 GAN 기반 방법을 능가하는 성능을 보임.
2. Introduction
Image Inpainting은 손실된 영역을 원본과 조화롭게 복원하는 작업이다. 기존 방법들은 주로 GAN 또는 Autoregressive 모델을 사용하지만, 특정 마스크 분포에 과적합되거나 의미론적 일관성을 유지하기 어렵다.
기존 방법의 한계
- 마스크 종속성: 특정 마스크 유형에 특화된 학습으로 새로운 마스크 일반화가 어려움.
- 의미론적 부자연스러움: 단순한 텍스처 매칭으로 인해 자연스러운 이미지 복원이 어려움.
RePaint의 접근 방식
- 사전 학습된 unconditional DDPM 활용: 특정 마스크에 대한 추가 훈련 없이 작동.
- Reverse diffusion 과정에서만 마스크를 적용하여 샘플링 → 원본 이미지 정보를 최대한 유지.
- Resampling 기법을 도입하여 보다 자연스럽고 의미론적으로 타당한 복원 가능.
3. Related Work
3.1 Deterministic Image Inpainting
- GAN 기반: Partial & Gated Convolutions, Contextual Attention 등 사용.
- 그러나 텍스처 생성은 강하지만 의미론적 일관성이 부족.
3.2 Diverse Image Inpainting
- Autoregressive 모델: 불규칙한 마스크 대응 가능하지만 연산량이 큼.
- VAE 기반 방법: 다양성과 재구성 성능 간의 트레이드오프.
3.3 Diffusion Model 기반 Inpainting
- 기존 ILVR(DDPM 기반 guided generation) 방식: 저주파 정보만 활용하여 inpainting에는 적합하지 않음.
- RePaint의 차별점:
- Unconditional DDPM을 사용하여 특정 마스크에 대한 사전 훈련 없이 작동.
- Reverse Diffusion 과정에서만 Conditioning 수행 → 자유로운 Free-Form Inpainting 가능.
▼ Preliminaries: Denoising Diffusion Probabilistic Models (DDPM)
Preliminaries: Denoising Diffusion Probabilistic Models (DDPM)
본 논문에서는 Diffusion 모델을 생성 모델로 사용한다.
Diffusion 모델은 다른 생성 모델과 마찬가지로, 주어진 학습 데이터셋을 기반으로 이미지 분포를 학습하는 방식이다.
DDPM의 추론 과정은 무작위 노이즈 벡터 $x_T$를 샘플링한 후, 점진적으로 노이즈를 제거하여 고품질의 출력 이미지 $x_0$를 생성하는 방식으로 이루어진다.
훈련 과정에서, DDPM은 Diffusion 과정을 정의하여 원본 이미지 $x_0$를 $T$개의 시간 단계에 걸쳐 점진적으로 백색 가우시안 노이즈 $x_T \sim \mathcal{N}(0, I)$로 변환한다.
1. Forward Process
Forward Process에서는 각 시간 단계 $t$에서 원본 이미지 $x_0$에 점진적으로 노이즈를 추가하며, 이 과정은 다음과 같은 확률 분포로 정의된다:
$$q(x_t | x_{t-1}) = \mathcal{N}(x_t; \sqrt{1 - \beta_t} x_{t-1}, \beta_t I)$$
여기서:
- $\beta_t$는 시간 단계 $t$에서 적용되는 노이즈 분산 (variance)으로, 보통 작은 값에서 시작해 점진적으로 증가한다.
- $x_t$는 이전 시간 단계의 이미지 $x_{t-1}$에 가우시안 노이즈를 추가하여 생성되며, 다음과 같이 계산된다:
$$x_t = \sqrt{1 - \beta_t} x_{t-1} + \epsilon, \quad \epsilon \sim \mathcal{N}(0, \beta_t I)$$
즉, $x_t$는 이전 이미지 $x_{t-1}$를 $\sqrt{1 - \beta_t}$만큼 스케일링한 후, 평균이 0이고 분산이 $\beta_t$인 가우시안 노이즈를 추가하여 샘플링된다.
2. Reverse Process
DDPM의 핵심 목표는 Forward Process를 거친 노이즈화된 이미지 $x_T$에서 점진적으로 노이즈를 제거하여 원본 이미지를 복원하는 것이다.
이 과정은 Reverse Diffusion 과정으로 모델링되며, 다음과 같은 확률 분포를 따른다:
$$p_\theta(x_{t-1} | x_t) = \mathcal{N}(x_{t-1}; \mu_\theta(x_t, t), \Sigma_\theta(x_t, t))$$
여기서:
- $\mu_\theta(x_t, t)$와 $\Sigma_\theta(x_t, t)$는 뉴럴 네트워크 $p_\theta$가 예측하는 가우시안 분포의 평균과 분산이다.
- 즉, 모델은 $x_t$를 입력으로 받아, 그보다 한 단계 이전인 $x_{t-1}$의 분포를 추정하여 샘플링한다.
3. Training Objective
DDPM은 변분 하한 (Variational Lower Bound, VLB)을 최적화하는 방식으로 학습된다.
즉, 원본 이미지 $x_0$를 최대한 정확하게 복원하는 방향으로 학습을 진행한다.
변분 하한은 다음과 같이 정의된다:
$$E[-\log p_\theta(x_0)] \leq E_q \left[ -\log p_\theta(x_{0:T}) + \sum_{t \geq 1} \log \frac{p_\theta(x_{t-1} | x_t)}{q(x_t | x_{t-1})} \right]$$
이를 통해 모델이 Forward Process에서 발생한 정보 손실을 최소화하면서 원본 이미지 $x_0$를 정확히 재구성할 수 있도록 학습이 진행된다.
4. Loss Function
Ho et al.는 위의 변분 하한을 보다 단순화하여 보다 효과적인 손실 함수를 도출하였다.
특히, 각 시간 단계에서 예측된 노이즈와 실제 노이즈 간의 차이를 최소화하는 방식이 가장 효과적이라는 점을 발견하였다.
이에 따라, DDPM의 최종 손실 함수는 다음과 같이 정의된다:
$$\mathcal{L}_{simple} = E_{t, x_0, \epsilon} \left[ \|\epsilon - \epsilon_\theta(x_t, t)\|^2 \right]$$
즉, 신경망 $\theta$는 특정 시점 $t$에서 노이즈화된 이미지 $x_t$를 입력받아, 해당 시점의 원본 이미지에 추가된 노이즈 $\epsilon$을 예측하도록 학습된다.
5. 예측 평균 $\mu_\theta(x_t, t)$의 매개변수화
Ho et al.는 역확산 과정에서 가우시안 분포의 평균 $\mu_\theta(x_t, t)$를 직접 예측하기보다는, 누적된 노이즈 $\epsilon_0$를 예측하는 방식이 더 효과적임을 발견하였다.
이때, $\mu_\theta(x_t, t)$는 다음과 같이 표현된다:
$$\mu_\theta(x_t, t) = \frac{1}{\sqrt{\alpha_t}} \left( x_t - \frac{\beta_t}{\sqrt{1 - \bar{\alpha}_t}} \epsilon_\theta(x_t, t) \right)$$
여기서:
- $\bar{\alpha}_t$는 시간 $t$까지의 누적 노이즈 감소율을 의미하며, 다음과 같이 정의된다:
$$\bar{\alpha}_t = \prod_{s=1}^{t} (1 - \beta_s)$$
이 수식을 통해, DDPM 모델이 $x_t$를 입력으로 받아 원본 이미지에 추가된 노이즈 $\epsilon$을 예측하고, 이를 이용해 역확산을 수행할 수 있다.
6. 샘플링 과정에서의 효율적인 변환
Forward Process에서 특정 시점 $x_t$를 직접 샘플링하는 수식은 다음과 같이 정리된다:
$$q(x_t | x_0) = \mathcal{N}(x_t; \sqrt{\bar{\alpha}_t} x_0, (1 - \bar{\alpha}_t) I)$$
이를 통해 DDPM은 특정 시점 $t$에서 Forward Process의 전체 과정을 한 번의 샘플링으로 진행할 수 있다.
이를 활용하면, 학습 및 추론 과정에서 보다 효율적인 데이터 샘플링이 가능하다.
7. 샘플링 속도 개선을 위한 기법
DDPM의 샘플링 과정은 본질적으로 여러 단계의 역확산 과정을 포함하므로, 계산량이 많고 속도가 느리다.
이를 개선하기 위해, Nichol & Dhariwal은 분산 $\Sigma_\theta(x_t, t)$ 학습을 도입하여 샘플링 속도를 크게 향상시켰다.
본 논문에서는 Dhariwal & Nichol의 접근법을 기반으로 학습 및 추론을 수행하여, 기존 DDPM보다 약 4배 빠른 샘플링 속도를 달성하였다.
4. Method
4.1 Conditioning on the Known Region
- 이미지 Inpainting의 목표는 주어진 마스크(mask) 영역을 조건으로 사용하여 누락된 픽셀을 예측하는 것.
본 논문에서는 사전 훈련된 비조건부 DDPM(Unconditional DDPM)을 사용하여 이 문제를 해결.
역확산 과정에서 알려진 영역 반영하기
-
- Forward Process는 Markov Chain으로 가우시안 노이즈를 점진적으로 추가하는 방식으로 정의됨.
- 이 성질을 활용하면, 특정 시간 단계 $t$에서 $x_t$를 샘플링할 수 있음.
- 이를 활용하면 알려진 영역을 유지한 채 역확산 과정을 진행할 수 있음.
- 마스크 영역이 없는 픽셀은 원본 $x_0$을 기준으로 샘플링.
- 마스크 영역이 있는 픽셀은 기존의 DDPM 역확산 방식을 사용하여 샘플링.
- Forward Process는 Markov Chain으로 가우시안 노이즈를 점진적으로 추가하는 방식으로 정의됨.
- 새로운 픽셀을 생성하는 게 아니라, 원본 픽셀을 유지하기 위해 특정 확률 분포를 따라 샘플링하는 방식.
- 이를 통해, 한 번의 역확산 단계에서 다음과 같은 샘플링 과정을 수행한다:
- $$x_{t-1}^{\text{known}} \sim \mathcal{N}(\sqrt{\bar{\alpha}_t} x_0, (1 - \bar{\alpha}_t)I)$$ $$x_{t-1}^{\text{unknown}} \sim \mathcal{N}(\mu_\theta(x_t, t), \Sigma_\theta(x_t, t))$$ $$x_{t-1} = m \odot x_{t-1}^{\text{known}} + (1 - m) \odot x_{t-1}^{\text{unknown}}$$
- 즉:
-
- 원본 이미지 $x$
- $\mathcal{m}$: 마스크 행렬 (알려진 영역은 1, 손실된 영역은 0)
- $\odot$: 요소별(element-wise) 곱셈 연산을 의미.
- 알려진 영역 ($x_{t-1}^{\text{known}}$)은 원본 이미지 $x_0$을 기준으로 샘플링됨.
- 손실된 영역 ($x_{t-1}^{\text{unknown}}$)은 기존 DDPM 방식대로 샘플링됨.
- 이 두 개를 합쳐서 최종적으로 $x_{t-1}$을 얻음.
4.2 Resampling
- 위의 방법만 적용하면, 생성된 영역이 알려진 영역의 texture와 일치하지만, 의미론적으로 부자연스러울 가능성이 높음.
- 그림 3의 $n = 1$ 예시에서 강아지의 털 패턴이 잘 맞지만, 생성된 이미지가 의미론적으로는 부자연스러움.
- 즉, DDPM은 알려진 영역과의 일관성을 맞추려 하지만, 전체적인 의미를 고려하는 것은 아님.
- 그림 2를 통해, 모델이 알려진 영역을 조건으로 사용하는 방식을 분석할 수 있음.
- 모델은 $x_t$를 이용해 $x_{t-1}$을 예측한다.
- 하지만 이 과정에서 알려진 영역을 샘플링할 때, 생성된 부분과의 일관성을 고려하지 않음.
- 이로 인해, 역확산 과정에서 부조화(disharmony)가 발생하게 됨.
- 또한, 역확산 단계가 진행될수록 이미지의 변형이 점점 줄어들므로, 생성된 부분의 부조화를 수정하기 어려움.
해결책: Resampling을 이용한 보완
- 기본적인 원리
- DDPM은 원본 이미지의 분포 내에서 일관성 있는 구조를 생성하려는 경향이 있음.
- 따라서, 한 번 생성된 이미지가 부자연스러울 경우, 다시 일부 과정을 거쳐 조화를 맞출 수 있음.
- Resampling 방법
- $x_{t-1}$을 샘플링한 후, 다시 Forward Diffusion을 한 단계 적용하여 $x_t$로 되돌림.
- 그런 다음, 다시 역확산 과정을 수행하여 $x_{t-1}$을 새롭게 샘플링.
- 이를 통해, 알려진 영역과 손실된 영역 간의 조화를 맞추면서 점진적으로 개선할 수 있음.
- 즉, 한 번 생성된 $x_{t-1}$을 다시 Forward Process를 적용하여 $x_t$로 변환한 후, 다시 역확산을 진행.
- 실험 결과, Resampling을 10회 적용할 때 가장 효과적.
- 기존 연구에서 사용된 단순히 역확산 과정의 속도를 조절하는 방식인 Slowing Down 기법은 이미지의 조화를 개선하는 데 한계가 있음
5. Experiments
5.1 Implementation Details
- CelebA-HQ 및 ImageNet에서 실험 진행.
- 사전 학습된 Guided Diffusion Model 활용.
- Hyperparameters:
- Image size: 256 × 256
- GPU: 4 × V100
- CelebA-HQ 학습 횟수: 250,000회 반복 (5일 소요)
- Time Steps T=1000, Resampling Steps n=10, Jump Size k=10
5.2 Metrics
- User Study: 100개 테스트 이미지에서 5명의 평가자가 직접 비교 실험 진행.
- LPIPS (Learned Perceptual Image Patch Similarity): 원본 이미지와 복원된 이미지 간의 지각적 차이를 CNN 기반 모델을 사용하여 평가. (픽셀 단위)
- 낮을수록 원본 이미지와 더 유사한 결과를 생성했다는 의미
5.3 Comparison with State-of-the-Art(SOTA)
- 비교 대상: Autoregressive (ICT, DSI), GAN 기반 (DeepFillv2, AOT, LaMa)
- 결과:
- Wide & Narrow Mask: RePaint가 모든 방법을 능가함.
- Super-Resolution & Alternating Lines: RePaint의 사용자 투표율 73.1%~99.3% 기록.
- Thick Mask (Expand & Half): RePaint가 의미론적으로 더 자연스러운 복원 성능을 보임.
5.4. Analysis of Diversity
RePaint는 Stochastic 모델로, 매번 새로운 인페인팅 결과를 생성 가능함.
- 기존 GAN 기반 방법은 하나의 고정된 결과를 출력하는 반면,
- DDPM 기반 RePaint는 다양한 가능성을 탐색할 수 있음.
5.5. Class Conditional Experiment
사전 훈련된 ImageNet DDPM 모델은 클래스 조건부 생성(class-conditional generation)이 가능함.
- 확대 마스크(Expand Mask)를 적용하여 특정 클래스(예: Granny Smith 사과)를 생성하는 실험을 진행함.
- 결과: 마스킹된 부분을 주어진 클래스와 일치하는 이미지로 채움을 확인할 수 있음.
- 추가적으로 다양한 클래스(양배추, 브로콜리, 콜리플라워 등)에 대해 실험 진행.
5.6 Ablation Study
- Resampling vs. Slowing Down
- 동일한 연산량에서 Resampling이 더 나은 성능 보임.
- Jump Length 실험
- k=10일 때 가장 높은 품질.
- SDEdit 비교
- Super-Resolution 마스크 실험에서 RePaint가 SDEdit 대비 53% 성능 향상.
6. Limitations
- 속도 문제
- DDPM 기반 방법은 GAN 기반 기법보다 훨씬 느림
- 현재 실시간(real-time) 응용에는 적합하지 않음
- 하지만 최신 연구에서는 DDPM의 연산 속도를 줄이기 위한 기법들이 개발 중임.
- 극단적 마스크(extreme mask)
- 마스크가 너무 크면, 생성된 이미지가 원본과 매우 다를 가능성이 있음
- 따라서 LPIPS 같은 지표로는 평가하기 어려움 → 대체로 FID(Frechet Inception Distance) 사용이 제안됨
- FID는 단순한 픽셀 비교가 아닌, 생성된 이미지와 원본 이미지의 분포 차이를 비교하는 방식으로 더 적합함.
7. Conclusions
Novelty
- Mask-Agnostic Inpainting 기법
- 기존 Inpainting 기법들은 특정 마스크 유형에 맞춰 학습해야 했지만,
RePaint는 사전 학습된 Unconditional DDPM을 활용하여 특정 마스크 없이도 복원 가능. - 즉, 어떤 형태의 마스크가 주어지더라도 추가 훈련 없이 적용 가능하다는 점이 새로운 접근 방식.
- 기존 Inpainting 기법들은 특정 마스크 유형에 맞춰 학습해야 했지만,
- Diffusion Model 기반 Inpainting의 새로운 활용 방식
- 기존 GAN 및 Autoregressive 기법들은 텍스처 복원에는 강하지만, 의미론적 일관성을 유지하는 데 어려움이 있었음.
- RePaint는 DDPM과 Resampling 기법을 결합하여 보다 자연스럽고 의미론적으로 일관된 복원이 가능하도록 함.
Contribution
- 기존 Inpainting 기법의 한계를 극복한 새로운 방식 제안
- GAN 기반 모델보다 의미론적으로 자연스러운 결과를 제공하고,
- Autoregressive 모델보다 효율적인 계산량으로 더 다양한 마스크 유형에 일반화 가능.
- 다양한 마스크 유형에서 SOTA 성능 입증
- CelebA-HQ 및 ImageNet에서 실험한 결과, 기존 SOTA 모델보다 우수한 성능을 기록.
- 특히 다양한 마스크 분포에서도 강력한 성능을 보였으며, Super-Resolution, Alternating Lines, Wide & Narrow Mask 등에서 높은 사용자 선호도를 기록함.
- 향후 연구 방향 제시 – DDPM의 실용적인 활용을 위한 최적화 연구 필요
- 현재 DDPM 기반 방법들은 속도가 느리다는 단점이 있음.
- 이를 해결하기 위해, 샘플링 속도를 개선하는 최적화 연구가 필요하며, 이는 Diffusion Model을 활용한 Inpainting 연구의 실용성을 높이는 데 기여할 수 있음.
- Novelty: 특정 마스크 없이 학습 가능한 Mask-Agnostic Inpainting, DDPM을 활용한 자연스러운 복원 방식.
- Contribution: 기존 Inpainting 기법보다 뛰어난 성능을 보이며, Diffusion Model의 실용성을 높일 수 있는 연구 방향 제시.