ComfyUI를 처음 시작하고 생소한 단어와 개념들이 많았다. 검색을 해도 기술적인 용어로 어렵게 해석된 내용들이 많아 하나하나 읽고 이해하는데 시간이 걸렸다.
그와중에 Stable Diffusion과 ComfyUI에 대한 지식이 전혀 없는 사람들을 위한 설명 자료를 준비하면서 제법 괜찮게 정리가 되었다. 그 중 모델의 종류에 대한 내용이다.
Model
AI가 그림을 그리는 기술을 가지고 있는 '뇌'의 역할이다. 그림을 그리는 AI화가라고도 볼 수 있다. 근데 이제 뇌에도.. 대뇌, 중뇌, 소뇌, 간뇌 등.. 나뉘어서 각자 더 세부적으로 담당하는 역할이 있는데. Model도 비슷한 개념으로 Checkpoint, ControlNet, LoRA, VAE, Upscaler 등 여러 타입이 있다.
그리고 이런 Model들을 공유하고 다운받을 수 있는 온라인 플랫폼 Civitai가 있다. AI 생성 작품들을 올리고 어떤 모델을 썼는지 어떤 프롬프트를 썼는지도 볼 수 있기 때문에 처음 사용하는 모델이더라도 어느정도 감을 잡을 수 있다.
이제 좀 더 큰 개념으로 설명해보자면, Stable Diffusion(SD)은 이미지 모델 계열(?) 중 하나이다. SD 외에도 Flux, DeepFloyd IF, DALL·E 3, Runway 등과 같은 것들이 있다. 각 모델은 학습된 방식과 이미지를 생성하는 방식에 차이가 있다. 따라서 서로 호환이 되지 않는다. ComfyUI에서 모델들을 구성할 때 같은 모델로 통일 시켜야 오류가 없다. SD 1.5 기반의 Checkpoint를 사용한다면 VAE, ControlNet도 SD 1.5 버전으로 사용해야 한다. 따라서 사용하려는 모델이 무슨 모델 기반인지 잘 확인해야 할 것이다.
SD는 1.0 ~ 1.5 그리고 Stable Diffusion XL (SDXL) 같이 성능과 특징이 다른 여러 버전이 있다. SD 1.0 ~ 1.5의 경우 처음 이미지를 학습할 때 주로 512x512 해상도에서 학습되었다. 512x512로 학습되었기 때문에 일반적으로 이 해상도 내에서 이미지를 생성할 때 가장 좋은 결과를 낼 수 있다. (512x512, 512x768, 768x1152...)
SD 1.5 이전 모델의 제한적인 해상도로 이후 개발 된 것이 SDXL이다. 더 큰 해상도 1024x1024로 학습된 SDXL는 디테일이 훨씬 풍부하고 손이나 복잡한 구조 표현이 SD 1.5 이전 보다 자연스럽다. 실사와 일러스트 모두 강력하지만 애니메이션 스타일의 경우에는 속도와 퀄리티 면에서 SD 1.5가 더 유리할 수 있다.
Checkpoint
AI 작업의 메인이 되는 녀석이기도 하다. Checkpoint는 AI화가가 사용하는 스케치북이나 스타일 책과 같다. '애니메이션 스타일 Checkpoint로 그려줘!' 하면 애니메이션 스타일의 출력이 나오는 것이다. 아래 이미지들처럼 말이다.
그런데 꼭 무슨 ~ 스타일이 아니더라도 아시안 여성 Checkpoint, 실사 느낌 Checkpoint 등 다양하다.
VAE (Variational Auto Encoder)
그림에 색칠을 더 예쁘게 해주는 도구. 색감이나 디테일 보정 역할을 한다. VAE가 더 선명하고 예쁜 색을 입혀준다. 정확히 말하면 이미지 인코더와 디코더로 구성되는데, 인코더는 데이터 크기를 줄여 더 효율적인 처리와 저장을 가능하게 한다. 디코더는 압축된 표현의 이미지를 픽셀 공간으로 재구성하고 최종 이미지를 생성하기 위해 확장한다. 약간 뭐랄까 요리할 때 쓰는 소금, 후추 같은 느낌? (그럼 파스텔 VAE는 핑크 솔트 같은 건가)
Motion Module
움직임을 배운 AI. 비디오 작업의 경우 움직임을 처리하는 Model의 확장 도구이다. 그림들 사이의 프레임 간 움직임을 계산하고 부드럽게 이어준다. AnimateDiff 같은 것이 있다. (AnimateDiff도 vs_sd15_mm, mm_sd_v2 ~, Temporaldiff-v1-animatediff 등 여러 종류의 모델이 있다)
ControlNet
AI가 그림을 그릴 때 더 잘 그리도록 가이드(방향)을 주는 역할. 참고 자료를 보여주는 역할. 사람의 '포즈'를 알려주면 같은 포즈로 그려주거나 선으로 딴 '스케치'를 주면 그 위에 그림을 완성해줄 수 있다. 텍스트 프롬프트로 제시하기에 한계가 있는 사람의 포즈, 아웃라인, 공간감 등에 대한 정보를 사용할 수 있는 것이다.
예시로, 아래는 9명의 트와이스 멤버 이미지에서 각각 Openpose, Lineart, Depth ControlNet을 거친 결과이다. 각 특징이 명확해서 상황에 따라 적합한 ControlNet을 사용해야 원하는 결과를 얻을 수 있다.
LoRA (Low-Rank Adaptation)
기존의 Checkpoint 모델을 사용하면서 원하는 스타일이나 특별한 조건을 쉽게 추가할 수 있다.
예를 들어 아주 두꺼운 책을 읽고 새로운 정보를 배운다고 할 때, 책 전체를 읽지 않고 중요한 부분만 골라서 배우면 시간을 절약할 수 있다. LoRA는 그런 방식으로 AI가 필요한 정보만 빠르게 배우게 해준다.
모델을 다운 받을 때 상세에 텍스트 프롬프트에 입력할 수 있는 Trigger 워드가 있어서 해당 워드를 적으면 그 내용이 쉽게 반영된다.
'ComfyUI' 카테고리의 다른 글
IPAdapter Advanced 노드 옵션 (0) | 2025.02.11 |
---|---|
ComfyUI Manager 사용하기 (0) | 2024.11.15 |
ComfyUI ReActor Import failed (InsightFace, Numpy 버전 이슈) (1) | 2024.11.14 |
ComfyUI로 Stable Diffusion 시작하기 (가상 환경을 곁들인) (2) | 2024.11.14 |