Una aplicación web basada en el aprendizaje profundo para marcar la asistencia de los estudiantes al reconocer las caras del estudiante de las imágenes de video de vigilancia del aula.
Una aplicación web en Python para reconocer las caras de los estudiantes en un salón de clases del video de vigilancia y marcar la asistencia en una hoja de Excel. Los algoritmos de aprendizaje profundo como MTCNN y Facenet se utilizan para la detección y el reconocimiento de la cara, respectivamente. Y utilizando el marco de Flask , se creó la aplicación web.
Las siguientes cosas deben instalarse correctamente en su máquina.
Para instalar los paquetes, use el comando pip install .
El número requerido de imágenes (al menos 10) para cada alumno debe recolectarse y almacenarse en carpetas separadas. Las carpetas deben ser nombradas en el nombre de los estudiantes respectivos. La ruta a las carpetas puede ser Root_folder/attendance/facenet/dataset/raw/

Aquí se usa el algoritmo de detección de cara MTCNN . Toma Root_folder/attendance/facenet/dataset/raw/ as entrada y devuelve Root_folder/attendance/facenet/dataset/aligned/ salida. Básicamente, detecta las caras, alinea la región de cada imagen y la almacena en el directorio alineado.
Ejecute el siguiente comando en el símbolo del sistema.
$ python attendance/facenet/src/align/align_dataset_mtcnn.py
attendance/facenet/dataset/raw attendance/facenet/dataset/aligned
--image_size 160 --margin 32

El conjunto de datos de salida del paso 2 se alimenta al clasificador de máquina de vectores de soporte que genera un vector de incrustación de 512 dimensiones para las caras de cada alumno y capacita el clasificador en los vectores generados.
Ejecute los siguientes comandos en el símbolo del sistema.
$ python attendance/facenet/src/classifier.py TRAIN
attendance/facenet/dataset/aligned attendance/facenet/src/20180402-114759/
attendance/facenet/src/20180402-114759/my_classifier.pkl
--batch_size 1000 --min_nrof_images_per_class 10 --nrof_train_images_per_class 10 --use_split_datasetCree una carpeta vacía con nombre de informes . Esto es para almacenar el informe de las hojas de Excel de la asistencia , que se genera automáticamente cuando el algoritmo Facenet reconoce a los estudiantes. Esto se implementa utilizando el módulo XLSXWriter Python .
Ahora ejecute la aplicación web por $ python run.py mostrará una dirección localhost como http://127.0.0.1:5000/ que será la URL para la aplicación web.
Mientras ejecuta la aplicación, redirige a la página de inicio. En esa página, hay un hipervínculo de detalles de clase Agregar . Básicamente le pide al usuario que ingrese los detalles del alumno. Los detalles proporcionados se almacenan en la base de datos SQLite .
Nota: El nombre de cada alumno ingresado debe ser el mismo que el nombre del conjunto de datos del estudiante creado en el Paso 1 .
Al presionar el hipervínculo de asistencia , lo redirige a una página donde el usuario necesita cargar una imagen del aula.
Nota: La imagen debe estar en una buena resolución y también contiene las caras claras de todos los estudiantes.
Después de subir la imagen, se necesita algún tiempo en procesarse. Puede ver los detalles de fondo en ejecución en el símbolo del sistema. Luego crea una hoja de Excel en la carpeta de informes que contiene los detalles de asistencia.