Amazon Rekognitionで画像分析

Amazon Rekognitionは画像・動画分析のためのAWSプロダクトです。


アップロードした画像や動画を以下の角度で分析し、その結果を取得することができます。

  • 画像の節度
  • 顔の分析
  • 有名人の認識
  • 顔の比較
  • イメージ内のテキスト
マネジメントコンソールからも分析ができますが、
Python(boto3)を使ってローカルの画像をアップロード・分析結果を取得してみます。



↑のフリー素材を「イメージ内の顔の検出」してみます。

import boto3
import json

def detect_faces(photo):

    client=boto3.client('rekognition')

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

    print('Detected faces for ' + photo)    
    for faceDetail in response['FaceDetails']:
        print('The detected face is between ' + str(faceDetail['AgeRange']['Low']) 
         + ' and ' + str(faceDetail['AgeRange']['High']) + ' years old')
        print('Gender ' + str(faceDetail['Gender']['Value']))
        
    return len(response['FaceDetails'])
    
def main():
    photo='test.jpg'

    face_count=detect_faces(photo)
    print("Faces detected: " + str(face_count))

if __name__ == "__main__":
    main()
>python detect_faces.py
Detected faces for test.jpg
The detected face is between 17 and 29 years old
Gender Male
The detected face is between 12 and 22 years old
Gender Female
Faces detected: 2
ものの数秒で処理が完了し、なかなか精度の高い情報が取れています。
簡単に画像分析が利用できるのはとても便利ですね。