LoginSignup
1
0

More than 1 year has passed since last update.

AWS Amazon Rekognitionを触ってみた

Posted at

Amazon Rekognitionで画像分類を実施してみた

背景

  • 撮影した動物の画像が気に入らなかった場合、自動的に取捨選択してくれたら楽だな
  • AWSの勉強も行いたい

ということで、画像分類に特化したAmazon Rekognitionのサービスをえらびました

Amazon Rekognitionについて

  • 機械学習 (ML) モデルとインフラストラクチャを最初から構築することなく、事前にトレーニングされた、またはカスタマイズ可能なコンピュータビジョン API をアプリケーションにすばやく追加
  • 何百万もの画像、ストリーミング、保存された動画を数秒で分析して、AI を使用して人間のレビュータスクを強化
  • フルマネージド AI 機能を使用して、ビジネス上のニーズに基づいてスケールアップおよびスケールダウンを行い、分析した画像と動画に対してのみ料金を支払います。

参照:https://aws.amazon.com/jp/rekognition/

流れ

  • データの準備(前処理)

  • プロジェクトの作成

  • データセットの作成

  • モデルの作成・評価

データ準備(前処理)

ブラウザからS3に画像をアップロード
参考:Ahttps://docs.aws.amazon.com/ja_jp/sdk-for-javascript/v3/developer-guide/s3-example-photo-album.html

  1. アルバム・写真を保存できるS3バケットを作成する
  2. 画像をアップロード

Amazon Rekognition導入

AWSコンソール画面(https://us-east-1.console.aws.amazon.com/console ) から Amazon Rekognitionを選択

Amazon Rekognition > カスタムラベルを使用 > ご利用開始にあたって > プロジェクト > 作成

image.png

先に流れを確認したい場合はチュートリアル・サンプルプロジェクトなどで大まかな流れを確認できます。
https://us-west-2.console.aws.amazon.com/rekognition/custom-labels?region=us-west-2#/get-started/example-projects

データセット作成

今回はトレーニングデータとテストデータを分けていないので、

自動的に8:2で分けられるよう 1つのデータセットを設定します。

image.png

事前に作成したS3を使用します
image.png
コメント 2022-05-25 17171.png

S3のURLについては、使用画像が入っているディレクトリで S3 URLをコピー を選択すればOK

パケット側の設定

ポリシーをコピーし、Paste the policy into the "Bucket Policy" section of xxx… を選択 
image.png

対象バケットの バケットポリシー を編集、データセット作成を選択

結果

image.png

データセットが作成済み という表示になりました。

新しくラベルを追加する

ローカルコンピュータから使用する画像にはラベルがつかないので、自身でラベルをつくります。
ディレクトリを分けている場合、あらかじめラベルを設定することもできます。

  1. 新しいラベルの追加
    ラベル付けを開始 >  ラベルを追加 > 新しいラベル名 > ラベルを追加 > 保存
    image.png
    参考:https://docs.aws.amazon.com/rekognition/latest/customlabels-dg/md-labels.html

 2. 細かく設定したい場合は、画像ごとに境界を設定
image.png
  犬と判定してほしい箇所に犬のラベルを付けました
 3. トレーニングデータ・テストデータともにラベル付けを行い、完了
 ※ともにラベル付けを行わないと、モデルのトレーニングができないので注意

モデルのトレーニング

  1. プロジェクト > 対象のプロジェクト > モードのトレーニングを選ぶ
    コメント 2022-05-25 171710.png
    入力項目は変更せず、モデルをトレーニング を選択

  モデルのステータスが TRAINING_IN_PROGRESS → TRAINING_COMPLETED になっていれば成功
image.png

image.png
参考:https://docs.aws.amazon.com/rekognition/latest/customlabels-dg/training-model.html

エラーが発生した場合

今回は
使用されているテストラベルとトレーニングラベルの重複が50%未満の場合に起きるエラーが発生しました
image.png

モデルの評価

テストデータセットのパフォーマンスを確認する
犬の顔に想定通りのラベルがついていましたが、全身・手足はFalse Negativeの結果となりました。

image.png

細かい結果・評価については、モデルの詳細から取得できます。
image.png

まとめ

精度の高いモデル作成はできなかったが、画像分類を学ぶよい切り口

  • 問題点
    ラベルの精度
    データセットをあらかじめ作成
     

スマホなどで撮った写真 → AWSで画像選択 → 自身が良いと思った写真のみ残す
といったことも可能だと思います。

参考

Sagemakerをつかった画像分類について
Amazon Rekognitionとはまた違う手法ですので、気になった方はぜひご覧ください。

◆モデルについて学ぶ TensorFlow
https://www.tensorflow.org/tutorials/keras/classification

◆画像処理について(Dog vs Cat)
https://www.tensorflow.org/tutorials/images/classification

◆AWSを用いた機械学習
https://dev.classmethod.jp/articles/learn-machine-learning-within-an-hour-with-sagemaker/

◆現場で使える!TensorFlow開発入門 Kerasによる深層学習モデル構築手法
https://books.google.co.jp/books?hl=ja&lr=lang_ja|lang_en&id=-dtVDwAAQBAJ&oi=fnd&

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0