El diseño consiste en la utilización de la librería OpenCV para desarrollar las funcionalidades de entrenamiento y reconocimiento facial, todo esto basado en principios de Deep learning. El sistema utiliza el marco de trabajo “Flask” el cual está basado en Python y provee de una estructura robusta para trabajar con servicios WEB basados en la arquitectura REST. Las principales tecnologías utilizadas en este proyecto son: Python/Flask, HTML, Hojas de estilos y javascript. También se utilizaron librerías con fines de interacción, como Bootstrap 4 para estilos en algunas páginas del sistema, ChartJs para realizar gráficas de asistencias y SweetAlert para realizar alertas más estéticas en el entrenamiento de reconocimiento facial. Todo el sistema funciona en navegadores web compatibles.
Dependencias instaladas para el funcionamiento del sistema: (venv para establecer un entorno virtual de trabajo).
- autopep8 1.5.4
- bidict 0.21.2
- certifi 2020.12.5
- chardet 4.0.0
- click 7.1.2
- Flask 1.1.2
- Flask-MySQLdb 0.2.0
- Flask-SocketIO 5.0.1
- idna 2.10
- imutils 0.5.3
- itsdangerous 1.1.0
- Jinja2 2.11.2
- MarkupSafe 1.1.1
- mysqlclient 2.0.3
- numpy 1.19.5
- opencv-contrib-python 4.5.1.48
- opencv-python 4.5.1.48
- pip 20.2.3
- pycodestyle 2.6.0
- python-dotenv 0.15.0
- python-engineio 4.0.0
- python-socketio 5.0.4
- requests 2.25.1
- setuptools 49.2.1
- toml 0.10.2
- urllib3 1.26.2
- Werkzeug 1.0.1
Las dependencias del lado de cliente son inyectadas vía CDN.