huggingface / huggingface/diffusers

Controlnet inpainting change too much of masking area

Offen
#7,796 6 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
bug stale
Vorherrschende Sprache
Python
Sterne
34.5k
Forks
7.3k
Ø Merge
3 T. 3 Std.
Gemergte PRs (30 T.)
91

Beschreibung

### Describe the bug

mask

![download-30](https://github.com/huggingface/diffusers/assets/1147704/96ef8de3-88f8-47a7-8c48-a83c567d09fc)

![download-29](https://github.com/huggingface/diffusers/assets/1147704/0286b4b3-0fe6-439c-b4b7-95dec25ee077)

i got mask with this

```
def make_inpaint_condition (image, image_mask):
image = np.array(image.convert("RGB")).astype(np.float32) / 255.0
image_mask = np.array(image_mask.convert("L")).astype(np.float32) / 255.0

assert image.shape[0:1] == image_mask.shape[0:1], "image and image_mask must have the same image size"
image[image_mask > 0.5] = -1.0 # set as masked pixel
image = np.expand_dims(image, 0).transpose(0, 3, 1, 2)
image = torch.from_numpy(image)
return image
```

if use apply mask still bad around edge

```python
output_image = pipe.image_processor.apply_overlay(mask_image1, input_image, output_image)
```

![download-31](https://github.com/huggingface/diffusers/assets/1147704/877bf347-57a9-44a6-b9aa-a5e26ed40d0c)

image

Because there are too many noise below, the one above cannot cover them.

is it possible to preserve mask area?

---

and below is when i use compel without DiffusersTextualInversionManager

the color changed, but it looks cloth is original

https://github.com/damian0815/compel/issues/86

![image](https://github.com/huggingface/diffusers/assets/1147704/0ef91cb6-5ca3-4834-bac1-edecf9646b69)

### Reproduction

code from here

https://huggingface.co/docs/diffusers/en/using-diffusers/controlnet

### Logs

```shell
no log
```

### System Info

0.27.2

### Who can help?

_No response_

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Start with the ControlNet documentation reproduction and inspect the shown make_inpaint_condition function and image_processor.apply_overlay call. Compare the mask handling and generated edges in the supplied examples, then determine whether the behavior is expected or a bug. Done means establishing a reproducible result and preserving the intended masked area without the reported edge noise.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python, pytorch
Bereich
computer-vision, machine-learning
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.