今回試したこと
Amazon Rekognition カスタムラベルを使ってどの程度正確に犬と猫を画像判定できるか試してみました
Amazon Rekognition カスタムラベルを使ってみる
データセット準備
適当なS3を作って学習用のデータセットを格納しておきます
catフォルダの中身
Amazon Rekognition でデータセットを作成
先ほど用意したS3を指定して、Automatin labering にチェックを入れる
Importが完了すると、データセットが表示される
トレーニング
トレーニングが完了すると、TRAINING_COMPLETEDになる
判定用の画像を用意
判定用の画像を用意して、適当なS3に格納
確認
コマンド実行結果
% docker run --rm -it -v ~/.aws:/root/.aws amazon/aws-cli rekognition detect-custom-labels \
--project-version-arn "arn:aws:rekognition:ap-northeast-1:ACCOUNT_ID:project/WhatAnimal/version/WhatAnimal.2021-10-26T23.22.59/1635258179669" \
--image '{"S3Object": {"Bucket": "rekognition-image-n74bc4ed9zxjm8t5esf6","Name": "test-1.jpg"}}' \
--region ap-northeast-1
{
"CustomLabels": [
{
"Name": "cat",
"Confidence": 96.83799743652344
}
]
}
$ docker run --rm -it -v ~/.aws:/root/.aws amazon/aws-cli rekognition detect-custom-labels \
--project-version-arn "arn:aws:rekognition:ap-northeast-1:ACCOUNT_ID:project/WhatAnimal/version/WhatAnimal.2021-10-26T23.22.59/1635258179669" \
--image '{"S3Object": {"Bucket": "rekognition-image-n74bc4ed9zxjm8t5esf6","Name": "test-2.jpg"}}' \
--region ap-northeast-1
{
"CustomLabels": [
{
"Name": "cat",
"Confidence": 99.81999969482422
}
]
}
$ docker run --rm -it -v ~/.aws:/root/.aws amazon/aws-cli rekognition detect-custom-labels \
--project-version-arn "arn:aws:rekognition:ap-northeast-1:ACCOUNT_ID:project/WhatAnimal/version/WhatAnimal.2021-10-26T23.22.59/1635258179669" \
--image '{"S3Object": {"Bucket": "rekognition-image-n74bc4ed9zxjm8t5esf6","Name": "test-3.jpg"}}' \
--region ap-northeast-1
{
"CustomLabels": [
{
"Name": "dog",
"Confidence": 56.49899673461914
}
]
}
$ docker run --rm -it -v ~/.aws:/root/.aws amazon/aws-cli rekognition detect-custom-labels \
--project-version-arn "arn:aws:rekognition:ap-northeast-1:ACCOUNT_ID:project/WhatAnimal/version/WhatAnimal.2021-10-26T23.22.59/1635258179669" \
--image '{"S3Object": {"Bucket": "rekognition-image-n74bc4ed9zxjm8t5esf6","Name": "test-4.jpg"}}' \
--region ap-northeast-1
{
"CustomLabels": [
{
"Name": "dog",
"Confidence": 99.97799682617188
}
]
}
$ docker run --rm -it -v ~/.aws:/root/.aws amazon/aws-cli rekognition detect-custom-labels \
--project-version-arn "arn:aws:rekognition:ap-northeast-1:ACCOUNT_ID:project/WhatAnimal/version/WhatAnimal.2021-10-26T23.22.59/1635258179669" \
--image '{"S3Object": {"Bucket": "rekognition-image-n74bc4ed9zxjm8t5esf6","Name": "test-5.jpg"}}' \
--region ap-northeast-1
{
"CustomLabels": [
{
"Name": "dog",
"Confidence": 66.59500122070312
}
]
}
$ docker run --rm -it -v ~/.aws:/root/.aws amazon/aws-cli rekognition detect-custom-labels \
--project-version-arn "arn:aws:rekognition:ap-northeast-1:ACCOUNT_ID:project/WhatAnimal/version/WhatAnimal.2021-10-26T23.22.59/1635258179669" \
--image '{"S3Object": {"Bucket": "rekognition-image-n74bc4ed9zxjm8t5esf6","Name": "test-6.jpg"}}' \
--region ap-northeast-1
{
"CustomLabels": [
{
"Name": "cat",
"Confidence": 97.85400390625
}
]
}
画像と結果
test-1.jpg
"Name": "cat", "Confidence": 96.83799743652344
test-2.jpg
"Name": "cat", "Confidence": 99.81999969482422
test-3.jpg
"Name": "dog", "Confidence": 56.49899673461914
test-4.jpg
"Name": "dog", "Confidence": 99.97799682617188
test-5.jpg
"Name": "dog", "Confidence": 66.59500122070312
test-6.jpg
"Name": "cat", "Confidence": 97.85400390625
終わりに
元々学習用に提供されている犬と猫の画像を使ったためか、とても高い精度で犬猫判定ができました。
手軽に機械学習を利用できるのはいいですね。
参考
[Amazon Rekognition] よく似たパッケージの商品をカスタムラベル(イメージ分類)で判別してみました
kaggle
フリー素材.com
機械学習に使うデータセットの著作権について Qiita