Vision par ordinateur automatisée
MaisonMaison > Blog > Vision par ordinateur automatisée

Vision par ordinateur automatisée

Jun 03, 2023

Histoire réservée aux membres

Md. Zubair

Suivre

DataDrivenInvestisseur

--

Écouter

Partager

La vision par ordinateur ajoute une nouvelle dimension aux technologies modernes. Consciemment ou inconsciemment, nous utilisons la vision par ordinateur. Je suis professeur d'université et dirige un cours de vision par ordinateur. Habituellement, je prends manuellement les présences; cela consomme du temps et de l'énergie. Il y a deux jours, une idée m'est venue à l'esprit d'automatiser un système pour économiser de l'énergie et du temps. Et j'ai réussi le projet.

Si vous lisez l'article jusqu'à la fin, vous pourrez créer le vôtre. Aucune connaissance complexe ou de niveau supérieur en codage ou en mathématiques n'est nécessaire. Allons-nous en.

J'ai essayé de garder le projet simple et facile afin que les apprenants de niveau débutant se sentent à l'aise pour créer leur premier projet. Importons les bibliothèques requises.

Nous avons extrait les répertoires d'images d'entraînement avec le code ci-dessus et les avons enregistrés dans la variable myList.

Avec le code ci-dessus, nous avons extrait les répertoires d'images d'entraînement et les avons enregistrés dans la variable myList.

Maintenant, considérez la cellule de code suivante.

Le code ci-dessus nous aide à créer deux listes différentes nommées - images et noms de classe. Nous avons enregistré les valeurs d'intensité des images dans la liste des images et le nom de chaque personne dans la liste des noms de classe.

À des fins de démonstration, j'ai montré le nom des images ci-dessous.

Les images ont été enregistrées avec Anik.jpg, Ferdous.jpg, etc.

[NB Selon le code de ce projet, nous devons étiqueter l'image avec le nom d'identification ou ID]

L'encodage de visage est un moyen de représenter les visages d'une image avec des nombres mesurés par ordinateur. Un codage de visage similaire génère des types similaires de valeurs codées. Ainsi, il devient facile de reconnaître les visages.

Nous avons utilisé la cellule de code suivante pour encoder les images avec la bibliothèque de reconnaissance faciale.

La fonction findEncodings renvoie toutes les valeurs encodées pour les images d'apprentissage.

Généralement, OpenCV stocke l'image au format BGR plutôt qu'au format RVB. Nous devons donc le convertir en RVB pour travailler avec les images. Et la fonction face_recognition.face_encodings() extrait le visage d'une image et l'encode.

Nous voulons rendre notre projet réaliste. C'est pourquoi nous générons également une feuille Excel contenant les informations et le temps de présence sous forme de tableau pour chaque jour. J'ai créé la fonction suivante pour faire le travail.

Nous avons utilisé la bibliothèque openpyxl pour créer et insérer des données dans les feuilles Excel. Tout d'abord, nous avons pris un fichier Excel dans lequel nous stockons les informations. Pour chaque jour, nous avons créé une nouvelle feuille avec la date de ce jour dans le fichier Excel. Enfin, nous avons inséré le nom, la date et l'heure des personnes reconnues dans la feuille Excel.

Exemple de sortie —

Nous avons détecté les visages à partir de l'entrée de la caméra en direct afin que nous puissions utiliser la vidéosurveillance en temps réel des images de caméra pour enregistrer les présences. Nous avons également enregistré l'image dans un dossier différent du visage détecté pour une vérification plus approfondie.

Toutes ces tâches sont dans une seule cellule de code —

Nous avons créé des dossiers individuels pour chaque jour pour enregistrer les images détectées avec os.mkdir() . Ensuite, nous avons capturé la vidéo avec la fonction cv2.VideoCapture(0) . Ici, 0 pour la caméra par défaut, et vous pouvez également utiliser 1, 2 et ainsi de suite pour d'autres entrées de caméra. Nous avons pris des images vidéo continues avec une boucle while. Après cela, nous avons réduit la taille de l'image à 1/4 pour minimiser le coût de calcul et encoder l'image avec l'image réduite. Nous avons également calculé la distance entre l'image d'entrée et l'image entraînée et enfin étiqueté l'image d'entrée avec l'étiquette d'image entraînée la plus courte.

Nous dessinons également un rectangle rouge du visage détecté indiquant le nom de la personne détectée. En même temps, nous avons collecté le nom du visage détecté sous forme de liste et l'avons inséré dans la feuille Excel avec la fonction takeAttendance().

Sortie du visage détecté —

Image enregistrée dans le dossier de date spécifique —

Feuille Excel générée —

Pour chaque date, nous avons créé une feuille Excel d'un fichier Excel spécifique.

Principalement, j'ai créé le projet pour les débutants. Donc, j'ai fait simple. Le projet a quelques limites.

Le projet complet est disponible ici.

Joignez-vous au support avec le lien suivant pour soutenir mes écrits.

https://mzh706.medium.com/membership

Autres articles de ma vision par ordinateursérie -

versdatascience.com

versdatascience.com

versdatascience.com

versdatascience.com

versdatascience.com

Abonnez-vous à DDIntel ici.

Visitez notre site Web ici: https://www.datadriveninvestor.com

Rejoignez notre réseau ici : https://datadriveninvestor.com/collaborate

CCTV Le projet complet est disponible ici. vision par ordinateur