jarondon82 commited on
Commit
3c8e85d
·
1 Parent(s): aa6cb9f

Corregir problema de detección facial: eliminar rectángulos forzados cuando no hay detecciones

Browse files
Files changed (1) hide show
  1. 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, crear un bounding box que cubra toda la imagen
152
- forced_bboxes = [[0, 0, w, h, 1.0]]
153
- print("Forzando un rectángulo por error de procesamiento")
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, forzar un rectángulo que cubra el centro de la imagen
196
  if not bboxes:
197
- # Crear un rectángulo en el centro de la imagen con tamaño proporcional
198
- center_x, center_y = w // 2, h // 2
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 (ahora siempre habrá al menos una)
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