portu-sim / sd-webui-bmab

Auto masking and inpainting for person, face, hand. Resizing image using detection model.
GNU Affero General Public License v3.0
291 stars 29 forks source link

Preprocessor- Resize 개선안 #18

Open ThisisLandu opened 7 months ago

ThisisLandu commented 7 months ago

Resize를 사용할때 hires fix의 denoising값을 0.6 이상을 권장하고 있는데 hires의 denoising값이 높으면 생기는 문제가, 인체기획전이 가끔 열립니다. 또 변형되는게 커서 hires 이전에 이미지랑 다르게 생성되기도 하고요

하루종일 만지면서 추가됬으면 좀더 나은 이미지를 만들것 같은 기능들입니다.

1.Resize 초반 outpainting 영역 stretch/noise 선택기능 추가 resize기능 사용시 stretch 때문에 outpainting영역은 직선형태를 주로 이루고, 대각선방향은 단색무늬로 채워지는 경향이 있는데 이를 noise로 대체

2. outpainting시 sampling steps를 기본 sampling steps랑 분리 기본 sampling steps를 낮게하면 outpainting 때도 낮은 sampling steps로 되서 품질 낮아짐

3. outpainting시 기존 image도 같이 i2i 돌리는 옵션 추가 (non-masking) 이음새부분 좀더 자연스럽게 연결됨

4. 3의 non masking의 추가옵션인데, 기존 이미지랑 outpainting 의 맞닿는 부분 masked padding 옵션추가 (blending? blur?) 이음새부분 좀더 자연스럽게 연결됨

portu-sim commented 7 months ago
  1. Noise로 채우면 전혀 엉뚱한 이미지가 나오기 때문에 stretch 를 적용했습니다. stretch대신 inpaint를 사용하시기 권장드립니다.
  2. 이것은 고려해보겠습니다.
  3. 이것은 hires.fix 혹은 refiner를 사용하면 됩니다.
  4. resize의 outpainting은 resize가 최종적으로 적용되는 것을 고려하고 있지 않습니다. resize 이후 hires.fix를 수행하거나 refiner가 동작한다는 가정이 있습니다.