Identity es un proyecto de inteligencia artificial que implementa un sistema de desbloqueo facial. Dada la imagen de una persona, el modelo es capaz de identificar quién es y, si corresponde, desbloquear el dispositivo. Este enfoque busca simplificar el acceso a dispositivos, evitando métodos tradicionales como pines o patrones.
20240429-1231-00.4430332.mp4
- Parte teórica: Consulta el archivo
Problemas hiperdimensionales.pdfpara una explicación detallada de los fundamentos teóricos, incluyendo SVMs, clasificación multiclase, kernels, visión por computadora, PCA y técnicas de tuning como GridSearch y CrossValidation. - Parte práctica: El desarrollo y la implementación del modelo se encuentran en el notebook
Identity.ipynb.
- Recopilación de datos: Se utiliza el dataset LFW (Labeled Faces in the Wild) de sklearn para obtener imágenes faciales etiquetadas.
- Preprocesamiento: Se seleccionan y preparan las imágenes y etiquetas para el entrenamiento.
- Entrenamiento: Se entrena un modelo SVM (Support Vector Machine) con búsqueda de hiperparámetros usando GridSearch y validación cruzada.
- Evaluación: Se analiza el desempeño del modelo con métricas de clasificación.
- Despliegue: El modelo se expone mediante una API Flask, con opción de acceso remoto usando ngrok.
Identity.ipynb: Notebook con todo el flujo de trabajo práctico, desde la carga de datos hasta el despliegue del modelo.Problemas hiperdimensionales.pdf: Documento con la explicación teórica y fundamentos matemáticos.
- Python 3.8+
- Paquetes: scikit-learn, matplotlib, numpy, Flask, pyngrok, requests, Pillow
Puedes instalar los requisitos principales con:
pip install scikit-learn matplotlib numpy Flask pyngrok requests Pillow- Abre y ejecuta el notebook
Identity.ipynbpara entrenar y probar el modelo. - Para exponer la API, asegúrate de tener un token de ngrok y sigue las instrucciones en el notebook.
- El modelo está pensado como una demostración educativa. Para aplicaciones reales de reconocimiento facial, se recomienda explorar modelos más avanzados como DeepFace.
- El código y los ejemplos están en español.
Rolando Andrade
Este proyecto es solo con fines educativos.