Une application Web basée sur l'apprentissage en profondeur pour marquer la fréquentation des étudiants en reconnaissant les visages de l'élève à partir des séquences vidéo de surveillance de la classe.
Une application Web à Python pour reconnaître les visages des étudiants dans une salle de classe à partir de la vidéo de surveillance et marquer la fréquentation dans une feuille Excel. Des algorithmes d'apprentissage en profondeur comme MTCNN et Facenet sont utilisés pour la détection et la reconnaissance du visage respectivement. Et en utilisant le framework Flask , l'application Web a été créée.
Les choses suivantes doivent être installées correctement dans votre machine.
Pour l'installation des packages, utilisez la commande pip install .
Le nombre requis d' images (au moins 10) pour chaque élève doit être collecté et stocké dans des dossiers séparés. Les dossiers doivent être nommés dans le nom des étudiants respectifs. Le chemin vers les dossiers peut être Root_folder/attendance/facenet/dataset/raw/

Ici, l' algorithme de détection de visage MTCNN est utilisé. Il faut Root_folder/attendance/facenet/dataset/raw/ comme entrée et renvoie Root_folder/attendance/facenet/dataset/aligned/ asput. Fondamentalement, il détecte les visages, aligne la région du visage de chaque image et la stocker dans le répertoire aligné.
Exécutez la commande suivante dans l'invite de commande.
$ python attendance/facenet/src/align/align_dataset_mtcnn.py
attendance/facenet/dataset/raw attendance/facenet/dataset/aligned
--image_size 160 --margin 32

L'ensemble de données de sortie de l'étape 2 est introduit dans le classificateur de machine de vecteur de support qui génère un vecteur d'intégration de 512 dimensions pour les visages de chaque élève et forme le classificateur sur les vecteurs générés.
Exécutez les commandes suivantes dans l'invite de commande.
$ 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_datasetCréez un dossier vide nommé rapports . Il s'agit de stocker le rapport Excel Sheets de la présence , qui est automatiquement généré lorsque l'algorithme Facenet reconnaît les étudiants. Ceci est implémenté à l'aide du module Python XLSXWriter .
Exécutez maintenant l'application Web par $ python run.py il affichera une adresse localehost comme http://127.0.0.1:5000/ qui sera l'URL de l'application Web.
Lors de l'exécution de l'application, il redirige vers la page d'accueil. Sur cette page, il y a un hyperlien de détails de classe ADD . Fondamentalement, il demande à l'utilisateur d'entrer les détails de l'élève. Les détails fournis sont stockés dans la base de données SQLite .
Remarque: Le nom de chaque élève entré doit être le même que le nom de l'ensemble de données de l'élève créé à l'étape 1 .
En appuyant sur l'hyperlien de fréquentation de prise , il vous redirige vers une page où l'utilisateur doit télécharger une image de la classe.
Remarque: L'image doit être en bonne résolution et il contient également les visages clairs de tous les étudiants.
Après avoir téléchargé l'image, il faut un jour pour traiter. Vous pouvez afficher les détails de l'arrière-plan en cours d'exécution dans l'invite de commande. Ensuite, il crée une feuille Excel dans le dossier des rapports qui contient les détails de fréquentation.