메인 콘텐츠로 건너뛰기
AI 이미지 생성에서 이미지 생성을 정밀하게 제어하려면 단 한 번의 클릭만으로는 불가능합니다. 일반적으로 만족스러운 이미지를 얻기 위해 수많은 생성 시도를 거쳐야 합니다. 그러나 ControlNet의 등장으로 이러한 어려움이 효과적으로 해결되었습니다. ControlNet은 확산 모델(예: Stable Diffusion) 기반의 조건부 제어 생성 모델로, 2023년 Lvmin Zhang과 Maneesh Agrawala 등이 발표한 논문 텍스트-투-이미지 확산 모델에 조건부 제어 추가하기에서 처음 제안되었습니다. ControlNet 모델은 다중 모달 입력 조건, 예를 들어 에지 감지 맵, 깊이 맵, 자세 키포인트 등을 도입함으로써 이미지 생성의 제어성과 세부 사항 재현 능력을 크게 향상시킵니다. 이러한 조건 제약 덕분에 이미지 생성이 더욱 제어 가능해졌으며, 그림 그리는 과정에서 여러 ControlNet 모델을 동시에 사용해 더 나은 결과를 얻을 수 있습니다. ControlNet 이전에는 모델에 의존해 결과가 만족스러워질 때까지 반복적으로 이미지를 생성해야 했으며, 이 과정에서 많은 무작위성이 수반되었습니다. ComfyUI에서 랜덤 시드로 생성된 이미지 ControlNet의 등장으로 우리는 추가적인 조건을 도입해 이미지 생성을 제어할 수 있게 되었습니다. 예를 들어 간단한 스케치를 이용해 이미지 생성 과정을 안내하면 스케치와 밀접하게 일치하는 이미지를 생성할 수 있습니다. ComfyUI에서 스케치로 제어된 이미지 생성 이 예시에서는 ComfyUI에서 ControlNet 모델을 설치하고 사용하는 방법을 안내하며, 스케치로 제어된 이미지 생성 예시를 완료하겠습니다. ComfyUI ControlNet 워크플로우
다른 종류의 ControlNet V1.1 모델에 대한 워크플로우도 이 예시와 유사합니다. 필요에 따라 적절한 모델을 선택하고 해당 참조 이미지를 업로드하기만 하면 됩니다.

ControlNet 이미지 전처리 정보

다양한 종류의 ControlNet 모델은 일반적으로 서로 다른 종류의 참조 이미지를 요구합니다: 참조 이미지
이미지 출처: ComfyUI ControlNet aux
현재 Comfy Core 노드에는 모든 종류의 프리프로세서가 포함되어 있지 않으므로, 이 문서의 실제 예시에서는 미리 처리된 이미지를 제공합니다. 하지만 실제 사용 시에는 커스텀 노드를 사용해 이미지를 전처리하여 다양한 ControlNet 모델의 요구사항을 충족해야 할 수 있습니다. 아래는 관련된 일부 커스텀 노드입니다:

ComfyUI ControlNet 워크플로우 예시 설명

1. ControlNet 워크플로우 자산

아래 워크플로우 이미지를 다운로드해 ComfyUI로 드래그하여 워크플로우를 로드하세요: ComfyUI 워크플로우 - ControlNet
메타데이터에 워크플로우 JSON이 포함된 이미지는 바로 ComfyUI로 드래그하거나 메뉴 Workflows -> Open (ctrl+o)를 통해 로드할 수 있습니다. 이 이미지는 이미 해당 모델의 다운로드 링크를 포함하고 있으며, ComfyUI로 드래그하면 자동으로 다운로드를 요청합니다.
아래 이미지를 다운로드해 입력으로 사용하겠습니다: ComfyUI 스케치 이미지

2. 수동 모델 설치

네트워크가 해당 모델의 자동 다운로드를 성공적으로 완료하지 못한다면, 아래 모델을 수동으로 다운로드해 지정된 디렉토리에 배치해 주세요:
ComfyUI/
├── models/
│   ├── checkpoints/
│   │   └── dreamCreationVirtual3DECommerce_v10.safetensors
│   ├── vae/
│   │   └── vae-ft-mse-840000-ema-pruned.safetensors
│   └── controlnet/
│       └── control_v11p_sd15_scribble_fp16.safetensors
이 예시에서는 dreamCreationVirtual3DECommerce_v10.safetensors에 내장된 VAE 모델을 사용할 수도 있지만, 모델 저자 권장대로 별도의 VAE 모델을 사용하도록 합니다.

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

ComfyUI 워크플로우 - ControlNet 흐름도
  1. Load CheckpointdreamCreationVirtual3DECommerce_v10.safetensors를 로드할 수 있는지 확인하세요.
  2. Load VAEvae-ft-mse-840000-ema-pruned.safetensors를 로드할 수 있는지 확인하세요.
  3. Load Image 노드에서 Upload를 클릭해 앞서 제공한 입력 이미지를 업로드하세요.
  4. Load ControlNetcontrol_v11p_sd15_scribble_fp16.safetensors를 로드할 수 있는지 확인하세요.
  5. Queue 버튼을 클릭하거나 단축키 Ctrl(cmd) + Enter를 사용해 이미지 생성을 실행하세요.

관련 노드 설명

Load ControlNet 노드 설명

load controlnet ComfyUI\models\controlnet에 위치한 모델들은 ComfyUI에 의해 탐지되며, 이 노드를 통해 로드할 수 있습니다.

Apply ControlNet 노드 설명

apply controlnet 이 노드는 load controlnet에 의해 로드된 ControlNet 모델을 받아들여 입력 이미지를 기반으로 해당 제어 조건을 생성합니다. 입력 유형
파라미터 이름기능
positive긍정적 조건화
negative부정적 조건화
control_net적용할 ControlNet 모델
imageControlNet 적용의 참조로 사용되는 전처리된 이미지
vaeVAE 모델 입력
strengthControlNet 적용의 강도; 값이 높을수록 ControlNet이 생성 이미지에 미치는 영향력이 커집니다
start_percentControlNet 적용을 시작할 시점을 백분율로 결정; 예를 들어 0.2는 확산이 20% 완료되었을 때 ControlNet 안내가 시작됨을 의미합니다
end_percentControlNet 적용을 중단할 시점을 백분율로 결정; 예를 들어 0.8은 확산이 80% 완료되었을 때 ControlNet 안내가 중단됨을 의미합니다
출력 유형
파라미터 이름기능
positiveControlNet 처리된 긍정적 조건 데이터
negativeControlNet 처리된 부정적 조건 데이터
체인 연결을 사용해 여러 ControlNet 모델을 적용할 수 있으며, 아래 이미지와 같이 구성할 수 있습니다. 또한 ControlNet 모델 혼합하기 가이드를 참고해 여러 ControlNet 모델을 결합하는 방법을 알아보세요. apply controlnet 체인 연결
일부 초기 워크플로우에서 Apply ControlNet(Old) 노드를 볼 수 있는데, 이는 ControlNet 노드의 초기 버전입니다. 현재 이 노드는 폐기되었으며 기본적으로 검색 및 노드 목록에서 보이지 않습니다.apply controlnet old활성화하려면 Settings —> comfy —> Node로 이동해 Show deprecated nodes in search 옵션을 활성화하세요. 다만, 새로운 노드를 사용하는 것이 권장됩니다.

탐구를 시작하세요

  1. 비슷한 스케치를 만들어 보거나 직접 그려보고, ControlNet 모델을 사용해 이미지를 생성해 ControlNet의 장점을 경험해 보세요.
  2. Apply ControlNet 노드의 Control Strength 파라미터를 조정해 ControlNet 모델이 생성 이미지에 미치는 영향력을 조절해 보세요.
  3. ControlNet-v1-1_fp16_safetensors 리포지토리를 방문해 다른 종류의 ControlNet 모델을 다운로드하고 이를 사용해 이미지를 생성해 보세요.