Essayez la reconnaissance faciale avec python + OpenCV

On m'a demandé "Vous ne pouvez pas faire la reconnaissance faciale rapidement?", Alors j'ai essayé. Je ne peux pas faire de réglage fin.

Installation

C'est assez facile sur un Mac. Installez OpenCV en utilisant brew. python utilise ce que j'ai mis dans brew. Il semble que numpy soit également nécessaire, mais il est omis car il était déjà installé. Apparemment, lors de l'installation d'OpenCV, le package cv2 pour Python est copié dans site-package, donc l'ordre d'installation est Python → numpy → OpenCV.

bash


brew tap homebrew/science
brew install opencv

Exécuter sur Python

Pour le moment, exposez d'abord le code. J'ai décidé de laisser les commentaires lorsque je l'ai utilisé pour des essais et des erreurs, même s'il était sale. J'ai laissé l'explication pour le réglage des paramètres, mais www

recognize.py


# -*- coding: utf-8 -*-

import cv2

#Caractéristiques pour la détection de visage du classificateur HAAR
#cascade_path = "/usr/local/opt/opencv/share/OpenCV/haarcascades/haarcascade_frontalface_default.xml"
cascade_path = "/usr/local/opt/opencv/share/OpenCV/haarcascades/haarcascade_frontalface_alt.xml"
#cascade_path = "/usr/local/opt/opencv/share/OpenCV/haarcascades/haarcascade_frontalface_alt2.xml"
#cascade_path = "/usr/local/opt/opencv/share/OpenCV/haarcascades/haarcascade_frontalface_alt_tree.xml"


image_path = "lena.jpg "

color = (255, 255, 255) #blanc
#color = (0, 0, 0) #noir

#Lecture de fichiers
image = cv2.imread(image_path)
#Conversion de l'échelle de gris
image_gray = cv2.cvtColor(image, cv2.cv.CV_BGR2GRAY)

#Acquérir la quantité de caractéristiques du classificateur en cascade
cascade = cv2.CascadeClassifier(cascade_path)

#Exécution de la reconnaissance d'objets (reconnaissance faciale)
#image – CV_Matrice de type 8U. Les objets sont détectés dans les images stockées ici
#objets - Un vecteur dont les éléments sont des rectangles. Chaque rectangle contient l'objet détecté
#scaleFactor - Représente la quantité de réduction à chaque échelle d'image
#minNeighbors - Les rectangles candidats doivent contenir au moins ce nombre de voisins
#flags - Ce paramètre n'est pas utilisé dans la nouvelle cascade. Pour les cascades plus anciennes, il a la même signification que pour la fonction cvHaarDetectObjects.
#minSize - La taille minimale qu'un objet peut prendre. Les objets plus petits seront ignorés
facerect = cascade.detectMultiScale(image_gray, scaleFactor=1.1, minNeighbors=1, minSize=(1, 1))
#facerect = cascade.detectMultiScale(image_gray, scaleFactor=1.1, minNeighbors=3, minSize=(10, 10), flags = cv2.cv.CV_HAAR_SCALE_IMAGE)

print "face rectangle"
print facerect

if len(facerect) > 0:
	#Créez un rectangle qui entoure le visage détecté
	for rect in facerect:
		cv2.rectangle(image, tuple(rect[0:2]),tuple(rect[0:2]+rect[2:4]), color, thickness=2)
	
	#Enregistrer les résultats de la reconnaissance
	cv2.imwrite("detected.jpg ", image)

Comme nous n'avons pas préparé d'image pour l'apprentissage cette fois, nous utilisons la quantité de fonctionnalités du classificateur HAAR fourni avec OpenCV. Voir ici pour le classificateur HAAR ([10e CV Study Group OpenCV Festival Explanation of Object Detection!](Http://www.slideshare.net/takmin/opecv-object-detectiontakmin opencv)). Je pouvais reconnaître n'importe quelle quantité de fonctionnalités dans la célèbre image de Lena, mais quand je l'ai essayé avec d'autres images, haarcascade_frontalface_default.xml ne pouvait pas être très bien reconnu, il est donc préférable d'essayer diverses choses.

Image originale lena.jpg

Image après reconnaissance detected.jpg

Recommended Posts

Essayez la reconnaissance faciale avec python + OpenCV
Essayez la reconnaissance faciale avec Python
Reconnaissance faciale avec caméra avec opencv3 + python2.7
[python, openCV] base64 Reconnaissance faciale dans les images
Reconnaissance faciale avec OpenCV de Python
Détection de visage avec Python + OpenCV
Reconnaissance faciale / coupe avec OpenCV
[Python3] [Ubuntu16] [Docker] Essayez la reconnaissance faciale avec OpenFace
Découpez le visage avec Python + OpenCV
J'ai essayé la reconnaissance faciale avec OpenCV
Détection de visage avec Python + OpenCV (rotation invariante)
API de reconnaissance faciale sans serveur conçue avec Python
Essayez de gratter avec Python.
Reconnaissance faciale avec Edison
Binarisation avec OpenCV / Python
Hello World et détection de visage avec OpenCV 4.3 + Python
Comparaison des performances du détecteur de visage avec Python + OpenCV
Essayez de détecter les poissons avec python + OpenCV2.4 (inachevé)
"Traitement Apple" avec OpenCV3 + Python3
Essayez la détection des bords avec OpenCV
Édition d'image avec python OpenCV
Capture de caméra avec Python + OpenCV
Essayez la sortie Python avec Haxe 3.2
Reconnaissance faciale par Amazon Rekognition
[Python] Utilisation d'OpenCV avec Python (basique)
Détection de visage avec Python + dlib
Essayez d'exécuter Python avec Try Jupyter
Essayez OpenCV avec Google Colaboratory
Utiliser OpenCV avec Python @Mac
Reconnaissance d'image avec Keras + OpenCV
Détection de visage d'anime avec OpenCV
Essayez de projeter la conversion d'image en utilisant OpenCV avec Python
Maintenant, essayons la reconnaissance faciale avec Chainer (phase de prédiction)
Essai de reconnaissance faciale facile avec Jetson Nano et caméra Web
Maintenant, essayons la reconnaissance faciale avec Chainer (phase d'apprentissage)
Reconnaissance des nombres dans les images avec Python
Briller la vie avec Python et OpenCV
Essayez de gratter avec Python + Beautiful Soup
Détection de visage avec YOLO Face (Windows10, Python3.6)
[Python] Utilisation d'OpenCV avec Python (filtrage d'image)
Réseau neuronal avec OpenCV 3 et Python 3
[Python] Utilisation d'OpenCV avec Python (transformation d'image)
Essayez d'exploiter Facebook avec Python
[Python] Utilisation d'OpenCV avec Python (détection des bords)
Essayez la décomposition de valeurs singulières avec Python
Essayez Python
Un mémo lorsque le visage est détecté avec Python + OpenCV rapidement
Programmation facile Python + OpenCV avec Canopy
J'ai essayé de reconnaître le visage de la vidéo (OpenCV: version python)
[OpenCV] Identification personnelle avec photo du visage
python x tensoflow x reconnaissance de visage d'image
Première reconnaissance faciale d'anime avec Chainer
Charger une image gif avec Python + OpenCV
Essayez la simulation de contrôle de fréquence avec Python
Trouver la similitude d'image avec Python + OpenCV
Essayez de brouiller l'image avec opencv2
Utiliser OpenCV avec Python 3 dans Window
Dessinez une illustration avec Python + OpenCV
Suivre les balles de baseball avec Python + OpenCV