Skip to content
튜토리얼ComfyUI 고급 튜토리얼1.2 SD1.5 Depth ControlNet

ComfyUI에서 Depth ControlNet SD1.5 모델 사용하는 방법 - 완벽 가이드

SD1.5 Depth ControlNet 소개

SD1.5 Depth ControlNet 효과 비교

Depth ControlNet은 이미지의 깊이와 공간 구조를 제어하기 위해 특별히 설계된 ControlNet 모델입니다. 입력 이미지의 깊이 정보를 분석하여 AI가 새로운 이미지를 생성할 때 올바른 공간 관계와 원근감을 유지하도록 돕습니다. 이 모델은 인테리어 디자인, 건축 설계, 장면 재구성 등의 분야에서 특히 유용하며 공간의 깊이 정보를 정확하게 이해하고 유지할 수 있습니다.

이 튜토리얼은 SD1.5 모델의 Depth ControlNet 모델 사용 방법과 기술에 초점을 맞추고 있습니다. 다른 버전과 유형의 ControlNet 모델은 향후 튜토리얼에서 보완할 예정입니다.

Depth ControlNet의 주요 특징

  • 공간 제어: 이미지의 공간적 깊이와 원근 관계의 정확한 제어
  • 장면 재구성: 원래 장면의 공간 레이아웃을 유지하면서 스타일과 콘텐츠 변경 가능
  • 인테리어 디자인: 실내 장면의 재설계와 스타일 변환에 특히 적합
  • 건축 시각화: 건축 및 인테리어 디자인의 3D 효과 표현에 특히 효과적
  • 제품 전시: 깊이감 있는 제품 전시 효과 생성에 적합
  • 장면 계획: 조경 설계와 도시 계획의 시각화 지원

SD1.5 Depth ControlNet 워크플로우 준비 작업

1. 필요한 플러그인 설치

ComfyUI Core에는 해당하는 Depth 이미지 전처리기가 포함되어 있지 않으므로, 먼저 해당 전처리기 플러그인을 다운로드해야 합니다. 이 튜토리얼에서는 깊이 맵을 생성하기 위해 ComfyUI ControlNet Auxiliary Preprocessors 플러그인을 사용합니다.

ComfyUI Manager를 사용한 설치를 추천합니다. 플러그인 설치에 대해서는 ComfyUI 플러그인 설치 가이드에서 자세히 설명하고 있습니다.

최신 버전의 ComfyUI Desktop에는 ComfyUI Manager 플러그인이 사전 설치되어 있습니다.

방법 1: ComfyUI Manager 사용 (추천)

  1. 먼저 ComfyUI Manager 설치
  2. Manager에서 “ComfyUI ControlNet Auxiliary Preprocessors” 검색하여 설치
git clone https://github.com/Fannovel16/comfyui_controlnet_aux
cd comfyui_controlnet_aux
pip install -r requirements.txt

참고: 플러그인 설치 후 ComfyUI를 재시작해야 합니다

방법 3: 수동 설치 (권장하지 않음)

  1. https://github.com/Fannovel16/comfyui_controlnet_aux 방문
  2. 해당 코드 저장소의 ZIP 파일 다운로드
  3. 압축 해제한 파일을 ComfyUI/custom_nodes/ 폴더에 복사

2.1 필요한 모델 다운로드

다음 모델들을 설치해야 합니다:

모델 유형모델 파일다운로드 링크
SD1.5 기본 모델dreamshaper_8.safetensorsCivitai
Depth ControlNet 모델control_v11f1p_sd15_depth.pthHugging Face
VAE 모델(선택사항)vae-ft-mse-840000-ema-pruned.safetensorsHugging Face

SD1.5 버전 모델은 본인 컴퓨터에 있는 모델을 사용할 수 있습니다. 이 튜토리얼에서는 dreamshaper_8 모델을 예시로 사용하지만, 인테리어 디자인 등의 용도라면 실내 또는 건축 디자인에 최적화된 모델을 선택하는 것이 좋습니다

2.2 모델 파일 구조

다음과 같은 구조로 모델 파일을 배치하세요:

📁ComfyUI
├── 📁models
│   ├── 📁checkpoints
│   │   └── 📁SD1.5
│   │       └── dreamshaper_8.safetensors
│   ├── 📁controlnet
│   │   └── 📁SD1.5
│   │       └── control_v11f1p_sd15_depth.pth
│   └── 📁vae
│       └── vae-ft-mse-840000-ema-pruned.safetensors

3. 워크플로우 파일

인테리어 디자인은 Depth ControlNet의 가장 일반적인 활용 사례 중 하나입니다. 깊이 정보를 제어함으로써 기존 공간 레이아웃을 유지하면서도 실내의 스타일과 분위기를 완전히 바꿀 수 있습니다.

다음은 전통적인 거실을 사이버펑크 스타일로 변환한 예시입니다:

입력 이미지 출력 결과

SD1.5 Depth ControlNet 워크플로우 설명

주요 구성 요소

이 워크플로우는 다음과 같은 주요 노드를 사용합니다:

  1. LoadImage: 입력 이미지 로드
  2. Zoe-DepthMapPreprocessor: 깊이 맵 생성, ComfyUI ControlNet Auxiliary Preprocessors 플러그인에서 제공하는 노드
    • resolution: 깊이 맵의 해상도를 제어하며, 이 매개변수는 깊이 맵의 세밀도에 영향을 미칩니다:
      • 높은 해상도(예: 768, 1024):
        • 장점: 더 많은 디테일 포착, 복잡한 실내 장면과 건축물에 더 적합
        • 단점: 처리 속도가 느리고, 더 많은 VRAM 사용
        • 적용 사례: 세밀한 실내 디자인, 건축 디테일 재현
      • 낮은 해상도(예: 384, 512):
        • 장점: 처리 속도가 빠르고, VRAM 사용량이 적음
        • 단점: 일부 디테일 정보가 손실될 수 있음
        • 적용 사례: 빠른 미리보기, 단순한 장면 재구성
      • 권장 설정:
        • 일반 장면: 512가 좋은 균형점
        • 높은 디테일 요구: 768 이상
        • 빠른 테스트: 384
    • Zoe 깊이 추정 알고리즘을 사용하여 고품질 깊이 맵 생성
    • 실내 장면과 건축 장면에 특히 적합
    • PreviewImage 노드를 통해 생성된 깊이 맵 미리보기 가능

팁: 먼저 낮은 resolution으로 테스트와 조정을 한 후, 다른 매개변수가 확정되면 resolution을 높여 최종 생성하는 것이 좋습니다

팁: Zoe-DepthMapPreprocessor는 현재 건축 및 실내 장면에 가장 적합한 깊이 맵 생성기 중 하나로, 복잡한 공간 구조와 디테일을 잘 처리할 수 있습니다

Depth ControlNet 매개변수 설명 및 권장사항

KSampler 매개변수 설정

  1. steps (샘플링 단계)

    • 기능: 생성 이미지의 세밀도와 품질 제어
    • 권장 범위: 25-30단계
    • 매개변수 설명:
      • 높은 단계 수(30+): 더 세밀한 디테일 생성, 하지만 시간이 더 소요됨
      • 낮은 단계 수(20-): 생성 속도가 빠르지만, 디테일이 손실될 수 있음
      • 공간 구조의 정확성을 위해 25단계 이상 권장
  2. cfg (프롬프트 관련도)

    • 기능: 생성 이미지와 프롬프트의 일치도 제어
    • 권장 범위: 6-8
    • 매개변수 설명:
      • 높은 값(8+): 프롬프트를 더 엄격히 따르지만, 창의성이 제한될 수 있음
      • 낮은 값(5-): 더 창의적이지만, 원래 의도에서 벗어날 수 있음
      • 실내 디자인의 경우 6-7 권장, 정확성과 창의성의 균형을 위해
  3. sampler_name (샘플러)

    • 권장 선택:
      • euler: 속도가 빠르며, 빠른 미리보기에 적합
      • dpmpp_2m: 품질이 좋으며, 최종 생성에 적합
    • 상황별 선택:
      • 실내 디자인: dpmpp_2m 우선 사용
      • 빠른 테스트: euler 사용
  4. scheduler (스케줄러)

    • 권장: karras
    • 이유: 공간 구조 유지에 가장 효과적

ControlNet 제어 매개변수

  1. strength (제어 강도)

    • 기능: 깊이 정보가 생성 결과에 미치는 영향 정도 결정
    • 권장 범위: 0.8-1.0
    • 상황별 권장:
      • 실내 디자인: 0.9-1.0
      • 건축 외관: 0.8-0.9
      • 단순 장면: 0.7-0.8
  2. start_percent와 end_percent

    • 기능: 생성 과정에서 깊이 가이드의 영향 범위 제어
    • 기본 설정:
      • start_percent: 0 (시작부터 제어 적용)
      • end_percent: 1 (전체 과정에서 제어 유지)
    • 특수 상황:
      • 생성 후반에 더 많은 창의적 변화를 허용하려면 end_percent를 0.8-0.9로 설정
      • 엄격한 공간 구조 유지를 위해서는 기본값 유지

팁: 이러한 매개변수들은 조합하여 사용할 수 있습니다. 예를 들어, 실내 디자인 시에는 높은 strength(0.9+)와 높은 steps(30+)를 함께 사용하여 최상의 결과를 얻을 수 있습니다

워크플로우 노드 설명

이 워크플로우의 주요 노드 연결 설명:

  1. 입력 부분:

    • LoadImage → Zoe-DepthMapPreprocessor → PreviewImage (깊이 맵 미리보기용)
    • LoadImage → Zoe-DepthMapPreprocessor → ControlNetApplyAdvanced
  2. 모델 로드 부분:

    • CheckpointLoaderSimple (기본 모델 로드)
    • ControlNetLoader (Depth ControlNet 로드)
  3. 프롬프트 처리 부분:

    • CLIPTextEncode (긍정 프롬프트 처리)
    • CLIPTextEncode (부정 프롬프트 처리)
  4. 생성 제어 부분:

    • KSampler (생성 과정 제어)
    • VAEDecode (잠재 공간 이미지를 최종 이미지로 변환)

Depth ControlNet 사용 팁과 모범 사례

  1. 깊이 맵 품질 관리

    • 고품질 입력 이미지 사용
    • 명확한 공간 계층 구조 확보
    • 너무 복잡한 장면 피하기
    • 조명이 깊이 맵에 미치는 영향 고려
  2. 프롬프트 작성

    • 공간 관계 상세 설명
    • 재질과 조명 정보 포함
    • 중요한 깊이 요소 명시
    • 전문 용어 사용
    • 추천 키워드:
      • 공간 관련: depth, perspective, spatial layout, composition
      • 품질 관련: professional, high quality, detailed, realistic
      • 스타일 관련: modern, minimalist, futuristic (필요에 따라 선택)
  3. 일반적인 문제 해결

    • 공간감 부족: strength 값 증가
    • 디테일 손실: cfg 값 적절히 감소
    • 구조 변형: steps 값 증가
    • 깊이 부정확: resolution 값 조정
    • 스타일 불일치: 프롬프트 최적화

자주 묻는 질문(FAQ)

  1. 생성된 이미지의 공간감이 약한 이유는?

    • 깊이 맵의 선명도 확인
    • strength 값이 충분히 높은지 확인
    • steps 값 증가 고려
  2. 이미지 품질을 향상시키는 방법은?

    • 더 높은 resolution 사용
    • 적절한 샘플러 선택
    • 프롬프트 설명 최적화
  3. 생성 속도가 너무 느린 경우 해결 방법은?

    • resolution 낮추기
    • 더 빠른 샘플러 사용
    • 샘플링 단계 수 줄이기
  4. 원본 레이아웃을 유지하는 방법은?

    • strength 값 증가
    • end_percent를 1로 유지
    • 더 상세한 공간 설명 사용

관련 리소스