AWSには様々な機能がありますが、その中でもRekognitionは画像認識技術を提供するサービスです。Rekognitionを使うことで、画像に対して様々な処理を行うことができます。本記事では、Rekognitionを使ってAWS上で画像検索エンジンを構築する方法について解説します。
まずはじめに、AWSのアカウントを作成し、Rekognitionを有効化する必要があります。また、本記事ではPythonを使用しますので、Pythonのインストールも必要です。
画像をアップロードするために、AWS S3を使用します。S3に画像をアップロードすることで、Rekognitionが画像を認識することができます。以下のコードを使用して、画像をアップロードします。
import boto3
s3 = boto3.resource('s3')
bucket_name = 'your-bucket-name'
file_name = 'your-file-name.jpg'
s3.Bucket(bucket_name).upload_file(file_name, file_name)
画像の検索には、Rekognitionのsearch_faces_by_image
を使用します。以下のコードを使用して、画像の検索を行います。
import boto3
rekognition = boto3.client('rekognition')
bucket_name = 'your-bucket-name'
file_name = 'your-file-name.jpg'
response = rekognition.search_faces_by_image(
CollectionId='your-collection-id',
Image={
'S3Object': {
'Bucket': bucket_name,
'Name': file_name
}
}
)
face_matches = response['FaceMatches']
if len(face_matches) > 0:
print('Matched faces:')
for match in face_matches:
print('FaceId: ' + match['Face']['FaceId'])
print('Similarity: ' + str(match['Similarity']))
else:
print('No faces matched')
画像の検索を行うためには、事前に顔を登録する必要があります。顔の登録には、Rekognitionのindex_faces
を使用します。以下のコードを使用して、顔の登録を行います。
import boto3
rekognition = boto3.client('rekognition')
bucket_name = 'your-bucket-name'
file_name = 'your-file-name.jpg'
response = rekognition.index_faces(
CollectionId='your-collection-id',
Image={
'S3Object': {
'Bucket': bucket_name,
'Name': file_name
}
}
)
face_records = response['FaceRecords']
if len(face_records) > 0:
print('Registered faces:')
for record in face_records:
print('FaceId: ' + record['Face']['FaceId'])
else:
print('No faces registered')
本記事では、Rekognitionを使ってAWS上で画像検索エンジンを構築する方法について解説しました。画像のアップロード、画像の検索、顔の登録について、それぞれのコードを紹介しました。Rekognitionを使うことで、簡単に画像検索エンジンを構築することができます。是非、お試しください。
本記事で紹介した技術を使って、新しい開発プロジェクトを進めたいという方は、サーバーレス開発、低コストなAWS開発内製化にお気軽にお問い合わせください。
スモールスタート開発支援、サーバーレス・NoSQLのことなら
ラーゲイトまでご相談ください
低コスト、サーバーレスの
モダナイズ開発をご検討なら
下請け対応可能
Sler企業様からの依頼も歓迎