Volver a Proyectos

Reconocimiento Facial y Clustering

Sistema de reconocimiento facial y clustering de imágenes con CNN, Viola-Jones y HOG

Información Rápida

Nombre del proyecto: AI Cluster & Recognition

Descripción: Sistema de reconocimiento facial y clustering de imágenes con CNN, Viola-Jones y HOG.

Tipo: Proyecto personal

Rol: Desarrollador de IA

Fecha: Abril 2024 - Abril 2026

Tecnologías Usadas: Python, Flask, TensorFlow, Keras, OpenCV, Hugging Face

Probar Herramienta Ver Código

Desafío

El análisis manual de grandes colecciones de imágenes para identificar y agrupar personas es una tarea ineficiente y propensa a errores. El desafío principal fue construir un sistema capaz de detectar rostros con precisión y, más importante aún, "entender" las similitudes biométricas para organizar automáticamente a los individuos sin etiquetas previas.

El objetivo fue implementar un pipeline de Visión Artificial y Aprendizaje No Supervisado que no solo localizara caras en una escena, sino que fuera capaz de extraer representaciones matemáticas únicas (embeddings) para realizar un clustering eficiente.

Enfoque y Proceso

El flujo de trabajo comienza con la ingesta de archivos multimedia y un preprocesamiento de imagen para optimizar la iluminación y el enfoque. Implementamos una etapa de Alineación Facial para normalizar la posición de los ojos y la nariz, garantizando que el modelo de extracción se centre exclusivamente en los rasgos distintivos.

Para la generación de descriptores, utilizamos redes neuronales profundas que transforman cada rostro en vectores de alta dimensionalidad. Estos embeddings capturan la esencia biométrica, permitiendo que rostros de la misma persona queden representados en puntos cercanos dentro de un espacio vectorial multidimensional.

Solución Implementada

La arquitectura final integra la detección robusta con algoritmos de agrupamiento inteligente:

  • Detección Multimodelo: Evaluación y comparación de arquitecturas Viola-Jones, HOG + Linear SVM y CNN (Mmod) para la localización precisa de rostros en diversas condiciones de captura.
  • Extracción y Representación: Transformación de las regiones faciales en descriptores vectoriales de alta fidelidad, permitiendo el cálculo de similitud mediante métricas de distancia Euclídea y Coseno.
  • Agrupamiento Automático (Clustering): Implementación de un motor de segmentación no supervisada utilizando DBSCAN (para manejo de ruido y outliers) y K-Means, optimizando la organización de imágenes por identidad y expresión emocional.

Arquitectura del Sistema

1
Detección & Alineación: Localización de rostros (ROI) y normalización geométrica de rasgos faciales.
2
Extracción de Embeddings: Transformación de la imagen del rostro en vectores numéricos de alta dimensionalidad.
3
Cálculo de Distancias: Medición de similitud (Euclidiana/Coseno) entre los vectores extraídos.
4
Clustering Inteligente: Agrupamiento automático de rostros por identidad mediante el modelo MiniXceptionFER.

Características Técnicas Destacadas

Reconocimiento de Emociones

Implementación de redes neuronales convolucionales para clasificar expresiones faciales en tiempo real (felicidad, tristeza, enojo, etc.), aportando una capa de datos psicológicos al análisis.

Clustering Versátil

Evaluación comparativa entre distintos algoritmos como DBSCAN (detección de ruido), K-Means y Agglomerative Clustering para encontrar la mejor agrupación por identidad.

Laboratorio de Optimización

Entorno de pruebas diseñado para ajustar hiperparámetros críticos como el threshold de distancia y el número mínimo de muestras, garantizando la máxima precisión biométrica.

Feature Extraction

Uso de modelos pre-entrenados de vanguardia para transformar imágenes en vectores numéricos robustos, resistentes a cambios de iluminación y variaciones de pose.

Demo

Vistazo a la Herramienta

Presentación del Sistema
Presentación Interfaz principal de la plataforma de análisis facial.
Consola de Control
Consola de Control Selección de motores y ajuste de parámetros de detección.
Resultados de Clustering
Clustering Agrupamiento automático de rostros por identidad y emociones.
Base de Conocimiento 1
Base de Conocimiento Documentación técnica integrada sobre el ecosistema de IA.
Base de Conocimiento 2
Detalles Algorítmicos Explicación profunda del funcionamiento de cada motor.
Métricas de Rendimiento
Métricas Panel de control para evaluar la precisión y exhaustividad.
Visualización de Datos
Análisis de Datos Representación gráfica del rendimiento del modelo.
Glosario Técnico
Glosario Terminología técnica clave para comprender la visión artificial.

Stack Tecnológico

AI & Computer Vision

  • OpenCV (Procesamiento de imagen)
  • TensorFlow & Keras (Deep Learning)
  • Dlib (Reconocimiento facial)

Data & Backend

  • Python
  • Flask
  • Hugging Face (Deploy)
  • Git