Table des matières:

Reconnaissance faciale et identification - Arduino Face ID à l'aide d'OpenCV Python et Arduino. : 6 étapes
Reconnaissance faciale et identification - Arduino Face ID à l'aide d'OpenCV Python et Arduino. : 6 étapes

Vidéo: Reconnaissance faciale et identification - Arduino Face ID à l'aide d'OpenCV Python et Arduino. : 6 étapes

Vidéo: Reconnaissance faciale et identification - Arduino Face ID à l'aide d'OpenCV Python et Arduino. : 6 étapes
Vidéo: Créer un système de RECONNAISSANCE FACIALE ? Opencv et Python 2024, Novembre
Anonim
Image
Image

La reconnaissance faciale AKA face ID est l'une des fonctionnalités les plus importantes sur les téléphones mobiles de nos jours.

Donc, j'avais une question "puis-je avoir un identifiant de visage pour mon projet Arduino" et la réponse est oui…

Mon parcours a commencé comme suit:

Étape 1: Accès à la webcam

étape 2: identification du visage.

étape 3: Collecte des données

Étape 4: Formation

étape 5: Reconnaissance faciale

étape 6: Programmation Arduino

Je vais vous expliquer toutes les étapes ci-dessous. J'espère que cela vous aidera.

Étape 1: Accès à la webcam

Accès à la webcam
Accès à la webcam

La 1ère étape pour la reconnaissance faciale était d'avoir accès à une caméra ou à une vision par ordinateur. Étant donné que l'Inde est sous verrouillage, la solution la moins chère que j'ai trouvée consistait à utiliser la webcam de mon ordinateur à laquelle j'avais accès avec un programme python utilisant le module openCV.

Vous pensez peut-être à ce qu'est OpenCV, n'est-ce pas ?

OpenCV (Open Source Computer Vision Library) est une bibliothèque de logiciels open source de vision par ordinateur et d'apprentissage automatique. OpenCV a été conçu pour fournir une infrastructure commune pour les applications de vision par ordinateur et pour accélérer l'utilisation de la perception machine dans les produits commerciaux.

Si Opencv est installé sur votre ordinateur, vous êtes prêt à partir. Sinon, suivez cette étape.

ouvrez l'invite de commande et tapez "pip install opencv".

Attention: Vous pouvez obtenir une erreur car "'pip' n'est pas reconnu comme une commande interne ou externe". pour lequel vous devez ajouter le chemin de votre installation pip à votre variable système PATH. Passez par ce post cela peut vous aider.

stackoverflow.com/questions/23708898/pip-i…

Une fois OpenCV installé, nous sommes prêts… Pour vérifier s'il est correctement installé, ouvrez votre interpréteur Python et importez la bibliothèque. Voir l'image ci-dessus qui devrait être votre sortie.

Téléchargez le fichier python "AccessTo_webcam.py" et exécutez-le. J'y ai fourni tous les commentaires nécessaires.

Et voilà, maintenant vous avez accès à la webcam. Bien fait. passons à l'étape 2.

Étape 2: Identification du visage

Identification du visage
Identification du visage

à l'aide du même module OpenCV, nous devons identifier s'il y a un visage sur le flux vidéo ou non.

OpenCV fournit une méthode d'entraînement ou des modèles pré-entraînés appelés Cascade Classifier. Les modèles pré-entraînés se trouvent dans le dossier de données de l'installation OpenCV. Je fournis ce fichier, il suffit de le télécharger et de le placer dans le dossier de votre projet. Le dossier dans lequel le fichier "AccessTo_webcam.py" est stocké. Si vous n'en avez pas créé, faites-le.

Téléchargez "haarcascade_frontalface_default" et placez-le dans le dossier principal du projet.

Téléchargez "Face_identification.py" et placez-le dans le dossier principal du projet. Toutes les explications y sont données.

Vous pouvez maintenant identifier les visages dans un flux vidéo. Passons donc à l'étape 3.

Étape 3: Collecte de données

Collecte de données
Collecte de données

Pour reconnaître les visages, nous devons entraîner notre programme python. Pour lequel nous avons besoin de quelques données.

La collecte de données est plutôt l'étape la plus simple de ce projet. créez un dossier nommé "image_data" dans le dossier principal de votre projet. Dans le dossier "image_data", créez des dossiers supplémentaires avec le nom de la personne, où nous stockerons les données. par exemple:

Dans le dossier "image_data", j'ai créé deux autres dossiers nommés "HRK" et "Yahiya". comme le montre l'image ci-dessus.

Maintenant, créez vos propres dossiers et nommez-les.

Une fois les dossiers créés, commencez à collecter des images de cette personne spécifique. Je recommande de collecter près d'une vingtaine d'images par personne. Vous pouvez également ajouter plus d'images mais veillez à ce que les données collectées pour toutes les personnes contiennent le même nombre d'images. Cela aide à fournir de la précision.

ça y est, passons maintenant à l'étape 4.

Étape 4: Formation

Bref, nous allons parcourir tous les dossiers et images qui sont présents dans le dossier "image_data" et créer un dictionnaire qui contiendra l'identifiant du label et le nom correspondant. Simultanément, nous chargerons l'image pour détecter le visage dans chaque image que nous appelons "Région d'intérêt" et créerons un fichier ".yml" qui contient ces informations.

En supposant que vous ayez des données collectées pour les personnes X et Y.

nous étiqueterons la personne X comme 1 qui sera son ID d'étiquette et le nom sera X lui-même. Nous chargeons l'image pour trouver son visage, c'est-à-dire la région d'intérêt et ajoutons les données à une liste.

des étapes similaires seront suivies pour la personne Y. Et enfin, nous créerons un fichier ".yml".

Téléchargez le fichier "face_trainer.py" et placez-le dans le dossier principal du projet. Toutes les explications nécessaires sont fournies dans ce dossier lui-même.

Lorsque vous exécutez ce programme, il parcourt toutes les images et crée deux fichiers nommés "labels.pickle" et "trainner.yml". Vous avez maintenant formé votre propre modèle. passons donc à l'étape 5.

Étape 5: Reconnaissance faciale

Reconnaissance de visage
Reconnaissance de visage

Si vous avez suivi toutes les étapes correctement, vous avez peut-être créé vos propres données entraînées. Nous allons maintenant utiliser ces données pour la reconnaissance faciale.

Fondamentalement, nous allons charger nos modèles entraînés dans le fichier python, accéder à notre webcam et identifier les visages dans le flux vidéo et effectuer une comparaison ou une prédiction entre le visage actuel identifié dans le flux vidéo et le modèle qui a été entraîné. si les données correspondent, alors nous disons que la personne est reconnue, c'est aussi simple que cela…

Téléchargez "face_recognise.py" et exécutez-le. Toutes les informations nécessaires y sont fournies. Maintenant, votre visage a peut-être été reconnu. si la précision n'est pas bonne, essayez de mettre à jour les données. si vous êtes prêt à partir, passons à l'étape 6/

Étape 6: Programmation d'Arduino

La dernière et dernière étape consiste à programmer Arduino, et à fournir un mode de communication entre python et Arduino. Pour la communication, j'ai utilisé "Serial Communication". Parcourez la vidéo que j'ai liée ci-dessus pour découvrir comment fonctionne la communication série et en établir une. Vous trouverez tous les fichiers requis dans la description de la vidéo.

Si vous avez parcouru la vidéo, laissez-moi vous expliquer ce que j'ai fait. Lorsque mon visage est reconnu, l'ID d'étiquette fourni est 2. Une fois que l'ID d'étiquette est 2, j'enverrai '1' comme données série à mon Arduino. Ce qui allumera mon circuit de poursuite LED. Si l'ID de l'étiquette est autre que 2, j'enverrai « 0 » comme données série, ce qui éteindra mon circuit de poursuite de LED.

Téléchargez le fichier "ard_chaser.ino". Il s'agit d'un simple programme de poursuite de LED qui utilise la communication série.

Téléchargez également "face_recogniser1.py" qui établira la communication série entre Arduino et le programme python.

Voilà. J'espère que vous avez appris quelque chose de nouveau. Abonnez-vous à ma chaîne YouTube pour plus d'informations sur Python et Arduino. Partagez ceci si vous l'avez aimé. Continuez à soutenir.

Merci.

Conseillé: