オブジェクト検出ガイド

コンソールの人物ぼかしモデルカード

オブジェクト検出モデル は、動画内の 500 種類を超えるオブジェクトを識別して特定できます。このモデルは、動画ストリームを入力として受け取り、 検出結果を含むプロトコル バッファを BigQuery に出力します。モデルは 1 FPS で実行されます。オブジェクト検出モデルを使用するアプリを作成する場合は、予測出力を表示するために、モデル出力を BigQuery コネクタに転送する必要があります。

オブジェクト検出モデル アプリの仕様

コンソールでオブジェクト検出モデルを作成するには、次の手順を行います。Google Cloud

コンソール

コンソールでアプリを作成する Google Cloud

  1. オブジェクト検出アプリを作成するには、 アプリケーションを構築するの手順に沿って操作します。

    [アプリケーション] タブに移動

オブジェクト検出モデルを追加する

  1. モデルノードを追加するときに、事前トレーニング済みモデルのリストから [オブジェクト検出] を選択します。

BigQuery コネクタを追加する

  1. 出力を使用するには、アプリを BigQuery コネクタに接続します。

    BigQuery コネクタの使用方法については、BigQuery にデータを接続して保存するをご覧ください。BigQuery の料金については、 BigQuery の料金ページをご覧ください。

BigQuery で出力結果を表示する

モデルが BigQuery にデータを出力したら、BigQuery ダッシュボードで出力アノテーションを表示します。

BigQuery パスを指定しなかった場合は、Agent101}Agent Platform Vision スキーマの [Studio] ページでシステム作成のパスを確認できます。

  1. コンソールで、[BigQuery] ページを開きます。 Google Cloud

    BigQuery に移動

  2. ターゲット プロジェクト、データセット名、アプリケーション名の横にある [展開] を選択します。

    BigQuery でアプリテーブルを選択する

  3. テーブルの詳細ビューで、[プレビュー] をクリックします。[アノテーション] 列で結果を確認します。出力形式の説明については、 モデル出力をご覧ください。

アプリケーションは結果を時系列で保存します。最も古い結果はテーブルの先頭に、最新の結果はテーブルの末尾に追加されます。最新の結果を確認するには、ページ番号をクリックして最後のテーブルページに移動します。

モデル出力

モデルは、各動画フレームの境界ボックス、オブジェクト ラベル、信頼度スコアを出力します。出力にはタイムスタンプも含まれます。出力ストリームのレートは 1 フレーム / 秒です。

次のプロトコル バッファ出力の例では、次の点に注意してください。

  • タイムスタンプ - タイムスタンプは、この推論結果の時刻に対応します。
  • 識別されたボックス - ボックスの ID、境界ボックス情報、信頼度スコア、オブジェクト予測を含む主な検出結果。

アノテーション出力 JSON オブジェクトのサンプル

{
  "currentTime": "2022-11-09T02:18:54.777154048Z",
  "identifiedBoxes": [
    {
      "boxId":"0",
      "normalizedBoundingBox": {
        "xmin": 0.6963465,
        "ymin": 0.23144785,
        "width": 0.23944569,
        "height": 0.3544306
      },
      "confidenceScore": 0.49874997,
      "entity": {
        "labelId": "0",
        "labelString": "Houseplant"
      }
    }
  ]
}

プロトコル バッファの定義

// The prediction result protocol buffer for object detection
message ObjectDetectionPredictionResult {
  // Current timestamp
  protobuf.Timestamp timestamp = 1;

  // The entity information for annotations from object detection prediction
  // results
  message Entity {
    // Label id
    int64 label_id = 1;

    // The human-readable label string
    string label_string = 2;
  }

  // The identified box contains the location and the entity of the object
  message IdentifiedBox {
    // An unique id for this box
    int64 box_id = 1;

    // Bounding Box in normalized coordinates [0,1]
    message NormalizedBoundingBox {
      // Min in x coordinate
      float xmin = 1;
      // Min in y coordinate
      float ymin = 2;
      // Width of the bounding box
      float width = 3;
      // Height of the bounding box
      float height = 4;
    }
    // Bounding Box in the normalized coordinates
    NormalizedBoundingBox normalized_bounding_box = 2;

    // Confidence score associated with this bounding box
    float confidence_score = 3;

    // Entity of this box
    Entity entity = 4;
  }
  // A list of identified boxes
  repeated IdentifiedBox identified_boxes = 2;
}

ベスト プラクティスと制限事項

オブジェクト検出機能を使用する際に最良の結果を得るには、データの取得とモデルの使用時に次の点を考慮してください。

ソースデータに関する推奨事項

推奨: 写真内のオブジェクトが鮮明で、他のオブジェクトで覆われていないか、大部分が隠されていないことを確認します。

オブジェクト検出モデルが正しく処理できる画像データの例:

対象物がはっきりと見えるサンプル画像
画像の出典: SpacejoyUnsplashより。

この画像データをモデルに送信すると、次のオブジェクト検出 情報*が返されます。

* 次の画像のアノテーションは説明のみを目的としています 。境界ボックス、ラベル、信頼度スコアは手動で 描画されたものであり、モデルや Google Cloud コンソールツールによって追加されたものではありません。

対象物がはっきりと見えるサンプル画像
画像の出典: SpacejoyUnsplash より(アノテーションは手動で追加)。

非推奨: フレーム内の 主要なオブジェクト アイテムが小さすぎる画像データは避けてください。

オブジェクト検出モデルが正しく処理できない画像データの例:

検出するには小さすぎるオブジェクト アイテムのサンプル画像
画像の出典: Bernard HermantUnsplash より(切り抜き)。

非推奨: 主要なオブジェクト アイテムが他のオブジェクトで部分的または完全に覆われている画像データは避けてください。

オブジェクト検出モデルが正しく処理できない画像データの例:

他のオブジェクトによって一部が隠れているオブジェクト アイテムのサンプル画像
画像の出典: Şahin Sezer DinçerUnsplashより。

制限事項

  • 動画の解像度: 推奨される最大入力動画解像度は 1920 x 1080、推奨される最小解像度は 160 x 120 です。
  • 照明: モデルのパフォーマンスは照明条件に左右されます。 極端に明るい場合や暗い場合は、検出品質が低下する可能性があります。
  • オブジェクト サイズ: オブジェクト検出モデルには、検出可能な最小オブジェクト サイズがあります。ターゲット オブジェクトが十分に大きく、動画データ内で見えるようにしてください。