
オブジェクト検出モデルは、動画内の 500 種類を超えるオブジェクトを識別して位置を特定できます。モデルは動画ストリームを入力として受け取り、検出結果を含むプロトコル バッファを BigQuery に出力します。モデルは 1 FPS で実行されます。オブジェクト検出モデルを使用するアプリを作成する場合は、予測出力を表示するために、モデル出力を BigQuery コネクタに転送する必要があります。
オブジェクト検出モデルアプリの仕様
Google Cloud コンソールでオブジェクト検出モデルを作成するには、次の操作を行います。
コンソール
Google Cloud コンソールでアプリを作成する
オブジェクト検出機能アプリを作成するには、アプリケーションを構築するの手順に沿って操作します。
オブジェクト検出モデルを追加する
- モデルノードを追加するときは、事前トレーニング済みモデルのリストから [オブジェクト検出] を選択します。
BigQuery コネクタを追加する
出力を使用するには、アプリを BigQuery コネクタに接続します。
BigQuery コネクタの使用については、BigQuery にデータを接続して保存するをご覧ください。BigQuery の料金については、BigQuery の料金ページをご覧ください。
BigQuery で出力結果を表示する
モデルが BigQuery にデータを出力したら、BigQuery ダッシュボードで出力アノテーションを表示します。
BigQuery パスを指定しなかった場合は、Agent Platform Vision の Studio ページでシステム作成パスを確認できます。
Google Cloud コンソールで、[BigQuery] ページを開きます。
ターゲット プロジェクト、データセット名、アプリケーション名の横にある 展開を選択します。
テーブルの詳細ビューで、[プレビュー] をクリックします。結果は [アノテーション] 列に表示されます。出力形式の説明については、モデル出力をご覧ください。
アプリケーションは結果を時系列順に保存します。最も古い結果がテーブルの先頭に表示され、最新の結果がテーブルの末尾に追加されます。最新の結果を確認するには、ページ番号をクリックして最後の表のページに移動します。
モデル出力
モデルは、各動画フレームの境界ボックス、オブジェクト ラベル、信頼スコアを出力します。出力にはタイムスタンプも含まれます。出力ストリームのレートは 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;
}
ベスト プラクティスと制限事項
オブジェクト検出器を使用する際に最良の結果を得るには、データを取得してモデルを使用する際に次の点を考慮してください。
ソースデータに関する推奨事項
推奨: 写真内のオブジェクトが鮮明で、他のオブジェクトによって隠れたり、大部分が隠れたりしていないことを確認します。
オブジェクト検出が正しく処理できる画像データの例:
|
この画像データをモデルに送信すると、次のオブジェクト検出情報が返されます。*
* 次の画像の注釈は、説明のみを目的としています。バウンディング ボックス、ラベル、信頼スコアは手動で描画され、モデルや Google Cloud コンソール ツールによって追加されたものではありません。
推奨されません: フレーム内の主要なオブジェクト アイテムが小さすぎる画像データは避けてください。
オブジェクト検出が正しく処理できない画像データの例:
|
非推奨: キー オブジェクト アイテムが他のオブジェクトによって部分的にまたは完全に覆われている画像データは避けてください。
オブジェクト検出が正しく処理できない画像データの例:
|
制限事項
- 動画の解像度: 推奨される最大入力動画解像度は 1,920 x 1,080、推奨される最小解像度は 160 x 120 です。
- 照明: モデルのパフォーマンスは照明条件に影響を受けます。明るすぎたり暗すぎたりすると、検出の精度が低下する可能性があります。
- オブジェクト サイズ: オブジェクト検出器には、検出可能な最小オブジェクト サイズがあります。ターゲット オブジェクトが動画データ内で十分に大きく、視認可能であることを確認します。