기본 콘텐츠로 건너뛰기

Checkpoint, Text Encoder, VAE — 이미지 생성 AI의 3대 핵심 구조 정리

 컴퓨터에서 이미지를 생성할 때 Checkpoint, Text Encorder, VAE 는 이미지 생성의 3대 핵심 구조이다.

이 3가지는 세트 개념으로 이해하고 항상 함께 사용할 때 정상적인 이미지가 생성되기 때문이다.
서로 다른 것들을 연결하여 사용하면 정상적인 이미지 생성을 기대하기 어렵다.
Checkpoint + Encorder + VAE


1. 이미지 생성에 필요한 핵심구조 이해

  • Checkpoint 또는  Diffusion Model : 이미지를 실제로 만들어내는 핵심 모델로 이것에 의해 이미지 생성이 가능하다.
  • Text Encorder : 글을 번역하는 번역기로 우리가 입력하는 Text(Prompt) 를 AI가 이해하는 언어(숫자 벡터)로 바꿔주는 번역기이다.  번역된 내용(Conditioning)으로 checkpoint 에서 이미지를 생성한다.
  • VAE : 잠재적 공간(latent)으로의 변환을 해주는 변환기.  이미지를 생성할 때 우리가 인식가능한 이미지 상태로 이미지를 생성하는 것이 아닌 AI 가 이해하는 잠재적 공간에서 이미지를 생성하는데 그 생성된 잠재적인 이미지를 우리가 실제로 알아볼 수 있는 이미지로 바꿔주는 역할을 한다. 
    • VAE Encorder : 실제 이미지 -> latent image
    • VAE Decorder : latent Image -> 실제 이미지

2. 주요 Checkpoint 모델별 , Encorder, VAE 의 관계

  • Stable Diffusion (SDXL), Pony 모델
    • Text Encorder: CLIP 사용 , 이 모델은 단어 단위의 text 를 변환해 주기 때문에 이 모델을 이용하여 이미지를 생성 할 때는 Prompt 를 단어 단위로 나열하여 입력하는 것이 좋다.
    • 예) masterpiece, best quality, highly detailed, 1girl, solo,  bangs, long hair, slender body,  slim legs,  hourglass figure, smooth skin, flawless complexion, realistic eyes,  red lips, makeup, top , skirt, sitting on chair.
    • VAE : sdxl_vae , sdxl_ani_vae 등
    • Stable Diffusion 모델에 따라 모델내부에 CLIP Encorder , 와 VAE 를 함께 종합하여 training 한 모델도 존재한다. 그런 모델은 굳이 CLIP Encorder 나 VAE 가 별도로 필요치 않다.
  • Flux1, Flux2 모델
    • Text Encorder : t5xxx 계열 Encorder.  t5xxl_fp8_e4m3fn, t5xxl_fp8_e4m3fn_scaled 등.  이 것은 주로 문장구조로 이해하고 분석하여 변환한다.  따라서  Flux 모델을 이용하여 이미지를 생성 할 때는 단어보다는 문장으로 prompt 를 입력해 주는 것이 좋다.   
    • 예) A captivating wooden artwork featuring silhouette of a young woman and a cat, crafted using randomly arranged colorful mosaic wood tiles.
    • VAE : ae , flux2-vae 등
    • Flux 모델을 위의 CLIP Encorder 나 sdxl_vae 를 연결하여 사용하면 이미지 생성이 안된다.  그래서 Checkpoint , Text Encorder 와 VAE 는 세트개념으로 관계된 것 끼리 함께 사용하여야 한다.   대부분  Checkpoint 모델을 다운로드하는 곳에는 관계된 Text Encorder 와 VAE 도 함께 다운로드가 가능할 것이다.
  •  Qwen 모델
    • Text Encorder : LLM 기반 Vision-Language 멀티모달 분석 모델 이다.  qwen_2.5_vl_fp16, qwen_3_4b 등. 이것은 Text 뿐 아니라 Image 도 분석 변환해 주기 때문에 qwen 모델은 image to prompt 도 있으며, Image to Image 모델도 존재한다.  좀더 자연어 prompt 를 상황에 맞게 잘 이해하고 문장의 선, 후 관계도 고려하기 때문에 좀 더 정확하게 명령을 이해하고 이미지를 생성 해 준다.  특히 다국어 , 즉 영어 뿐 아니라 중국어, 일본어, 한국어 도 잘 이해하고 이미지를 생성한다.
    • 예) A beautiful, elegant East Asian woman sitting barefoot on the floor, wearing a loose white button-down shirt and form-fitting blue jeans. She is holding a fine paintbrush in her right hand, poised to touch a palette of watercolors held in her left hand. Next to her is a white ceramic vase with a bouquet of realistic, pastel-colored flowers (roses, perhaps some greenery). The setting is a minimalist studio with a solid, neutral beige or light tan background, emphasizing soft, natural studio lighting. Highly detailed, photorealistic, cinematic light, 8k.
    • VAE : qwen_image_vae, qwen_image_layered_vae 등
    • 항상 필요한 Checkpoint 를 다운로드 하여 사용 할 때는 반드시 필요한 Text Encorder 와 VAE 를 파악하여 함께 다운받아 사용하여야 한다.

3. 이미지 생성 Flow

  • Prompt 입력 : 예) a woman in a red dress, cinematic lighting
  • Text Encorder : 글을 숫자벡터로 변형 (Conditioning)
  • Conditioning : 그림의 설계도 또는 요구 조건

Encorder(CLIP) 를 입력하면 Text 가 숫자벡터로 변환하여 Conditioning 으로 출력한다.
  • 보통 KSampler 에서 Conditioning 에 따라 Checkpoint Model 을 이용하여 그림을 생성한다.  이 그림은 잠재적 공간(latent) 에서 만들어 지기 때문에 실제로 우리가 눈으로 인식할 수있는 그림상태가 아니다.   그 이미지를 latent Image 라고 부른다.
  • VAE Decorder : latent Image 를 우리가 인식할 수 있는 그림으로 변환해 준다.
  • Image Save : 실제 이미지를 저장한다.

4. KSampler 구조분석

일반적인 KSampler 노드

  • 입력 단자 :
    • Model : Checkpoint 모델을 입력해 준다.
    • positive : 긍정 prompt 를 Conditioning 으로 변환하여 입력한다.
    • negative : 부정 prompt 를 Conditioning 으로 변환하여 입력한다.
    • latent_Image : 잠재적 공간에서 사용할 latent image 를 입력한다.  이미지 생성은 latent image 를 이용하여 새로 그릴수도, 일부 수정을 할 수도 있다.  보통 새로 이미지 생성을 할 때는 빈 latent image 를 입력한다.
  • 옵션 값 : 
    • seed : 생성된 이미지의 고유 번호인데 모든 조건이 동일하고 seed 값이 동일하면 똑같은 이미지를 생성한다.  반대로 모든 조건이 동일한데 seed 값이 다르면 이미지도 다르다. 이 값은 random 으로 정하거나 고정값을 정하거나 할 수 있다.
    • steps : 이미지를 생성하는 단계를 나타낸다고 이해하고 steps 가 클 수록 좀 더 정교하고 고 품질의 이미지를 생성한다. 
    • cfg : 이 값은 입력된 명령어(prompt) 를 어느 정도 따를 것인지 결정하는 값으로 높을수록 prompt 입력에 따라 이미지를 생성하고 0 이면 입력 prompt와 관계없이 모델 마음대로 이미지를 생성한다. 보통 3~7 값을 사용하는데  checkpoint 모델에 따라 1을 사용하는 경우도 있다.
    • sampler_name : 걍 쉽게 이미지 생성하는 방법으로 이해하자.  이것에 따라 이미지의 모양, 품질 등이 다르다.  다양한 sampler 가 존재하기 때문에 checkpoint 에 잘 어울리는 sampler 를 사용하여야 좋은 이미지를 얻을 수 있다.  만약 어떤 sampler 를 써야 할 지 잘 모르면 euler 를 쓰면 대충 잘 만들어 준다.
    • scheduler : steps 에 따라 이미지를 생성할 때 어느 부분에 더 이미지 생성을 분배할 지 다르다.   이것도 보통 sampler 와 연결하여 맞게 사용하는데 ,  모르겠으면 걍 normal 또는 simple 을 사용하면 된다.
    • denoise : 입력된 latent image를 가지고 이것을 얼마만큼 수정하여 그릴지를 결정하는 값인데,  1이란 완전히 바꾼다는 의미이며, 0 이면 latent image 를 전혀 변경없이 한다는 의미이다.  따라서 새로운 이미지를 생성하기 위해서는 1 값을 사용하고, 이미지의 일부를 변경하고 싶으면 0.4~0.6 사이값에서 조절하여 사용하면 된다.
  • 출력단자 :
    • LATENT : 생성된 latent image 를 출력한다.
    • latent image 는 우리가 실제로 인식할수있는 이미지가 아니기 때문에 이것을 VAE Decorder 를 통과하여 실제 이미지 얻는다.
Checkpoint ?

4. 이미지 생성의 유의사항

  • 원하는 이미지에 맞는 Checkpoint 모델을 사용한다.  
    • stable diffusion (sdxl) : 저 성능의 컴퓨터에서 빠르게 1024x1024 실사 이미지를 원할 경우 사용한다. 
    • Pony 모델 : 애니 케릭터 이미지를 원할때 사용한다.  특히 NSFW 이미지는 거의 제한이 없는 모델이다.   
    • Flux 모델 : 고품질의 인물이미지에 적합하다. 다만 모델 크기가 크기 때문에 컴퓨터 성능이 좋아야 한다.
    • QWEN : 고품질이면서 특히 동양적 이미지를 잘 생성해 주고,  한글 prompt 를 사용해도 잘 만들어 준다.  특히 QWEN-Image-Edit-2511 은 개인적으로 가장 이미지 수정을 잘해 준다.
  • 반드시 Checkpoint 와 Text Encorder , VAE 는 짝을 맞추어 사용한다.
  • prompt 는 SDXL, Pony 모델은 단어 나열로 입력하고, Flux 및 QWEN 모델을 문장으로 자세히 표현하여 입력한다.
  • prompt 에 따라 checkpoint 별로 다른 이미지들이 생성되기 때문에 같은 prompt라도 서로 다른 checkpoint 를 사용하여 만들어 본다.
  • cfg 값, Samplder and scheduler 는 checkpoint 에 맞는것을 사용한다.
기본적으로 상기 내용대로 하면 꽤 쓸만한 이미지를 생성 할 수있다.

이미지 생성에 초보자 라면 반드시 위의 기본적인 내용을 이해하고 많은 이미지를 만들어 보시길 권한다.

좋은 prompt 가 좋은 Image 를 생성한다.

이미지 생성에 어느정도 자신이 있으면 여기서 더 원하는 이미지는 Lora, Controlnet, Upscale 을 추가하여 생성한다.



댓글

이 블로그의 인기 게시물

Comfyui Wildcard 사용법 - Stable Diffusion , Flux 에서 쉽게 Random Prompt 로 이미지 만들기

 Comfyui Wildcard 사용법에 대하여 알아본다. Comfyui 로 Stable Diffusion 또는 Flux 로 이미지를 만들 때 Prompt 가 이미지를 결정하는데 매우 중요한 역할을 한다.  영어가 모국어가 아닌 이상 영어로 prompt 를 만드는 것이 참 어려운 일이다. 물론 처음에는 많은 다른 사람들이 사용한 prompt 들을 모방하여 수정하고 사용하는데 이런 일을 하나하나 해 보기가 시간이 많이 걸리고 어렵다.   그래서 Random 으로 prompt 가 만들어 져서 이미지가 생성되고 그 이미지 중에서 마음에 드는 이미지들을 골라 그 이미지의 Prompt들 만을 가지고 보완하고 개선하면 더 편리하고 좋지 않을까 생각이 든다.  그런 식의 Random Prompt 생성이 가능하게 해주는 것이 wildcard 사용이다. Joker는 card game에서 wildcard 이다. 1. Wildcard 의 의미      와일드 카드(Wildcard)란 카드 게임에서 유래되었다.  이런 카드 게임에서 모든 카드의 대용으로 쓸 수 있는 비장의 카드를 와일드 카드라고 한다. 포커나 훌라를 할 때 조커가 이런 역할을 하는데 ,  이 의미가 컴퓨터와 스포츠로 확장되어 사용되는 것이다. 컴퓨터 용어로 쓰일 때는 한 디렉터리 내에 여러 파일이 존재하거나, 파일 이름의 뒷부분을 정확히 알지 못하는 경우에도 사용할 수 있는 명령어를 말합니다. '*'을 넣으면 빠진 것에 어떤 문자열이 있든지 대신할 수 있고,  '?'는 임의의 한 문자에만  대응한다. Comfyui 에서 wildcard 사용은 "--문자열--"  이런 식으로 wildcard 사용 가능한 노드에 prompt 를 입력해 주면 그 노드는 "문자열" 에  해당되는 파일을 찾아 그 파일 내용 중에서 임의의 일부분을 prompt 로 대체해 준다. 2. Wildcard 사...

Pinokio 앱 설치 - 오픈 소스 AI 플랫폼

  Pinokio 는 오픈 소스 AI 플랫폼이다. 로컬에서 AI 애플리케이션을 쉽게 설치하고 실행할 수 있게 도와주는 오픈 소스 AI 플랫폼이다. 이 플랫폼은 사용자가 복잡한 설치 과정 없이 클릭 한 번으로 AI 도구들을 설치할 수 있도록 설계되어 있다. 이를 통해 기술적인 배경 지식이 없는 초보자나 비전문가들도 쉽게 AI 애플리케이션을 사용할 수 있다.   이미 설치되어 있는 애플리케이션이 있어도 별도의 독립된 공간에서 문제없이 사용할 수 있게 해준다.   우리가 stable diffusion 을 comfyui 에서 사용하기 위해서는 "Python", "git ....", "conda"  뭔지 모르지만 설치해야 하는데 pinokio 브라우저에서 원 클릭으로 알아서 설치를 해주기 때문에  컴맹인 일반인도 쉽게 설치하고 사용 할 수 있다. pinokio.computer 1. Pinokio 주요 기능 원클릭 설치 : 복잡한 환경 설정이나 명령어 입력 없이도 다양한 AI 모델을 한 번의 클릭으로 설치할 수 있다. 예를 들어, Comfyui 나 Flux 같은 AI 도구들을 손쉽게 설치할 수 있다. 다양한 AI 애플리케이션 제공 : Pinokio는 다양한 오픈 소스 AI 애플리케이션을 제공하는 허브 역할을 하며, Pinokio 브라우저 나 홈페이지에서 쉽게 찾아 설치할 수 있다. 브라우저 기반 인터페이스 : 모든 설치된 애플리케이션은 Pinokio 웹 브라우저에서 관리할 수 있어, 친숙한 인터페이스로 쉽게 사용이 가능하다. 독립적인 가상 컴퓨터 : Pinokio는 백엔드 작업을 자동으로 처리하여, 애플리케이션이 로컬에서 실행되는 동안 인터넷에 연결되어 있지 않아도 된다. 2. Pinokio 설치 구글에서 pinokio 를 검색하여 " pinokio.computer " 를 클릭 Download 클릭 다운로드 된 pinokio 압축 파일을  푼다. pinokio 설치파일을 실행하여 설치 설치과정은 복...

이미지에서 프롬프트 추출하기 in Comfyui - QWEN3-VL

 이미지 또는 사진에서 Prompt(프롬프트)를 추출하여 사용하기 네이버, 구글 또는 핀터레스트 등의 사이트에서 마음에 드는 사진을 보고 비슷한 이미지를 만들고 싶을때,   그 사진을 보고 직접 그것을 프롬프트로 만들기가 어려운 일이다.  만들었다고 해도 그것을 이용하여 이미지를 생성해 보면 원하는 이미지와는 동 떨어진 이미지가 만들어지기 쉽다. 그래서 보통은 chatGPT 나 GEMINI 를 이용하여 이미지를 업로드하고 프롬프트를 만들어 달라고 하여 추출한다.  나도 이런 방식으로 종종 프롬프트를 추출하여 사용하곤 한다. 여기에서는 외부 도움을 받아 추출하는 대신  내 컴퓨터에서 추출하여 사용하는 방법이다. 1. 이미지에서 프롬프트 추출 예 Z-Image-Turbo 로 만든 이미지 위의 이미지에서 프롬프트를 추출 한다면...... chatGPT : A soft, elegant portrait of a young woman sitting on the floor, painting flowers with a brush and a palette. She wears a crisp white shirt with rolled-up sleeves and fitted blue jeans. Her long dark hair flows naturally as she focuses calmly on her artwork. A vase filled with colorful roses stands beside her. The scene has a warm beige background, smooth lighting, clean details, and a serene, gentle atmosphere. Ultra-high-definition, photorealistic illustration, soft shadows, pastel tones, refined skin texture, delicate rendering. G...