

0. Introduction
Stable Diffusion 1.5 vervion์ ์ฌ์ฉํ์ฌ ๋ณธ์ธ์ selfie๋ฅผ ํ์ต์ํค๋ ๊ณผ์ ์ Automatic1111 WebUI๋ฅผ ์ฌ์ฉํ์ฌ ๋ณด์ฌ์ค๋ค. SD2.1 ๋ฒ์ ์์๋ ๋ณธ ์์๊ณผ ๋์ผํ ๊ณผ์ ์ผ๋ก ํ์ต์ํฌ ์ ์๋ค.
๋ณธ ํํ ๋ฆฌ์ผ์์๋ ์ ์ปค์คํ
๋ ๋ชจ๋ธ Protogen x3.4 version์ ์ฌ์ฉํ๋ค. ๋ณธ ์์์์ ์๊ฐํ model์ injection
ํ๋ ๋ฐฉ๋ฒ์ ์ด๋ค model์๋ ์ ์ฉ์ด ๊ฐ๋ฅํ๋ค.
1. How to install and update DreamBooth extensions
๋ณธ ์์์ 20230107์ผ ๊ธฐ์ค์ผ๋ก ์ฐํ ์์์ด๋ค. ์ repo๋ฅผ clone ํ์ฌ colab์ด๋ local machine์์ ์คํ์ํค๋ฉด ๋๋ค.
๋จผ์ webUI ๋ฅผ ์คํ ์ํค๊ณ DeamBooth Extension์ ์ค์นํ๋ค.

์์ ๊ฐ์ด ๋งจ ์ค๋ฅธ์ชฝ ํญ์ Extensions
๋ฅผ ํด๋ฆญํ๋ฉด ๋๋ค.

์์ ๊ฐ์ด DreamBooth ๋ฅผ ๊ฒ์ํด์ ์ค๋ฅธ์ชฝ์ install
์ ํด๋ฆญํ๋ค. (์ ์๋๋ฉด webUI๋ฅผ ๊ป๋ค๊ฐ ์ผ ๋ค ) ์ดํ ์๋จ์ Check for updates
๋ฅผ ํด๋ฆญํ๋ค.
๊ทธ๋ฆฌ๊ณ ์๋จ์ ํญ์์ DreamBooth
๋ฅผ ์ฐพ์์ ํด๋ฆญํ๋ฉด ์๋์ ๊ฐ์ interface๋ฅผ ๋ณผ ์ ์๋ค.

2. Training Model Generation for DreamBooth
์ฐ๋ฆฌ๊ฐ ํ์ต ์ํค๊ณ ์ถ์ Model์ ๋จผ์ Create ํด์ผํ๋ค. ์ด๋ฆ์ ๋ญ๋ก ์ง๋ ์๊ด์๋ค. (๊ณต๋ฐฑ X, ํ๊ธ X ๊ถ์ฅ)
๋จผ์ ์ฐ๋ฆฌ๊ฐ ํ์ต ์ํค๊ณ ์ ํ๋ Model์ ๋จผ์ ๋ค์ด๋ก๋ ๋ฐ์์ผํ๋ค. https://huggingface.co/runwayml/stable-diffusion-v1-5/tree/main ์ ์ ์ํด์

Files and versions ๋ฅผ ํด๋ฆญํ๊ณ

v1-5-pruned.ckpt ์์ ์๋๋ฅผ ๊ฐ๋ฆฌํค๋ ๋ค์ด๋ก๋ ํ์ดํ โ ๋ฅผ ์ฐํด๋ฆญํ์ฌ ์ฃผ์๋ฅผ ๋ณต์ฌํ๋ค. ํฐ๋ฏธ๋๋ก ๋์๊ฐ stable-diffusion-webui/models/Stable-diffusion
๋๋ ํ ๋ฆฌ๋ก ์ด๋ํ๊ณ
wget ๋ณต์ฌํ ์ฃผ์
๋ฅผ ์ ๋ ฅํ๊ณ ์คํํ๋ค.

์์ ๊ฐ์ด ์ค์น๊ฐ ๋๋ฉด ๋ชจ๋ธ์ ์์ฑํ๋ค. ์ด๋ฆ์ ์๊ด์๊ณ (๊ณต๋ฐฑX, ํ๊ธX)
๋ชจ๋ธ๋ก ๋ฐฉ๊ธ ๋ค์ด๋ก๋ ๋ฐ์ v1-5-pruned.ckpt
๋ฅผ ์ ํํ๋ค.

Pre 3. Preparing dataset
๋ณธ ํํ ๋ฆฌ์ผ์์๋ 12์ฅ์ ์ด๋ฏธ์ง๋ก ํ์ต์ ์ํจ๋ค. ์ด๋ input ์ด๋ฏธ์ง์ ํฌ๊ธฐ๋ 512x512๊ฐ ์ ๋นํ๋ค. ์ด์ ๊ฐ์ด ์ ์ฒ๋ฆฌ๋ฅผ ์ํด


๋ฅผ ์ด์ฉํ ์ ์๋ค. ์ ๋นํ ์ผ๊ตด์ ์๋ผ๋ด์ด 512x512๋ก ์ ์ฅํ๋ค.
3. Training model selection and settings tab of the DreamBooth extension
Create ์์ ์๋ Select
๋ฒํผ์ ํด๋ฆญ
ํ๊ณ ๊ฐ์ด๋ฐ ์น์
์ ์๋ Performance Wizard (WIP)
๋ฅผ ํด๋ฆญ
ํ๋ค.

- VRAM์ size๋ฅผ ํ์ธํ ์ ์๋๋ฐ ๋ง์ฝ 12GB๋ณด๋ค ์๋ค๋ฉด DreamBooth๋ฅผ ํ์ต์ํค๊ธฐ ์ด๋ ต๋ค. (๋ณธ ์์ ๋ ์ฐ๋ ์ด ์คํ)
- Settings ์ ํ .


Class Batch Size
๋ 5
๋ก ๋ณ๊ฒฝ๋จ.



Step Ratio of Text Encoder Training
์ ๊ฐ์face์ ๊ฒฝ์ฐ 0.07
,style์ ๊ฒฝ์ฐ 0.02
๊ฐ ์ ๋นํ๋ค๊ณ ํ๋ค.
- Concept ์ ํ
Pre 3. ์์ ์์ฑํ๋ ๋ฐ์ดํฐ์
์ ์ ์ฅํ path๋ฅผ Dataset Directory์ ์ธ์๋ก ์ค๋ค. Classification Dataset ์ด๋ ํ์ตํ๊ณ ์ ํ๋ ๋ชจ๋ธ์ด overfit ๋์ง ์๋๋ก ์
๋ ฅ์ผ๋ก ์ฃผ๋ ์ด๋ฏธ์ง์ generalํ ์ด๋ฏธ์ง๋ค์ ์ธ์๋ก ์ฃผ๋ ๊ฒ์ด๋ค. ์ผ๋จ์ girl ์ด๋ผ๋ ๋๋ ํ ๋ฆฌ๋ก ์ค์ ํ๋ค. (e.g. /home/joono/media2/stable-diffusion-webui/datasets/girl)

๋ค์์ Instance Token๊ณผ Class Token์ ์ค์ ํด์ผํ๋ค. Instance Token
์ ์์ผ๋ก ๋ชจ๋ธ์ด ์ด๋ฏธ์ง๋ฅผ ์์ฑํ ๋ trigger ์ญํ ์ ํ๋ค. ๋ฐ๋ผ์ unique ํ๊ณ rareํ ํ ํฐ์ ์ฌ์ฉํด์ผํ๋๋ฐ reddit์ thread์ uniqueํ ํ ํฐ๋ค์ ๋ชจ์๋ ํ์ด์ง๊ฐ ์์ผ๋ ์ด๋ฅผ ์ฐธ๊ณ ํ์.

ohwx
ํ ํฐ์ ์ฌ์ฉํ๋ค.- token ์ ํ์ ์์ฃผ ์ค์ํ๋ค. ์ด๋ ๋ชจ๋ธ์ด ํ์ตํ ๋ ์ด token์ผ๋ก ๋ถํฐ ํ์ต์ด ๋๊ธฐ ๋๋ฌธ์ด๋ค.
Class Token
์ ๋ชจ๋ธ์ด ์ค๋ฒํผํ
๋์ง ์๊ณ ๋ชจ๋ธ์ด ์ฌ์ ํ ๋ชจ๋ธ์ ์ ์์ฑํ๋๋ก (keep sanity of model) ๋์์ฃผ๋ ์ญํ ์ ํ๋ค. (๋
ผ๋ฌธ์ ์ฝ์ด๋ด์ผ ๋ฌด์จ ๊ธฐ๋ฅ์ ํ๋์ง ์ ํํ ์ดํดํ ์ ์์ ๋ฏ)


- ์์ ๊ฐ์ด ์ ํ ํ๋ค.
Classification์ ์ํ ์ด๋ฏธ์ง๋ฅผ ์์ฑํ ๋ ํ ๋ฒ์ ์ผ๋ง๋ ๋ง์ image๋ฅผ ์์ฑํ๋์ง์ ๋ํ ๊ฐ์ Setting ํญ์ Class Batch Size
๋ฅผ ํตํด ๋ณ๊ฒฝํ ์ ์๋ค. ๋ณธ ํํ ๋ฆฌ์ผ์์๋ ์ด๋ฅผ 5
๋ก ๋๋ค.

- Saveing ์ ํ

4. Training
Training์ ์์ ๋จผ์ Class Image๋ค์ ์์ฑํด์ผํ๋ค.

Generate Class images ๋ฅผ ํด๋ฆญํ๋ฉด ํ์ต์ ์ฌ์ฉ๋ class ์ด๋ฏธ์ง๋ค์ด ์์ฑ๋๋ค. (์ฐ๋ ์ด์์ ์ฝ 30๋ถ ์์)
์ดํ Train ๋ฒํผ์ ํด๋ฆญํ๋ค.
- Settings tab์์ Sanity Sample Prompt ๋ฅผ
A photo of ohwx girl by Tomer Hanuka
์ ๊ฐ์ด ์ฃผ์๋ค. ์ด๋ ํ์ต ์ค์ ์์ฑํ๋ sample์ prompt์ธ๋ฐ ์ด๋ฅผ ์ ์ ํ style์ ์ถ๊ฐํ ์ด๋ฏธ์ง๋ฅผ ํตํด ํ์ต๋ ๋ชจ๋ธ์ overfit์ ์ฌ๋ถ๋ฅผ ํ๋จํ ์ ์๋ค.
5. Create images using trained model
- Prompt
- (Optional) Prompt Generator ์ฌ์ฉ
๋จผ์ Prompt Generator extension์ ์ค์นํ๋ค.
Generate ๋ฒํผ์ ๋๋ฅด๋ฉด ์๋์ ๊ฐ์ด ๋ค์ํ ๊ฒฐ๊ณผ๋ค์ ๋ง๋ค์ด์ค๋ค.
์ํ๋ prompt๋ฅผ ๊ณจ๋ผ ์ ์ ํ ์ฌ์ฉํ๋ค.
- Negative Prompt
- ๋ ์ข์ ์ด๋ฏธ์ง๋ฅผ ์์ฑํ๊ธฐ ์ํด Negative Prompt ๋ฅผ ์ค์ ํ ํ์๊ฐ ์๋ค.
The Most Complete Guide to Stable Diffusion Parameters โ OpenArt Blog ๋ธ๋ก๊ทธ์์ portrait์ ๋ํ negative prompt๋ฅผ ์ฐพ์๋ณผ ์ ์๋ค.
General negative prompts: lowres, error, cropped, worst quality, low quality, jpeg artifacts, out of frame, watermark, signature Negative prompts for people portraits: deformed, ugly, mutilated, disfigured, text, extra limbs, face cut, head cut, extra fingers, extra arms, poorly drawn face, mutation, bad proportions, cropped head, malformed limbs, mutated hands, fused fingers, long neck Negative prompts for photorealistic images: illustration, painting, drawing, art, sketch
- ๋ ์ข์ ์ด๋ฏธ์ง๋ฅผ ์์ฑํ๊ธฐ ์ํด Negative Prompt ๋ฅผ ์ค์ ํ ํ์๊ฐ ์๋ค.
The Most Complete Guide to Stable Diffusion Parameters โ OpenArt Blog ๋ธ๋ก๊ทธ์์ portrait์ ๋ํ negative prompt๋ฅผ ์ฐพ์๋ณผ ์ ์๋ค.
- (Optional) Prompt Generator ์ฌ์ฉ
- Attention / Emphasis
- ๋จ์ด๋ฅผ ((๋จ์ด)) or (๋จ์ด), (๋จ์ด:1.25)์ ๊ฐ์ด ๊ฐ์กฐํ๊ณ ์ถ์ ๋ถ๋ถ์ ๊ฐ์กฐํ ์ ์๋ค.
- CFG Scale
- Classifier Free Guidance scale
- ์ด๋ฏธ์ง๊ฐ prompt์ ์ผ๋ง๋ ์ ํํ๊ฒ ๋ง์ถฐ์ง๋์ง์ ๋ํ ๊ฐ์ด๋ค. ์์ ์๋ก ๋์ฑ ์ฐฝ์์ ์ธ ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์ ์๋ค. ์์ธํ prompt์๋ ์ ์ ํ ์์ CFG scale๊ฐ์ ์ฃผ์ด์ผํ๋ค.
- ์ฌ๋ฌ parameters ๋ฅผ ๋ฐ๊ฟ๊ฐ๋ฉฐ ์ด๋ฏธ์ง๋ฅผ ์์ฑํด์ plot์ผ๋ก ๊ทธ๋ ค๋ณผ ์ ์๋ค.
6. Upscale to better quality of image
Extra tab์ ๊ฐ์ upscale์ ํ ์ ์๋ค.
Upscaler ๋ก๋ R-ESRGAN, LDSR ๋ฑ์ ์ฌ์ฉํด๋ณด๋ผ๊ณ ํ๋๋ฐ ์คํ์ผ๋ก ์๋ฌด๊ฑฐ๋ ํด๋ด๋ ์ข์ ๊ฒ ๊ฐ๋ค.
7. How to use filewords for training
๊ฐ ์ฌ์ง์ caption์ ์ถ์ถํ์ฌ ์ด๋ฅผ ํ์ต์ ์ด์ฉํ ์ ์๋ค.

ํน์ Train Tab์์ Preprocessing images tab์ ์ฌ์ฉํ ์ ์๋ค.

8. How to inject our face into custom model? Checkpoint Merger
default SD ๋ชจ๋ธ์ด ์๋ ์ฌ์ฉ์๋ค์ด ํ์ต ์์ผ๋์ ์ข์ ๋ชจ๋ธ์ ์ฐ๋ฆฌ ๋ชจ๋ธ์ ์ถ๊ฐํด๋ณด์ ๋จผ์ ์๋ ์ฌ์ดํธ์์ ์ ์ ํ ๋ชจ๋ธ์ ๋ค์ด๋ก๋ ๋ฐ๋๋ค (ํ๋ฐฉ ์ฃผ์..)
์๋์ ๊ฐ์ด ๋ค์ด๋ก๋ ๋ฐ์ ๋ชจ๋ธ์ primary model์, ์ฐ๋ฆฌ๊ฐ ํ์ต์ํจ ๋ชจ๋ธ์ secondary model์ ๋ฃ๊ณ multimplier๋ 0.75๋ก ์ค์ ํ๋ ๊ฒ์ด ์ข๋ค๊ณ ์๋ ค์ ธ์๋ค๊ณ ํ๋ค.

9. ControlNet
Extension์์ ControlNet์ ์ค์นํ๋ค.

- ์ hugging face ํ์ด์ง์์ ์ฌ์ฉํ๋ ค๊ณ ํ๋ ๋ชจ๋ธ์ ๋ค์ด ๋ฐ์์
models/ControlNet/
์๋์ ์ ์ฅํ๋ค.

์์ ์ฒดํฌ๋ผ์๋ Enable ๋ฒํผ์ ์ผ๊ณ ๋๊ธฐ๋ง ํ๋ฉด ๋๋ค. ez..
Uploaded by N2T