이 커스텀 노드를 사용해서 인공지능 이미지를 생성하기 위해서는 먼저 ComfyUI를 설치해야 합니다. ComfyUI 설치 및 간략한 사용방법은 이 글을 참고하세요.
ComfyUI를 설치한 후에는 ComfyUI Manager 커스텀 노드를 설치하는 게 좋습니다. ComfyUI Manager 커스텀 노드 설치 방법은 이 글을 참고하세요.
이 글에서 다루는 내용은 아래와 같습니다.
- Visual Area Conditioning 커스텀 노드 설치
- Visual Area Conditioning 커스텀 노드 사용법
- Visual Area Conditioning 워크플로
- Multi Latent Composite 커스텀 노드 사용법
Visual Area Conditioning 커스텀 노드 설치
커스텀 노드는 Github 주소를 사용해 직접 설치하거나, ComfyUI Manager를 통해 설치할 수 있습니다. 자세한 방법은 여기를 읽어보시기 바랍니다.
- Civitai 주소 : https://civitai.com/models/24537/comfyui-visual-area-conditioning-latent-composition
- Huggingface 주소 : https://github.com/Davemane42/ComfyUI_Dave_CustomNode
Visual Area Conditioning 커스텀 노드 사용법
[MultiAreaConditioning] 커스톰 노드를 이용하면 구역분할 프롬프트(ComfyUI의 예, AUTOMATIC1111의 예)를 쉽게 적용할 수 있습니다. 아래는 가장 기본적인 구성입니다.
1. 이미지 크기 지정
가장 먼저 해야 할 일은 이미지 크기를 지정하는 것입니다. 위 그림에서 resolutionX/resolutionY를 변경하면 됩니다. 아쉬운 것은 이 위젯들을 입력 슬롯으로 바꿀 수 없어서 이미지 크기 자동지정 노드(CR SD1.5 Aspect Ratio)와 함께 사용할 수 없네요.
2. 구역 갯수 늘리기
입력 슬롯에는 conditioning0, conditioning1 등 2개가 있습니다. 이 슬롯은 각각 [CLIP Text Encode] 노드 등의 프롬프트 입력노드와 연결해야 합니다. 구역의 갯수를 늘리려면, [MultiAreaConditioning] 노드를 우클릭하여 메뉴를 부르고, 아래와 같이 "insert input above 0" 또는 "insert input below 0" 버튼을 눌러주면 됩니다. 0이라는 번호는 현재 편집중인 슬롯입니다(아래를 보세요) - 아래에 있는 swap/remove를 사용하면 이동/삭제가 가능합니다.
3. 프롬프트 적용 영역 지정
프롬프트가 적용되는 영역은 아래쪽에 있는 입력 위젯을 사용해 편집할 수 있습니다. 먼저 해당되는 index의 좌우 삼각형을 눌러 적용할 구역을 지정합니다.아래는 index 를 1로 지정할 때의 모습입니다. index를 바꿔주면 좌측과 같이 연결된 프롬프트가 강조되므로 쉽게 구분할 수 있습니다.
4. 영역 지정
다음으로 x와 y 의 좌우 삼각형을 눌러서 영역의 시작점을 변경하고, width/height를 눌러 면적을 지정합니다. 눌러보면 아실겁니다. 아래는 (0,192)에서 (192, 384)의 정사각형에 (full moon)이라는 프롬프트를 지정한 것입니다.
이런 식으로 각각의 영역과 프롬프트를 지정하면 됩니다.
Visual Area Conditioning 워크플로
아래는 이 커스톰 노드 사이트의 예제에서 HiRes Fix 등 복잡한 부분은 삭제하고 꼭 필요한 내용만 남긴 워크플로입니다.
유의할 부분은 아래와 같이 [Empty Latent Image] 노드를 [MultiAreaContioning]노드 다음에 배해서 resolutionX/resolutionY를 width/height로 연결해줘야 한다는 점입니다. (입력 위젯을 입력 슬롯으로 바꾸려면 해당 노드를 우클릭해서 convert 하시면 됩니다)
이 커스톰 노드 사이트에 들어가보면 Hires Fix 기법을 사용해 좀 더 나은 이미지를 생성하는 워크플로도 있으니 참고하세요. 그리고 이 [MultiAreaConditioning] 노드를 사용해 구역 프롬프트를 구현하는 방법은 ComfyUI - 영역 분할 프롬프트 사용 방법을 읽어보시기 바랍니다.
Multi Latent Composite 커스톰 노드 사용법
[MultiLatentComposite] 노드는 각각 생성한 잠재 (Latent) 이미지를 합성하는 방식입니다. 즉, 각 부분별로 잠재 이미지를 생성하고, 이 이미지들을 [MultiLatentComposite] 노드를 사용해 적절한 위치에 합성하고, 이렇게 생성된 잠재 이미지를 다시 잡음 제거 샘플링하는 방식으로 이미지를 생성하는 방식입니다.
아래는 기본적인 사용방법입니다. 맨 위는 배경이 될 이미지, 즉 전체 이미지이고, 나머지는 각각 부분을 담당하는 잠재이미지입니다. 이 그림에서는 그냥 [Empty Latent Image]를 사용했지만, 샘플링을 통해 만든 이미지 혹은 기존의 이미지를 인코딩한 것 등의 이미지를 가져옵니다.
부분 이미지들은 [MultiLatentComposite] 노드의 아래쪽에서 위치를 지정해서 (크기는 원래 잠재 이미지의 크기를 사용하므로 변경할 수 없습니다) 배치를 지정합니다.
출력은 역시 잠재 이미지가 되며, 이것을 그냥 디코딩하면 잡음 이미지만 나오게 되므로, 다시한번 [KSampler] 노드 등을 사용해 잡음을 제거하면 이미지가 생성됩니다.
그런데... 저는 구지 이렇게 해야할까... 싶네요. 그냥 위에서 설명한 [MultiAreaConditioning] 노드만으로도 동일한 효과를 거둘 수 있을 것 같아서요. 나중에 혹시 필요하면 다시 검토해보겠지만, 지금은 그냥 이 정도로 마치겠습니다.
민, 푸른하늘
- ComfyUI로 설치 및 사용법 기초
- ComfyUI 초보자 가이드
- ComfyUI를 위한 유용한 정보
- ComfyUI와 SDXL 사용법(1) - 기초
- ComfyUI에서 ControlNet 사용법
- 편리한 ComfyUI 워크플로 모음
- LCM-LoRA - 초고속 스테이블 디퓨전
- Stable Video Diffusion(비디오 스테이블 디퓨전)
- Stable Diffusion 인공지능 이미지 생초보 가이드
- Stable Diffusion 대표 UI - AUTOMATIC1111 설치방법
- Automatic1111 GUI: 초보자 가이드(메뉴 해설)
- Stable Diffusion에 대한 기본적인 이론
- ChatGPT로 스테이블 디퓨전 프롬프트 만들기