Skip to content

ComfyUI에서 ControlNet을 사용하여 이미지 생성하는 방법? 🚧

ControlNet은 조건부 이미지를 입력하여 AI 모델의 이미지 생성 과정을 정밀하게 안내할 수 있는 강력한 이미지 생성 제어 기술입니다. ControlNet을 사용하면 사용자가 AI 이미지 생성 과정을 더 잘 제어하고 특정 요구와 상상에 더 잘 부합하는 이미지를 생성할 수 있습니다.

ComfyUI에는 기본적으로 ControlNet 모델이 내장되어 있지 않으므로 이 튜토리얼을 시작하기 전에 해당 ControlNet 모델 파일을 설치해야 합니다. embedding, LoRA 등과 같은 다른 유형의 모델과 마찬가지로 ControlNet은 Checkpoint 모델과 버전 대응이 필요합니다. 예를 들어:

  • SD1.5 버전의 체크포인트 모델을 사용하는 경우, 해당 ControlNet도 SD1.5를 지원해야 합니다.
  • Flux.1 모델을 사용하는 경우, 해당 ControlNet도 Flux.1을 지원해야 합니다.

이 튜토리얼은 다음 부분을 다룹니다:

  • ControlNet 모델의 기능과 역할에 대한 간단한 설명.
  • ComfyUI에 ControlNet 모델을 설치하는 방법(해당 모델 다운로드 채널 포함).
  • ComfyUI에서 다양한 유형의 ControlNet 모델 사용법.

ControlNet 모델의 많은 버전 때문에, 이 튜토리얼은 설치 방법에 대한 일반적인 설명만 제공합니다.

ControlNet의 기능과 역할

ControlNet을 그림을 그리는 동안 화가에게 지침을 주는 예술 감독으로 상상해 보세요.

  1. 캔버스와 붓(기본 모델): Stable Diffusion 모델은 화가의 캔버스와 붓과 같아 다양한 이미지를 생성할 수 있습니다.

  2. 예술 감독(ControlNet): ControlNet은 화가 옆에 서서 참고 이미지나 스케치를 들고 있는 예술 감독과 같습니다.

  3. 지침 과정:

    • 예술 감독은 참고 이미지를 기반으로 화가에게 캔버스의 어디에 무엇을 그릴지 알려줍니다.
    • 화가(기본 모델)는 여전히 자신의 기술과 스타일을 사용하여 그림을 그리지만, 예술 감독의 제안을 따릅니다.
  4. 다양한 유형의 지침:

    • 윤곽 지침(예: Canny ControlNet): 예술 감독이 선 그림을 들고 화가에게 윤곽을 어떻게 그릴지 안내하는 것과 같습니다.
    • 포즈 지침(예: Openpose ControlNet): 예술 감독이 인물의 포즈를 시연하여 화가가 그에 따라 창작할 수 있게 합니다.
    • 깊이 지침(예: Depth ControlNet): 예술 감독이 장면의 3차원 감각에 대한 정보를 제공하여 화가가 깊이를 어떻게 표현할지 안내하는 것과 같습니다.
  5. 영향 조정:

    • 때로는 화가가 예술 감독의 제안을 더 면밀히 따릅니다(높은 제어 강도).
    • 때로는 화가가 자신의 창의력을 더 발휘합니다(낮은 제어 강도).
  6. 다중 지침:

    • 여러 예술 감독이 다양한 측면에 대해 조언을 주고, 화가는 이러한 의견을 균형 있게 조정해야 한다고 상상할 수 있습니다.

이와 같이 ControlNet은 AI 생성 이미지 과정을 더 정확하게 제어할 수 있게 하여, 예술 감독이 화가가 특정 요구를 더 잘 충족하는 작품을 만들도록 돕는 것과 같습니다.

ControlNet 모델 다운로드 및 설치

기본 개념을 이해한 후, 먼저 해당 ControlNet 모델 파일을 설치해야 합니다. 여기서는 현재 사용 중인 Checkpoint 버전에 맞는 ControlNet을 선택할 수 있도록 몇 가지 ControlNet 다운로드 리소스를 정리했습니다.

ControlNet 모델 다운로드

리소스 섹션에서 해당 ControlNet 모델을 찾을 수 있습니다.

ControlNet 모델 설치 방법

1. ComfyUI 전용 ControlNet 설치

모델을 다운로드한 후, 파일을 /ComfyUI/models/controlnet 폴더에 배치해야 합니다.

2. WebUI와 ControlNet 모델 공유

모델 파일을 WebUI와 공유하는 경우, 해당 파일 구성 설정이 올바른지 확인해야 합니다.

  1. ComfyUI에서 추가 모델 파일에 대한 구성 파일을 찾습니다: /ComfyUI/extra_model_paths.yaml
  2. extra_model_paths.yaml을 텍스트 편집기로 엽니다.
  3. 구성 파일 정보를 다음과 같이 확인합니다:
#all you have to do is change the base_path to where yours is installed
a111:
    base_path: D:\sd-webui-aki-v4.2 # Your WebUI directory
 
    checkpoints: models/Stable-diffusion
    configs: models/Stable-diffusion
    vae: models/VAE
    loras: |
         models/Lora
         models/LyCORIS
    upscale_models: |
                  models/ESRGAN
                  models/RealESRGAN
                  models/SwinIR
    embeddings: embeddings
    hypernetworks: models/hypernetworks
    controlnet: models/ControlNet # The model should be installed in this folder
    ipadapter: models/ipadapter
 

ControlNet의 구성 옵션에 주의해야 합니다. 예를 들어, 내 구성 파일에서 ControlNet 설치 모델의 경로는 D:\sd-webui-aki-v4.2\models\ControlNet이어야 합니다. 구성이 일치해야 ComfyUI가 해당 모델 파일을 찾을 수 있습니다.

💡

설치 방법에 상관없이 설치된 모델에 대한 폴더를 추가하여 해당 Stable diffusion 버전을 기록하는 것이 좋습니다. 예를 들어

  • /ComfyUI/models/controlnet/sd1.5/ControlNet-model-files
  • /ComfyUI/models/controlnet/flux/ControlNet-model-files 이렇게 하면 나중에 사용하기 더 편리할 것입니다~

ComfyUI에서 ControlNet을 사용하는 방법?

🚧