본문 바로가기

논문 리뷰/Diffusion Model

ScaleCrafter: Tuning-free Higher-Resolution Visual Generation with Diffusion Models

Receptive field  확장으로 초고해상도 이미지 생성

고해상도에서의 객체 반복은 사실 diffusion model 만의 문제가 아니다. 굉장히 의미 있는 논문이라고 생각함.

 

[Project Page]

[Github]

[arXiv]

 

 

Abstract

512x512에서 사전 훈련된 Stable Diffusion을 사용하여 고해상도에서 이미지를 생성할 때 다양한 문제가 관찰됨.

연구진은 컨볼루션의 제한된 수용 필드에서 문제를 찾고 이를 동적으로 조절할 수 있는 re-dilation 제안.

초고해상도 이미지 생성을 가능하게 하는 dispersed convolution, noise-damped classifier-free guidance 제안.

Fine-tuning이나 최적화가 필요하지 않음.

 

 

 

Introduction

 

놀랍게도 사전 훈련된 피라미터를 사용하여 U-Net의 convolution을 dilated convolution으로 바꾸기만 해도 전체 구조가 어느 정도 합리적이게 된다.

Dilated convolution에 대한 분석을 바탕으로 tuning-free dynamic re-dilation strategy 제안.

 

또한 ultra-high-resolution 생성을 위한 새로운 두 가지 방법 제안.

 

본 논문의 기여:

  • 고해상도에서 객체 반복의 주요 원인이 컨볼루션 수용 필드임을 관찰하여 새로운 관점 제공
  • 상기 문제를 해결하기 위한 re-dilation
  • 초고해상도 생성을 위한 dispersed convolution, noise-damped classifier-free guidance

 

 

 

Method

Re-dilation

Re-dilated convolution의 연산:

훈련 중에는 확장을 사용하지 않고 추론 중에만 동적으로 조정하므로 re-dilation이라고 부름.

 

하지만 분수 배수 확장을 처리할 수 없기 때문에 fractional dilated convolution을 제안.

 

 

E.g. 1.5배의 경우, 원래 feature map의 크기에서 1.5의 길이가 업샘플링 후 feature map에서 2가 되도록(실제 길이는 같지만) 보간 함수 interp()로 업샘플링을 진행한 다음 d=2로 dilated convolution 적용.

(Convolution layer fk(), hidden feature h, 인자 d를 사용한 확장 연산 Φd, 컨볼루션 연산 )

 

시간 단계 T, layer L에 대해 확장 일정 함수 D(t, l)로 확장 인자 d를 산출.

U-Net의 얕은 층, 노이즈가 적은 시간 단계일수록 적은 확장 인자를 사용한다.


Convolution dispersion

불행하게도, dilated convolution은 gridding artifact와 같은 문제들로 인해 어려움을 겪는다.

이를 해결하기 위해 컨볼루션 커널을 분산시켜 수용 필드를 늘린다.

 

원래 컨볼루션 레이어의 기능을 유지하면서 컨볼루션 커널을 확장하기 위해 구조 수준 및 픽셀 수준 교정을 적용.

 

구조 수준 교정:

확장된 커널 k'는 k 보다 많은 요소를 갖기 때문에 과소 결정되며, 상기의 방정식을 풀기 위해 픽셀 수준 교정을 도입하여

선형 최소 제곱 문제로 공식화함.

 

위의 식으로 모든 컨볼루션 커널에서 확장된 컨볼루션 커널을 유도할 수 있다.

 

부록의 experiment settings을 보면 주로 깊은 블록 위주로 re-dilated conv를 사용하고,

dispersed conv는 2048x2048 이상의 초고해상도에서 한정적으로 사용한다.

초고해상도에서는 얕은 블록에서 re-dilated conv, 깊은 블록에서 dispersed conv를 사용.


Noise-damped classifier-free guidance

초고해상도를 위해 수용 필드를 지나치게 키우면 U-Net의 노이즈 제거 기능이 저하될 수 있다.

 

따라서 노이즈 제거 능력이 뛰어난 original model ϵθ, 대부분의 블록에서 수용 필드를 확장해 뛰어난 콘텐츠를 생성하는 ϵ̃θ의 선형 조합으로 결과를 얻는다.

 

그동안 classifier-free guidance에 대해 어렴풋이 만 알고 있었는데, 이 논문을 보면서 본질을 깨달은 느낌이다...

ϵ̃θ(x, y)와 ϵ̃θ(x)는 노이즈 제거는 잘 못 하지만, 좀 더 원하는 결과에 가까운 콘텐츠 정보를 갖고 있다.

또한 ϵ̃θ(x, y)와 ϵ̃θ(x)의 노이즈 예측이 유사하고, 그 둘의 차이는 곧 조건 y에 대하여 guiding 된 feature라고 볼 수 있다.

그러면 위 식은 ϵθ(x)를 베이스로 {ϵ̃θ(x, y)-ϵ̃θ(x)}가 가진 유용한 정보 * w를 더한 값이 된다.

 

 

 

Experiments

Comparison with training-free methods

Ablation study