From 5561a95232db3887ce02c6103e6fb04f47f86c6f Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Sun, 23 Oct 2022 22:52:32 -0400 Subject: [PATCH] inpainting fix per PR #1218 - This is a merge of the final version of PR #1218 "Inpainting Improvements" Various merge conflicts made it easier to commit directly. Author: Kyle0654 Co-Author: lstein --- configs/models.yaml | 6 +++--- ldm/invoke/generator/inpaint.py | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/configs/models.yaml b/configs/models.yaml index 9d6d80084f..46bc2df8b4 100644 --- a/configs/models.yaml +++ b/configs/models.yaml @@ -8,15 +8,15 @@ stable-diffusion-1.4: config: configs/stable-diffusion/v1-inference.yaml weights: models/ldm/stable-diffusion-v1/model.ckpt - vae: models/ldm/stable-diffusion-v1/vae-ft-mse-840000-ema-pruned.ckpt +# vae: models/ldm/stable-diffusion-v1/vae-ft-mse-840000-ema-pruned.ckpt description: Stable Diffusion inference model version 1.4 + default: true width: 512 height: 512 stable-diffusion-1.5: config: configs/stable-diffusion/v1-inference.yaml weights: models/ldm/stable-diffusion-v1/v1-5-pruned-emaonly.ckpt +# vae: models/ldm/stable-diffusion-v1/vae-ft-mse-840000-ema-pruned.ckpt description: Stable Diffusion inference model version 1.5 width: 512 height: 512 - vae: models/ldm/stable-diffusion-v1/vae-ft-mse-840000-ema-pruned.ckpt - default: true diff --git a/ldm/invoke/generator/inpaint.py b/ldm/invoke/generator/inpaint.py index f524f3d236..8fbcf249aa 100644 --- a/ldm/invoke/generator/inpaint.py +++ b/ldm/invoke/generator/inpaint.py @@ -109,7 +109,7 @@ class Inpaint(Img2Img): return make_image - def sample_to_image(self, samples)->Image: + def sample_to_image(self, samples)->Image.Image: gen_result = super().sample_to_image(samples).convert('RGB') if self.pil_image is None or self.pil_mask is None: @@ -142,7 +142,7 @@ class Inpaint(Img2Img): # Blur the mask out (into init image) by specified amount if mask_blur_radius > 0: nm = np.asarray(pil_init_mask, dtype=np.uint8) - nmd = cv.dilate(nm, kernel=np.ones((3,3), dtype=np.uint8), iterations=int(mask_blur_radius / 2)) + nmd = cv.erode(nm, kernel=np.ones((3,3), dtype=np.uint8), iterations=int(mask_blur_radius / 2)) pmd = Image.fromarray(nmd, mode='L') blurred_init_mask = pmd.filter(ImageFilter.BoxBlur(mask_blur_radius)) else: