境界ボックスによるオブジェクトのラベル付け - Rekognition

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

境界ボックスによるオブジェクトのラベル付け

モデルにイメージ内のオブジェクトの位置を検知させる場合は、そのオブジェクトが何で、イメージ内のどこにあるかを特定する必要があります。境界ボックスは、イメージ内のオブジェクトを分離するボックスです。境界ボックスを使用して、同じイメージ内のさまざまなオブジェクトを検知するようにモデルをトレーニングします。オブジェクトを識別するには、境界ボックスにラベルを割り当てます。

注記

イメージレベルのラベルでオブジェクト、シーン、概念を検索するようにモデルをトレーニングする場合は、このステップを実行する必要はありません。

例えば、Amazon Echo Dot デバイスを検知するモデルをトレーニングする場合、イメージ内の各 Echo Dot の周囲に境界ボックスを描画し、その境界ボックスに Echo Dot という名前のラベルを割り当てます。次のイメージは、Echo Dot デバイスを囲む境界ボックスを示しています。イメージには、境界ボックスのない Amazon Echo も含まれています。

境界ボックスでオブジェクトを検索する (コンソール)

この手順では、コンソールを使用してイメージ内のオブジェクトの周囲に境界ボックスを描画します。また、境界ボックスにラベルを割り当てることにより、イメージ内のオブジェクトを識別できます。

注記

Safari ブラウザを使用してイメージに境界ボックスを追加することはできません。サポートされるブラウザについては、「Amazon Rekognition Custom Labels のセットアップ」を参照してください。

境界ボックスを追加する前に、データセットに少なくとも 1 つのラベルを追加する必要があります。詳細については、「新しいラベルの追加 (コンソール)」を参照してください。

イメージに境界ボックスを追加するには (コンソール)
  1. Amazon Rekognition コンソールを https://console.aws.amazon.com/rekognition/ で開きます。

  2. [カスタムラベルを使用] を選択します。

  3. [開始方法] を選択します。

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

  5. プロジェクト」 ページで、削除するプロジェクトを選択します。プロジェクトの詳細ページが表示されます。

  6. プロジェクトの詳細ページで [画像にラベルを付ける] を選択します。

  7. トレーニングデータセットのイメージに境界ボックスを追加する場合は、[トレーニング] タブを選択します。それ以外の場合は、[テスト] タブを選択して、テストデータセットのイメージに境界ボックスを追加します。

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

  9. イメージギャラリーで、境界ボックスを追加するイメージを選択します。

  10. [境界ボックスを描画] を選択します。境界ボックスエディタが表示される前に、一連のヒントが表示されます。

  11. 右側の [ラベル] ペインで、境界ボックスに割り当てるラベルを選択します。

  12. 描画ツールで、目的のオブジェクトの左上の領域にポインタを置きます。

  13. マウスの左ボタンを押しながら、オブジェクトの周囲にボックスを描画します。オブジェクトのできるだけ近くに境界ボックスを描くようにしてください。

  14. マウスボタンを放します。境界ボックスが強調表示されます。

  15. ラベル付けするイメージが他にもある場合は、[次へ] を選択します。それ以外の場合は、[完了] を選択してラベル付けを終了します。

  16. オブジェクトを含む境界ボックスを各イメージに作成するまで、ステップ 1~7 を繰り返します。

  17. [変更の保存] を選択して、変更を保存します。

  18. [終了] を選択してラベリングモードを終了します。

境界ボックス (SDK) を使用してオブジェクトを検索する

UpdateDatasetEntries API を使用して、イメージのオブジェクトの位置情報を追加または更新できます。UpdateDatasetEntries では 1 行以上の JSON 行を使用します。各 JSON 行は 1 つのイメージを表します。オブジェクトのローカリゼーションの場合、JSON 行では次のように表示されます。

{"source-ref": "s3://bucket/images/IMG_1186.png", "bounding-box": {"image_size": [{"width": 640, "height": 480, "depth": 3}], "annotations": [{ "class_id": 1, "top": 251, "left": 399, "width": 155, "height": 101}, {"class_id": 0, "top": 65, "left": 86, "width": 220, "height": 334}]}, "bounding-box-metadata": {"objects": [{ "confidence": 1}, {"confidence": 1}], "class-map": {"0": "Echo", "1": "Echo Dot"}, "type": "groundtruth/object-detection", "human-annotated": "yes", "creation-date": "2013-11-18T02:53:27", "job-name": "my job"}}

source-ref フィールドはイメージの場所を示します。JSON 行には、イメージの各オブジェクトのラベル付き境界ボックスも含まれています。詳細については、「マニフェストファイル内のオブジェクトのローカリゼーション」を参照してください。

イメージに境界ボックスを割り当てるには
  1. ListDatasetEntries を使用して既存のイメージの JSON 行を取得します。source-ref フィールドには、イメージレベルのラベルを割り当てるイメージの場所を指定します。詳細については、「データセットエントリの一覧表示 (SDK)」を参照してください。

  2. マニフェストファイル内のオブジェクトのローカリゼーション の情報を使用して、前のステップで返された JSON 行を更新します。

  3. UpdateDatasetEntries を呼び出してイメージを更新します。詳細については、「データセットへのイメージの追加」を参照してください。