AWSの画像認識AI(Amazon Rekognition)で、画像内の顔の数を検出するには、detect_facesを使用します。
目次
顔の数を検出するには【Amazon Rekognition】
入力画像・検出画像
1つ目が入力画像、2つ目が実際のAmazon Rekognitionの検出結果の画像です。
Pythonサンプル
import boto3
#boto3のclient作成、AWSサービス名とリージョンを指定
client = boto3.client('rekognition','ap-northeast-1')
# 画像ファイルを読み込んでバイト列を取得
with open('./女子会4人.jpg', 'rb') as source_image:
source_bytes = source_image.read()
# AWSへバイト列を渡し、ラベル検出結果を受け取る
response = client.detect_faces(Image={ 'Bytes': source_bytes })
# responseデータ内の、FaceDetailsの要素数を表示
print('顔の数:' + str(len(response['FaceDetails'])))
実行結果
顔の数:4
女性4人の顔を、正しく検出できています。
顔数の検出例(上記のPythonサンプル)
では他の画像でも、正しく顔数をカウントできるのでしょうか?
他の画像での検出例を、見てみましょう。
入力画像・検出画像①
浴衣姿の女性11人の写真です。
実行結果①
顔の数:11
入力画像の浴衣女性11人を、正しく検出できています。
集合写真の様に、人の数が増えても、しっかりと検出できていますね!
入力画像・検出画像②
こちらは、図面を見ている男女6人の写真です。
実行結果②
顔の数:6
入力画像の6人の男女を、正しく検出できています。
中央の青いヘルメットの男性も、問題なく検出できています。
Pythonサンプル使用の前提
・AWSアカウント作成済み
・AWSキー情報を、自分のPCに初期設定済み
上記の準備の上、ご使用ください。
まとめ
Amazon Rekognitionで、画像から顔の数を検出する方法を解説しました。
意外に簡単かつ正確に検出できて、個人的に驚きの結果でした。
みなさんもAmazon Rekognitionを使用して、色んな角度の顔で検出できるか、トライしてみてはどうでしょうか。
最後まで読んでいただき、ありがとうございます。
また、お会いしましょう。