+
+ |
+ |
| + Person, Face Detailing, cnNoise(0.4, 0, 0.4), cnPose(1, 0, 1), cnIpAdapter(0.6, 0, 0.3), Custom Filter, + | +|
+
+ |
+ |
| + IC-Light(Left), Face Detailing, Resample, cnNoise(0.4, 0, 0.4), cnPose(1, 0, 1), cnIpAdapter(0.6, 0, 0.3) + | +|
+
+ |
+ |
| + IC-Light(Left), Face Detailing, Resample, cnNoise(0.4, 0, 0.4), cnPose(1, 0, 1), cnIpAdapter(0.6, 0, 0.3) + | +|
+
+ |
+
+
+ |
+
| + IC-Light(Left), Face Detailing, + | ++ IC-Light(Left), Face Detailing, + | +
+
+ |
+ |
| + Face Detailing, Resample, cnNoise(0.4, 0, 0.4), cnPose(1, 0, 1), cnIpAdapter(0.6, 0, 0.3) + | +|
+
+ |
+
+
+ |
+
| + Face Detailing, cnNoise(0.4, 0, 0.4), cnPose(1, 0, 1), cnIpAdapter(0.6, 0, 0.3) + | ++ Face Detailing, cnNoise(0.4, 0, 0.4), cnPose(1, 0, 1), cnIpAdapter(0.6, 0, 0.3) + | +
+
+ |
+
+
+ |
+
| + Face Detailing, cnNoise(0.4, 0, 0.4), cnPose(1, 0, 1), cnIpAdapter(0.6, 0, 0.3) + | ++ Face Detailing, cnNoise(0.4, 0, 0.4), cnPose(1, 0, 1), cnIpAdapter(0.6, 0, 0.3) + | +
+
+ |
+
+
+ |
+
| + Face Detailing, cnNoise(0.4, 0, 0.4), cnPose(1, 0, 1), cnIpAdapter(0.6, 0, 0.3) + | ++ Face Detailing, cnNoise(0.4, 0, 0.4), cnPose(1, 0, 1), cnIpAdapter(0.6, 0, 0.3) + | +
+
+ |
+
+
+ |
+
| + Face Detailing, cnNoise(0.4, 0, 0.4), cnPose(1, 0, 1) + | ++ Face Detailing, cnNoise(0.4, 0, 0.4), cnPose(1, 0, 1) + | +
+
+ |
+ |
| + Face Detailing, ControlNet Noise (0.4, 0, 0.4), + | +|
+
+ |
+
+
+ |
+
|
+ Resize intermediate (inpaint+lama, Bottom, 0.75, 0.6), + Face Detailing, ControlNet Noise (0.7, 0, 0.6), + Noise Alpha (0.1) + |
+
+ Resize intermediate (Center, 0.5, 0.6), + Face Detailing, ControlNet Noise (0.4, 0, 0.4) + |
+
+
+ |
+ |
+
+ |
+ |
+
+ |
+ |
+
+ |
+ |
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+ |
| + Resize intermediate (Bottom, 0.5, 0.6), Face Detailing, ControlNet Noise (0.4, 0, 0.4) + | +|
+
+
+
+
+
+
+
+
+
+
+
+
+#### Enable person detailing for landscape (EXPERIMENTAL)
+
+풍경에서 인물을 자세하게 다시 그리는 기능을 활성화 합니다.
+
+#### Block over-scaled image
+
+이 기능이 켜지게 되면 인물을 찾아내서 크게 키워서 다시 그리는데 이때 확대된 이미지의 면적이 본래 이미지를 초과하게 되면 프로세스를 멈춥니다.
+sd-webui가 멈추거나 GPU를 보호하기 위한 목적입니다.
+
+#### Auto scale if "Block over-scaled image" enabled
+
+이 기능을 설정하면 위에서 언급한 "Block over-scaled image"로 차단될 경우 본래 이미지의 면적에 맞춰서 스케일을 조정하여 작업합니다.
+
+#### Upscale Ratio
+
+인물이 발견되면 주어진 비율로 키워서 자세하게 그립니다.
+
+#### Denoising Strength
+
+인물의 크기가 클 경우 0.4로 부족할 수 있습니다. 이런 경우 수치를 올려주세요.
+
+#### Dilation mask
+
+찾아낸 인물의 마스크를 확장합니다.
+
+#### CFG Scale
+
+인물을 다시 그릴때 사용하는 CFG scale 값입니다.
+
+#### Large person area limit
+
+인물이 이미지 속에서 차지하는 면적이 이 값을 초과하면 작업하지 않습니다.
+인물이 충분히 큰 경우 다시 그릴 필요가 없기 때문입니다.
+
+#### Limit
+
+이미지 속에 인물이 너무 많은 경우 면적단위로 큰 것부터 카운트하여 설정값을 초과하여 다시 그리지 않습니다.
+
+
+
+
+
+
+## Face
+
+### Face Detailing
+
+이 기능을 사용하게 되면 프로세스가 완료된 이후 After Detailer(AD)나 Detection Detailer(DD)와 같이
+얼굴을 보정합니다.
+이 기능을 동작시킨 후에 AD, DD가 동작하도록 설정한다면, 결과가 좋지 않을 수 있습니다.
+
+
+
+최대 5개의 캐릭터에 대해 prompt를 별도로 지정할 수 있습니다.
+
+#### Enable face detailing
+
+face detailing 기능을 켜고 끌 수 있습니다.
+
+#### Enable face detailing before hires.fix (EXPERIMENTAL)
+
+face detailing 기능을 txt2img 과정의 hires.fix 직전에 한 번 더 수행합니다.
+얼굴을 보정한 이후에 upscale을 하기 때문에 더 좋은 품질의 이미지를 얻을 수 있습니다.
+하지만 부하가 더 들어가고, 이미지 변화가 심합니다.
+
+#### Face detailing sort by
+
+이미지 안에 여러 인물이 있는 경우 어떤 순서로 Detailing 할 것인지 결정합니다.
+
+
+
+
+왼쪽, 오른쪽 혹은 크기로 가능하며 없다면 기본적으로 Score 값이 높은 순서로 합니다.
+
+#### Limit
+
+이미지 않에 여러 인물이 있는 경우 위에서 정한 순서로 얼마나 수행할지 결정합니다.
+Limit이 1이라면 최대 1개만 수행한다는 뜻입니다.
+
+#### Override Parameters
+
+* Denoising Strength
+* CFG Scale
+* Width
+* Height
+* Steps
+* Mask Blur
+
+위 값에 대해 기본값이 아닌 UI에서 지정한 값을 사용합니다.
+
+#### Inpaint Area
+
+전체를 다시 그릴지 얼굴만 다시 그릴지를 결정합니다. 전체를 다시 그리는 것은 별로 추천하지 않습니다.
+
+#### Only masked padding, pixels
+
+기본값을 사용해 주세요.
+
+#### Dilation
+
+검출된 얼굴의 마스크 크기를 키웁니다.
+
+#### Box threshold
+
+Detector의 검출 값을 결정합니다. 기본값 0.35보다 작으면 face가 아닐 것으로 제외합니다.
+YOLO를 사용하는 경우 confidence를 대체합니다.
+
+**좋은 결과를 얻기 위한 조언**
+
+* Prompt에 얼굴 관련된 lora, textual inversion등 관련 내용을 뺍니다. sunglass 등은 무관합니다.
+* 설정 파일에 얼굴마다 서로 다른 lora, textual inversion 등을 넣습니다.
+* prompt에 lora, TI가 많을 경우 그림 생성 자유도가 떨어지는 것 같습니다.
+* 그림속 모든 캐릭터가 공유되는 lora는 넣어주셔도 무방합니다.
+
+
+
+## Hand
+
+### Hand Detailing (EXPERIMENTAL)
+
+손 표현이 잘못된 부분을 수정하는 기능입니다.
+만들어진 그림에서 손 부분을 자동으로 찾아내어 해당 부분을 다시 그리는 기능입니다.
+다만 손의 경우 다시 그려도 잘 그려질지 확실하지 않으며, 손을 자세하게 그리는 정도입니다.
+
+
+
+#### Enable hand detailing
+
+손 보정 기능을 사용하도록 활성화 합니다.
+
+#### Block over-scaled image
+
+이 기능은 손을 찾아내어 확대해서 다시그리는 방법을 사용합니다.
+다시 그려야 하는 부분의 면적이 원래이미지를 초과하게 되면 작업을 수행하지 않습니다.
+이런 경우에는 Upscale Ratio를 줄이거나, 이 기능을 꺼야하는데, 이 기능을 끄면 매우 큰 그림을 다시 그릴 수도 있어서 GPU에 부하가 걸릴 수 있습니다..
+
+#### Method
+* subframe : 손을 포함하여 얼굴/머리 부분까지 찾아내어 상반신을 다시 그린다.
+* each hand : 손을 찾아내여 3배 크기의 주변부 까지 다시 그려 손만 적용한다.
+* each hand inpaint : 손을 찾아내어 3재 크기의 주변부를 기반으로 손만 다시 그린다.
+ 매우 극단적으로 변형될 수 있어서 잘 그려지기 어렵다 모양이 갖춰진다면, subframe으로 다시 그리는 것을 추천한다.
+* at once : 찾아낸 손을 모두 한번에 다시 그린다.
+
+
+#### Prompt
+
+Subframe에서는 입력하지 않을 것을 권장합니다.
+each hand, each hand inpaint시에 손 관련 프롬프트를 입력합니다.
+
+#### Negative Prompt
+
+Subframe에서는 입력하지 않을 것을 권장합니다.
+each hand, each hand inpaint시에 손 관련 네거티브 프롬프트를 입력합니다.
+
+#### Denoising Strength
+
+다시 그리는 경우 Denoising Strength 값 입니다.
+* subframe : 0.4 권장
+* 기타 0.55 이상 권장
+
+#### CFG Scale
+
+다시 그리는 경우 CFG Scale 값 입니다.
+
+#### Upscale Ratio
+상반신 / 손 주변을 찾아내어 얼마나 크게 확대하여 다시 그릴 것인지 지정한다.
+무조건 크게 그린다고 성공확률이 올라가는 것은 아니다.
+* subframe : 2.0
+* 기타 : 2.0~4.0
+
+#### Box Threshold
+
+손을 찾아내지 못하는 경우 이 값을 낮추면, 찾아낼 수 있는 확률이 올라갑니다.
+하지만 잘 못 찾아낼 가능성도 올라갑니다.
+
+#### Box Dilation
+
+찾아낸 박스(손을 포함하여)의 외곽 부분을 얼마나 크게 할 것이 결정합니다. (only for subframe)
+
+#### Inpaint Area
+
+찾아낸 박스 전체를 다시 그릴 것인지, 손만 다시 그릴 것인지를 결정한다.
+손만 다시그리는 경우 손 모양이 원하지 않게 바뀔 수 있으나 크게 변경된다.
+
+#### Only masked padding
+
+찾아낸 손의 내부 공간을 얼마 정도로 채울지를 결정합니다. 딱히 변경할 일 없습니다.
+
+#### Additional Parameter
+
+현재는 제공하지 않지만 향후 고급 사용자를 위한 옵션을 제공할 예정입니다.
+
+
+
+## ControlNet
+
+ControlNet을 이용하여 이미지에 노이즈를 추가하는 방법으로 디테일을 올리는 기능입니다.
+ControlNet의 Lineart 모델에 가우시안 노이즈 이미지를 입력으로 사용하여,
+결과물에 다양하고 복잡한 디테일을 추가합니다.
+
+#### Noise Strength
+
+노이즈 강도를 지정합니다. (0.4 권장)
+
+#### Begin
+
+Sampling 단계 시작점
+
+#### End
+
+Sampling 단계 끝점
+
+보통의 경우 0.4, 0, 0.4를 권장합니다. 혹은 이미지가 과도하게 그려질 경우 0.2, 0, 0.4 정도로 추천합니다.
+과도하게 이미지가 그려진 경우 refiner를 사용하면 이미지를 어느 정도 안정시킬 수 있습니다.
+
+아래는 모두 같은 seed입니다.
+| 기본이미지 | +0.4 | +0.7 | +
![]() |
+![]() |
+![]() |
+
+
+
+
![]() |
+![]() |
+
![]() |
+![]() |
+
![]() |
+![]() |
+
+
+#### 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
+
+
+
+
+
+
+#### Resize filter
+
+Resize가 완료되고 난 이후에 외부 filter 코드를 호출하여 이미지 변환을 추가적으로 수행할 수 있다.
+
+
+#### Resize by person intermediate
+
+인물의 크기 비율을 나타냅니다. 이 값을 초과하면 이 크기가 되도록 배경을 확장시킵니다.
+
+
+
+| Original | +Resize 0.7 | +Resize 0.5 | +
![]() |
+![]() |
+![]() |
+
| Original | +Alignment center | +
![]() |
+![]() |
+
| Alignment bottom | +Alignment bottom-left | +
![]() |
+![]() |
+
+
+
+
+
+
+
+
+
+
+
+
+
+## Refiner
+
+txt2img에서 만들어진 이미지를 한번 더 그리는 과정을 수행한다.
+txt2img + hires.fix 가 된 상황에서도 유효하다.
+
+refiner는 이미지가 생성되고 detailing 하기전에 동작하며,
+sd-webui의 hires.fix + refiner를 합친 동작과 비슷하다.
+
+
+
+| txt2img(512x768) | +txt2img + hires.fix(800x1200) | +txt2img + hires.fix + refiner(1200x1800) | +
![]() |
+![]() |
+![]() |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#### Enable person detailing for landscape (EXPERIMENTAL)
+
+풍경에서 인물을 자세하게 다시 그리는 기능을 활성화 합니다.
+
+#### Block over-scaled image
+
+이 기능이 켜지게 되면 인물을 찾아내서 크게 키워서 다시 그리는데 이때 확대된 이미지의 면적이 본래 이미지를 초과하게 되면 프로세스를 멈춥니다.
+sd-webui가 멈추거나 GPU를 보호하기 위한 목적입니다.
+
+#### Auto scale if "Block over-scaled image" enabled
+
+이 기능을 설정하면 위에서 언급한 "Block over-scaled image"로 차단될 경우 본래 이미지의 면적에 맞춰서 스케일을 조정하여 작업합니다.
+
+#### Upscale Ratio
+
+인물이 발견되면 주어진 비율로 키워서 자세하게 그립니다.
+
+#### Denoising Strength
+
+인물의 크기가 클 경우 0.4로 부족할 수 있습니다. 이런 경우 수치를 올려주세요.
+
+#### Dilation mask
+
+찾아낸 인물의 마스크를 확장합니다.
+
+#### CFG Scale
+
+인물을 다시 그릴때 사용하는 CFG scale 값입니다.
+
+#### Large person area limit
+
+인물이 이미지 속에서 차지하는 면적이 이 값을 초과하면 작업하지 않습니다.
+인물이 충분히 큰 경우 다시 그릴 필요가 없기 때문입니다.
+
+#### Limit
+
+이미지 속에 인물이 너무 많은 경우 면적단위로 큰 것부터 카운트하여 설정값을 초과하여 다시 그리지 않습니다.
+
+
+
+
+
+
+## Face
+
+### Face Detailing
+
+이 기능을 사용하게 되면 프로세스가 완료된 이후 After Detailer(AD)나 Detection Detailer(DD)와 같이
+얼굴을 보정합니다.
+이 기능을 동작시킨 후에 AD, DD가 동작하도록 설정한다면, 결과가 좋지 않을 수 있습니다.
+
+
+
+최대 5개의 캐릭터에 대해 prompt를 별도로 지정할 수 있습니다.
+
+#### Enable face detailing
+
+face detailing 기능을 켜고 끌 수 있습니다.
+
+#### Enable face detailing before hires.fix (EXPERIMENTAL)
+
+face detailing 기능을 txt2img 과정의 hires.fix 직전에 한 번 더 수행합니다.
+얼굴을 보정한 이후에 upscale을 하기 때문에 더 좋은 품질의 이미지를 얻을 수 있습니다.
+하지만 부하가 더 들어가고, 이미지 변화가 심합니다.
+
+#### Face detailing sort by
+
+이미지 안에 여러 인물이 있는 경우 어떤 순서로 Detailing 할 것인지 결정합니다.
+
+
+
+
+왼쪽, 오른쪽 혹은 크기로 가능하며 없다면 기본적으로 Score 값이 높은 순서로 합니다.
+
+#### Limit
+
+이미지 않에 여러 인물이 있는 경우 위에서 정한 순서로 얼마나 수행할지 결정합니다.
+Limit이 1이라면 최대 1개만 수행한다는 뜻입니다.
+
+#### Override Parameters
+
+* Denoising Strength
+* CFG Scale
+* Width
+* Height
+* Steps
+* Mask Blur
+
+위 값에 대해 기본값이 아닌 UI에서 지정한 값을 사용합니다.
+
+#### Inpaint Area
+
+전체를 다시 그릴지 얼굴만 다시 그릴지를 결정합니다. 전체를 다시 그리는 것은 별로 추천하지 않습니다.
+
+#### Only masked padding, pixels
+
+기본값을 사용해 주세요.
+
+#### Dilation
+
+검출된 얼굴의 마스크 크기를 키웁니다.
+
+#### Box threshold
+
+Detector의 검출 값을 결정합니다. 기본값 0.35보다 작으면 face가 아닐 것으로 제외합니다.
+YOLO를 사용하는 경우 confidence를 대체합니다.
+
+**좋은 결과를 얻기 위한 조언**
+
+* Prompt에 얼굴 관련된 lora, textual inversion등 관련 내용을 뺍니다. sunglass 등은 무관합니다.
+* 설정 파일에 얼굴마다 서로 다른 lora, textual inversion 등을 넣습니다.
+* prompt에 lora, TI가 많을 경우 그림 생성 자유도가 떨어지는 것 같습니다.
+* 그림속 모든 캐릭터가 공유되는 lora는 넣어주셔도 무방합니다.
+
+
+
+## Hand
+
+### Hand Detailing (EXPERIMENTAL)
+
+손 표현이 잘못된 부분을 수정하는 기능입니다.
+만들어진 그림에서 손 부분을 자동으로 찾아내어 해당 부분을 다시 그리는 기능입니다.
+다만 손의 경우 다시 그려도 잘 그려질지 확실하지 않으며, 손을 자세하게 그리는 정도입니다.
+
+
+
+#### Enable hand detailing
+
+손 보정 기능을 사용하도록 활성화 합니다.
+
+#### Block over-scaled image
+
+이 기능은 손을 찾아내어 확대해서 다시그리는 방법을 사용합니다.
+다시 그려야 하는 부분의 면적이 원래이미지를 초과하게 되면 작업을 수행하지 않습니다.
+이런 경우에는 Upscale Ratio를 줄이거나, 이 기능을 꺼야하는데, 이 기능을 끄면 매우 큰 그림을 다시 그릴 수도 있어서 GPU에 부하가 걸릴 수 있습니다..
+
+#### Method
+* subframe : 손을 포함하여 얼굴/머리 부분까지 찾아내어 상반신을 다시 그린다.
+* each hand : 손을 찾아내여 3배 크기의 주변부 까지 다시 그려 손만 적용한다.
+* each hand inpaint : 손을 찾아내어 3재 크기의 주변부를 기반으로 손만 다시 그린다.
+ 매우 극단적으로 변형될 수 있어서 잘 그려지기 어렵다 모양이 갖춰진다면, subframe으로 다시 그리는 것을 추천한다.
+* at once : 찾아낸 손을 모두 한번에 다시 그린다.
+
+
+#### Prompt
+
+Subframe에서는 입력하지 않을 것을 권장합니다.
+each hand, each hand inpaint시에 손 관련 프롬프트를 입력합니다.
+
+#### Negative Prompt
+
+Subframe에서는 입력하지 않을 것을 권장합니다.
+each hand, each hand inpaint시에 손 관련 네거티브 프롬프트를 입력합니다.
+
+#### Denoising Strength
+
+다시 그리는 경우 Denoising Strength 값 입니다.
+* subframe : 0.4 권장
+* 기타 0.55 이상 권장
+
+#### CFG Scale
+
+다시 그리는 경우 CFG Scale 값 입니다.
+
+#### Upscale Ratio
+상반신 / 손 주변을 찾아내어 얼마나 크게 확대하여 다시 그릴 것인지 지정한다.
+무조건 크게 그린다고 성공확률이 올라가는 것은 아니다.
+* subframe : 2.0
+* 기타 : 2.0~4.0
+
+#### Box Threshold
+
+손을 찾아내지 못하는 경우 이 값을 낮추면, 찾아낼 수 있는 확률이 올라갑니다.
+하지만 잘 못 찾아낼 가능성도 올라갑니다.
+
+#### Box Dilation
+
+찾아낸 박스(손을 포함하여)의 외곽 부분을 얼마나 크게 할 것이 결정합니다. (only for subframe)
+
+#### Inpaint Area
+
+찾아낸 박스 전체를 다시 그릴 것인지, 손만 다시 그릴 것인지를 결정한다.
+손만 다시그리는 경우 손 모양이 원하지 않게 바뀔 수 있으나 크게 변경된다.
+
+#### Only masked padding
+
+찾아낸 손의 내부 공간을 얼마 정도로 채울지를 결정합니다. 딱히 변경할 일 없습니다.
+
+#### Additional Parameter
+
+현재는 제공하지 않지만 향후 고급 사용자를 위한 옵션을 제공할 예정입니다.
+
+
+
+## ControlNet
+
+ControlNet을 이용하여 이미지에 노이즈를 추가하는 방법으로 디테일을 올리는 기능입니다.
+ControlNet의 Lineart 모델에 가우시안 노이즈 이미지를 입력으로 사용하여,
+결과물에 다양하고 복잡한 디테일을 추가합니다.
+
+#### Noise Strength
+
+노이즈 강도를 지정합니다. (0.4 권장)
+
+#### Begin
+
+Sampling 단계 시작점
+
+#### End
+
+Sampling 단계 끝점
+
+보통의 경우 0.4, 0, 0.4를 권장합니다. 혹은 이미지가 과도하게 그려질 경우 0.2, 0, 0.4 정도로 추천합니다.
+과도하게 이미지가 그려진 경우 refiner를 사용하면 이미지를 어느 정도 안정시킬 수 있습니다.
+
+아래는 모두 같은 seed입니다.
+| 기본이미지 | +0.4 | +0.7 | +
![]() |
+![]() |
+![]() |
+
+
+
+
![]() |
+![]() |
+
![]() |
+![]() |
+
![]() |
+![]() |
+
+
+#### 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
+
+
+
+
+
+
+#### Resize filter
+
+Resize가 완료되고 난 이후에 외부 filter 코드를 호출하여 이미지 변환을 추가적으로 수행할 수 있다.
+
+
+#### Resize by person intermediate
+
+인물의 크기 비율을 나타냅니다. 이 값을 초과하면 이 크기가 되도록 배경을 확장시킵니다.
+
+
+
+| Original | +Resize 0.7 | +Resize 0.5 | +
![]() |
+![]() |
+![]() |
+
| Original | +Alignment center | +
![]() |
+![]() |
+
| Alignment bottom | +Alignment bottom-left | +
![]() |
+![]() |
+
+
+
+
+
+
+
+
+
+
+
+
+
+## Refiner
+
+txt2img에서 만들어진 이미지를 한번 더 그리는 과정을 수행한다.
+txt2img + hires.fix 가 된 상황에서도 유효하다.
+
+refiner는 이미지가 생성되고 detailing 하기전에 동작하며,
+sd-webui의 hires.fix + refiner를 합친 동작과 비슷하다.
+
+
+
+| txt2img(512x768) | +txt2img + hires.fix(800x1200) | +txt2img + hires.fix + refiner(1200x1800) | +
![]() |
+![]() |
+![]() |
+
+
+
+
+
+
+
+
+