C'est ma tentative de faire un système de reconnaissance faciale pour la fréquentation en classe ou au bureau. Le système est basé sur un type spécial d'architecture CNN connue sous le nom de réseau siamois. Un tel réseau est formé pour générer un vecteur 128 très précis et presque unique étant donné que les images de visage qui sont transmises au réseau sont correctement alignées et recadrées.
Ensuite, un autre réseau neuronal dense est formé en prenant les entrées de ces intérêts. Le deuxième réseau neuronal est uniquement à des fins de classification. Ensuite, la personne qui est identifiée par le système, sa présence dans le système est incrémentée de 1.
Lorsque le système est fermé, un fichier Excel consistant à fréquenter tous les étudiants est généré.
pris de Deeplearning.ai.
Vous pouvez regarder ces vidéos. Le professeur Andrew Ng donne une excellente explication à ces réseaux.
J'ai téléchargé le modèle Facenet pré-entraîné de Nyoki-MTL Githubu
Ce réseau est pré-entraîné sur un ensemble de données assez grand et produit un vecteur 128 dimensionnel unique pour un visage particulier étant donné que les images qui lui sont alimentées sont recadrées uniquement dans la région du visage et sont entières. La taille d'entrée de l'image pour ce netowrk est 160x160x3
La détection du visage est atteinte en utilisant des cascades Haar d'OpenCV. La détection du visage Haarcascade est utilisée pour détecter le visage et cette région détectée est alimentée au générateur d'incorporation.
Le deuxième réseau neuronal a une architecture dense et est utilisé pour la classification. Le deuxième réseau neuronal prend en entrée le vecteur 128 dimensionnel et outpose la probabilité que le visage soit l'un des étudiants. L'architecture du deuxième réseau neuronal est 
La base de données utilisée est MongoDB. Pymongo est utilisé pour ajouter, supprimer des enregistrements et également incrémenter la présence de l'étudiant particulier. 
Une fois l'application clôturée, un fichier Excel est généré. Ce fichier Excel contient la présence de tous les étudiants.
Commencez votre terminal de CMD en fonction de votre système d'exploitation.
Si vous avez un GPU NVIDIA, assurez-vous d'avoir les conditions préalables à l'installation du GPU TensorFlow (reportez-vous au site officiel). Puis utilisez ce command
PIP INSTALL -R-RIDENSE_GPU.TXT
Dans le cas où vous n'avez pas de GPU, utilisez cette commande
pip install -r requirements_cpu.txt
1) Installez toutes les exigences
2) Faites un dossier nommé "People" sans citations
3) Maintenant, exécutez générer_trainage_data.py, lorsque cela s'exécute, entrez le nom de la personne suivi d'un index commençant à partir de zéro par exemple, si je veux générer des données pour "Ravi", j'écrirai "RAVI0" et pour le nom suivant, écrivez "SecondName1", assurez-vous simplement que l'index donné à tout le monde est en ordre croissant. Maintenant, mettez tous ces dossiers dans le dossier People 
4) Maintenant dans Trainer.py Changez le nombre de classes en fonction du nombre de dossiers, puis exécutez Trainer.py
5) Le modèle sera formé.
6) Créez maintenant une base de données à l'aide de MongoDB. Entrez tous les noms avec leur présence. Cela peut être atteint par
a) Créer une base de données nommée "Nouveau"
b) Créer une collection nommée "PA"
c) Ajouter les enterries. Pour EG db.pa.insert ({"name": "satinder", "présence": 0})

7) Open Reconnateur.py et modifiez maintenant le dictionnaire "A" et les gens selon vos données. La clé du tableau «A» est l'indice des personnes et les données sont une variable indiquant qui est utilisée pour indiquer que dans une session particulière, si la présence de la personne a été prise.
8) Le dictionnaire «les gens» s'explique par auto.
9) Exécutez Reconnateur.py pour reconnaître les gens. Leur fréquentation sera enregistrée dans la base de données MongoDB.


Si vous l'avez aimé, vous aimerez sûrement aussi mes autres dépositions. Vous pouvez également jeter un œil à ma chaîne YouTube "Reactor Science". Si vous avez des doutes, vous pouvez me contacter sur ma page Facebook "Reactor Science"
1) Deep Learning with Python par François Chollet
2) Keras.io
3) Deeplearning.ai par Coursera (Prof Andrew Ng)
4) CS231N par Stanford
5) pyimagessearch.com (Adrian Rosenberg)
6) Brandon Amos (github: https: //github.com/bamos)