Table des matières:
- Étape 1: choses dont vous avez besoin
- Étape 2: Opencv-Intro et installation
- Étape 3: Détecter et reconnaître le visage dans une vidéo en temps réel
- Étape 4: Exécuter le code
Vidéo: Reconnaissance faciale Opencv : 4 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:07
La reconnaissance faciale est une chose assez courante de nos jours, dans de nombreuses applications comme les téléphones intelligents, de nombreux gadgets électroniques. Ce type de technologie implique de nombreux algorithmes et outils, etc. bibliothèques comme OpenCV, vous pouvez désormais ajouter la reconnaissance faciale à vos propres applications comme les systèmes de sécurité.
Dans ce projet, je vais vous expliquer comment créer une reconnaissance faciale en utilisant un Raspberry Pi et nous avons utilisé arduino+Lcd pour afficher le nom de la personne.
Étape 1: choses dont vous avez besoin
1. FRAMBOISE PI
2. ARDUINO UNO / NANO
AFFICHAGE LCD 3.16x2
4. RASPI-CAMERA / WEBcam (je préfère la webcam pour de meilleurs résultats)
Étape 2: Opencv-Intro et installation
OpenCV (bibliothèque de vision par ordinateur open source) est une bibliothèque très utile - elle fournit de nombreuses fonctionnalités utiles telles que la reconnaissance de texte, la reconnaissance faciale, la détection d'objets, la création de cartes de profondeur et l'apprentissage automatique.
Cet article vous montrera comment installer Opencv et d'autres bibliothèques sur Raspberry Pi qui vous seront utiles lors de la détection d'objets et d'autres projets. À partir de là, nous apprendrons à effectuer des opérations d'image et de vidéo en exécutant un projet de reconnaissance d'objets et d'apprentissage automatique. Plus précisément, nous écrirons un code simple pour détecter les visages dans une image.
Qu'est-ce qu'OpenCV ?
OpenCV est une bibliothèque de logiciels de vision par ordinateur et d'apprentissage automatique open source. OpenCV est publié sous une licence BSD, ce qui le rend gratuit pour un usage académique et commercial. Il possède des interfaces C++, Python et Java et prend en charge Windows, Linux, Mac OS, iOS et Android. OpenCV a été conçu pour une efficacité de calcul et une forte concentration sur les applications en temps réel.
Comment installer OpenCV sur un Raspberry Pi ?
Pour installer OpenCV, nous devons avoir Python installé. Étant donné que les Raspberry Pis sont préchargés avec Python, nous pouvons installer directement OpenCV.
Tapez les commandes ci-dessous pour vous assurer que votre Raspberry Pi est à jour et pour mettre à jour les packages installés sur votre Raspberry Pi vers les dernières versions.
sudo apt-get updatesudo apt-get upgrade
Tapez les commandes suivantes dans le terminal pour installer les packages requis pour OpenCV sur votre Raspberry Pi.
sudo apt install libatlas3-base libsz2 libharfbuzz0b libtiff5 libjasper1 libilmbase12 libopenexr22 libilmbase12 libgstreamer1.0-0 libavcodec57 libavformat57 libavutil55 libswscale4 libqtgui4 libqtcore4-test libqtcore4-test
Tapez la commande suivante pour installer OpenCV 3 pour Python 3 sur votre Raspberry Pi, pip3 nous dit qu'OpenCV sera installé pour Python 3.
sudo pip3 installer opencv-contrib-python libwebp6
Maintenant, OpenCV doit être installé.
(si des erreurs se sont produites: vous pouvez toujours le faire en suivant le lien ci-dessous
https://www.instructables.com/id/Raspberry-Pi-Hand…)
Maintenant, ne vous pressez pas, nous devons vérifier s'il a été correctement installé ou non
Testez votre opencv en:
1. allez sur votre terminal et tapez "python"
2. Ensuite, tapez "importer cv2".
3.puis tapez " cv2._version_".
puis installez ces bibliothèques
pip3 installer python-numpy
pip3 installer python-matplotlib
Code de test pour détecter les visages dans une image:
importer cv2
faceCascade = cv2. CascadeClassifier("haarcascade_frontalface_default.xml");
image = cv2.imread('votre nom de fichier') #exemple cv2.imread('home/pi/Desktop/filename.jpg')
vous obtiendrez le résultat comme si des cases carrées se formaient sur les visages des personnes présentes sur la photo.
Étape 3: Détecter et reconnaître le visage dans une vidéo en temps réel
importer cv2
importer numpy en tant que np
importer le système d'exploitation
importer la série
ser = serial. Serial('/dev/ttyACM0', 9600, timeout=1) # /dev/ttyACM0 peut changer dans votre cas, dépend de l'arduino
cascadePath = "haarcascade_frontalface_default.xml"
faceCascade = cv2. CascadeClassifier(cascadePath)
reconnaître=cv2.face.createLBPHFaceRecognizer()
images=
étiquettes=
pour le nom de fichier dans os.listdir('Dataset'):
im=cv2.imread('Ensemble de données/'+nom de fichier, 0)
images.append(im)
labels.append(int(filename.split('.')[0][0]))
#imprimer le nom du fichier
names_file=open('labels.txt')
names=names_file.read().split('\n')
reconnaître.train(images, np.array(étiquettes))
print 'Formation terminée… '
police = cv2. FONT_
HERSHEY_SIMPLEXcap=cv2. VideoCapture(1) # votre périphérique vidéo
lastRes=''count=0
tandis que(1):
_, frame=cap.read()
gray=cv2.cvtColor(cadre, cv2. COLOR_BGR2GRAY)
faces = faceCascade.detectMultiScale(gris, 1.3, 5)
compte+=1
pour (x, y, w, h) dans les faces:
cv2.rectangle(cadre, (x, y), (x+w, y+h), (255, 0, 0), 2)
si nombre>20: res=noms[recognizer.predict(gray[y:y+h, x:x+w])-1]
if res!=lastRes:
lastRes=res
imprimer lastRes
ser.write(lastRes)
compte=0
Pause
cv2.imshow('cadre', cadre)
k = 0xFF & cv2.waitKey(10)
si k == 27:
Pause
cap.release()
ser.close()
cv2.destroyAllWindows()
Étape 4: Exécuter le code
1. Téléchargez les fichiers joints à l'étape précédente
2. copiez vos photos grises (6 images/échantillons…..) dans votre dossier de jeu de données
1. Tom Cruise 1_1, 1_2, 1_3, 1_4, 1_5, 1_6 (numéro d'image de jeu de données pour un dossier de jeu de données plus ouvert)
2. Brad Pitt-2_1, 2_2, 2_3, 2_4, 2_5, 2_6
3. Lion-3_1, 3_2, 3_3, 3_4, 3_5, 3_6
4. Ironman4_1, 4_2, 4_3, 4_4, 4_5, 4_6
comme ci-dessus, vous pouvez ajouter les étiquettes pour les personnes respectives,
donc si le pi détecte un visage parmi 1_1, 1_2, 1_3, 1_4, 1_5, 1_6, alors il a été étiqueté comme Tom Cruise, alors soyez prudent lors du téléchargement des photos………………
puis connectez votre arduino à votre raspberry Pi et apportez des modifications dans le codeur main.py = serial. Serial('/dev/ttyACM0', 9600, timeout=1) 3.mettez tous les fichiers téléchargés (main.py, dossier dataset, haarcascade_frontalface_default.xml dans un dossier.)
3. Maintenant, ouvrez Raspi-terminal, exécutez votre code par "sudo python main.py"
Conseillé:
Abellcadabra (Système de verrouillage de porte à reconnaissance faciale) : 9 étapes
Abellcadabra (Système de verrouillage de porte à reconnaissance faciale): Pendant la quarantaine, j'ai essayé de trouver un moyen de tuer le temps en créant une reconnaissance faciale pour la porte de la maison. Je l'ai nommé Abellcadabra - qui est une combinaison entre Abracadabra, une phrase magique avec sonnette dont je ne prends que la cloche. MDR
Cadre photo OSD avec reconnaissance faciale : 11 étapes (avec photos)
Cadre photo OSD sensible au visage : ce Instructables montre comment créer un cadre photo avec un affichage à l'écran (OSD) sensible au visage. L'OSD peut afficher l'heure, la météo ou d'autres informations Internet que vous souhaitez
Miroir de reconnaissance faciale avec compartiment secret : 15 étapes (avec photos)
Miroir de reconnaissance faciale avec compartiment secret : J'ai toujours été intrigué par les compartiments secrets toujours créatifs utilisés dans les histoires, les films, etc. Alors, quand j'ai vu le concours du compartiment secret, j'ai décidé d'expérimenter l'idée moi-même et de fabriquer un miroir ordinaire qui ouvre un s
Serrure de porte à reconnaissance faciale : 8 étapes
Serrure de porte à reconnaissance faciale : Environ un mois de fabrication, je vous présente la serrure de porte à reconnaissance faciale ! J'ai essayé de faire en sorte que ça ait l'air aussi soigné que possible, mais je ne peux pas tout faire en tant qu'enfant de 13 ans. Cette serrure de porte à reconnaissance faciale est gérée par un Raspberry Pi 4, avec une batterie portable spéciale
Reconnaissance faciale et identification - Arduino Face ID à l'aide d'OpenCV Python et Arduino. : 6 étapes
Reconnaissance faciale et identification | Arduino Face ID Using OpenCV Python et Arduino.: La reconnaissance faciale AKA Face ID est l'une des fonctionnalités les plus importantes sur les téléphones mobiles de nos jours. J'ai donc eu 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éder à nous