orMarcelo/CTN_Identificacion_Uniformes
0
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
- El alumno se coloca frente a la cámara.
- El sistema detecta el rostro y lo compara contra los registros en
known_faces/. - Se verifican los colores del uniforme en regiones predefinidas (torso, corbata).
- Se muestra en pantalla:
- Nombre del alumno (o "Desconocido").
- Estado del uniforme ("OK" o "NO OK").
- 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:
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
- Clonar el repositorio:
git clone https://huggingface.co/spaces/orMarcelo/CTN_Identificacion_Uniformes
cd CTN_Identificacion_Uniformes- Crear entorno virtual y activar (opcional).
- Instalar dependencias:
pip install -r requirements.txt- Ejecutar la aplicación:
python app.py- 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.
