sd-webui-controlnet 프로젝트 상세 소개
프로젝트 개요
sd-webui-controlnet는 AUTOMATIC1111의 Stable Diffusion WebUI를 위해 개발된 ControlNet 확장 플러그인입니다. 이 프로젝트는 Mikubill이 유지 관리하며, 현재 가장 인기 있고 기능이 완전한 ControlNet WebUI 확장 중 하나입니다.
프로젝트 정보
- 프로젝트 주소: https://github.com/Mikubill/sd-webui-controlnet
- 주요 유지 관리자: Mikubill
- 프로젝트 유형: WebUI 확장 플러그인
핵심 기능
1. ControlNet 통합
- ControlNet 1.0 및 1.1 버전 완벽 지원
- ControlNet을 원본 Stable Diffusion 모델에 즉시 추가, 병합 불필요
- 다양한 제어 모델 유형 지원
2. 전처리기 지원
다양한 이미지 전처리기 지원:
- Canny: 엣지 검출
- Depth: 깊이 맵 생성 (Midas, Depth Anything V2 포함)
- OpenPose: 인체 자세 검출
- Scribble: 낙서 제어
- Segmentation: 이미지 분할
- Normal: 법선 맵
- Lineart: 선화 추출
- MLSD: 직선 검출
- HED: 홀로그래픽 중첩 엣지 검출
- Reference-only: 참조 이미지 모드
3. 고급 기능
다중 ControlNet 지원
- 단일 생성 시 여러 ControlNet 입력 동시 사용 가능
- 설정에서 최대 모델 수 조정 가능
제어 모드
- 균형 모드: ControlNet이 CFG 비율 양쪽에서 작동
- 프롬프트가 더 중요: ControlNet의 영향 점진적으로 감소
- ControlNet이 더 중요: CFG의 조건 측에서만 작동
픽셀 완벽 모드
- 최적의 전처리기 해상도 자동 계산
- 모든 픽셀이 Stable Diffusion과 완벽하게 일치하도록 보장
4. T2I-Adapter 지원
TencentARC의 T2I-Adapter 모델 완벽 지원, 다음 포함:
- Color Adapter
- Style Adapter
- Sketch Adapter
- Depth Adapter
5. IP-Adapter 기능
- 이미지 프롬프트 어댑터
- CLIP 마스크 지원
- IP-Adapter 자동 전처리기
- 고급 가중치 제어
기술 특성
스마트 이미지 재샘플링
- 고해상도 복원 시 두 개의 제어 이미지 출력
- 작은 이미지는 기본 생성에 사용, 큰 이미지는 고해상도 복원에 사용
- 스마트 알고리즘으로 고품질 제어 이미지 재샘플링 보장
마스크 통합
- A1111의 다양한 마스크 유형 완벽 지원
- "Inpaint masked"/"Inpaint not masked" 지원
- "Whole picture"/"Only masked" 지원
- A1111의 크기 조정 옵션과 완벽하게 일치
배치 처리 모드
- 이미지 일괄 처리 지원
- 각 유닛에 대한 배치 처리 디렉토리 지정
- txt2img 및 img2img 탭에서 사용 가능
설치 방법
WebUI를 통한 설치
- "Extensions" 탭 열기
- "Install from URL" 하위 탭 열기
- "URL for extension's git repository"에 다음 입력:
https://github.com/Mikubill/sd-webui-controlnet.git - "Install" 버튼 클릭
- 설치 완료 후 WebUI 재시작
모델 다운로드
- 공식 모델 다운로드 페이지 방문: https://github.com/Mikubill/sd-webui-controlnet/wiki/Model-download
- 모델 파일을
stable-diffusion-webui\extensions\sd-webui-controlnet\models디렉토리에 넣기
API 지원
REST API
- WebUI 시작 시
--api파라미터 사용 http://webui-address/docs에서 API 문서 확인- txt2img 및 img2img 작업 지원
외부 호출
- 다른 스크립트에서 이 확장 프로그램 제어 지원
- 설정에서 "Allow other scripts to control this extension" 활성화 필요
명령줄 파라미터
확장 프로그램에 다음 명령줄 파라미터 추가:
--controlnet-dir <path> # ControlNet 모델 디렉토리 추가
--controlnet-annotator-models-path <path> # 전처리기 모델 디렉토리 설정
--no-half-controlnet # ControlNet 모델을 전체 정밀도로 로드
--controlnet-preprocessor-cache-size # 전처리기 결과 캐시 크기
--controlnet-loglevel # ControlNet 확장 프로그램 로그 레벨
--controlnet-tracemalloc # 메모리 할당 추적 활성화
시스템 요구 사항
최소 사양
- Windows/Linux/macOS
- NVIDIA GPU (4GB+ VRAM 권장)
- Python 3.8+
- AUTOMATIC1111 WebUI
성능 최적화
--xformers파라미터를 사용하여 성능 향상- 낮은 VRAM 장치에 적합한 "Low VRAM" 모드 활성화
- 최대 768x832 해상도 지원 (4GB VRAM)
사용 예시
기본 사용
- WebUI에서 ControlNet 활성화
- 전처리기 유형 선택 (예: Canny, Depth 등)
- 제어 이미지 업로드 또는 전처리기에서 자동 생성
- 가중치 및 안내 강도 조정
- 이미지 생성
다중 ControlNet 사용
- 설정에서 최대 모델 수 늘리기
- 여러 ControlNet 유닛을 동시에 활성화
- 각 유닛에 대해 다른 전처리기 및 가중치 설정
- 다양한 제어 조건을 조합하여 이미지 생성
요약
sd-webui-controlnet는 Stable Diffusion 생태계에서 가장 중요한 확장 프로그램 중 하나이며, AI 이미지 생성의 제어 가능성과 정확성을 크게 확장합니다. 전문 예술가이든 아마추어이든 이 확장 프로그램을 통해 보다 정확한 이미지 제어와 더 풍부한 창작 가능성을 실현할 수 있습니다.