ControlNet으로 이미지 생성을 정밀하게 제어해봅시다.
ControlNet이란?
| 기능 | 설명 |
|---|---|
| 포즈 제어 | OpenPose로 인물 포즈 지정 |
| 깊이 | Depth로 공간감 유지 |
| 윤곽선 | Canny/Lineart로 형태 유지 |
| 세그멘테이션 | 영역별 제어 |
주요 ControlNet 모델
OpenPose
용도: 인물 포즈 제어
입력: 포즈 이미지 또는 사진
전처리기: openpose / openpose_full
특징:
- 관절 포인트 감지
- 몸, 손, 얼굴 포즈
- 여러 인물 동시 제어
프롬프트 예시:
1girl, standing with arms raised,
(같은 포즈로 생성됨)
Depth
용도: 깊이/공간감 유지
입력: 깊이 맵 또는 사진
전처리기: depth_midas / depth_zoe
특징:
- 전경/배경 분리
- 공간 구조 유지
- 건축/풍경에 유용
프롬프트 예시:
interior of modern living room,
(공간 구조 유지하며 스타일 변경)
Canny
용도: 엣지/윤곽선 유지
입력: 윤곽선 이미지
전처리기: canny
설정: threshold 낮음=디테일, 높음=단순
특징:
- 형태 정확하게 유지
- 로고, 제품에 유용
- 선명한 경계선
Lineart
용도: 라인드로잉 기반 생성
입력: 스케치 또는 라인아트
전처리기: lineart / lineart_anime
특징:
- 스케치를 완성 이미지로
- 애니메이션 스타일에 적합
- 컬러링 용이
전처리기 설정
OpenPose 상세
openpose: 몸 전체
openpose_face: 얼굴 포함
openpose_hand: 손 포함
openpose_full: 전체 (몸+얼굴+손)
DWPose: 더 정확한 포즈 감지
권장 설정:
- Resolution: 512-768
- Weight: 0.8-1.0
Depth 상세
depth_midas: 범용 깊이 추정
depth_zoe: 더 정밀한 깊이
depth_leres: 상대적 깊이
권장 설정:
- Resolution: 512
- Weight: 0.7-1.0
Canny 상세
canny 설정:
- Low threshold: 100 (기본)
- High threshold: 200 (기본)
낮은 threshold: 더 많은 디테일
높은 threshold: 주요 윤곽만
권장 설정:
- Resolution: 512
- Weight: 0.5-0.8
실전 활용
포즈 레퍼런스
1. 참조 이미지 준비 (포즈 사진)
2. OpenPose 전처리기 선택
3. 원하는 스타일 프롬프트 작성
프롬프트:
1girl, red dress, elegant,
studio background,
<ControlNet: OpenPose>
결과: 참조 포즈 + 새로운 스타일
건축 시각화
1. 건물/인테리어 사진 준비
2. Depth 모델 적용
3. 스타일 변경 프롬프트
프롬프트:
modern minimalist interior,
white walls, natural lighting,
<ControlNet: Depth>
결과: 구조 유지 + 스타일 변경
스케치 to 완성
1. 손그림 스케치 준비
2. Lineart 전처리기 적용
3. 컬러/스타일 프롬프트
프롬프트:
anime girl, colorful,
detailed shading,
<ControlNet: Lineart>
결과: 스케치 기반 완성 이미지
멀티 ControlNet
여러 ControlNet 조합
조합 예시:
1. OpenPose: 포즈 제어
2. Depth: 공간감 유지
설정:
- ControlNet 0: OpenPose (Weight 0.8)
- ControlNet 1: Depth (Weight 0.5)
프롬프트:
1girl in modern office,
professional attire
조합 팁
권장 조합:
- OpenPose + Depth: 인물 + 환경
- Canny + Depth: 형태 + 깊이
- Lineart + Reference: 스케치 + 스타일
주의:
- Weight 합이 너무 높으면 불안정
- 상충하는 제어는 피하기
가중치 조절
Weight 설정
0.3-0.5: 약한 제어 (자유도 높음)
0.6-0.8: 중간 제어 (균형)
0.9-1.0: 강한 제어 (정확하게 따름)
1.0+: 과제어 (결과 불안정)
시작/종료 설정
Control Mode:
- Balanced: 균형
- My prompt is more important: 프롬프트 우선
- ControlNet is more important: 제어 우선
Starting/Ending Step:
- 0-1: 전체 과정에 적용
- 0-0.5: 초기에만 적용
- 0.5-1: 후반에만 적용
실전 프롬프트
제품 리터칭
ControlNet: Canny (제품 형태 유지)
프롬프트:
product photography,
luxury cosmetic bottle,
marble surface,
soft studio lighting
Weight: 0.7
-> 형태 유지하며 조명/분위기 변경
애니메이션 포즈
ControlNet: OpenPose
입력: 실사 포즈 사진
프롬프트:
1girl, anime style,
school uniform,
cherry blossom background
Weight: 0.9
-> 실사 포즈를 애니메이션으로 변환
공간 리디자인
ControlNet: Depth
입력: 현재 인테리어 사진
프롬프트:
modern minimalist living room,
scandinavian style,
natural wood, white walls
Weight: 0.8
-> 공간 구조 유지, 스타일만 변경
팁
| 팁 | 설명 |
|---|---|
| 전처리 확인 | 적용 전 전처리 결과 확인 |
| Weight 조절 | 0.7에서 시작, 미세 조정 |
| 해상도 매칭 | 입력과 출력 해상도 유사하게 |
| 모델 호환 | SD 버전에 맞는 ControlNet |
| 조합 주의 | 2-3개 이상은 신중하게 |
ControlNet으로 창의성과 정확성을 모두 확보하세요.