CoolFace
Apppublic

orMarcelo/CTN_Identificacion_Uniformes

sourceHugging Faceapache-2.0updated 1y agoView on Hugging Face
0likes
App README

CTN Identificación de Uniformes

Este proyecto es una prueba de concepto (POC) desarrollada para el Colegio Técnico Nacional (CTN) de Paraguay. La aplicación permite identificar a los alumnos y verificar si cumplen con las reglas del uniforme escolar.

✨ Funcionalidades

  • Reconocimiento facial de los alumnos usando InsightFace (ArcFace).
  • Validación de uniformes mediante análisis de colores dominantes (camisa, saco, corbata).
  • Interfaz interactiva con Gradio que permite usar la cámara web o subir imágenes.
  • Configuración flexible de colores y tolerancias a través de uniform_rules.yaml.
  • Gestión de alumnos mediante la carpeta known_faces/.

🚀 Cómo funciona

  1. 1.El alumno se coloca frente a la cámara.
  2. 2.El sistema detecta el rostro y lo compara contra los registros en known_faces/.
  3. 3.Se verifican los colores del uniforme en regiones predefinidas (torso, corbata).
  4. 4.Se muestra en pantalla:
  5. 5.Nombre del alumno (o "Desconocido").
  6. 6.Estado del uniforme ("OK" o "NO OK").
  7. 7.Imagen con rectángulos sobre las áreas analizadas.

📂 Estructura del proyecto

CTN_Identificacion_Uniformes/
│
├── app.py                 # Aplicación principal con Gradio
├── requirements.txt       # Dependencias del proyecto
├── uniform_rules.yaml     # Reglas de colores y tolerancias del uniforme
├── known_faces/           # Fotos de entrenamiento de los alumnos
│   ├── Alumno1/
│   │   ├── foto1.jpg
│   │   └── foto2.jpg
│   └── Alumno2/
│       ├── foto1.jpg
│       └── foto2.jpg
└── README.md              # Este archivo

⚙️ Configuración de reglas

El archivo uniform_rules.yaml define la paleta de colores aceptada:

yaml
top_colors: ["#ffffff"]
outer_colors: ["#0b2242", "#13294b"]
tie_required: true
tie_color_hex: ["#0b2242"]
tolerances: { delta_e: 20 }
  • top_colors: colores permitidos para camisa/polo.
  • outer_colors: colores permitidos para saco/sweater.
  • tie_required: indica si la corbata es obligatoria.
  • tie_color_hex: colores aceptados para la corbata.
  • tolerances: margen de diferencia de color.

🛠️ Instalación local

  1. 1.Clonar el repositorio:
   git clone https://huggingface.co/spaces/orMarcelo/CTN_Identificacion_Uniformes
   cd CTN_Identificacion_Uniformes
  1. 1.Crear entorno virtual y activar (opcional).
  1. 1.Instalar dependencias:
   pip install -r requirements.txt
  1. 1.Ejecutar la aplicación:
   python app.py
  1. 1.Abrir el navegador en http://localhost:7860.

📸 Entrenamiento de alumnos

Colocar fotos en known_faces/NombreAlumno/. Al iniciar, el sistema genera automáticamente los embeddings en encodings_insightface.pkl.

📜 Licencia

Este proyecto se distribuye bajo la licencia Apache 2.0.


Proyecto desarrollado como POC para el CTN Paraguay. Autor: Marcelo Vázquez.