Bonjour
Je suis actuellement sur un projet que je vais vous expliquer, j'ai installer opencv4 sur un Raspberry pi 4, et je voulais faire une reconnaissance facial en python 3, le but de cette reconnaissance et pour un projet d'école et mon projet est de capté un visage de le reconnaitre et de le nommé, j'ai fait certaine recherche et j'ai trouvé quelque programme à modifier, comme je débute dans le python il y'a certaine erreurs que je ne comprend pas, et comme il me semble que le python 2 et arrêté je doit les modifier pour qu'il s'adapte en python 3, bof plein de problèmes ou j'ai besoin d'aide.
Je vous mes certain liens ou j'ai trouvé des programmes.
https://github.com/vishwajeetsinghrana8 ... ecognition
https://github.com/anisayari/easy_facial_recognition
Merci pour votre futur aide
-
- Posts: 4530
- Joined: Thu Jan 24, 2013 8:43 am
Re: Opencv4 raspberry 4 reconnaissance facial
quelles erreurs ?
ça peut aider de savoir.
Attention : il y a des problèmes de compatibilité python2 et python3.
J'ai utilisé openCV (ya longtemps) pour des fonctions simples hors temps réel donc ça devrait coller.
Un petit udate/upgrade des fois ?
ça peut aider de savoir.
Attention : il y a des problèmes de compatibilité python2 et python3.
J'ai utilisé openCV (ya longtemps) pour des fonctions simples hors temps réel donc ça devrait coller.
Un petit udate/upgrade des fois ?
Re: Opencv4 raspberry 4 reconnaissance facial
J'ai cette erreur là
usage: test3.py [-h] -d DETECTOR -m EMBEDDING_MODEL -r RECOGNIZER -l LE
[-c CONFIDENCE]
test3.py: error: argument -d/--detector is required
Oui je savais qu'il y'a des problème de compatibilité entre le python 2 et 3, mais je pense aussi que il y'a dans le programme que j'ai modifié, j'ai pris comme modèle celui là: https://github.com/vishwajeetsinghrana8 ... n_Part3.py
usage: test3.py [-h] -d DETECTOR -m EMBEDDING_MODEL -r RECOGNIZER -l LE
[-c CONFIDENCE]
test3.py: error: argument -d/--detector is required
Oui je savais qu'il y'a des problème de compatibilité entre le python 2 et 3, mais je pense aussi que il y'a dans le programme que j'ai modifié, j'ai pris comme modèle celui là: https://github.com/vishwajeetsinghrana8 ... n_Part3.py
-
- Posts: 4530
- Joined: Thu Jan 24, 2013 8:43 am
Re: Opencv4 raspberry 4 reconnaissance facial
et le modèle fonctionne ?
en un mot c'est d'origine l'erreur ?
en un mot c'est d'origine l'erreur ?
Re: Opencv4 raspberry 4 reconnaissance facial
Non le modèle ne fonctionne pas ou c'est moi qui à mal modifié les choses le modèle je les eu avec un tuto sur youtube et il montre comment le modifier.https://www.youtube.com/watch?v=O4kI6kO1pmE
-
- Posts: 4530
- Joined: Thu Jan 24, 2013 8:43 am
Re: Opencv4 raspberry 4 reconnaissance facial
si l'original ne marche pas : mal barré
Je chercherais ailleurs.
CV2 est bien connu, il doit y avoir d'autres sites avec des softs "corrects".

Je chercherais ailleurs.
CV2 est bien connu, il doit y avoir d'autres sites avec des softs "corrects".
Re: Opencv4 raspberry 4 reconnaissance facial
ok merci j'ai peut être trouvé un autre tuto mes je ne pourrais pas le tester maintenant https://www.youtube.com/watch?v=PmZ29Vta7Vc comme il me semble que c'est du python 3
Re: Opencv4 raspberry 4 reconnaissance facial
Bonjour,
Une bonne source sur OpenCV et de la reconnaissance que j'utilise, c'est ici : https://www.pyimagesearch.com/2018/09/2 ... cognition/
Le problème, souvent, c'est la détection en temps réel. Il y a un post plus récent, avec l'utilisation d'un stick USB Intel contenant un processeur spécialisé, pour accélérer le traitement. : https://www.pyimagesearch.com/2020/01/0 ... cognition/
Bon courage et bonnes expérimentations.
Une bonne source sur OpenCV et de la reconnaissance que j'utilise, c'est ici : https://www.pyimagesearch.com/2018/09/2 ... cognition/
Le problème, souvent, c'est la détection en temps réel. Il y a un post plus récent, avec l'utilisation d'un stick USB Intel contenant un processeur spécialisé, pour accélérer le traitement. : https://www.pyimagesearch.com/2020/01/0 ... cognition/
Bon courage et bonnes expérimentations.
Re: Opencv4 raspberry 4 reconnaissance facial
Merci pour ta réponse, je connaisse déjà le coprocesseur Intel Movidius Neural Compute Stick , le problème c'est que je ne peut pas mettre 100 euros en plus, après je vais voir pour le tuto sans.
Re: Opencv4 raspberry 4 reconnaissance facial
J'ai un autre soucis sur le dernier commentaire je fait le tuto et j’obtiens cette erreur.
https://www.pyimagesearch.com/2018/09/2 ... cognition/
python recognize_video.py --detector face_detection_model --embedding-model openface_nn4.small2.v1.t7 --recognizer output/recognizer.pickle --le output/le.pickle
[INFO] loading face detector...
[INFO] loading face recognizer...
Traceback (most recent call last):
File "recognize_video.py", line 44, in <module>
recognizer = pickle.loads(open(args["recognizer"], "rb").read())
File "/usr/lib/python2.7/pickle.py", line 1388, in loads
return Unpickler(file).load()
File "/usr/lib/python2.7/pickle.py", line 864, in load
dispatch[key](self)
File "/usr/lib/python2.7/pickle.py", line 892, in load_proto
raise ValueError, "unsupported pickle protocol: %d" % proto
ValueError: unsupported pickle protocol: 3
https://www.pyimagesearch.com/2018/09/2 ... cognition/
python recognize_video.py --detector face_detection_model --embedding-model openface_nn4.small2.v1.t7 --recognizer output/recognizer.pickle --le output/le.pickle
[INFO] loading face detector...
[INFO] loading face recognizer...
Traceback (most recent call last):
File "recognize_video.py", line 44, in <module>
recognizer = pickle.loads(open(args["recognizer"], "rb").read())
File "/usr/lib/python2.7/pickle.py", line 1388, in loads
return Unpickler(file).load()
File "/usr/lib/python2.7/pickle.py", line 864, in load
dispatch[key](self)
File "/usr/lib/python2.7/pickle.py", line 892, in load_proto
raise ValueError, "unsupported pickle protocol: %d" % proto
ValueError: unsupported pickle protocol: 3
Re: Opencv4 raspberry 4 reconnaissance facial
Je vois que tu essaies de faire une détection sur une vidéo, mais les étapes précédentes fonctionnent-elles ? En particulier la partie "entrainement du modèle" avec le script "train_model.py" qui génère le modèle SVM.
Re: Opencv4 raspberry 4 reconnaissance facial
J'ai essayé de le lancer le programme "sudo python train_model.py", j'ai eu
Traceback (most recent call last):
File "train_model.py", line 6, in <module>
from sklearn.preprocessing import LabelEncoder
ImportError: No module named sklearn.preprocessing
Donc j'ai installé le paquet pip install scikit-learn, ce qui me donne une erreur
ERROR: Failed building wheel for scipy
Failed to build scipy
ERROR: Could not build wheels for scipy which use PEP 517 and cannot be installed directly
Avec plein de texte avant
Traceback (most recent call last):
File "train_model.py", line 6, in <module>
from sklearn.preprocessing import LabelEncoder
ImportError: No module named sklearn.preprocessing
Donc j'ai installé le paquet pip install scikit-learn, ce qui me donne une erreur
ERROR: Failed building wheel for scipy
Failed to build scipy
ERROR: Could not build wheels for scipy which use PEP 517 and cannot be installed directly
Avec plein de texte avant
Re: Opencv4 raspberry 4 reconnaissance facial
J'ai réussis à installer une version de Scikit Learn antérieur, car la dernière version ne s'installe pas (error pep 517) je me suis renseigner et pour l'instant on ne peut pas l'installer, le problème c'est que j'ai installé une autre version mais la version et en 3.4 de python et j'ai la version 3.7 ce qui me fait une erreur quand j’essaye de lancer le programme:
Traceback (most recent call last):
File "train_model.py", line 6, in <module>
from sklearn.preprocessing import LabelEncoder
File "/home/pi/miniconda/lib/python3.4/site-packages/sklearn/__init__.py", line 64, in <module>
from .base import clone
File "/home/pi/miniconda/lib/python3.4/site-packages/sklearn/base.py", line 11, in <module>
import numpy as np
File "/home/pi/miniconda/lib/python3.4/site-packages/numpy/__init__.py", line 150, in <module>
from . import random
File "/home/pi/miniconda/lib/python3.4/site-packages/numpy/random/__init__.py", line 143, in <module>
from .mtrand import *
ImportError: /home/pi/miniconda/lib/python3.4/site-packages/numpy/random/mtrand.cpython-34m.so: undefined symbol: PyFPE_jbuf
Et je demande si c'est a cause de python 3.7
Comment fait-on pour rétrogradé python 3.7 ?
Traceback (most recent call last):
File "train_model.py", line 6, in <module>
from sklearn.preprocessing import LabelEncoder
File "/home/pi/miniconda/lib/python3.4/site-packages/sklearn/__init__.py", line 64, in <module>
from .base import clone
File "/home/pi/miniconda/lib/python3.4/site-packages/sklearn/base.py", line 11, in <module>
import numpy as np
File "/home/pi/miniconda/lib/python3.4/site-packages/numpy/__init__.py", line 150, in <module>
from . import random
File "/home/pi/miniconda/lib/python3.4/site-packages/numpy/random/__init__.py", line 143, in <module>
from .mtrand import *
ImportError: /home/pi/miniconda/lib/python3.4/site-packages/numpy/random/mtrand.cpython-34m.so: undefined symbol: PyFPE_jbuf
Et je demande si c'est a cause de python 3.7
Comment fait-on pour rétrogradé python 3.7 ?
Re: Opencv4 raspberry 4 reconnaissance facial
Pour installer une version spécifique de python (par exemple la 3.4) :
Ensuite pour installer les modules pour cette version de python, il faut suffixer par la version :
Si tu veux installer une version particulière d'un module :
Code: Select all
sudo apt-get install python=3.4\*
Code: Select all
python3.4 -m pip install <nom du module>
Code: Select all
python3.4 -m pip install -Iv <nom du module>==<version>
Re: Opencv4 raspberry 4 reconnaissance facial
Bonsoir
J'ai un problème avec un code python (indentation-errors), j'ai mis la ligne ou il y'a une erreur avec ERROR je pense qu'il y'a d'autres erreur.
J'ai un problème avec un code python (indentation-errors), j'ai mis la ligne ou il y'a une erreur avec ERROR je pense qu'il y'a d'autres erreur.
Code: Select all
import cv2
import numpy as np
import os
from PIL import Image
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
recognizer = cv2.createLBPHFaceRecognizer()
Face_Images = os.path.join(os.getcwd(), "Face_Images")
for root, dirs, files in os.walk(Face_Images):
for file in files: #check every directory in it
if file.endswith("jpeg") or file.endswith("jpg") or file.endswith("png"): #for image files ending with jpeg,jpg or png ERROR
path = os.path.join(root, file)
person_name = os.path.basename(root)
if pev_person_name!=person_name: #Check if the name of person has changed
Face_ID=Face_ID+1 #If yes increment the ID count
pev_person_name = person_name
Gery_Image = Image.open(path).convert("L") # convert the image to greysclae using Pillow
Crop_Image = Gery_Image.resize( (550,550) , Image.ANTIALIAS) #Crop the Grey Image to 550*550 (Make sure your face is in the center in all image)
Final_Image = np.array(Crop_Image, "uint8")
faces = face_cascade.detectMultiScale(Final_Image, scaleFactor=1.5, minNeighbors=5) #Detect The face in all sample image
for (x,y,w,h) in faces:
roi = Final_Image[y:y+h, x:x+w]
x_train.append(roi)
y_ID.append(Face_ID)
recognizer.train(x_train, np.array(y_ID))
recognizer.save("face-trainner.yml")
Re: Opencv4 raspberry 4 reconnaissance facial
indentations-errors signifie que les instructions d'un même bloc ne sont pas alignés :
Tu devrais normalement avoir :
Tu devrais normalement avoir :
Code: Select all
for .... # Niveau 1
for ... #niveau 2
if ... #niveau 3
instruction n4
instructions n4
instruction n3
instruction n2
instruction n1
Re: Opencv4 raspberry 4 reconnaissance facial
Merci pour ta réponse, mes j'ai encore une erreur que je ne comprend pas
Traceback (most recent call last):
File "/home/pi/project/Face_Trainer.py", line 7, in <module>
Recognizer = cv2.createLBPHFaceRecognizer('')
AttributeError: module 'cv2.cv2' has no attribute 'createLBPHFaceRecognizer'
Je vous mais le tuto que je suis:
https://circuitdigest.com/microcontroll ... ion-system
Traceback (most recent call last):
File "/home/pi/project/Face_Trainer.py", line 7, in <module>
Recognizer = cv2.createLBPHFaceRecognizer('')
AttributeError: module 'cv2.cv2' has no attribute 'createLBPHFaceRecognizer'
Je vous mais le tuto que je suis:
https://circuitdigest.com/microcontroll ... ion-system
Re: Opencv4 raspberry 4 reconnaissance facial
As-tu bien suivi les tutos ? Car certains installent openCV3, d'autres la version 4. Il faut aussi s'assurer que les librairies complémentaires sont été installée (opencv-contrib).
Re: Opencv4 raspberry 4 reconnaissance facial
Je vais refaire l'installation est je vous dit
Re: Opencv4 raspberry 4 reconnaissance facial
J'ai tous réinstallée est c'est pareille
File "Face_Recog.py", line 11, in <module>
recognizer = cv2.createLBPHFaceRecognizer()
AttributeError: 'module' object has no attribute 'createLBPHFaceRecognizer'
File "Face_Recog.py", line 11, in <module>
recognizer = cv2.createLBPHFaceRecognizer()
AttributeError: 'module' object has no attribute 'createLBPHFaceRecognizer'
Re: Opencv4 raspberry 4 reconnaissance facial
C'est bon sa fonctionne, j'ai remplacer la ligne de commande recognizer = cv2.createLBPHFaceRecognizer()
par recognizer = cv2.face.createLBPHFaceRecognizer()
par recognizer = cv2.face.createLBPHFaceRecognizer()
-
- Posts: 5
- Joined: Wed Jan 15, 2020 2:35 am
Re: Opencv4 raspberry 4 reconnaissance facial
C'est vraiment intéressant comme projet, cela ne te dérange pas si je te pique un peu l'idée et que je l'améliore ?
Re: Opencv4 raspberry 4 reconnaissance facial
Non après perso je vais encore l'amélioré pour que le système ouvre une porte
Re: Opencv4 raspberry 4 reconnaissance facial
Si vous trouvée un meilleur code c'est mieux car le miens que j 'ai trouvé il fonctionne mais mal après j'ai pas fait tous les test mais il donne mon identité à une photo qui n'est pas moi et quand c'est moi il galère à savoir que c'est moi X(