본문 바로가기

논문 리뷰/Diffusion Model

DragonDiffusion: Enabling Drag-style Manipulation on Diffusion Models

드래그로 조작 가능한 다양한 이미지 편집 기능

 

Github

arXiv

 

 

Abstract

확산 모델에서 Drag-style 조작이 가능한 DragonDiffusion 제안.

Fine tuning, 추가 모듈 x.

 

 

 

Introduction

비슷한 작업으로 DragGAN이 있지만 GAN보다 확산 모델이 일반화 능력, 안정성과 생성 품질이 더 우수함.

 

확산 과정에서 두 가지 feature set 포함.(Guidance feature, Generation feature)

Generation feature를 편집하기 위해 guidance feature를 대상으로 활용.

 

DragDiffusion과 달리 추가적인 훈련이 필요 없고 feature 간의 대응을 통해 이미지 일관성을 유지함.

 

 

 

Method

Overview

DIFT에서 영감을 받은 이 논문은 중간 feature의 대응을 활용한다.

Cross-branch self-attention과 classifier guidance를 이용해 fine-tuning이나 학습 없이 중간 표현 수정.


Classifier-guidance-based Editing Design

Score function을 통해 편집 신호를 gradient로 변환하여 중간 표현을 업데이트 하는 것을 목표로 함.

 

Score Function

DIFT에서 얻은 지식을 바탕으로 중간 표현 zgen, zgud를 feature space F에 매핑하고 마스크 m으로 콘텐츠의 위치를 알려주고 코사인 유사도 측정. 

(Sg = stop gradient)

 

편집되지 않는 영역을 보존하기 위한 항을 추가한 손실함수:

(α, β = 매개변수, w는 균형을 맞추기 위한 가중치 )

 

Joint score function(참고)

 

Multi-scale Guidance

U-Net 디코더의 각 레이어마다 각기 다른 정보들을 가지고 있다. 각 레이어가 어떤 정보를 갖고 있는지 알아보기 위해 zT를 가우스 노이즈로, mgen, mgud를 zeros matrix로, mshare를 ones matrix로 하여 가이드했을 때의 결과:

본 논문에서는 2, 3번째 레이어를 편집하기로 결정했다.


Cross-branch Self-attention

생성 결과와 원본 이미지와의 일관성을 위해 DDIM Inversion, cross-branch self-attention 도입.

 

Cross-branch self-attention은 생성 분기의 self attention에서 K, V를 안내 분기에서 가져와 사용하는 것이다.

 

U-Net 인코더의 feature 대응이 상대적으로 약하기 때문에, 디코더에서만 사용한다고 함.

 

 

 

Experiments