Este proyecto implementa un sistema de reconocimiento facial utilizando Python y la librería OpenCV, específicamente empleando el algoritmo LBPH (Local Binary Patterns Histograms).
Edwin Agustin Desarrollador originario de La Romana, República Dominicana. Apasionado por el Machine Learning, la Inteligencia Artificial, la Ciencia de Datos y la Tecnología en general.
El sistema se divide en tres etapas principales:
- Recolección de datos: Captura imágenes del rostro del usuario para crear una base de datos.
- Entrenamiento: Procesa las imágenes recolectadas para generar un modelo matemático (
.xml). - Reconocimiento: Utiliza la cámara en tiempo real para identificar rostros basándose en el modelo entrenado.
Asegúrate de tener instalado Python y las siguientes dependencias:
opencv-contrib-python(Necesario para el módulo de reconocimiento facial LBPH)opencv-pythonimutilsnumpy
Puedes instalar todas las dependencias ejecutando:
pip install -r requeriments.txtPara un mejor entendimiento, puedes consultar el archivo tutorial.mp4 incluido en el repositorio. Los scripts deben ejecutarse en el siguiente orden:
Ejecuta el script para capturar imágenes de una persona nueva:
python recolectarGrayScale.pySigue las instrucciones en la terminal, ingresa el nombre de la persona y mantente frente a la cámara hasta que se capturen las 50 imágenes requeridas.
Una vez recolectados los datos, entrena el modelo de reconocimiento:
python entrenandoRF.pyEste script procesará las imágenes de la carpeta data/ y guardará el modelo entrenado en LBPH/modeloLBPHFace_.xml.
Para iniciar el reconocimiento facial mediante la cámara:
python ReconocimientoGrayScale.pyEl programa detectará los rostros y mostrará el nombre de la persona si el nivel de confianza es adecuado. Presiona la tecla ESC para salir.
recolectarGrayScale.py: Captura de imágenes.entrenandoRF.py: Entrenamiento del modelo LBPH.ReconocimientoGrayScale.py: Ejecución del reconocimiento facial.tutorial.mp4: Video guía para el uso del sistema.LBPH/: Carpeta donde se almacena el modelo entrenado.data/: Carpeta donde se guardan las imágenes de los rostros recolectados.