[PYTHON] Reconnaissance faciale par Amazon Rekognition

En utilisant Amazon Rekognition, j'ai essayé le processus de base consistant à inclure le visage dans l'image d'entrée avec un rectangle.

Qu'est-ce qu'Amazon Rekognition?

Amazon Rekognition est l'un des services d'IA d'AWS qui prend en charge la reconnaissance d'image. En outre, les services AWS AI couvrent divers domaines tels que la reconnaissance d'image et le traitement du langage naturel, et l'apprentissage automatique peut être intégré dans des applications sans compétences d'apprentissage automatique approfondies. L'apprentissage automatique peut être utilisé à partir d'API simplement en préparant des données. Il existe des fonctionnalités telles que.

Environnement d'exécution

OS:Windows10 Langage: Python 3.7

Préparation préalable

Définissez les informations d'identification suivantes dans AWS CLI (aws configure).

AWS Access Key ID AWS Secret Access Key Default region name Default output format

Code source (face_detect.py)

import boto3
import sys
from PIL import Image,ImageDraw

#Vérification des arguments if len(sys.argv) != 2: print ('Veuillez spécifier le fichier image comme argument.') exit()

Créer un client pour #Rekognition client = boto3.client('rekognition')

Exécuter detect_faces avec le fichier image comme argument

with open(sys.argv[1],'rb') as image:
	response = client.detect_faces(Image={'Bytes':image.read()},Attributes=['ALL'])

Si le visage n'est pas reconnu, le processus se termine

if len(response['FaceDetails'])==0:

print ('Le visage n'a pas été reconnu.') else: #Créer un fichier image pour un ensemble rectangulaire basé sur le fichier image d'entrée img = Image.open(sys.argv[1]) imgWidth,imgHeight = img.size draw = ImageDraw.Draw(img)

Effectuer un traitement d'ensemble rectangulaire pour le nombre de faces reconnues

	for faceDetail in response['FaceDetails']:

Obtenir des informations sur la position / la taille du visage à partir de #BoundingBox box = faceDetail['BoundingBox'] left = imgWidth * box['Left'] top = imgHeight * box['Top'] width = imgWidth * box['Width'] height = imgHeight * box['Height']

Définissez les informations de position et de taille du rectangle

		points = (
			(left,top),
			(left + width,top + height)
		)

Entourez le visage dans un rectangle

		draw.rectangle(points,outline='lime')

#Enregistrer le fichier image img.save('detected_' + sys.argv[1])

#Afficher le fichier image img.show()

Bref commentaire

Le plan est comme suit.

(1) Récupérez le fichier image à entrer dans Rekognition à partir de l'argument au moment de l'exécution du programme. (2) Exécutez detect_faces de Rekognition avec le fichier image dans (1) ci-dessus comme argument. (3) Obtenez les informations sur la position / la taille du visage reconnues à partir des détails du visage / de la boîte englobante de Json renvoyés par Rekognition. ④ Créez un fichier image avec un rectangle de ci-dessus et affichez-le.

Résultat d'exécution

commander

python face_detect.py ichiro1.jpg

Image d'entrée (ichiro1.jpg)

ichiro1.jpg

Image de sortie (detected_ichiro1.jpg)

detected_ichiro1.jpg

Non seulement Ichiro, mais aussi les spectateurs en sont conscients.

Résumé

Non limité à Rekognition, le service AWS AI est un service pratique qui vous permet d'utiliser facilement l'apprentissage automatique à partir de l'API. De plus, cette fois, je n'ai essayé que des rectangles, mais il y a divers Jsons revenus de Rekognition, tels que le sexe et l'âge, donc je pense que vous pouvez essayer diverses autres choses.

Recommended Posts

Reconnaissance faciale par Amazon Rekognition
Reconnaissance faciale avec Edison
Créez une reconnaissance faciale sans serveur avec Terraform (Amazon Rekognition)
Reconnaissance faciale avec OpenCV de Python
Reconnaissance faciale / coupe avec OpenCV
Essayez la reconnaissance faciale avec Python
Détection de visage avec Lambda (Python) + Rekognition
Essayez la reconnaissance faciale avec python + OpenCV
Première reconnaissance faciale d'anime avec Chainer
Reconnaissance faciale avec caméra avec opencv3 + python2.7
J'ai essayé la reconnaissance faciale avec OpenCV
Reconnaissance faciale des personnages d'anime avec Keras
[python, openCV] base64 Reconnaissance faciale dans les images
API de reconnaissance faciale sans serveur conçue avec Python
[Python3] [Ubuntu16] [Docker] Essayez la reconnaissance faciale avec OpenFace
Reconnaissance d'image avec keras
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 faciale en temps réel avec vidéo acquise par getUserMedia [HTML5, openCV]
J'ai essayé la reconnaissance faciale avec Face ++
Détection de visage avec Python + dlib
Détection de visage avec Python + OpenCV
Co-localisation d'objets pour la reconnaissance faciale
Détection de visage avec Haar Cascades
Obtenez "Bals" avec Amazon Echo
Reconnaissance d'image avec Keras + OpenCV
Détection de visage d'anime avec OpenCV
ZOOM en remplaçant votre visage par une icône Twitter avec la reconnaissance faciale openCV
Reconnaissance des nombres dans les images avec Python
Préparer l'environnement pipenv avec Amazon Linux 2
Détection de la même personne par Amazon Rekognition
Reconnaissance faciale à l'aide de l'analyse des composants principaux
[OpenCV] Identification personnelle avec photo du visage
python x tensoflow x reconnaissance de visage d'image
J'ai essayé la détection de visage avec MTCNN
Découpez le visage avec Python + OpenCV
Reconnaissons les émotions avec Azure Face
Envoyez automatiquement des e-mails avec Amazon SES
Reconnaissance d'objets avec openCV par traincascade
Données de sous-titres créées avec Amazon Transcribe