본문 바로가기

논문 리뷰/Diffusion Model

FineControlNet: Fine-level Text Control for Image Generation with Spatially Aligned Text Control Injection

인스턴스가 여러 개일 때 각각을 분리해서 attention을 수행하여 제어능력 향상

논문 설명이 좀 애매모호해서 추정이 좀 있습니다. 초기 버전이라 보완이 좀 필요한 논문 같네요.

 

[Project Page]

[arXiv](Current version v1)

 

 

 

Abstract

FineControlNet > ControlNet

 

 

 

FineControlNet

Spatial Alignment of Text and 2D Pose

Text prompt를 통해 각 인스턴스를 제어하는 것은 어렵다.

 

2D pose 목록 {pi2D}가 주어지면 pose occupancy map(attention mask) {mi}를 추출하고 timestep t의 잠재 임베딩 h를 다음과 같이 정의한다.

h는 인스턴스 수만큼 hi로 복사하여 text condition과의 cross-attention 수행 후 마스크를 통해 집계된다. U-Net의 decoding 단계에서는 Query에 pose embedding을 추가하여 cross-attention을 수행.

 

이 부분의 설명이 특히나 모호한데, 일단 Project Video에서 V'은 'cross-attention layer의 출력', L은 'U-Net의 block 수'라고 명확하게 언급하고 있으므로 모든 cross-attention layer에서 위의 pipeline을 반복하는 것으로 보인다.

 

또 하나의 의문점은 훈련 없이 Stable Diffusion과 ControlNet의 사전 훈련 모델을 사용한다고 하는데, ControlNet의 U-Net에는 decoding block이 없으며, 원본 Stable Diffusion은 pose embedding을 고려하지 않고 훈련됐는데 pose embedding을 어디에 추가한다는 건지?

 

그리고 위 과정을 Stable Diffusion에서 수행한다는 건지 ControlNet에서 한다는 건지... 이 부분은 ControlNet 쪽일 확률이 높지만 말했듯이 ControlNet에는 decoding block이 없기 때문에... 가장 확률 높은 시나리오는 원래 ControlNet이 Stable Diffusion의 decoding block에만 관여하기 때문에 only in decoding이라고 적어 놓았다는 것일 듯?

 

어쨌든 요약: 모든 cross-attention layer에서 각 인스턴스별로 분리하여 attention을 수행한다.

 

FineControlNet의 구성은 RePaint에서 영감을 받았는데, 픽셀 공간에서 합성을 수행한 Repaint와 다르게 잠재 공간에서 수행하였다. 이는 의미론적으로 더 안정적이라고 한다.

 

Implementation of FineControlNet

FineControlNet은 사전 훈련된 Stable Diffusion과 Pose-to-Image ControlNet을 사용하는 training-free 방법이다.

단일 text-pose pair가 주어지면 ControlNet과 똑같다고 한다.

 

Prompt parsing

FineControlNet은 인스턴스 수준의 prompt가 필요한데, 사용자가 직접 지정할 수도 있고 현재의 많은 LLM은 global prompt에서 instance prompt를 쉽게 생성할 수 있다.

 

Harmony

추가적인 harmony parameter를 사용한다. 이 하이퍼피라미터는 인스턴스의 ID 향상과 주변과의 자연스러운 혼합을 trade-off 한다. 

 

또한 더 나은 harmonization을 위해 DDIM step의 1/4에서 확장된 pose occupancy map을 적용한다.

 

 

 

Experiments