[PYTHON] J'ai essayé la reconnaissance faciale avec OpenCV

OpenCV est une bibliothèque open source qui peut être utilisée pour le traitement d'images. Il peut également être utilisé en Python, donc il peut également être utilisé dans l'apprentissage automatique. Cette fois, je vais essayer la reconnaissance faciale en utilisant cet OpenCV.

Cet environnement d'exploitation

Que faire cette fois

Chargez l'image, reconnaissez le visage dans l'image et affichez les coordonnées et la taille du visage. Après cela, le visage reconnu s'affiche sous la forme d'un carré rouge. OpenCV a plusieurs fichiers de données de fonctionnalités (fichiers en cascade) qui peuvent être utilisés pour la reconnaissance faciale. Cette fois, nous utiliserons haarcascade_frontalface_alt.xml '' comme fichier de données qui reconnaît le visage face à l'avant. De plus, cette fois, nous reconnaîtrons l'utilisation de l'image suivante (`` before.jpg '' dans le code source). before.jpg

Source de référence: https://www.pakutaso.com/assets_c/2016/03/SAYA151005380I9A8403-thumb-autox1600-21549.jpg

Code source

front_face.py


#coding: utf-8
import cv2

cascade_file = "haarcascade_frontalface_alt.xml"
image_file = "before.jpg "

img = cv2.imread(image_file)
img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

cascade = cv2.CascadeClassifier(cascade_file)
face_list = cascade.detectMultiScale(img_gray, minSize=(150, 150))

if len(face_list) == 0:
  print("Fail recognise")
  quit()

for (x, y, w, h) in face_list:
  print("Coordonnées de la face=", x, y, w, h)
  color = (0, 0, 225)
  pen_w = 8
  cv2.rectangle(img, (x, y), (x+w, y+h), color, thickness = pen_w)

cv2.imwrite("after.jpg ", img)

Quand je l'ai exécuté, j'ai eu l'erreur suivante.

OpenCV Error: Assertion failed (!empty()) in detectMultiScale, file /home/travis/miniconda/conda-bld/conda_1486587069159/work/opencv-3.1.0/modules/objdetect/src/cascadedetect.cpp, line 1639
Traceback (most recent call last):
  File "face_front.py", line 11, in <module>
    face_list = cascade.detectMultiScale(img_gray, minSize=(150, 150))
cv2.error: /home/travis/miniconda/conda-bld/conda_1486587069159/work/opencv-3.1.0/modules/objdetect/src/cascadedetect.cpp:1639: error: (-215) !empty() in function detectMultiScale

--Cause

Quand je l'ai recherché, cela semble être une erreur causée par le mauvais chemin du fichier en cascade.

En guise de premiers secours, j'ai pu copier ce fichier en cascade dans le répertoire contenant le code source et l'utiliser.

résultat

Le résultat de l'exécution est l'image suivante. after.jpg

référence

De l'installation d'OpenCV3.1 sur Ubuntu16.04 LTS au test de reconnaissance faciale

Recommended Posts

J'ai essayé la reconnaissance faciale avec OpenCV
Reconnaissance faciale avec OpenCV de Python
J'ai essayé la reconnaissance faciale avec Face ++
Reconnaissance faciale / coupe avec OpenCV
Essayez la reconnaissance faciale avec python + OpenCV
J'ai essayé la détection de visage avec MTCNN
Reconnaissance faciale avec caméra avec opencv3 + python2.7
J'ai essayé de reconnaître le visage de la vidéo (OpenCV: version python)
J'ai essayé le rendu non réaliste avec Python + opencv
[python, openCV] base64 Reconnaissance faciale dans les images
J'ai essayé la reconnaissance d'image simple avec Jupyter
Reconnaissance faciale avec Edison
J'ai essayé la reconnaissance manuscrite des caractères des runes avec scikit-learn
J'ai essayé de "lisser" l'image avec Python + OpenCV
J'ai essayé la reconnaissance d'image de CIFAR-10 avec Keras-Learning-
J'ai essayé de "différencier" l'image avec Python + OpenCV
J'ai essayé la reconnaissance d'image de CIFAR-10 avec la reconnaissance d'image Keras-
J'ai essayé de détecter rapidement un mouvement avec OpenCV
J'ai essayé fp-growth avec python
J'ai essayé de gratter avec Python
J'ai essayé Learning-to-Rank avec Elasticsearch!
Reconnaissance faciale par Amazon Rekognition
Détection de visage avec Python + OpenCV
Essayez la reconnaissance faciale avec Python
J'ai essayé gRPC avec Python
J'ai essayé de gratter avec du python
Reconnaissance d'image avec Keras + OpenCV
Détection de visage d'anime avec OpenCV
[OpenCV / Python] J'ai essayé l'analyse d'image de cellules avec OpenCV
J'ai essayé la "conversion de morphologie" de l'image avec Python + OpenCV
J'ai essayé la "correction gamma" de l'image avec Python + OpenCV
Reconnaissance faciale en temps réel avec vidéo acquise par getUserMedia [HTML5, openCV]
J'ai essayé de résumer des phrases avec summpy
J'ai essayé l'apprentissage automatique avec liblinear
J'ai essayé de déplacer de la nourriture avec SinGAN
J'ai essayé la reconnaissance faciale du problème du rire en utilisant Keras.
J'ai essayé d'utiliser GrabCut d'OpenCV
J'ai essayé d'implémenter DeepPose avec PyTorch
[OpenCV] Identification personnelle avec photo du visage
Première reconnaissance faciale d'anime avec Chainer
Découpez le visage avec Python + OpenCV
J'ai essayé la reconnaissance de caractères manuscrits des caractères runiques avec CNN en utilisant Keras
J'ai essayé d'exécuter prolog avec python 3.8.2.
J'ai essayé la communication SMTP avec Python
J'ai essayé la génération de phrases avec GPT-2
J'ai essayé d'apprendre LightGBM avec Yellowbrick
Reconnaissance d'objets avec openCV par traincascade
J'ai essayé de traiter l'image en "style croquis" avec OpenCV
J'ai essayé de traiter l'image dans un "style de dessin au crayon" avec OpenCV
ZOOM en remplaçant votre visage par une icône Twitter avec la reconnaissance faciale openCV
J'ai essayé de créer une fonction de similitude d'image avec Python + OpenCV
Reconnaissance faciale à l'aide d'OpenCV (classificateur de caractéristiques de type Haar)
Détection de visage avec Python + OpenCV (rotation invariante)
Je veux détecter des objets avec OpenCV
J'ai essayé l'analyse de régression multiple avec régression polypoly
J'ai essayé d'envoyer un SMS avec Twilio
J'ai essayé d'utiliser Amazon SQS avec django-celery
J'ai essayé d'implémenter Autoencoder avec TensorFlow