Spaces:
Build error
Build error
Commit
·
3c8e85d
1
Parent(s):
aa6cb9f
Corregir problema de detección facial: eliminar rectángulos forzados cuando no hay detecciones
Browse files- streamlit_app.py +7 -24
streamlit_app.py
CHANGED
|
@@ -148,10 +148,9 @@ def main():
|
|
| 148 |
print(f"Shape of detection output: {detections.shape}")
|
| 149 |
except Exception as e:
|
| 150 |
print(f"Error al procesar la imagen con el modelo DNN: {str(e)}")
|
| 151 |
-
# En caso de error,
|
| 152 |
-
|
| 153 |
-
|
| 154 |
-
return forced_bboxes
|
| 155 |
|
| 156 |
# Variable para almacenar las cajas delimitadoras
|
| 157 |
bboxes = []
|
|
@@ -192,28 +191,12 @@ def main():
|
|
| 192 |
print(f"Total de detecciones con confianza > {conf_threshold}: {detection_count}")
|
| 193 |
print(f"Total de cajas válidas: {len(bboxes)}")
|
| 194 |
|
| 195 |
-
# Si no se encontraron rostros,
|
| 196 |
if not bboxes:
|
| 197 |
-
|
| 198 |
-
|
| 199 |
-
face_w, face_h = int(w * 0.4), int(h * 0.5) # 40% del ancho, 50% del alto
|
| 200 |
-
x1 = center_x - face_w // 2
|
| 201 |
-
y1 = center_y - face_h // 2
|
| 202 |
-
x2 = x1 + face_w
|
| 203 |
-
y2 = y1 + face_h
|
| 204 |
-
|
| 205 |
-
# Asegurar que esté dentro de los límites
|
| 206 |
-
x1 = max(0, x1)
|
| 207 |
-
y1 = max(0, y1)
|
| 208 |
-
x2 = min(w, x2)
|
| 209 |
-
y2 = min(h, y2)
|
| 210 |
-
|
| 211 |
-
# Añadir rectángulo forzado con confianza "1.0"
|
| 212 |
-
forced_bbox = [x1, y1, x2, y2, 1.0]
|
| 213 |
-
bboxes = [forced_bbox]
|
| 214 |
-
print(f"Forzando rectángulo cuando no se detecta rostro: {forced_bbox}")
|
| 215 |
|
| 216 |
-
# Devolver las cajas
|
| 217 |
return bboxes
|
| 218 |
|
| 219 |
# Función alternativa para detectar rostros usando Haar Cascades
|
|
|
|
| 148 |
print(f"Shape of detection output: {detections.shape}")
|
| 149 |
except Exception as e:
|
| 150 |
print(f"Error al procesar la imagen con el modelo DNN: {str(e)}")
|
| 151 |
+
# En caso de error, devolver lista vacía
|
| 152 |
+
print("Error en la detección de rostros. No se pudo procesar la imagen.")
|
| 153 |
+
return []
|
|
|
|
| 154 |
|
| 155 |
# Variable para almacenar las cajas delimitadoras
|
| 156 |
bboxes = []
|
|
|
|
| 191 |
print(f"Total de detecciones con confianza > {conf_threshold}: {detection_count}")
|
| 192 |
print(f"Total de cajas válidas: {len(bboxes)}")
|
| 193 |
|
| 194 |
+
# Si no se encontraron rostros, devolver lista vacía
|
| 195 |
if not bboxes:
|
| 196 |
+
print(f"No se detectaron rostros con confianza > {conf_threshold}")
|
| 197 |
+
return []
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 198 |
|
| 199 |
+
# Devolver las cajas detectadas
|
| 200 |
return bboxes
|
| 201 |
|
| 202 |
# Función alternativa para detectar rostros usando Haar Cascades
|