본문 바로가기
C.W.K.
Stream
Lesson 08 of 10 · published

자세와 구도를 고정하는 ControlNet

~14 min · control, editing, l8

Level 0첫 불꽃
0 XP0/100 lessons0/14 achievements
0/200 XP to next level200 XP to go0% complete

피파 한 줄 정리: ControlNet은 선·깊이·자세·스케치 같은 구조 조건을 프롬프트에 더해, 말로는 모호한 공간 배치를 시각적으로 지정해.

머릿속 모형: 영화감독이 대역 배우의 팔을 들고 고개를 기울여 한 발 앞으로 내딛는 정확한 자세를 만든 뒤 실루엣을 찍는다고 하자. 화가에게 그 실루엣을 주며 “이 자세 그대로 숲속의 중세 기사로 그려”라고 한다. 실루엣은 구조를, 문장은 내용을 정한다. ControlNet이 하는 일이야.

텍스트 옆에 구조 조건 더하기

텍스트는 무엇을 그릴지는 잘 전달하지만 정확히 어디에 어떤 모양으로 놓을지는 모호하다. ControlNet은 생성 과정에 명시적인 시각 안내를 추가해 사물의 위치와 형태를 지정한다. 모델은 구조를 따라가면서 문장이 정한 대상과 스타일을 입힌다.

구조 신호의 종류

제어 종류          담는 정보                    알맞은 용도
  ──────────────────────────────────────────────────────────────
  Canny Edge       가장자리와 윤곽              날카로운 형태 고정
  Depth Map        카메라와의 거리              3차원 공간 배치
  Pose (OpenPose)  뼈대와 관절 위치             사람의 자세
  Normal Map       표면의 방향                  조명과 맞는 표면
  Segmentation     의미별 영역                  하늘·땅·건물 장면 배치
  Scribble/Sketch  거친 손그림 안내             빠른 구도 초안
  Lineart          깨끗한 선화                  삽화와 만화

작동 원리의 큰 그림

ControlNet은 주 확산 모델을 따라가는 병렬 신경망처럼 작동한다. 구조 이미지를 처리해 특징 맵을 만들고, 매 노이즈 제거 단계마다 주 모델에 주입한다. 결과적으로 세 신호가 동시에 작용한다.

  1. 텍스트 프롬프트: 장면이 무엇인지 정한다.
  2. 제어 신호: 어디에 어떤 구조로 놓을지 정한다.
  3. 무작위 노이즈: 구체적인 시각 해석의 변주를 만든다.

제어 강도

  • 낮음 0.2–0.4: 구조 이미지는 제안에 가깝고 모델이 미적으로 벗어날 수 있다.
  • 중간 0.5–0.7: 구조를 분명히 따르면서 자연스럽게 해석할 여지를 남긴다.
  • 높음 0.8–1.0: 신호를 엄격히 따르지만, 입력 구조가 어설프면 결과도 뻣뻣하거나 부자연스러울 수 있다.
핵심 정리
  • 텍스트 조건 옆에 가장자리, 깊이, 자세 같은 구조 조건을 추가한다.
  • 윤곽은 형태, 깊이는 3차원 배치, 포즈는 몸의 위치를 제어한다.
  • 강도는 구조 충실도와 창의적 자유 사이의 균형을 정한다.
  • 여러 제어 신호를 겹쳐 여러 축을 동시에 고정할 수 있다.
  • 공간 정밀도에는 프롬프트를 쉰 번 고치는 것보다 거친 구조 그림 하나가 낫다.

Code

예시 코드·text
# Conceptual pipeline
Input:
  text_prompt = "a medieval knight standing in a misty forest"
  control_image = pose_skeleton.png  (OpenPose format)
  control_strength = 0.8

Process:
  1. Encode text → text embeddings
  2. Encode control image → structural features (via ControlNet)
  3. Start from noise
  4. At each denoising step:
     - Main model receives text guidance (what to generate)
     - ControlNet injects structural guidance (where to put it)
  5. Output: knight in exact pose from skeleton, in a forest

Result: Exact pose control + creative freedom for style and content

External links

Exercise

사용 환경이 ControlNet을 지원한다면 같은 프롬프트를 제어 없음, Canny 윤곽, OpenPose 뼈대, 깊이 맵으로 각각 생성해. 네 장면의 의도에는 어느 신호가 가장 잘 맞았는지 구조 충실도와 자연스러움으로 평가해.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.