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 연구자들이 협업 및 후원
훈련 방법
- The guide to fine-tuning Stable Diffusion with your own images | Tryolabs
- Stable Diffusion text-to-image fine-tuning
- lambdalabs/pokemon-blip-captions · Datasets at Hugging Face
Model을 직접 훈련
Textual Inversion
Embedding 파일을 만드는 방식. 자세한 내용은 Textual Inversion 항목 참조.
Dreambooth
200장의 유사 이미지로 model을 트레이닝해서 변형시키는 방식. 자세한 내용은 Dreambooth 항목 참조.
LoRA
자세한 내용은 LoRA 항목 참조.
Encoder-based Domain Tuning for Fast Personalization of Text-to-Image Models
- 「Stable Diffusion」에서 단 1장의 이미지로부터「~ 같은 ○○」를 불과 수십초만에 생성하는 방법
- 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
- Stability AI
- StableLM
- Deep learning
- Machine learning
- Text-To-Image
- Imagen - 구글의 text-to-image diffusion model
- DALL-E
- Creating Moe Illustrations Using AI Tutorial - AI를 사용해서 모에 일러스트 생성하기 튜토리얼
- Midjourney
- HuggingFace
- Scene Diffuser - Diffusion 기반으로 3D 씬 생성
- DeepFloyd IF - 오픈소스 Text-to-Image 모델
- Opendream - Stable Diffusion을 위한 레이어 기반 UI
- Fooocus - SD 와 Midjourney에서 배운, 더 쉽고 편한 이미지 생성 소프트웨어
- ComfyUI - Stable Diffusion 모델을 위한 강력하고 모듈식의 GUI. 노드 그래프 기반 비주얼 프로그래밍 가능.
Favorite site
- 오픈소스로 공개된 Stable Diffusion XL 1.0 (SDXL)은 1024x1024 해상도 이미지 생성을 지원
- SDXL은 Base 및 Refine 두가지 모델로 제공되는데, Refine 모델이 속도 저하가 없으므로 이걸 사용하는게 좋음
- Diffusers 파이썬 라이브러리를 이용해 해킹 가능
- Prompt Weighting 과 Dreambooth LoRA 같은 기능이 가능
- wrong 네가티브 프롬프트로 LoRA에 잘못된 이미지들을 학습시켜보니 품질이 개선됨
huggingface
References
-
The_Illustrated_Stable_Diffusion_-Jay_Alammar-_Visualizing_machine_learning_one_concept_at_a_time.pdf ↩