AWSのAI画像認識で、人や自転車などの、物体を検出するには【Python】

AWSのAI画像認識(Amazon Rekognition)で、物体検出するには、detect_labelsを使用します。
具体的には、ラベル検出のレスポンスで、実体(Instances)が存在するものをピックアップします。

AIで物体検出するには【AWS】

入力画像・検出画像

1枚目が入力画像、2枚目が画像認識後の画像です。
それでは、AWSの画像認識で、どのように物体検出できるか見ていきましょう。

Pythonサンプル

import boto3

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

# 画像ファイルを読み込んでバイト列を取得
with open('子どもと自転車.jpg', 'rb') as source_image:
    source_bytes = source_image.read()

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

# response内のラベルでInstancesが空でない場合、ラベル名を表示
for label in response['Labels']:
    if len(label['Instances']) > 0:
        print(label['Name'])

物体検出するには、AWSのラベル検出のレスポンスで、実体(Instances)が存在するものをピックアップすればよいです。
上記のPythonを実行すると、次の結果になります。

実行結果

Bicycle
Person
Wheel
Shoe

自転車、人、車輪、靴を、正しく検出できています。

 

前提

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

 

まとめ

Amazon Rekognitionnで、画像から物体検出する方法をまとめました。
みなさんもAmazon RekognitionnのAPIを使用して、スマホやWebカメラで撮影した画像で、物体検出にトライしてみてはどうでしょうか。

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

 

【もくじ】AWSのAIサービスで、できること一覧