이 튜토리얼은 comfyui에서 controlnet 워크플로우를 구축하는 방법을 10분 안에 알려줍니다. controlnet은 이미지 생성을 위한 블루프린트 역할을 하며, 특정 포즈나 깊이 맵을 기반으로 이미지를 조건화할 수 있습니다. 이 비디오에서는 sdxl과 flux 모두에 적용 가능한 기본적인 controlnet 워크플로우를 만드는 방법을 설명하며, controlnet union 모델, aio preprocessor, apply control net 노드 등을 사용하는 방법을 안내합니다. 또한, 깊이 맵, canny edge, 포즈 인식과 같은 다양한 controlnet preprocessor를 사용하여 이미지 생성 과정을 정밀하게 제어하는 방법을 보여줍니다. 이 튜토리얼을 통해 comfyui의 기본을 다지고, 이미지 생성 워크플로우를 실질적으로 활용할 수 있게 됩니다.
ControlNet 기본 워크플로우 구축하기
- 오늘의 비디오에서는 기본적인 ControlNet 워크플로우를 구축할 예정이다 .
- 이 워크플로우는 SDXL과 Flux 모두에서 사용할 수 있다 .
- ControlNet은 이미지를 블루프린트 기반으로 조건화하는 방법이다 .
- 예를 들어, OpenPose를 사용하여 특정 포즈에 기반한 이미지 조건화를 할 수 있다 .
- Depth 맵을 생성하여 배경에서 전경까지의 깊이 맵을 기반으로 이미지를 생성할 수 있다 .
ControlNet 모델 및 Custom Nodes 설치 방법
- 첫 번째로 필요한 ControlNet 모델은 SDXL용 ControlNet Union이며, 링크를 통해 파일 페이지에 접속할 수 있다 .
- SDXL 모델을 다운받을 때, 파일명에서 시작 부분을 삭제한 후 “ControlNet Union SDXL 1.0″으로 저장해야 한다 .
- Flux Dev ControlNet Union을 다운로드할 때도 동일한 방법을 사용하며, 파일 크기는 6.6GB이다 .
- ComfyUI 내에서는 매니저에 접속하여 커스텀 노드를 설치해야 하는데, ComfyUI‘s ControlNet auxiliary pre-processors는 필수적으로 설치되어야 한다 .
- RG3의 ComfyUI 노드는 이미 설치되어 있어야 하며, 최신 버전의 ComfyUI를 유지하기 위해 업데이트와 재시작을 해야 한다 .
🚀 ControlNet 워크플로우 초기 설정 및 연결 과정
- 기본 이미지-이미지 워크플로우에서 VAE 인코드 노드를 삭제하고 로드 이미지 노드를 추가하여 ControlNet을 사용할 준비를 한다 .
- ControlNet 모델을 로드하기 위해 Custom Node 설정을 통해 ControlNet 모델, AIO preprocessor, Apply ControlNet 노드를 추가한다 .
- ControlNet 노드를 다른 노드와 시각적으로 구분하기 위해 보라색으로 색상을 지정하고, 로드 ControlNet 모델 노드를 Checkpoint 아래에서 설정한다 .
- 샘플러 사이에 조건부 노드를 배치하여 올바른 위치에 연결하고, ControlNet 입력을 ControlNet 로더에서 가져와 연결한다 .
- VAE 입력과 로드 이미지 노드를 연결하고, Apply ControlNet과 이미지 입력을 연결하며, ControlNet의 미리보기를 위한 노드를 생성한다 .
ControlNet을 활용한 이미지 조건화 및 생성
-
- “empty latent size” 노드를 사용하여 미리 설정된 해상도를 활용할 수 있다 .
- 이미지 비교를 위해 RG3 노드 패키지의 “compare” 노드를 사용하여 원본 이미지와 비교할 수 있다 .
- ControlNet Union 모델을 사용하면 여러 ControlNet을 한 모델로 처리할 수 있다 .
- ControlNet의 강도 설정을 통해 이미지에 미치는 영향을 조정할 수 있으며, 강도가 높을수록 영향을 더 많이 미친다 .
- SDXL과 Flux 모델을 이용하여 ControlNet을 적용한 이미지 생성 테스트를 진행할 수 있으며, Flux Turbo Alpha Laura를 사용해 생성 시간을 단축할 수 있다 .
초기 노드 설정 및 UI 기능 활성화
- 빈 잠재 이미지 노드가 없으므로 “empty latent size”를 입력하여 빈 공백에 생성하며, 이는 미리 설정된 해상도와 색상을 제공한다.
- 이미지 비교 노드를 추가하기 위해 RG3 노드 패키지에서 “compare”을 입력하여 이미지 노드를 A에, 원본 이미지 입력을 B에 연결한다.
- 워크플로우 내 탭을 활성화하기 위해 속성 메뉴에서 탭 사용 체크 상자를 클릭한다.
- 두 번째 탭 여부를 선택할 수 있으며, 탭의 이름을 “compare”로 변경할 수 있다.
- 비교 모드를 수정하기 위해 비교 노드 속성에서 우 클릭으로 “click”으로 전환하며, 원하는 대로 노드를 정렬할 수 있다.
SDXL 모델 및 ControlNet Union 설정
- SDXL 모델을 시작점으로 Real Viz를 선택하고 SDXL를 로드한다.
- ControlNet Union은 여러 ControlNets를 수행할 수 있는 하나의 모델이며, 다양한 용도의 모델이 있다.
- 특정 ControlNet에 특화된 모델에는 깊이, 자세, 스크리블 등이 포함되며, 이 모델들을 차례로 다룰 예정이다.
- SDXL와 Flux 모델의 해상도는 둘 다 1024로 설정하며, 이는 두 모델의 native resolution임을 명심해야 한다.
- 플럭스 가이던스에서는 프롬프트를 설정하거나 우회할 수 있으며, 이미지를 로드하여 제어를 트리거한다.
ControlNet의 영향력 및 이미지 생성 매개변수 조정
- ControlNet의 강도 설정은 이미지 생성에 미치는 영향을 조절하는 역할을 한다.
- 강도가 낮으면 ControlNet의 영향이 적게 미치며, 수치가 높을수록 더 많은 영향을 미친다; 예를 들어 0.3은 작은 영향을, 0.7은 중간 영향을 미친다.
- 시작과 종료 비율은 이미지 생성 과정 중의 창의적 자유를 조절하며, 종료 비율을 0.7로 설정하면 마지막 30%의 이미지 부분에서 창의성이 발휘된다.
- 참조 이미지와 스크립트에 맞춰 이미지 크기를 832 x 1152로 설정하고, SDXL 모델을 사용하여 랜덤으로 25단계를 수행하며, Noising은 1로 유지해야 한다.
- 깊이 맵을 이용해 생성된 이미지는 전경과 배경을 구별하며, ControlNet은 추가적인 이미지 조건화를 통해 원하는 결과를 얻도록 한다.
Flux ControlNet을 활용한 효율적인 이미지 생성
- Flux Turbo Alpha Laura를 사용함으로써 이미지 생성 시간을 줄일 수 있다.
- Flux FP8 체크포인트와 Instant X ControlNet Union 모델을 활용하여 세부적인 조건을 설정한다.
- Flux ControlNet은 시스템에 더 많은 부담이 되지만, 이미지의 세부 사항을 정밀하게 표현할 수 있다.
- Flux의 사용으로 8 단계만에 이미지를 생성할 수 있으며, Flux 안내를 통해 부정적 프롬프트를 피하고 효율적인 생성을 할 수 있다.
- Flux는 거의 무노력으로 깊이 맵을 사용하여 속눈썹, 치아, 입술, 손의 주름과 정맥까지 아주 미세한 세부 사항을 구현할 수 있다.
Kenny와 PyraCanny를 활용한 주어진 이미지의 모서리 탐지
- Kenny는 이미지의 윤곽선과 모서리를 주요 요소로 사용하여 이미지를 생성하며, 깊이 정보와는 달리 이미지의 앞뒤를 고려하지 않는다.
- Kenny를 사용할 때 설정 값이 높으면 모서리가 갑자기 튀어나오는 문제를 해결하기 위해 강도를 7로 설정하는 것이 적절하다.
- Kenny로 생성된 이미지의 세부 사항은 Flux보다 덜 정교하지만, 설정을 조정하여 세부 사항을 증가시킬 수 있다.
- PyraCanny는 이미지의 모서리를 감지하는 또 다른 방법으로, Kenny와는 다른 방식으로 모서리를 더 잘 탐지하며, 새로운 세부 사항을 추가할 수 있다.
- PyraCanny의 모서리 그리기 임계값을 변경할 수 있는 노드가 있지만, 그 내용은 다른 비디오로 미루겠다.
ControlNet의 활용 및 다음 단계
- Pose 관련 ControlNet을 사용하여 인체 구조의 세부 사항을 보여주는 골격 이미지를 생성할 수 있으며, 특히 손의 세부 사항이 잘 표현된다 .
- SDXL ControlNet Union은 12개의 ControlNets와 5개의 고급 편집 옵션을 제공하며, Flux ControlNet Union은 7개의 ControlNets로 좀 더 제한적이지만 여전히 유용하다 .
- 단계별로 ControlNets을 병합할 수 있으며, 두세 개를 동시에 사용할 수 있지만 이는 향후 별도의 영상으로 다룰 예정이다 .
- ComfyUI의 초보자 시리즈를 마무리하며, 이 과정에서 기본적인 내용을 잘 배우고 있음을 축하하며, 앞으로 중급 수준의 내용을 학습할 것을 예고한다 .
- 시리즈의 나머지 부분 또는 전체를 다시 보고 싶다면 추가적인 비디오를 참조하여 학습을 이어갈 수 있다 .