Update controlnet_module.py
Browse files- controlnet_module.py +4 -18
controlnet_module.py
CHANGED
|
@@ -1018,21 +1018,6 @@ class ControlNetProcessor:
|
|
| 1018 |
overlap = np.sum(mask_binary & bbox_mask)
|
| 1019 |
bbox_overlap_ratio = overlap / bbox_area if bbox_area > 0 else 0 # WICHTIG: durch bbox_area!
|
| 1020 |
|
| 1021 |
-
|
| 1022 |
-
|
| 1023 |
-
# Optimale Kopfgröße: 80-120% der BBox
|
| 1024 |
-
if area_ratio < 0.6:
|
| 1025 |
-
print(f" ⚠️ Fläche zu klein für Kopf (<60% der BBox)")
|
| 1026 |
-
area_score = area_ratio * 0.5 # Stark bestrafen
|
| 1027 |
-
elif area_ratio > 1.5:
|
| 1028 |
-
print(f" ⚠️ Fläche zu groß für Kopf (>150% der BBox)")
|
| 1029 |
-
area_score = 2.0 - area_ratio # Linear bestrafen
|
| 1030 |
-
elif 0.8 <= area_ratio <= 1.2:
|
| 1031 |
-
area_score = 1.0 # Perfekte Größe
|
| 1032 |
-
print(f" ✅ Perfekte Kopfgröße (80-120% der BBox)")
|
| 1033 |
-
else:
|
| 1034 |
-
# Sanfte Abweichung
|
| 1035 |
-
area_score = 1.0 - abs(area_ratio - 1.0) * 0.5
|
| 1036 |
|
| 1037 |
|
| 1038 |
# 2. KOMPAKTHEIT/SOLIDITÄT (30%)
|
|
@@ -1063,9 +1048,11 @@ class ControlNetProcessor:
|
|
| 1063 |
print(f" 🎯 Kompaktheits-Analyse:")
|
| 1064 |
print(f" • Solidität (Fläche/Konvex): {solidity:.3f}")
|
| 1065 |
print(f" • Exzentrizität (Form): {eccentricity:.3f}")
|
| 1066 |
-
print(f" • Kompaktheits-Score: {compactness_score:.
|
|
|
|
|
|
|
| 1067 |
|
| 1068 |
-
|
| 1069 |
|
| 1070 |
score = (
|
| 1071 |
bbox_overlap_ratio * 0.5 + # 50% BBox-Überlappung (vorher 20%)
|
|
@@ -1077,7 +1064,6 @@ class ControlNetProcessor:
|
|
| 1077 |
print(f" 📊 GESICHTS-SCORES für Maske {i+1}:")
|
| 1078 |
print(f" • Flächen-Score: {area_score:.3f}")
|
| 1079 |
print(f" • Kompaktheits-Score: {compactness_score:.3f}")
|
| 1080 |
-
print(f" • BBox-Überlappungs-Score: {bbox_score:.3f}")
|
| 1081 |
print(f" • Konfidenz-Score: {confidence_score:.3f}")
|
| 1082 |
print(f" • GESAMTSCORE: {score:.3f}")
|
| 1083 |
|
|
|
|
| 1018 |
overlap = np.sum(mask_binary & bbox_mask)
|
| 1019 |
bbox_overlap_ratio = overlap / bbox_area if bbox_area > 0 else 0 # WICHTIG: durch bbox_area!
|
| 1020 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1021 |
|
| 1022 |
|
| 1023 |
# 2. KOMPAKTHEIT/SOLIDITÄT (30%)
|
|
|
|
| 1048 |
print(f" 🎯 Kompaktheits-Analyse:")
|
| 1049 |
print(f" • Solidität (Fläche/Konvex): {solidity:.3f}")
|
| 1050 |
print(f" • Exzentrizität (Form): {eccentricity:.3f}")
|
| 1051 |
+
print(f" • Kompaktheits-Score: {compactness_score:.3f}")
|
| 1052 |
+
|
| 1053 |
+
|
| 1054 |
|
| 1055 |
+
confidence_score = mask_max
|
| 1056 |
|
| 1057 |
score = (
|
| 1058 |
bbox_overlap_ratio * 0.5 + # 50% BBox-Überlappung (vorher 20%)
|
|
|
|
| 1064 |
print(f" 📊 GESICHTS-SCORES für Maske {i+1}:")
|
| 1065 |
print(f" • Flächen-Score: {area_score:.3f}")
|
| 1066 |
print(f" • Kompaktheits-Score: {compactness_score:.3f}")
|
|
|
|
| 1067 |
print(f" • Konfidenz-Score: {confidence_score:.3f}")
|
| 1068 |
print(f" • GESAMTSCORE: {score:.3f}")
|
| 1069 |
|