【AWS入門】AWSの画像認識で、写真内の猫の数を検出するには【Python】

AWSの画像認識AI(Amazon Rekognition)で、写真内の猫の数をカウントするには、detect_labelsを使用します。

 

前提

・AWSアカウント作成済み
AWSキー情報を、自分のPCに初期設定済み

 

写真内の猫の数をカウントするには【Amazon Rekognition】

入力画像・検出画像

例として、子猫5匹の写真を使います。

1つ目が入力画像、2つ目が実際のAmazon Rekognitionの検出結果の画像です。

Pythonサンプル

import boto3

#boto3のclient作成、rekognitionとリージョンを指定
client = boto3.client('rekognition','ap-northeast-1')

# 画像ファイルを読み込んでバイト列を取得
with open('子猫5匹.jpg', 'rb') as source_image:
    source_bytes = source_image.read()

# AWSへバイト列を渡し、ラベル検出結果を受け取り
response = client.detect_labels(Image={ 'Bytes': source_bytes })

# responseデータ内で、NameがCatの場合、検出物体数を表示
for label in response['Labels']:
    if label['Name'] == 'Cat':
        print(label['Name'] + ': ' + str(len(label['Instances'])))

実行結果

Cat: 5

子猫5匹を、正しくカウントできています。

 

実行例(他の猫写真)

他の猫写真でも、正しく猫の数をカウントできるのでしょうか?
実際の実行例を、見てみましょう。

入力画像・検出画像①

まずは、猫4匹の画像を使用します。

実行結果①(上記のPythonサンプル)

Cat: 4

入力画像の猫4匹を、正しくカウントできています。
写真内の右奥の顔しか見えていない猫も、しっかりと検出できていますね!

 

入力画像・検出画像②

次は、地面で猫6匹がくつろいでいる写真を使用します。

実行結果②(上記のPythonサンプル)

Cat: 6

入力画像の猫6匹を、正しくカウントできています。
写真右端の、まるまっている黒猫も正しく検出できています。すごい。

 

まとめ

Amazon Rekognitionで、写真内の猫の数をカウントする方法をまとめました。
みなさんもAmazon Rekognitionを使用して、AI画像認識でお好きな動物をカウントしてはどうでしょうか。

最後まで読んでいただき、ありがとうございます。
また、お会いしましょう。