Update controlnet_module.py
Browse files- controlnet_module.py +5 -11
controlnet_module.py
CHANGED
|
@@ -450,6 +450,7 @@ class ControlNetProcessor:
|
|
| 450 |
|
| 451 |
for i in range(num_masks):
|
| 452 |
single_mask = outputs.pred_masks[:, :, i, :, :]
|
|
|
|
| 453 |
resized_mask = F.interpolate(
|
| 454 |
single_mask,
|
| 455 |
size=(image.height, image.width),
|
|
@@ -529,16 +530,9 @@ class ControlNetProcessor:
|
|
| 529 |
|
| 530 |
print(f"✅ Beste Maske: Nr. {best_mask_idx+1} mit Score {best_score:.3f}")
|
| 531 |
|
| 532 |
-
|
| 533 |
-
best_mask_256 = outputs.pred_masks[:, :, best_mask_idx, :, :]
|
| 534 |
-
resized_mask = F.interpolate(
|
| 535 |
-
best_mask_256,
|
| 536 |
-
size=(512, 512), # DIREKT AUF CONTROLNET-ZIELGRÖßE
|
| 537 |
-
mode='bilinear',
|
| 538 |
-
align_corners=False
|
| 539 |
-
).squeeze()
|
| 540 |
|
| 541 |
-
mask_np =
|
| 542 |
print(f" 🔄 Beste Maske skaliert auf 512×512 für ControlNet")
|
| 543 |
|
| 544 |
# ============================================================
|
|
@@ -608,11 +602,11 @@ class ControlNetProcessor:
|
|
| 608 |
mask_array = (mask_array_float * 255).astype(np.uint8)
|
| 609 |
|
| 610 |
# 5. Auf Originalgröße für Rückgabe (falls benötigt)
|
| 611 |
-
|
| 612 |
raw_mask = Image.fromarray(raw_mask_array).convert("L")
|
| 613 |
|
| 614 |
# Finale Maske für ControlNet ist 512x512
|
| 615 |
-
mask =
|
| 616 |
|
| 617 |
print(f"✅ FOCUS_CHANGE Maske erstellt: {mask.size}")
|
| 618 |
return mask, raw_mask #Wichtig: mask (SAM-Maske) muß in Originalgröße zurück sonst Probleme in Funktion create_mask_and_sam_together
|
|
|
|
| 450 |
|
| 451 |
for i in range(num_masks):
|
| 452 |
single_mask = outputs.pred_masks[:, :, i, :, :]
|
| 453 |
+
# Interpolation auf Originalgröße
|
| 454 |
resized_mask = F.interpolate(
|
| 455 |
single_mask,
|
| 456 |
size=(image.height, image.width),
|
|
|
|
| 530 |
|
| 531 |
print(f"✅ Beste Maske: Nr. {best_mask_idx+1} mit Score {best_score:.3f}")
|
| 532 |
|
| 533 |
+
best_mask_original = all_masks[best_mask_idx]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 534 |
|
| 535 |
+
mask_np = best_mask_original
|
| 536 |
print(f" 🔄 Beste Maske skaliert auf 512×512 für ControlNet")
|
| 537 |
|
| 538 |
# ============================================================
|
|
|
|
| 602 |
mask_array = (mask_array_float * 255).astype(np.uint8)
|
| 603 |
|
| 604 |
# 5. Auf Originalgröße für Rückgabe (falls benötigt)
|
| 605 |
+
mask_original = Image.fromarray(mask_array).convert("L")
|
| 606 |
raw_mask = Image.fromarray(raw_mask_array).convert("L")
|
| 607 |
|
| 608 |
# Finale Maske für ControlNet ist 512x512
|
| 609 |
+
mask = mask_original
|
| 610 |
|
| 611 |
print(f"✅ FOCUS_CHANGE Maske erstellt: {mask.size}")
|
| 612 |
return mask, raw_mask #Wichtig: mask (SAM-Maske) muß in Originalgröße zurück sonst Probleme in Funktion create_mask_and_sam_together
|