チュートリアル: イメージの分類 - 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. [プロジェクト名] にプロジェクトの名前を入力します。

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

    「My-Project」という名前の新しいプロジェクトを作成する UI フォーム。プロジェクト名を入力し、プロジェクトボタンをキャンセルまたは作成するためのフィールドがあります。

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

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

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

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

    トレーニングモデルワークフローでのデータセットの作成ステップ: モデルをトレーニングするための画像とラベルをアップロードするためのデータセットボタンを作成します。
  2. [設定の開始] セクションで、[トレーニングデータセットとテストデータセットで開始する] を選択します。

  3. [トレーニングデータセット詳細] セクションで、[コンピュータから画像をアップロード] を選択します。

  4. [テストデータセット詳細] セクションで、[コンピュータから画像をアップロード] を選択します。

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

    トレーニングデータセットとテストデータセットを作成するためのユーザーインターフェイス。データセットを作成し、下部のキャンセルボタン。
  6. データセットページが表示され、それぞれのデータセットの[トレーニング] タブと[テスト] タブが表示されます。

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

  8. [アクション] を選択し、[トレーニングデータセットに画像を追加] をクリックします。

    アクションメニューのトレーニングデータセットとテストデータセットに画像を追加するオプションを示すデータセットビュー。
  9. [トレーニングデータセットに画像を追加] ダイアログボックスで、[ファイルを選択] を選択します。

    データセットをトレーニングするための画像ファイルをアップロードするボタン。
  10. データセットにアップロードする画像を選択します。同時にアップロードできるイメージは、30 枚までです。

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

    トレーニングデータセットにアップロードできるイメージサムネイルが 11 個表示されたグリッド。
  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. [画像レベルのラベルを割り当てる] を選択します。

    「Assign-image level labels」ボタンが付いた、住宅の裏庭の 3 つのイメージを示すインターフェイス。
  5. [画像レベルのラベルを選択した画像に割り当てる] ダイアログボックスで、1 つ以上のイメージに割り当てるラベルを選択します。

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

    割り当てボタンを使用して、選択したイメージにイメージレベルのラベル「backyard」を割り当てる方法を示すダイアログボックス。
  7. すべてのイメージに必要なラベルが付けられるまで、ラベル付けを繰り返します。

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

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

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

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

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

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

    プロジェクト ARN 入力フィールド、空のタグセクション、モデルをトレーニングするボタンを表示するモデル設定ページ。
  3. In the Do you want to train your model? dialog box, choose Train model.

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

    モデルが現在トレーニング中であることを示す「TRAINING_IN_PROGRESS」を示すモデルステータス。
  5. トレーニングが完了したら、モデル名を選択します。モデルのステータスが [TRAINING_COMPLETED] になったらトレーニングは終了します。

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

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

    ラベルごとのパフォーマンスメトリクスを持つ 10 個のイメージラベルの F1 スコア、平均精度、および全体的な再現率を示すモデル評価結果。
  8. テスト結果を確認したら、モデル名を選択してモデルページに戻ります。

    予測ラベルと信頼スコアを表示した、バックyard とフロント yard イメージのデータセットのトレーニング済みモデルのテスト結果を示すインターフェイス。

ステップ 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 コード] を選択します。

    モデルの詳細と、モデルを使用する Amazon リソースネーム (ARN) と API コードを表示するオプションを示すインターフェイス。
  3. [AWS CLI コマンド] を選択します。

  4. イメージの分析セクションで、 を呼び出す AWS CLI コマンドをコピーしますdetect-custom-labels

    カスタムモデルでイメージを分析する AWS CLI コマンド。置き換えるプロジェクト ARN とバケット名のプレースホルダーが表示されます。
  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. [停止] を選択してモデルを停止します。[モデルの開始または停止] セクションのステータスが [停止済み] になると、モデルは停止します。

    モデルが実行されていないため、スタートボタンまたはコード例を使用して開始する必要があることを説明する停止ステータスインジケータ。