반응형
이번 논문 리뷰는 2023년 ICCV에 발표된 "Adding Conditional Control to Text-to-Image Diffusion Models"논문 입니다. 이 모델은 Stable Diffusion에 직접적인 제어 능력(control)을 추가해주는 혁신적인 구조로, 사용자 입력에 따라 훨씬 더 정밀한 이미지 생성을 가능하게 합니다.
- Paper: https://openaccess.thecvf.com/content/ICCV2023/papers/Zhang_Adding_Conditional_Control_to_Text-to-Image_Diffusion_Models_ICCV_2023_paper.pdf
- Code: https://github.com/lllyasviel/ControlNet
GitHub - lllyasviel/ControlNet: Let us control diffusion models!
Let us control diffusion models! Contribute to lllyasviel/ControlNet development by creating an account on GitHub.
github.com
🎯 왜 이 논문이 중요한가?
- 기존의 텍스트-투-이미지(Text-to-Image) 모델들은 “글로 설명한 것만” 이미지로 생성할 수 있습니다. 하지만 다음과 같은 한계가 있습니다:
- 정확한 포즈나 레이아웃 제어가 어렵다
- “거대한 사슴이 있는 동화 속 그림”이라는 문장은 너무 모호해서 원하는 형태가 잘 안 나옴
- 수많은 시도와 수정이 필요
- 이 논문은 이런 문제를 해결하기 위해 “추가 이미지 조건” (예: edge map, pose, depth 등)을 기반으로 이미지 생성을 제어하는 방법을 제시합니다.
- 즉, "텍스트 + 이미지 조건"으로 원하는 그림을 뽑아낼 수 있게 만든 것이 핵심입니다.
🧠 핵심 알고리즘
- 기존 Stable Diffusion의 무게(파라미터)는 그대로 “잠그고(freeze)”, 복제한 네트워크에만 훈련 가능한 조건 경로를 추가하자!
- Stable Diffusion은 그대로 유지: 학습된 거대한 모델을 보호
- 학습 가능한 복사본을 만들어 조건을 반영: 조건이 모델을 망치지 않도록
- 두 모델 사이에 "Zero Convolution" 레이어를 추가: 처음에는 영향이 없고, 학습되며 점차 영향력 증가
- ControlNet 구조 요약
구성 요소 | 설명 |
Frozen Stable Diffusion | 사전 학습된 모델 (U-Net 구조) |
Trainable Copy | 동일한 구조를 복사한 모델 (조건 입력을 받음) |
Zero Convolution | 1×1 convolution, 초기 가중치 0 → 훈련 통해 점진적 영향 |
- 다양한 조건 입력의 예
- Canny Edge Map: 윤곽선
- Hough Lines: 직선 정보
- Depth Map: 거리/깊이 정보
- Segmentation Map: 영역 분할
- Human Pose: 사람의 관절 위치
- Sketch: 사용자 손그림
- Normal Map: 표면 기울기
- 카툰 윤곽선 등
- 학습 방식
- 기본적으로 Stable Diffusion에서 사용하는 노이즈 예측 기반 손실 함수를 그대로 사용합니다:
- $L = \mathbb{E}_{z_0,t, c_t, c_f, \epsilon \sim \mathcal{N}(0, I) } \left[ \left\| \epsilon - \epsilon_\theta\left( z_t, t, c_t, c_f \right) \right\|^2 \right]$
- 여기서 각 기호는 다음을 의미합니다:
- $z_t$: 노이즈가 섞인 잠재 벡터
- $c_t$: 텍스트 조건
- : 이미지 기반 조건 (ControlNet의 입력)
- $\epsilon_\theta$: 모델이 예측한 노이즈
- 기본적으로 Stable Diffusion에서 사용하는 노이즈 예측 기반 손실 함수를 그대로 사용합니다:
📌 ControlNet의 주요 특성
- Zero Convolution
- 1×1 convolution이며, weight와 bias를 0으로 초기화
- 학습 초반에는 전혀 영향을 주지 않음 → 모델 안전성 보장
- 학습되면서 점진적으로 조건 정보 반영 가능
- 갑작스러운 수렴 (Sudden Convergence)
- 보통 딥러닝은 점진적으로 성능이 향상되는데, ControlNet은 특정 지점에서 갑자기 조건을 따라 그리기 시작함
- 이유: zero conv 구조가 학습 초기엔 무해하게 작용하기 때문
- CFG Resolution Weighting
- 조건 이미지가 너무 강하게 작용하거나, 너무 약할 때
- 레이어별 해상도에 따라 가중치를 다르게 적용 ($w_i = \frac{64}{h_i}$)
📊 성능 평가
- 다양한 조건에 대응
- ControlNet은 한 장의 입력 이미지로도 세밀한 생성이 가능:
조건 유형 | Prompt 없이 생성 가능 |
Edge map | ✅ |
Human Pose | ✅ |
Depth | ✅ |
Segmentation | ✅ |
Sketch | ✅ |
- 사용자 평가 (AHR)
✅ 결론 및 요약
항목 | 내용 |
목적 | 텍스트 외의 공간적 조건 이미지로 생성 과정 제어 |
주요 기술 | Trainable Copy + Zero Convolution |
성능 | 텍스트 없이도 고품질 이미지 생성 가smd |
영향력 | 다양한 응용 가능: pose-to-image, edge-to-image, 인페인팅 등 |
📝 마무리
- "텍스트로만 제어"하던 기존 생성 모델의 한계를 뛰어넘음
- 모델 구조를 거의 바꾸지 않고도 강력한 사용자 제어 능력을 부여함
- 향후 다양한 멀티모달 생성기의 기본 단위가 될 가능성 큼
반응형