huggingface / huggingface/diffusers

Controlnet inpainting change too much of masking area

Aperta
#7,796 6 commenti 0 reazioni 0 assegnatari Vedi su GitHub
bug stale
Lingua principale
Python
Stelle
34.5k
Fork
7.3k
Merge medio
3g 3h
PR unite (30g)
91

Descrizione

### 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_

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

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.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
python, pytorch
Ambito
computer-vision, machine-learning
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
25/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.