기본 콘텐츠로 건너뛰기

스테이블 디퓨전 기초 Flux_Fill - text to image 와 image to image 차이

 스테이블 디퓨전에서 이미지를 생성할 때는 text(prompt) 만 입력하여 생성하거나 , 이미지를 load하여 그것을 수정하여 이미지를 생성한다.

이 내용은 스테이블 디퓨전으로 이미지를 생성하는데 아주 초보이신 분들에게 도움이 될 내용이다.
여기서는 주로 Comfyui 에서 Flux 모델을 사용하여 이미지를 생성한다.
Flux - Text to Image

1. Text to Image

    이것은 prompt 를 입력하면 거기에 따라 checkpoint 모델이 이미지를 생성하기 때문에 이미지를 생성 할 백지상태의  캔버스를 입력해 주면 된다.  그 이미지를  Latent Image 라고 한다.
Flux 용 Basic Workflow

workflow 에서 ksampler 에 입력되는 Empty Latent Image 가 바로 빈 Latent Image 를 준비해 준다.  
Empty Latent Image 를 KSampler 로 연결


빈 백지에 명령 prompt 대로 이미지를 생성해 준다고 보면된다.

이 procedure 를 Text to Image 생성방법 이라고 한다.

2. Image to Image

    이미지 투 이미지는 원본 이미지를 주고 그것을 일부 또는 전부를 수정하여 이미지를 생성하는 방식이다.   따라서 빈 latent Image 를 KSampler 에 연결하는 것이 아닌 이미지 원본을 입력해 준다.
Img to Img Workflow

원본이미지를 Load 할 노드들이 필요하다.

Load Image Nodes
원본이미지를 그대로 입력할 수는 없다.
여기서 우리는 Latent Image 라는 개념을 알고 있어야 한다.
Latent image는 **눈에 보이지 않는 "압축된 이미지 정보"** 이다.
Stable Diffusion은 실제 이미지 공간에서 바로 작업하지 않고, 먼저 이미지를 숨어 있는(=latent) 압축된 형태로 변환한 뒤 작업한다.  그 이유는 압축하여 크기를 대폭 축소한 후 그것을 가지고 이미지 작업을 하면 속도가 빠르기 때문이다.  
그래서 Latent Image 는 우리가 눈으로 알아볼 수 없다.

원본 이미지를 스테이블 디퓨전이 작업할 수있는 Latent Image 로 바꾸어 주는것이 VAE Encode 이다.  그 후에 KSampler 로 연결해 줄 수있다.
물론 Ksampler 에서 작업이 끝난 이미지도 Latent Image 이기 때문에 이것을 우리가 볼 수있는 이미지로 다시 바꾸어 주는것이 VAE Decode 이다.

3. Img to Img 이미지 생성 요령

    Workflow 를 만들어 원본이미지를 올리고 Prompt 를 입력하여 생성을 시켜보면 원하는 대로 안나올 것이다.
여기서 KSampler 에 있는 Denoise 값을 이해해야 한다.

Denoise 값은 쉽게 말하면 
  • 값 1 : 원본 이미지를 무시하고 Text to Image 처럼 Prompt 대로 생성한다.
  • 값 0 : 원본이미지 대로 변화없이 생성한다.
  • 0.4 ~ 0.6 : 이 정도 수치에서 적절히 사용하면 원본이미지를 어느 정도 유지하며 Prompt 에 맞추어 적절히 수정을 해 준다.  따라서 수치를 조정하면서 자기가 원하는 이미지를 만들어야 한다.
  • 처음 고양이 이미지를 원본으로 하여 Denoise 값을 1 ~ 0.5 로 변경시키면서 이미지를 생성한 결과이다.
  • prompt : "A dog sitting on a beach at sunset, in watercolor style"
값 0.7일때


값 0.6 일때



값 0.5 일때

값이 0.5로 갈 수록 원본과 거의 유사한 이미지가 만들어 졌다.

이 workflow 가 가장 기본적인 Img to Img 방식이다.
그런데 이 방식으로 이미지를 생성해 보면 자신이 원하는 것을 얻기가 참 어렵다.
이미지의 일부분만 수정하기도 어렵다.

4. Flux-Fill  모델 사용 (Inpaint)

    이 모델을 사용하면 원본이미지의 일부분을 원하는 것으로 바꾸는 것이 매우 쉽다.
Flux-Fill Inpaint Workflow

원본이미지의 변경하고 싶은 부분을 Masking 하고 prompt 를 입력한 후 이미지를 생성하면 원본이미지의 원하는 부분만 변경하여 만들어 진다.
Prompt : A dog sitting on a beach at sunset, in watercolor style
Flux-Fill Inpaint

깔끔하게 모든 부분은 원본 그대로이면서 고양이 이미지를 강아지 이미지로 바꾸어 졌다.

전체적인 이미지를 어떤 스타일이나 구도는 유지하고 변경하고 싶으면 기본적인 workflow 를 이용하면 되고,  이미지의 일부분을 수정하거나 변경을 원하면 Flux-Fill 모델의 Inpaint 기능이 아주 유효하다.





댓글

이 블로그의 인기 게시물

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...