Mit Amazon Rekognition habe ich versucht, das Gesicht im Eingabebild mit einem Rechteck einzuschließen.
Amazon Rekognition ist einer der AI-Dienste von AWS, der die Bilderkennung unterstützt. Darüber hinaus decken die AWS AI-Services verschiedene Bereiche ab, z. B. Bilderkennung und Verarbeitung natürlicher Sprache, und maschinelles Lernen kann in Anwendungen ohne tiefgreifende Kenntnisse des maschinellen Lernens integriert werden. Maschinelles Lernen kann über die API einfach durch Aufbereiten von Daten verwendet werden. Es gibt Funktionen wie.
OS:Windows10 Sprache: Python 3.7
Legen Sie die folgenden Anmeldeinformationen in AWS CLI fest (aws configure).
AWS Access Key ID AWS Secret Access Key Default region name Default output format
import boto3
import sys
from PIL import Image,ImageDraw
if len(sys.argv) != 2:
print ('Bitte geben Sie die Bilddatei als Argument an.') exit()
Erstellen Sie einen Client für #Rekognition client = boto3.client('rekognition')
with open(sys.argv[1],'rb') as image:
response = client.detect_faces(Image={'Bytes':image.read()},Attributes=['ALL'])
if len(response['FaceDetails'])==0:
print ('Das Gesicht wurde nicht erkannt.') else: #Erstellen Sie eine Bilddatei für einen rechteckigen Satz basierend auf der Eingabebilddatei img = Image.open(sys.argv[1]) imgWidth,imgHeight = img.size draw = ImageDraw.Draw(img)
for faceDetail in response['FaceDetails']:
Informationen zur Position / Größe des Gesichts erhalten Sie von #BoundingBox box = faceDetail['BoundingBox'] left = imgWidth * box['Left'] top = imgHeight * box['Top'] width = imgWidth * box['Width'] height = imgHeight * box['Height']
points = (
(left,top),
(left + width,top + height)
)
draw.rectangle(points,outline='lime')
img.save('detected_' + sys.argv[1])
img.show()
Der Umriss ist wie folgt.
(1) Holen Sie sich die Bilddatei, die zum Zeitpunkt der Programmausführung in Rekognition eingegeben werden soll, aus dem Argument. (2) Führen Sie die erkennungsflächen von Rekognition mit der Bilddatei in (1) oben als Argument aus. (3) Beziehen Sie die erkannten Informationen zur Position / Größe des Gesichts aus Jsons Gesichtsdetails / Begrenzungsrahmen, die von Rekognition zurückgegeben wurden. ④ Erstellen Sie eine Bilddatei mit einem Rechteck von ③ oben und zeigen Sie sie an.
python face_detect.py ichiro1.jpg
Nicht nur Ichiro, sondern auch die Zuschauer sind sich dessen bewusst.
Der AWS AI-Service ist nicht nur auf die Erkennung beschränkt, sondern auch ein praktischer Service, mit dem Sie das maschinelle Lernen über die API problemlos nutzen können. Auch dieses Mal habe ich nur Rechteck versucht, aber es gibt verschiedene Jsons, die von Rekognition zurückgekehrt sind, wie Geschlecht und Alter, also denke ich, dass Sie verschiedene andere Dinge ausprobieren können.
Recommended Posts