Update app.py
Browse files
app.py
CHANGED
|
@@ -637,7 +637,6 @@ def text_to_image(prompt, model_id, steps, guidance_scale, progress=gr.Progress(
|
|
| 637 |
return None, error_msg
|
| 638 |
|
| 639 |
|
| 640 |
-
|
| 641 |
def img_to_image(image, prompt, neg_prompt, strength, steps, guidance_scale,
|
| 642 |
mode, bbox_x1, bbox_y1, bbox_x2, bbox_y2,
|
| 643 |
progress=gr.Progress()):
|
|
@@ -724,6 +723,17 @@ def img_to_image(image, prompt, neg_prompt, strength, steps, guidance_scale,
|
|
| 724 |
# Für andere Modi: Normaler Prompt
|
| 725 |
enhanced_prompt = prompt
|
| 726 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 727 |
print(f"🎯 Finaler Prompt für {mode}: {enhanced_prompt}")
|
| 728 |
|
| 729 |
|
|
@@ -737,16 +747,20 @@ def img_to_image(image, prompt, neg_prompt, strength, steps, guidance_scale,
|
|
| 737 |
if mode == "focus_change":
|
| 738 |
# MODUS 2: Focus verändern → OpenPose + Canny
|
| 739 |
keep_environment = False
|
| 740 |
-
controlnet_strength = adj_strength * 0.
|
| 741 |
print(f"🎯 MODUS: Focus verändern → OpenPose+Canny (keep_environment=False)")
|
| 742 |
-
|
| 743 |
-
|
|
|
|
| 744 |
keep_environment = True
|
| 745 |
-
controlnet_strength = adj_strength * 0.
|
| 746 |
-
|
| 747 |
-
|
| 748 |
-
|
| 749 |
-
|
|
|
|
|
|
|
|
|
|
| 750 |
|
| 751 |
controlnet_steps = min(25, int(steps * 0.8))
|
| 752 |
print(f"⚙️ ControlNet Settings: Strength={controlnet_strength:.3f}, Steps={controlnet_steps}")
|
|
@@ -833,8 +847,7 @@ def img_to_image(image, prompt, neg_prompt, strength, steps, guidance_scale,
|
|
| 833 |
print(f"❌ Fehler in img_to_image: {e}")
|
| 834 |
import traceback
|
| 835 |
traceback.print_exc()
|
| 836 |
-
return None
|
| 837 |
-
|
| 838 |
|
| 839 |
def update_bbox_from_image(image):
|
| 840 |
"""Aktualisiert die Bounding-Box-Koordinaten wenn ein Bild hochgeladen wird"""
|
|
|
|
| 637 |
return None, error_msg
|
| 638 |
|
| 639 |
|
|
|
|
| 640 |
def img_to_image(image, prompt, neg_prompt, strength, steps, guidance_scale,
|
| 641 |
mode, bbox_x1, bbox_y1, bbox_x2, bbox_y2,
|
| 642 |
progress=gr.Progress()):
|
|
|
|
| 723 |
# Für andere Modi: Normaler Prompt
|
| 724 |
enhanced_prompt = prompt
|
| 725 |
|
| 726 |
+
# ===== HINTERGRUND-BOOSTER FÜR UMGEBUNGS-ÄNDERUNG =====
|
| 727 |
+
if mode == "environment_change":
|
| 728 |
+
# Booster für komplett neue Umgebung
|
| 729 |
+
background_boosters = "complete scene, full background, entire environment, "
|
| 730 |
+
|
| 731 |
+
# Prüfe ob schon Booster enthalten
|
| 732 |
+
if not any(keyword in enhanced_prompt.lower() for keyword in
|
| 733 |
+
["complete scene", "full background", "entire environment", "whole setting"]):
|
| 734 |
+
enhanced_prompt = background_boosters + enhanced_prompt
|
| 735 |
+
print(f"🌳 Hintergrund-Booster hinzugefügt: {background_boosters}")
|
| 736 |
+
|
| 737 |
print(f"🎯 Finaler Prompt für {mode}: {enhanced_prompt}")
|
| 738 |
|
| 739 |
|
|
|
|
| 747 |
if mode == "focus_change":
|
| 748 |
# MODUS 2: Focus verändern → OpenPose + Canny
|
| 749 |
keep_environment = False
|
| 750 |
+
controlnet_strength = adj_strength * 0.7 # Höher für Strukturerhalt
|
| 751 |
print(f"🎯 MODUS: Focus verändern → OpenPose+Canny (keep_environment=False)")
|
| 752 |
+
|
| 753 |
+
elif mode == "environment_change":
|
| 754 |
+
# MODUS 1: Umgebung ändern → Depth + Canny
|
| 755 |
keep_environment = True
|
| 756 |
+
controlnet_strength = adj_strength * 0.3 # NIEDRIG für radikale Änderungen
|
| 757 |
+
print(f"🎯 MODUS: Umgebung ändern → Depth+Canny (keep_environment=True)")
|
| 758 |
+
|
| 759 |
+
else: # face_only_change
|
| 760 |
+
# MODUS 3: Ausschließlich Gesicht → Depth + Canny
|
| 761 |
+
keep_environment = True
|
| 762 |
+
controlnet_strength = adj_strength * 0.5 # Balance für Gesichtsdetails
|
| 763 |
+
print(f"🎯 MODUS: Ausschließlich Gesicht → Depth+Canny (keep_environment=True)")
|
| 764 |
|
| 765 |
controlnet_steps = min(25, int(steps * 0.8))
|
| 766 |
print(f"⚙️ ControlNet Settings: Strength={controlnet_strength:.3f}, Steps={controlnet_steps}")
|
|
|
|
| 847 |
print(f"❌ Fehler in img_to_image: {e}")
|
| 848 |
import traceback
|
| 849 |
traceback.print_exc()
|
| 850 |
+
return None
|
|
|
|
| 851 |
|
| 852 |
def update_bbox_from_image(image):
|
| 853 |
"""Aktualisiert die Bounding-Box-Koordinaten wenn ein Bild hochgeladen wird"""
|