jarondon82 commited on
Commit
fb3e27a
·
1 Parent(s): 326b5e0

Corregir lógica para detección de múltiples rostros

Browse files
Files changed (1) hide show
  1. streamlit_app.py +56 -2
streamlit_app.py CHANGED
@@ -1538,9 +1538,44 @@ def main():
1538
  # Añadir nuevo modelo
1539
  st.session_state.face_database[person_name]['models'].append(model_name)
1540
  st.session_state.face_database[person_name]['embeddings'].append(embedding['embedding'])
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1541
 
1542
- # Incrementar contador
1543
- st.session_state.face_database[person_name]['count'] += 1
1544
  else:
1545
  st.error("Failed to extract embeddings. Please try again with a clearer image.")
1546
  else:
@@ -1570,6 +1605,25 @@ def main():
1570
  # Añadir nuevo modelo
1571
  st.session_state.face_database[person_name]['models'].append(model_name)
1572
  st.session_state.face_database[person_name]['embeddings'].append(embedding['embedding'])
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1573
 
1574
  st.success(f"Face registered successfully for {person_name}!")
1575
 
 
1538
  # Añadir nuevo modelo
1539
  st.session_state.face_database[person_name]['models'].append(model_name)
1540
  st.session_state.face_database[person_name]['embeddings'].append(embedding['embedding'])
1541
+
1542
+ # Incrementar contador
1543
+ st.session_state.face_database[person_name]['count'] += 1
1544
+ else:
1545
+ # Crear nueva entrada en la base de datos
1546
+ st.sidebar.write(f"Creating new entry for {person_name} (multiple faces)")
1547
+
1548
+ models = []
1549
+ embeddings = []
1550
+
1551
+ for embedding in embeddings_all_models:
1552
+ models.append(embedding['model'])
1553
+ embeddings.append(embedding['embedding'])
1554
+
1555
+ st.session_state.face_database[person_name] = {
1556
+ 'embeddings': embeddings,
1557
+ 'models': models,
1558
+ 'count': 1
1559
+ }
1560
+
1561
+ st.success(f"Face registered successfully for {person_name}!")
1562
+
1563
+ # Guardar la base de datos actualizada
1564
+ if DATABASE_UTILS_AVAILABLE:
1565
+ save_success = save_face_database(st.session_state.face_database)
1566
+ if save_success:
1567
+ st.info("Face database saved successfully!")
1568
+ # Mostrar información actualizada de la base de datos
1569
+ print_database_info()
1570
+ else:
1571
+ st.error("Error saving face database!")
1572
+
1573
+ # Mostrar la imagen con el rostro detectado
1574
+ processed_image, _ = process_face_detections(image, [bboxes[0]], confidence_threshold)
1575
+ st.image(cv2.cvtColor(processed_image, cv2.COLOR_BGR2RGB), caption=f"Registered face: {person_name}")
1576
 
1577
+ # Forzar recarga de la interfaz para mostrar el rostro registrado
1578
+ st.rerun()
1579
  else:
1580
  st.error("Failed to extract embeddings. Please try again with a clearer image.")
1581
  else:
 
1605
  # Añadir nuevo modelo
1606
  st.session_state.face_database[person_name]['models'].append(model_name)
1607
  st.session_state.face_database[person_name]['embeddings'].append(embedding['embedding'])
1608
+
1609
+ # Incrementar contador
1610
+ st.session_state.face_database[person_name]['count'] += 1
1611
+ else:
1612
+ # Crear nueva entrada en la base de datos
1613
+ st.sidebar.write(f"Creating new entry for {person_name}")
1614
+
1615
+ models = []
1616
+ embeddings = []
1617
+
1618
+ for embedding in embeddings_all_models:
1619
+ models.append(embedding['model'])
1620
+ embeddings.append(embedding['embedding'])
1621
+
1622
+ st.session_state.face_database[person_name] = {
1623
+ 'embeddings': embeddings,
1624
+ 'models': models,
1625
+ 'count': 1
1626
+ }
1627
 
1628
  st.success(f"Face registered successfully for {person_name}!")
1629