Skip to content

Stable Diffusion

DALL-E 와 비슷한 Text-To-Image 오픈소스

Stable Diffusion is a machine learning, text-to-image model developed by StabilityAI, in collaboration with EleutherAI and LAION, to generate digital images from natural language descriptions. The model can be used for other tasks too, like generating image-to-image translations guided by a text prompt.

Features

  • Latent Diffusion 모델을 LAION-5B 데이터베이스의 512x512 이미지에 대해 학습
  • 구글의 Imagen과 비슷하게 CLIP ViT-L/14 텍스트 인코더 사용
  • 경량이어서 10GB 이상의 VRAM을 가진 GPU 1개로도 동작
  • Stability AI 와 LAION 연구자들이 협업 및 후원

훈련 방법

Model을 직접 훈련

Textual Inversion

Embedding 파일을 만드는 방식. 자세한 내용은 Textual Inversion 항목 참조.

Dreambooth

200장의 유사 이미지로 model을 트레이닝해서 변형시키는 방식. 자세한 내용은 Dreambooth 항목 참조.

LoRA

자세한 내용은 LoRA 항목 참조.

Encoder-based Domain Tuning for Fast Personalization of Text-to-Image Models

Tools

Draw Anything - 간단한 Stable Diffusion Playground
https://www.drawanything.app
이미지를 그리거나 편집한 뒤, 프롬프트로 추가 설명을 넣어서 Stable Diffusion AI가 완성하게 만드는 도구
만든 이미지를 입력으로 다시 넣어서 계속 발전 시키기 가능
(작업한 기존 이미지를 불러오기 위해 구글 또는 이메일 로긴 필요)
내부 검색으로 찾은 이미지도 사용 가능
Stable Diffusion Web UI
https://github.com/AUTOMATIC1111/stable-diffusion-webui/
https://github.com/sd-webui/stable-diffusion-webui
InvokeAI - Stable Diffusion 툴킷 & WebGUI
기존 Stable Diffusion Dream Script의 새 이름
완전히 새로운 WebGUI
인페인팅 & 아웃페인팅 지원
GFPGAN, Codeformer, RealESRGAN 업스케일링 등의 인앱 워크플로우를 향상
윈도우/맥/리눅스
4+GB VRAM NVIDIA 그래픽카드 또는 애플 M1 & M2에서 실행 가능
최소 12GB 이상의 메인램
Gauss
macOS용 Stable Diffusion 네이티브 앱 오픈소스
Img2Prompt - Stable Diffusion으로 생성한 이미지에서 프롬프트 유추하기
https://www.img2prompt.io/
생성형 AI가 만든 이미지를 넣어서 텍스트 프롬프트를 유추해주는 도구
꼭 AI가 만들지 않은 이미지여도 관련된 프롬프트를 만들어 볼 수 있음
Stable Diffusion 1.4/5 로 생성된 이미지들로 훈련됨
Comments 훈련한 데이터셋 자체가 아주 큰건 아니여서 정확하지는 않은데, 그냥 재미로 해볼만 한듯 합니다.
Web Stable Diffusion
웹 브라우저에서 SD 실행하기
서버없이 브라우저 만으로 WebGPU를 이용해 Stable Diffusion을 실행

Projects

2D 게임을 위한 Stable Diffusion 기반 레벨 에디터
https://generalrobots.substack.com/p/dimension-hopper-part-1
플레이어가 자신의 레벨을 디자인하고 AI가 렌더링 이미지를 생성하는 2D 플랫포머 게임을 만드는 프로젝트에 대한 여정.
블록을 그린 이미지를 가지고 픽셀 이미지로 훈련된 모델에 ControlNet Depth mode를 활용해 생성을 시도했지만, 결과가 좋지 않았음.
  • Scribble mode로 전환하고 프롬프트를 계속 다듬어 조금 더 나은 결과를 얻음.
  • 타일이 반복될 필요가 없으므로 픽셀 모델이 아닌 어린이 일러스트 모델로 바꾸고 반복되지 않는 그림 같은 이미지를 얻게 됨.
  • 결과가 잘 나오는 듯하지만, Scribble mode의 한계로 어디가 땅인지 알 수 없는 사진이 너무 자주 나옴.
  • 다시 Depth mode로 돌아가지만, 블록 위에 흰색 발판을 추가로 그려 넣었더니 항상 플레이어가 설 수 있는 땅이 명확하게 구분되는 이미지를 얻게 됨.
  • 하지만 프롬프트를 조정해도 단조로운 배경만 얻었음.
  • 이를 해결하기 위해 발판, 블록, 블록의 기둥, 배경 등 요소를 다 나누어 심도를 조절했더니 훨씬 퀄리티가 높은 이미지를 얻게 됨.
  • 마지막으로 블록을 정사각형이 아닌 울퉁불퉁한 형태로 변경했더니 땅이 네모나지 않아 실제 세상 같은 최종 이미지를 얻을 수 있었음.
Depth map을 가지고 있으므로, Depth map 기반으로 세상을 분리해서 적절한 위치에 객체와 플레이어를 배치.
이 모든 걸 종합하여 실제 게임으로 배포함.
Comic-Factory - 디퓨전 모델을 이용하여 만화를 생성해주는 도구
AI Comic Factory - a Hugging Face Space by jbilcke-hf
만화 스타일 프리셋과 짧은 스토리 프롬프트를 이용하여 만화를 4컷 단위로 생성
프리셋: Japanese(출판 만화), American(그래픽 노블), Franco-Belgian(프랑스/벨기에 스타일), Armorican(고대 그림체 스타일)

Prompts

MagicPrompt-Stable-Diffusion
SD용 프롬프트 생성기
이미지 생성 AI용 프롬프트를 만들어주는 GPT-2 모델
자신이 원하는 그림의 프롬프트를 입력하면, 더 좋은 품질의 이미지를 생성해내는 SD용 프롬프트를 작성해 줌
MagicPrompt 는 Dall-E 2, Midjourney를 위한 버전이 별도로 존재
PromptBase - 프롬프트 마켓플레이스
AI를 이용해서 특정 이미지 및 문장을 생성한 '프롬프트' 자체를 구매 가능
  • 만들어진 이미지를 보고, 프롬프트 문장을 구매하는 것
DALL·E / Midjourney / StableDiffusion / GPT-3
직접 Stable Diffusion 을 이용해서 생성해보고 해당 프롬프트를 바로 판매도 가능
Lexica - 5백만장 이상의 Stable Diffusion 생성 이미지 검색
Stable Diffusion 으로 생성한 이미지와 프롬프트를 검색할 수 있음
특정 단어로 검색하여 나온 프롬프트에서 프롬프트 문장 일부를 클릭하여 상세히 검색해 들어가기 가능
프롬프트 복사 / 이미지 URL 복사
Open Prompts - 1천만개의 Stable Diffusion 프롬프트 데이터셋 (github.com/krea-ai)
Stability AI 디스코드 서버에서 Stable Diffusion v1.3 베타테스트 기간동안 생성된 프롬프트 데이터셋 전체를 공개
CSV 파일에 프롬프트 텍스트와 이미지에 대한 링크 포함
REST 형태의 Prompts API로 검색도 가능
AI생성 이미지를 검색하는 Krea.ai 서비스를 만드는데 사용한 것이며, 해당 서비스에서 카테고리 형태의 데이터도 제공
Home - DiffusionDB
Stable Diffusion 기반의 대규모 텍스트-이미지 프롬프트 갤러리 데이터셋
(arxiv) DiffusionDB: A Large-scale Prompt Gallery Dataset for Text-to-Image Generative Models
https://github.com/poloclub/diffusiondb
Civitai
Stable Diffusion models, embeddings, hypernetworks and more

See also

Favorite site

huggingface

References


  1. The_Illustrated_Stable_Diffusion_-Jay_Alammar-_Visualizing_machine_learning_one_concept_at_a_time.pdf