Preprocess
Context
BMAB์์ ์ฌ์ฉํ Checkpoint์ VAE๋ฅผ ์ง์ ํฉ๋๋ค.
ํน์ ๊ธฐ๋ฅ๋ค์ ์์ฒด Checkpoint์ VAE๋ฅผ ์ค์ ํ ์ ์์ต๋๋ค.
ํ ๋ฒ ๋ณ๊ฒฝ๋ Checkpoint๋ ๊ทธ ์ดํ ํ๋ก์ธ์ค๋ค์ด ๊ณ์ ์ฌ์ฉํฉ๋๋ค.
txt2img noise multiplier for hires.fix
hires.fix ๋จ๊ณ์์ noise๋ฅผ ์ถ๊ฐ ํ ์ ์๋ค.
txt2img extra noise multiplier for hires.fix (EXPERIMENTAL)
hires.fix ๋จ๊ณ์์ ์ถ๊ฐ์ ์ธ noise๋ฅผ ๋ ํ ์ ์๋ค.
Hires.fix filter before upscaler
Hires.fix ๋จ๊ณ ์ค upscaler ์ ์ filter๋ฅผ ์ ์ฉํ ์ ์๋ค.
Hires.fix filter after upscaler
Hires.fix ๋จ๊ณ ์ค upscaler ํ์ filter๋ฅผ ์ ์ฉํ ์ ์๋ค.
Resample (EXPERIMENTAL)
Self resampling ๊ธฐ๋ฅ์
๋๋ค. txt2img -> hres.fix๋ฅผ ํตํด ์์ฑ๋ ์ด๋ฏธ์ง๋ฅผ ๋ค์ txt2img -> hires.fix ๊ณผ์ ์ ์ํํ๋ฉด์
ControlNet Tile Resample์ ์ํํฉ๋๋ค. ์๋์ ๊ฐ์ ๊ฒฝ์ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค.
- ๋ ๋ชจ๋ธ๊ฐ์ ๊ฒฐ๊ณผ๋ฌผ ์ฐจ์ด๊ฐ ํฐ ๊ฒฝ์ฐ
- ๋ ๋ชจ๋ธ๊ฐ์ ์ธ๋ฌผ ๋น์จ์ด ์ฐจ์ด๋๋ ๊ฒฝ์ฐ
- ๋ ๋ชจ๋ธ๊ฐ ๋ฒ์ ์ด ๋ค๋ฅธ ๊ฒฝ์ฐ (SDXL, SD15)
| txt2img->hires.fix | Resample + BMAB Basic |
![]() |
![]() |
BMAB resample image by [padapari](https://www.instagram.com/_padapari_/)
Enable self resample (EXPERIMENTAL)
์ด ๊ธฐ๋ฅ์ ์ผ๊ณ ๋ ์ ์์ต๋๋ค.
Save image before processing
์ต์ด txt2img -> hires.fix๋ฅผ ํตํด ์์ฑ๋ ์ด๋ฏธ์ง๊ฐ ํ ์ฒ๋ฆฌ๋ฅผ ์ํด BMAB๋ก ์
๋ ฅ๋๋ฉด,
ํด๋น ์ด๋ฏธ์ง๋ฅผ ํ๋ก์ธ์ฑํ๊ธฐ ์ ์ ์ ์ฅํฉ๋๋ค. ์ด๋ฏธ์ง postfix๋ก "-before-resample"์ด ๋ถ์ต๋๋ค.
Checkpoint
SD Checkpoint๋ฅผ ์ง์ ํ ์ ์์ต๋๋ค. ์ง์ ํ์ง ์๋๋ค๋ฉด ์์์ ์ค์ ๋ Checkpoint๋ฅผ ์ฌ์ฉํฉ๋๋ค.
ํ๋ก์ธ์ค๊ฐ ์๋ฃ๋์ด๋ ์๋ ๊ฒ์ผ๋ก ๋๋ ค๋์ง ์์ต๋๋ค.
SD VAE
SD VAE๋ฅผ ์ง์ ํ ์ ์์ต๋๋ค. ์ง์ ํ์ง ์๋๋ค๋ฉด ์์์ ์ค์ ๋ VAE๋ฅผ ์ฌ์ฉํฉ๋๋ค.
ํ๋ก์ธ์ค๊ฐ ์๋ฃ๋์ด๋ ์๋ ๊ฒ์ผ๋ก ๋๋ ค๋์ง ์์ต๋๋ค.
Resample method
Resample ๋ฐฉ๋ฒ์ ์ ํํ ์ ์์ต๋๋ค.
txt2img-1pass : txt2img์ hires.fix ์์ด ๋์์ํจ๋ค.
txt2img-2pass : txt2img๋ฅผ hires.fix๋ก ๋์์ํจ๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ์ด๋ฏธ์ง๋ฅผ ์ถ๋ ฅํ ๋ hires.fix๊ฐ ๋์ํด์ผํ๋ง ํ๋ค.
img2img-1pass : img2img๋ก ๋์์ํจ๋ค.
Resample filter
Resample์ด ์๋ฃ๋๊ณ ๋ ์ดํ์ ์ธ๋ถ filter ์ฝ๋๋ฅผ ํธ์ถํ์ฌ ์ด๋ฏธ์ง ๋ณํ์ ์ถ๊ฐ์ ์ผ๋ก ์ํํ ์ ์๋ค.
Resample prompt
resampling ๊ณผ์ ์์ ์ฌ์ฉํ prompt์
๋๋ค. ๋น์ด์๋ ๊ฒฝ์ฐ main prompt์ ๋์ผํ๋ฉฐ,
"#!org!#" ๋ฅผ ์
๋ ฅํ๋ฉด main prompt๋ฅผ ๋์ฒดํฉ๋๋ค. "#!org!#" ์ดํ์ ์ถ๊ฐ๋ก prompt๋ฅผ ์ ์ ์ ์์ต๋๋ค.
ex) #!org!#, soft light, some more keyword
Resample negative prompt
resampling ๊ณผ์ ์์ ์ฌ์ฉํ prompt์ ๋๋ค. ๋น์ด์๋ ๊ฒฝ์ฐ main negative prompt์ ๋์ผํฉ๋๋ค.
Sampling method
ํ๋ก์ธ์ค์ ์ฌ์ฉํ sampling method๋ฅผ ์ง์ ํฉ๋๋ค. ์ง์ ํ์ง ์๋๋ค๋ฉด ์ด์ ํ๋ก์ธ์ค์ ๊ฐ์ sampler๋ฅผ ์ง์ ํฉ๋๋ค.
Upsacler
hires.fix๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ์ ์ง์ ํ๋ upscaler์ ๋๋ค.
Resample sampling steps
resample process ์ฌ์ฉํ samping steps๋ฅผ ์ง์ ํฉ๋๋ค.
(๊ถ์ฅ 20)
Resample CFG scale
resample process ์ฌ์ฉํ CFG scale ๊ฐ์ ์ง์ ํฉ๋๋ค. dynamic threshold๋ ์ง์ํ์ง ์์ต๋๋ค.
Resample denoising strength
resample process๊ฐ ์ฌ์ฉํ denoising strength๋ฅผ ์ง์ ํฉ๋๋ค.
(๊ถ์ฅ 0.4)
Resample strength
0์ ๊ฐ๊น์ด ๊ฐ์ ์ ๋ ฅ ์ด๋ฏธ์ง์ ๋ฉ์ด์ง๊ณ , 1์ ๊ฐ๊น์ธ ์๋ก ์๋ณธ ์ด๋ฏธ์ง์ ์ ์ฌํฉ๋๋ค.
Resample begin
sampling ๋จ๊ณ์ ์ ์ฉ ์์์ .
Resample end
sampling ๋จ๊ณ ์ ์ฉ ์ข ๋ฃ ์์ .
Pretraining (EXPERIMENTAL)
Pretraining detailer์
๋๋ค. ultralytics๋ก pretraining ๋ชจ๋ธ์ ์ ์ฉํ์ฌ detection์ ์ํํ๊ณ
์ด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก prompt, negative prompt๋ฅผ ์ ์ฉํ์ฌ ๋ถ๋ถ์ ์ผ๋ก ์ด๋ฏธ์ง๋ฅผ ๋ ์์ธํ๊ฒ ๊ทธ๋ฆด ์ ์์ต๋๋ค.
Enable pretraining detailer (EXPERIMENTAL)
์ด ๊ธฐ๋ฅ์ ์ผ๊ณ ๋ ์ ์์ต๋๋ค.
Enable pretraining before hires.fix
pretraining detailer๋ฅผ hires.fix ์ ์ ์ํํ๋๋ก ํ๋ค.
Pretraining model
ultralytics ๋ก ํ์ต๋ detection model (*.pt)๋ฅผ ์ง์ ํ ์ ์์ต๋๋ค.
stable-diffusion-webui/models/BMAB์ ํด๋น ํ์ผ์ด ์์ด์ผ ๋ชฉ๋ก์ ๋ํ๋ฉ๋๋ค.
Pretraining prompt
pretraining detailer process ๊ณผ์ ์์ ์ฌ์ฉํ prompt์
๋๋ค. ๋น์ด์๋ ๊ฒฝ์ฐ main prompt์ ๋์ผํ๋ฉฐ,
"#!org!#" ๋ฅผ ์
๋ ฅํ๋ฉด main prompt๋ฅผ ๋์ฒดํฉ๋๋ค. "#!org!#" ์ดํ์ ์ถ๊ฐ๋ก prompt๋ฅผ ์ ์ ์ ์์ต๋๋ค.
ex) #!org!#, soft light, some more keyword
Pretraining negative prompt
pretraining detailer process ๊ณผ์ ์์ ์ฌ์ฉํ prompt์ ๋๋ค. ๋น์ด์๋ ๊ฒฝ์ฐ main negative prompt์ ๋์ผํฉ๋๋ค.
Sampling method
ํ๋ก์ธ์ค์ ์ฌ์ฉํ sampling method๋ฅผ ์ง์ ํฉ๋๋ค. ์ง์ ํ์ง ์๋๋ค๋ฉด ์ด์ ํ๋ก์ธ์ค์ ๊ฐ์ sampler๋ฅผ ์ง์ ํฉ๋๋ค.
Pretraining sampling steps
resample process ์ฌ์ฉํ samping steps๋ฅผ ์ง์ ํฉ๋๋ค.
(๊ถ์ฅ 20)
Pretraining CFG scale
resample process ์ฌ์ฉํ CFG scale ๊ฐ์ ์ง์ ํฉ๋๋ค. dynamic threshold๋ ์ง์ํ์ง ์์ต๋๋ค.
Pretraining denoising strength
resample process๊ฐ ์ฌ์ฉํ denoising strength๋ฅผ ์ง์ ํฉ๋๋ค.
(๊ถ์ฅ 0.4)
Pretraining dilation
detection ๋ ์ฌ๊ฐํ์ ๋ฒ์๋ฅผ ์ฃผ์ด์ง ๊ฐ ๋งํผ ํฌ๊ธฐ๋ฅผ ํฌ๊ฒ ํฉ๋๋ค.
Pretraining box threshold
Detector์ ๊ฒ์ถ ๊ฐ์ ๊ฒฐ์ ํฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ 0.35๋ณด๋ค ์์ผ๋ฉด face๊ฐ ์๋ ๊ฒ์ผ๋ก ์ ์ธํฉ๋๋ค.
ultralytics predict์ confidence ๊ฐ์
๋๋ค.
Edge enhancemant
์ด๋ฏธ์ง ๊ฒฝ๊ณ๋ฅผ ๊ฐํํด ์ ๋ช ๋๋ฅผ ์ฆ๊ฐ์ํค๊ฑฐ๋ ๋ํ ์ผ์ ์ฆ๊ฐ์ํค๋ ๊ธฐ๋ฅ์ ๋๋ค.
Upscaler๊ฐ Latent ๊ณ์ด์ธ ๊ฒฝ์ฐ ๋์ํ์ง ์์ต๋๋ค. (R-ESRGAN, 4x-UltraSharp ์ถ์ฒ)
๊ถ์ฅ์ค์
- Edge low threshold : 50
- Edge high threshold : 200
- Edge strength : 0.5
Enabled : CHECK!!
Contrast : 1.2
Brightness : 0.9
Sharpeness : 1.5
Enable edge enhancement : CHECK!!
Edge low threshold : 50
Edge high threshold : 200
Edge strength : 0.5
Resize
txt2img -> hires.fix ์ ์ค๊ฐ ๊ณผ์ ์์ ๋์ํฉ๋๋ค..
๋ง์ฝ img2img์์ ์ฌ์ฉํ๋ค๋ฉด, ํ๋ก์ธ์ค ์์ ์ ์ ๋์ํฉ๋๋ค.
๊ทธ๋ฆผ ์ ์ธ๋ฌผ์ค ๊ฐ์ฅ ์ ์ฅ์ด ํฐ ์ฌ๋์ ๊ธธ์ด์ ๊ทธ๋ฆผ ๋์ด์ ๋น์จ์ด ์ค์ ๊ฐ์ ๋์ด๊ฐ๋ฉด ๋น์จ์ ์ค์ ๊ฐ๋ก ๋ง์ถ๋ ๊ธฐ๋ฅ์
๋๋ค.
์ค์ ๊ฐ์ด 0.90์ด๊ณ ์ธ๋ฌผ์ ์ ์ฒด ๊ธธ์ด: ๊ทธ๋ฆผ ๋์ด์ ๋น์จ์ด 0.95๋ผ๊ณ ํ๋ค๋ฉด
๋ฐฐ๊ฒฝ์ ๋๋ ค์ ์ธ๋ฌผ์ ๋น์จ์ด 0.90์ด ๋๋๋ก ํฉ๋๋ค.
๋ฐฐ๊ฒฝ์ Alignment์์ ์ง์ ํ ๋ฐฉ์์ ๋ฐ๋ผ ๋์ด๋ฉ๋๋ค.
txt2img ์ํํ๋ ๋จ๊ณ์์ hires.fix ํ๊ธฐ ์ง์ ์ ์ด๋ฏธ์ง๋ฅผ ๋ณ๊ฒฝํฉ๋๋ค.
์ด ๊ณผ์ ์ ๋ณ๊ฒฝ๋ ์ด๋ฏธ์ง๊ฐ hires.fix ๊ณผ์ ์์ ๋งค๋๋ฝ๊ฒ ๋ณํ๊ฒ ํ๊ธฐ ์ํ ๊ฒ์
๋๋ค.
denoising strength๋ 0.6~0.7 ์ ๋๋ฅผ ์ฌ์ฉํ์
์ผ ์ฃผ๋ณ๋ถ ์ด๋ฏธ์ง ์๊ณก์ด ๋ฐ์ํ์ง ์์ต๋๋ค.
Upscaler๊ฐ Latent ๊ณ์ด์ธ ๊ฒฝ์ฐ ๋์ํ์ง ์์ต๋๋ค. (R-ESRGAN, 4x-UltraSharp ์ถ์ฒ)
Method
Resize ํ๋ ๋ฐฉ์์ ์ง์ ํ ์ ์์ต๋๋ค.
- Stretching : ๋จ์ํ ์ด๋ฏธ์ง๋ฅผ ์ธ๊ณฝ๋ถ๋ถ์ ๋๋ ค์ ๋ฐฐ๊ฒฝ์ ํ์ฅํฉ๋๋ค.
- inpaint : Stretching๋ ์ด๋ฏธ์ง๋ฅผ mask๋ฅผ ์ฌ์ฉํ์ฌ ๋๋ฆฐ ๋ถ๋ถ๋ง img2img inpainting์ ์ํํฉ๋๋ค.
- inpaint+lama : Controlnet์ inpaint+lama ๋ชจ๋ธ์ ์ฌ์ฉํ์ฌ ํ์ฅ๋ ์์ญ์ ๋ค์ ๊ทธ๋ฆฝ๋๋ค.
- inpaint_only : Controlnet์ inpaint_only๋ฅผ ์ฌ์ฉํ์ฌ ํ์ฅ๋ ์์ญ์ ๋ค์ ๊ทธ๋ฆฝ๋๋ค.
Alignment
์ด๋ฏธ์ง๋ฅผ ํ์ฅํ๊ณ ์๋ ์ด๋ฏธ์ง๋ฅผ ์ด๋ ๋ฐฉํฅ์ผ๋ก ์ ๋ ฌํ ๊ฒ์ธ์ง๋ฅผ ๊ฒฐ์ ํฉ๋๋ค.
Resize filter
Resize๊ฐ ์๋ฃ๋๊ณ ๋ ์ดํ์ ์ธ๋ถ filter ์ฝ๋๋ฅผ ํธ์ถํ์ฌ ์ด๋ฏธ์ง ๋ณํ์ ์ถ๊ฐ์ ์ผ๋ก ์ํํ ์ ์๋ค.
Resize by person intermediate
์ธ๋ฌผ์ ํฌ๊ธฐ ๋น์จ์ ๋ํ๋ ๋๋ค. ์ด ๊ฐ์ ์ด๊ณผํ๋ฉด ์ด ํฌ๊ธฐ๊ฐ ๋๋๋ก ๋ฐฐ๊ฒฝ์ ํ์ฅ์ํต๋๋ค.
| Original | Resize 0.7 | Resize 0.5 |
![]() |
![]() |
![]() |
| Original | Alignment center |
![]() |
![]() |
| Alignment bottom | Alignment bottom-left |
![]() |
![]() |
Resize sample
Refiner
txt2img์์ ๋ง๋ค์ด์ง ์ด๋ฏธ์ง๋ฅผ ํ๋ฒ ๋ ๊ทธ๋ฆฌ๋ ๊ณผ์ ์ ์ํํ๋ค.
txt2img + hires.fix ๊ฐ ๋ ์ํฉ์์๋ ์ ํจํ๋ค.
refiner๋ ์ด๋ฏธ์ง๊ฐ ์์ฑ๋๊ณ detailing ํ๊ธฐ์ ์ ๋์ํ๋ฉฐ,
sd-webui์ hires.fix + refiner๋ฅผ ํฉ์น ๋์๊ณผ ๋น์ทํ๋ค.
| txt2img(512x768) | txt2img + hires.fix(800x1200) | txt2img + hires.fix + refiner(1200x1800) |
![]() |
![]() |
![]() |
(์ ์์ ๋ ๊ฒฐ๊ณผ๋ฅผ ๋ชจ๋ resizeํ์ฌ ๋์ผํ ํฌ๊ธฐ์ด๋ค.)
์ ์์ ์ ๊ฐ์ด 3๋จ๊ณ๋ก ์ฒ๋ฆฌํ ์๋ ์์ผ๋,
hires.fix ๋จ๊ณ ์์ด refiner๋ก resizeํ์ฌ ์ฒ๋ฆฌํ ์๋ ์๋ค.
Enable refiner
refiner ์ฌ์ฉ ์ฌ๋ถ๋ฅผ ์ฒดํฌํฉ๋๋ค.
CheckPoint
refiner๋ฅผ ์ด์ฉํ์ฌ ๋ค์ ๊ทธ๋ฆด๋ ์ฌ์ฉํ checkpoint๋ฅผ ์ง์ ํฉ๋๋ค.
Use this checkpoint for detailing
์์์ ์ง์ ํ checkpoint๋ฅผ ์ด์ฉํ์ฌ detailing์ ์ ์ฉํฉ๋๋ค.
Prompt
refiner๊ฐ ์ด๋ฏธ์ง๋ฅผ ๋ค์ ๊ทธ๋ฆด๋ ์ฌ์ฉํ๋ prompt๋ฅผ ์ง์ ํฉ๋๋ค.
๋น์ด์๋ค๋ฉด main prompt์ ๋์ผํ๊ณ ,์ฑ์์ ธ ์๋ค๋ฉด main prompt๋ฅผ ๋ฌด์ํฉ๋๋ค.
๋ง์ฝ #!org!# ๋ฌธ์์ด์ด ์๋ค๋ฉด main prompt๋ฅผ ๋์ฒดํฉ๋๋ค.
Negative prompt
refiner๊ฐ ์ด๋ฏธ์ง๋ฅผ ๋ค์ ๊ทธ๋ฆด๋ ์ฌ์ฉํ๋ negative prompt๋ฅผ ์ง์ ํฉ๋๋ค.
Sampling method
refiner๊ฐ ์ฌ์ฉํ sampler๋ฅผ ์ง์ ํ ์ ์์ต๋๋ค.
(Euler A ๊ถ์ฅ)
Upscaler
refiner๊ฐ ์ด๋ฏธ์ง๋ฅผ resizeํ๋ ๊ฒฝ์ฐ ์ฌ์ฉํ upscaler๋ฅผ ์ง์ ํฉ๋๋ค.
Refiner sampling steps
refiner๊ฐ ์ฌ์ฉํ samping steps๋ฅผ ์ง์ ํฉ๋๋ค.
(๊ถ์ฅ 20)
Refiner CFG scale
refiner๊ฐ ์ฌ์ฉํ CFG scale ๊ฐ์ ์ง์ ํฉ๋๋ค. dynamic threshold๋ ์ง์ํ์ง ์์ต๋๋ค.
Refiner denoising strength
refiner๊ฐ ์ฌ์ฉํ denoising strength๋ฅผ ์ง์ ํฉ๋๋ค.
(๊ถ์ฅ 0.4)
Refiner scale
refiner๊ฐ ์ฃผ์ด์ง ์ด๋ฏธ์ง๋ฅผ scale ๊ฐ์ผ๋ก resizeํฉ๋๋ค. ๋ง์ฝ refiner width, refiner height๊ฐ ์ค์ ๋์ด์๋ค๋ฉด ๋ฌด์๋ฉ๋๋ค.
Refiner width
์ด๋ฏธ์ง ํญ์ ํด๋น ๊ฐ์ผ๋ก ๊ฐ์ ๋ก ์ค์ ํฉ๋๋ค.
Refiner height
์ด๋ฏธ์ง ๋์ด๋ฅผ ํด๋น ๊ฐ์ผ๋ก ๊ฐ์ ๋ก ์ค์ ํฉ๋๋ค.











