チュートリアル: イメージの分類 - Rekognition

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

チュートリアル: イメージの分類

このチュートリアルでは、イメージに含まれるオブジェクト、シーン、概念を分類するモデルのプロジェクトとデータセットを作成する方法を説明します。このモデルはイメージ全体を分類します。例えば、このチュートリアルに従うと、リビングルームやキッチンなどの家庭の場所を認識するようにモデルをトレーニングできます。このチュートリアルでは、モデルを使用してイメージを分析する方法も説明します。

このチュートリアルを開始する前に、「Amazon Rekognition Custom Labels について」を読むことをお勧めします。

このチュートリアルでは、ローカルコンピュータからイメージをアップロードして、トレーニングデータセットとテストデータセットを作成します。後で、トレーニングおよびテストデータセットのイメージに画像レベルのラベルを割り当てます。

作成したモデルでは、トレーニングデータセットのイメージに割り当てたイメージレベルのラベルセットに属するものとしてイメージを分類します。例えば、トレーニングデータセット内のイメージレベルのラベルのセットが、kitchenliving_roompatio、および backyard の場合、モデルは 1 つのイメージ内のそれらのイメージレベルのラベルをすべて検出できる可能性があります。

注記

イメージ上のオブジェクトの位置を調べるなど、さまざまな目的でモデルを作成できます。詳細については、「モデルタイプの決定」を参照してください。

ステップ 1: イメージを集める

2 セットのイメージが必要です。1 セットはトレーニングデータセットに追加します。もう 1 つのセットはテストデータセットに追加します。イメージは、モデルが分類するオブジェクト、シーン、概念を表している必要があります。イメージは、PNG または JPEG 形式であることが必要です。詳細については、「イメージの準備」を参照してください。

トレーニングデータセットには 10 枚以上、テストデータセットには 10 枚以上のイメージが必要です。

まだイメージがない場合は、[ルーム] サンプル分類プロジェクトのイメージを使用してください。プロジェクトを作成すると、トレーニングイメージとテストイメージは次の Amazon S3 バケットの場所に配置されます。

  • トレーニングイメージ - s3://custom-labels-console-region-numbers/assets/rooms_version number_test_dataset/

  • テストイメージ - s3://custom-labels-console-region-numbers/assets/rooms_version number_test_dataset/

region は、Amazon Rekognition Custom Labels コンソールを使用している AWS リージョンです。numbers はコンソールがバケット名に割り当てる値です。Version numberは 1 から始まるサンプルプロジェクトのバージョン番号です。

以下の手順では、Rooms プロジェクトのイメージを、コンピュータ上の training および test という名前のローカルフォルダに保存します。

Rooms サンプルプロジェクトのイメージファイルをダウンロードするには
  1. Rooms プロジェクトを作成します。詳細については、「ステップ 1: プロジェクト例を選択する」を参照してください。

  2. コマンドプロンプトを開き、次のコマンドを入力してトレーニングイメージをダウンロードします。

    aws s3 cp s3://custom-labels-console-region-numbers/assets/rooms_version number_training_dataset/ training --recursive
  3. コマンドプロンプトで、次のコマンドを入力してテストイメージをダウンロードします。

    aws s3 cp s3://custom-labels-console-region-numbers/assets/rooms_version number_test_dataset/ test --recursive
  4. 2 つのイメージをトレーニングフォルダから任意の別のフォルダに移動します。このイメージを使用して、トレーニングしたモデルを ステップ 9: モデルを使用してイメージを分析する で試してみます。

ステップ 2: クラスを決める

モデルで検索するクラスのリストを作成します。例えば、家の部屋を認識するようにモデルをトレーニングする場合、次のイメージを living_room として分類できます。

各クラスはイメージレベルのラベルにマップされます。後で、トレーニングおよびテストデータセットのイメージに画像レベルのラベルを割り当てます。

Rooms サンプルプロジェクトのイメージを使用している場合、イメージレベルのラベルは、裏庭浴室寝室クローゼットentry_wayfloor_planfront_yardkitchenliving_space、および パティオです。

ステップ 3: プロジェクトを作成する

データセットとモデルを管理するには、プロジェクトを作成します。プロジェクトごとに、家の中の部屋を認識するなど、単一のユースケースに対応する必要があります。

プロジェクトを作成するには (コンソール)
  1. まだ追加していない場合には、Amazon Rekognition Custom Labels コンソールを設定します。詳細については、「Amazon Rekognition Custom Labels のセットアップ」を参照してください。

  2. AWS Management Console にサインインし、https://console.aws.amazon.com/rekognition/ で Amazon Rekognition コンソールを開きます。

  3. 左側のペインで、[カスタムラベルを使用] を選択します。Amazon Rekognition Custom Labels のランディングページが表示されます。

  4. Amazon Rekognition Custom Labels のランディングページで、[開始方法] を選択します。

  5. 左側のナビゲーションペインで、[プロジェクト] を選択します。

  6. [プロジェクト] ページで、[プロジェクトを作成] を選択します。

  7. [Project name] (プロジェクト名) にプロジェクトの名前を入力します。

  8. [プロジェクトを作成] を選択してプロジェクトを作成します。

ステップ 4: トレーニングデータセットおよびテストデータセットを作成する

このステップでは、ローカルコンピュータからイメージをアップロードして、トレーニングデータセットとテストデータセットを作成します。同時にアップロードできるイメージは、30 枚までです。アップロードするイメージがたくさんある場合は、Amazon S3 バケットからイメージをインポートしてデータセットを作成することを検討してください。詳細については、「Amazon S3 バケット」を参照してください。

データセットの詳細については、「データセットの管理」を参照してください。

ローカルコンピュータ上の画像を使用してデータセットを作成するには (コンソール)
  1. プロジェクトの詳細ページで、[Create dataset] (データセットの作成) を選択します。

  2. [設定の開始] セクションで、[トレーニングデータセットとテストデータセットで開始する] を選択します。

  3. [Training dataset details] (トレーニングデータセット詳細) セクションで、[Upload images from your computer] (コンピュータから画像をアップロードする) を選択します。

  4. [Test dataset details] (テストデータセット詳細) セクションで、[Upload images from your computer] (コンピュータから画像をアップロードする) を選択します。

  5. [データセットを作成] を選択します。

  6. データセットページが表示され、それぞれのデータセットの[Training] (トレーニング) タブと[Test] (テスト) タブが表示されます。

  7. [データセット] ページで [トレーニング] タブを選択します。

  8. [Actions] (アクション) を選択し、[Add images to training dataset] (トレーニングデータセットに画像を追加する) をクリックします。

  9. [トレーニングデータセットに画像を追加] ダイアログボックスで、[ファイルを選択] を選択します。

  10. データセットにアップロードする画像を選択します。同時にアップロードできるイメージは、30 枚までです。

  11. [Upload images] (画像をアップロード) を選択します。Amazon Rekognition Custom Labels がデータセットにイメージを追加するまでに数秒かかることがあります。

  12. トレーニングデータセットに追加するイメージが他にもある場合は、ステップ 9~12 を繰り返します。

  13. [テスト] タブを選択します。

  14. ステップ 8~12 を繰り返して、テストデータセットにイメージを追加します。ステップ 8 で、[アクション] を選択します。[テストデータセットに画像を追加] をクリックします。

ステップ 5: ラベルをプロジェクトに追加する

このステップでは、ステップ ステップ 2: クラスを決める で特定した各クラスのラベルをプロジェクトに追加します。

新しいラベルを追加するには (コンソール)
  1. データセットギャラリーページで、[ラベル付けを開始] を選択してラベル付けモードに入ります。

  2. データセットギャラリーの [ラベル] セクションで、[ラベルを編集] を選択し、[ラベルを管理] ダイアログボックスを開きます。

  3. 編集ボックスに新しいラベル名を入力します。

  4. [新しいラベルを追加] を選択します。

  5. 必要なラベルがすべて作成されるまで、ステップ 3 と 4 を繰り返します。

  6. [保存] を選択して、追加したラベルを保存します。

ステップ 6: トレーニングデータセットとテストデータセットに画像レベルのラベルを割り当てる

このステップでは、トレーニングデータセットとテストデータセットの各イメージに 1 つのイメージレベルを割り当てます。イメージレベルのラベルは、各イメージが表すクラスです。

画像レベルのラベルを画像に割り当てるには (コンソール)
  1. [データセット] ページで [トレーニング] タブを選択します。

  2. [ラベル付けを開始] を選択してラベル付けモードに入ります。

  3. ラベルを追加するイメージを 1 つ以上選択します。一度に選択できるのは 1 ページのイメージのみです。1 ページの連続した範囲のイメージを選択するには

    1. 最初のイメージを選択します。

    2. Shift キーを押したままにします。

    3. 2 つ目のイメージを選択します。最初のイメージと 2 番目のイメージ間のイメージも選択されます。

    4. Shift キーを放します。

  4. [画像レベルのラベルを割り当てる] を選択します。

  5. [画像レベルのラベルを選択した画像に割り当てる] ダイアログボックスで、1 つ以上のイメージに割り当てるラベルを選択します。

  6. [割り当てる] を選択して、イメージにラベルを割り当てます。

  7. すべてのイメージに必要なラベルが付けられるまで、ラベル付けを繰り返します。

  8. [テスト] タブを選択します。

  9. ステップを繰り返して、テストデータセットのイメージにイメージレベルのラベルを割り当てます。

ステップ 7: モデルのトレーニング

以下のステップに従って、モデルをトレーニングします。詳細については、「Amazon Rekognition Custom Labels モデルをトレーニングする」を参照してください。

モデルをトレーニングするには (コンソール)
  1. [データセット] ページで [モデルをトレーニング] を選択します。

  2. [モデルをトレーニング] ページで、[モデルをトレーニング] を選択します。プロジェクトの Amazon リソースネーム (ARN) は、[プロジェクトを選択] 編集ボックスにあります。

  3. [モデルをトレーニングしますか?] ダイアログボックスで、[モデルをトレーニング] を選択します。

  4. プロジェクトページの [モデル] セクションには、トレーニングが進行中であることが表示されます。モデルバージョンの Model Status 列を表示して、現在のステータスを確認できます。モデルのトレーニングは、完了までに時間がかかります。

  5. トレーニングが完了したら、モデル名を選択します。モデルのステータスが [TRAINING_COMPLETED] になったらトレーニングは終了します。

  6. [評価] ボタンを選択すると、評価結果が表示されます。モデルの評価の詳細については、「トレーニング済み Amazon Rekognition Custom Labels の改善」を参照してください。

  7. [テスト結果を表示] を選択すると、個々のテストイメージの結果が表示されます。詳細については、「モデルを評価するためのメトリクス」を参照してください。

  8. テスト結果を確認したら、モデル名を選択してモデルページに戻ります。

ステップ 8: モデルをスタートする

このステップではモデルを開始します。モデルの開始後、モデルを使用してイメージを分析できます。

モデルの稼働時間に応じて課金されます。イメージを分析する必要がない場合は、モデルを停止してください。モデルは後で再起動できます。詳細については、「トレーニング済み Amazon Rekognition Custom Labels の実行」を参照してください。

モデルを開始するには
  1. モデルページで [モデルを使用] タブを選択します。

  2. [モデルの開始または停止] セクションで、次の操作を行います。

    1. [開始] を選択します。

    2. [モデルを開始] ダイアログボックスで、[開始] を選択します。

  3. モデルが実行されるまで待ちます。[モデルの開始または停止] セクションのステータスが [実行中] の場合、モデルは実行中です。

ステップ 9: モデルを使用してイメージを分析する

イメージを分析するには、DetectCustomLabels API を呼び出します。このステップでは、detect-custom-labels AWS Command Line Interface (AWS CLI) コマンドを使用してサンプルイメージを分析します。AWS CLI コマンドは Amazon Rekognition Custom Labels コンソールから取得します。コンソールはモデルを使用するように AWS CLI コマンドを設定します。Amazon S3 バケットに保存されているイメージを指定するだけです。

注記

コンソールには Python サンプルコードも用意されています。

detect-custom-labels からの出力には、イメージ内のラベルのリスト、境界ボックス (モデルがオブジェクトの位置を検出した場合)、予測の精度に対するモデルの信頼度が含まれます。

詳細については、「トレーニングされたモデルによるイメージの分析」を参照してください。

イメージを分析するには (コンソール)
  1. まだセットアップしていない場合は、AWS CLI をセットアップしてください。手順については、「ステップ 4: AWS CLI と AWS SDKsを設定する」を参照してください。

  2. [モデルを使用] タブを選択し、[API コード] を選択します。

  3. [AWS CLI コマンド] を選択します。

  4. [画像を分析する] セクションで、detect-custom-labels を呼び出す AWS CLI コマンドをコピーします。

  5. Amazon S3 バケットにイメージファイルをアップロードします。手順については、Amazon Simple Storage Service ユーザーガイドの「Amazon S3 へのオブジェクトのアップロード」を参照してください。Rooms プロジェクトのイメージを使用している場合は、ステップ 1: イメージを集める 内の別のフォルダに移動したイメージの 1 つを使用してください。

  6. コマンドプロンプトで、前のステップでコピーした AWS CLI コマンドを入力します。次の例のようになります。

    --project-version-arn の値は、モデルの Amazon リソースネーム (ARN) になるはずです。--region の値は、モデルを作成した AWS リージョンであるはずです。

    MY_BUCKETPATH_TO_MY_IMAGE を前のステップで使用した Amazon S3 バケットとイメージに変更します。

    custom-labels-access プロファイルを使用して認証情報を取得する場合は、--profile custom-labels-access パラメータを追加します。

    aws rekognition detect-custom-labels \ --project-version-arn "model_arn" \ --image '{"S3Object": {"Bucket": "MY_BUCKET","Name": "PATH_TO_MY_IMAGE"}}' \ --region us-east-1 \ --profile custom-labels-access

    AWS CLI コマンドの JSON 出力は次のようになります。Name はモデルが見つけたイメージレベルのラベルの名前です。Confidence (0-100) は予測の精度に対するモデルの信頼度です。

    { "CustomLabels": [ { "Name": "living_space", "Confidence": 83.41299819946289 } ] }
  7. 引き続きモデルを使用して他のイメージを分析してください。使用しなくなったモデルは停止してください。

ステップ 10: モデルを停止する

このステップではモデルの実行を停止します。モデルの稼働時間に応じて課金されます。モデルの使用を終了した場合は、停止する必要があります。

モデルを停止するには
  1. [モデルの開始または停止] セクションで、[停止] を選択します。

  2. [モデルを停止] ダイアログボックスで、[停止] と入力し、モデルを停止することを確認します。

  3. [停止] を選択してモデルを停止します。[モデルの開始または停止] セクションのステータスが [停止済み] になると、モデルは停止します。