메인 콘텐츠로 건너뛰기
AI 이미지 생성에서 단일 제어 조건은 종종 복잡한 장면의 요구를 충족하지 못합니다. 여러 ControlNet을 혼합하면 이미지의 서로 다른 영역이나 측면을 동시에 제어할 수 있어, 이미지 생성을 더욱 정밀하게 제어할 수 있습니다. 특정 시나리오에서는 여러 ControlNet을 혼합함으로써 서로 다른 제어 조건의 특성을 활용해 더욱 세밀한 조건 제어를 달성할 수 있습니다:
  1. 장면의 복잡성: 복잡한 장면에서는 여러 제어 조건이 함께 작동해야 합니다.
  2. 세밀한 제어: 각 ControlNet의 강도 파라미터를 조정함으로써 각 부분에 대한 영향 정도를 정밀하게 조절할 수 있습니다.
  3. 상호 보완적 효과: 서로 다른 유형의 ControlNet은 서로를 보완하며, 단일 제어의 한계를 보완할 수 있습니다.
  4. 창의적 표현: 서로 다른 제어를 결합하면 독특한 창의적 효과를 낼 수 있습니다.

ControlNet 혼합 방법

여러 ControlNet을 혼합할 때, 각 ControlNet은 적용된 영역에 따라 이미지 생성 과정에 영향을 미칩니다. ComfyUI는 Apply ControlNet 노드에서 체인 연결을 통해 여러 ControlNet 조건을 계층적으로 순차적으로 적용할 수 있게 해줍니다: apply controlnet chain link

ComfyUI ControlNet 영역 구분 혼합 예제

이 예제에서는 Pose ControlNetScribble ControlNet을 조합해 여러 요소가 포함된 장면을 생성합니다: 왼쪽의 캐릭터는 Pose ControlNet으로 제어되고, 오른쪽의 스쿠터 탄 고양이는 Scribble ControlNet으로 제어됩니다.

1. ControlNet 혼합 워크플로우 자산

아래 워크플로우 이미지를 다운로드해 ComfyUI로 드래그하여 워크플로우를 로드하세요: ComfyUI 워크플로우 - ControlNet 혼합
이 워크플로우 이미지는 메타데이터를 포함하고 있으며, 직접 ComfyUI로 드래그하거나 메뉴 Workflows -> Open (ctrl+o)를 이용해 로드할 수 있습니다. 시스템은 자동으로 필요한 모델을 감지하고 다운로드하도록 안내합니다.
입력 포즈 이미지(왼쪽의 캐릭터 포즈를 제어): ComfyUI 워크플로우 - ControlNet 혼합 입력 이미지 입력 스크리블 이미지(오른쪽의 고양이와 스쿠터를 제어): ComfyUI 워크플로우 - ControlNet 혼합 입력 이미지

2. 수동 모델 설치

네트워크가 해당 모델의 자동 다운로드를 성공적으로 완료하지 못한다면, 아래 모델을 수동으로 다운로드해 지정된 디렉토리에 배치해 주세요:
ComfyUI/
├── models/
│   ├── checkpoints/
│   │   └── awpainting_v14.safetensors
│   ├── controlnet/
│   │   └── control_v11p_sd15_scribble_fp16.safetensors
│   │   └── control_v11p_sd15_openpose_fp16.safetensors
│   ├── vae/
│   │   └── vae-ft-mse-840000-ema-pruned.safetensors

3. 단계별 워크플로우 실행

ComfyUI 워크플로우 - ControlNet 혼합 흐름도 이미지의 숫자 표시에 따라 다음 단계를 따르세요:
  1. Load Checkpointawpainting_v14.safetensors를 로드할 수 있는지 확인하세요.
  2. Load VAEvae-ft-mse-840000-ema-pruned.safetensors를 로드할 수 있는지 확인하세요.
첫 번째 ControlNet 그룹(Openpose 모델 사용): 3. Load ControlNet Modelcontrol_v11p_sd15_openpose_fp16.safetensors를 로드할 수 있는지 확인하세요. 4. Load Image 노드에서 Upload을 클릭해 앞서 제공한 포즈 이미지를 업로드하세요. 두 번째 ControlNet 그룹(Scribble 모델 사용): 5. Load ControlNet Modelcontrol_v11p_sd15_scribble_fp16.safetensors를 로드할 수 있는지 확인하세요. 6. Load Image 노드에서 Upload을 클릭해 앞서 제공한 스크리블 이미지를 업로드하세요. 7. Queue 버튼을 클릭하거나 단축키 Ctrl(cmd) + Enter를 사용해 이미지 생성을 실행하세요.

워크플로우 설명

강도 균형

이미지의 서로 다른 영역을 제어할 때, 강도 파라미터의 균형을 맞추는 것이 특히 중요합니다:
  • 한 영역의 ControlNet 강도가 다른 영역보다 현저히 높으면, 해당 영역의 제어 효과가 지나치게 강해 다른 영역을 압도하고 억제할 수 있습니다.
  • 서로 다른 영역을 제어하는 ControlNet의 강도는 비슷한 값을 설정하는 것이 좋으며, 예를 들어 모두 1.0으로 설정하세요.

프롬프트 기법

영역 구분 혼합을 위해서는 두 영역에 대한 설명을 프롬프트에 포함해야 합니다:
"빨간 드레스를 입은 여성, 스쿠터를 타고 있는 고양이, 상세한 배경, 고품질"
이런 프롬프트는 캐릭터와 스쿠터 탄 고양이를 모두 포함하므로, 모델이 두 제어 영역 모두에 주의를 기울이도록 합니다.

하나의 피사체에 대한 다차원 제어 응용

이 예제에서 보여준 영역 구분 혼합 외에도, 동일한 피사체에 다차원 제어를 적용하는 또 다른 일반적인 혼합 방식이 있습니다. 예를 들면:
  • 포즈 + 깊이: 캐릭터의 자세와 공간감 제어
  • 포즈 + Canny: 캐릭터의 자세와 가장자리 디테일 제어
  • 포즈 + 참조: 특정 스타일을 참고하면서 캐릭터의 자세 제어
이런 유형의 응용에서는 여러 ControlNet의 참조 이미지가 동일한 피사체에 맞춰져야 하며, 각각의 강도를 조정해 적절한 균형을 유지해야 합니다. 다양한 유형의 ControlNet을 결합하고 제어 영역을 명확히 지정함으로써 이미지 내 요소들을 정밀하게 제어할 수 있습니다.