ControlNet 및 T2I-Adapter - ComfyUI workflow 예제
이 예제에서는 원본 이미지를 ControlNet/T2I 어댑터에 직접 전달합니다.
각 ControlNet/T2I 어댑터는 전달된 이미지가 특정 모델에 따라 depthmaps, canny maps 등 특정 형식이어야 좋은 결과를 얻을 수 있습니다.
ControlNetApply 노드는 일반 이미지를 depthmaps, canny maps 등으로 변환하지 않습니다. 이를 별도로 처리하거나 여기에서 찾을 수 있는 노드를 사용하여 이미지를 전처리해야 합니다.
최신 controlnet 모델 파일은 원본 버전 또는 더 작은 fp16 safetensors 버전에서 찾을 수 있습니다.
SDXL의 경우 stability.ai에서 Control Loras를 출시했으며, 여기 (rank 256) 또는 여기 (rank 128)에서 찾을 수 있습니다. 이들은 일반 ControlNet 모델 파일과 동일한 방식으로 사용됩니다 (같은 디렉토리에 넣으세요).
ControlNet 모델 파일은 ComfyUI/models/controlnet 디렉토리에 저장됩니다.
Scribble ControlNet
여기서는 controlnets를 사용하는 간단한 예제를 보여줍니다. 이 예제는 scribble controlnet과 AnythingV3 모델을 사용합니다. 이 이미지를 ComfyUI에서 로드하여 전체 workflow를 확인할 수 있습니다.
이 workflow에 사용된 입력 이미지는 다음과 같습니다:
T2I-Adapter vs ControlNets
T2I-Adapters는 ControlNets보다 훨씬 효율적이므로 강력히 추천합니다. ControlNets는 생성 속도를 상당히 느리게 하지만 T2I-Adapters는 생성 속도에 거의 영향을 미치지 않습니다.
ControlNets에서는 ControlNet 모델이 매 반복마다 실행됩니다. T2I-Adapter의 경우 모델이 전체적으로 한 번 실행됩니다.
T2I-Adapters는 ComfyUI에서 ControlNets와 동일한 방식으로 사용됩니다: ControlNetLoader 노드를 사용합니다.
이 예제에 사용될 입력 이미지는 다음과 같습니다 출처:
여기 depth T2I-Adapter를 사용하는 방법입니다:
여기 depth Controlnet을 사용하는 방법입니다. 이 예제는 diff control net을 사용하기 때문에 DiffControlNetLoader 노드를 사용합니다. Diff controlnets는 모델의 가중치가 올바르게 로드되어야 합니다. DiffControlNetLoader 노드는 일반 controlnet 모델을 로드하는 데에도 사용할 수 있습니다. 일반 controlnet 모델을 로드할 때는 ControlNetLoader 노드와 동일하게 작동합니다.
이 이미지를 ComfyUI에서 로드하여 전체 workflow를 확인할 수 있습니다.
Pose ControlNet
이 예제에 사용될 입력 이미지는 다음과 같습니다:
여기서는 AnythingV3와 controlnet을 사용한 첫 번째 패스와 AOM3A3 (abyss orange mix 3) 및 그들의 VAE를 사용한 controlnet 없이 두 번째 패스를 사용하는 예제를 보여줍니다.
이 이미지를 ComfyUI에서 로드하여 전체 workflow를 확인할 수 있습니다.
Mixing ControlNets
여러 ControlNets와 T2I-Adapters를 이렇게 적용하여 흥미로운 결과를 얻을 수 있습니다:
이 이미지를 ComfyUI에서 로드하여 전체 workflow를 확인할 수 있습니다.
입력 이미지: