機械学習
動画分析
概要
このブロックは、Cloud Video Intelligenceサービスを使って、Google Cloud Storage(GCS)上の動画を分析します。動画の分析結果は、[結果を格納する変数]プロパティで指定された変数に格納します。
注意
セルフサービスプランの場合は、このブロックを使用する前に、Cloud Video Intelligence APIを有効にしてください。詳しくは、「基本操作ガイド>ヒント>Google APIを有効にする」を参照してください。
プロパティ
プロパティ名 | 説明 |
---|---|
ブロック名 |
ブロックの名前を指定します。ブロックに表示されます。 |
GCPサービスアカウント |
このブロックで使用するGCPサービスアカウントを選択します。 |
動画データのGCS上のURL |
動画ファイルが格納されているGCS上のURLを指定します。 |
検知する情報 |
ビデオ内のどの情報を検知するかを指定します。指定できる情報は以下のとおりです(複数同時に指定可能)。
|
結果を格納する変数 |
動画の分析結果を格納する変数です。 格納される変数の内容については、「出力仕様>動画分析」を参照してください。 |
ブロックメモ |
ブロックに対するコメントを指定します。 |
固定カメラで撮影した動画 |
固定カメラで撮影した動画か否かを指定します。 |
ラベル検出モード |
ラベルの検出方法を指定します。指定できる方法は以下のいずれかです。
|
使用例
GCSにアップロードされた動画データを分析し、その結果をBigQueryテーブルに保存して、さらにGoogleスプレッドシートに出力するフローの例を以下に示します。
情報
以下の使用例では、各ブロックのプロパティ設定について、デフォルト値をそのまま使用しているプロパティの説明は省略しています。明示的に値が指定されているプロパティは、デフォルト値から変更が必要な箇所です。
- 「フローの開始」ブロックでフローにIDを設定します。
プロパティ名 値 ID video-analysis-flow
ブロック名 動画分析の使用例
ID設定時に、GCSに動画データを配置したときにフローが実行されるように設定します。
項目 値 Google Cloud Storage(GCS)上にファイル/フォルダを配置したときにフローを実行する GCSサービスアカウント デフォルトのGCSサービスアカウントを選択。複数ある場合は適切なものを選択してください。 バケット アップロード先のGCSバケットを設定 フォルダ名/ファイル名 block-reference-example/video-intelligence/*
- 「動画分析」ブロックで、GCS上の動画を解析します。
プロパティ名 値 動画データの GCS 上の URL ${gcs_path}
検知する情報
ビデオ内のシーン変化を検出
ビデオ内のアダルトコンテンツを検出動画データの分析結果は、変数
_
に格納されます。 - 「変数からテーブルへロード」ブロックを使って、分析結果をBigQueryのテーブルにロードします。
プロパティ名 値 投入データの変数 _.annotationResults
投入先のデータセット example
投入先のテーブル video_analysis_results
スキーマ設定 JSONで編集
を使って、「動画分析ブロックの出力結果スキーマ定義ファイル」の内容を貼り付け - 「クエリーの結果からスプレッドシートを作成」ブロックを使って、BigQueryテーブルの内容をGoogleスプレッドシートに出力します。
プロパティ名 値 ファイル名 動画分析の結果
クエリー SELECT inputUri, entity.entityId AS entity_entityId, entity.description AS entity_description, entity.languageCode AS entity_languageCode, categoryEntity.entityId AS categoryEntity_entityId, categoryEntity.description AS categoryEntity_description, categoryEntity.languageCode AS categoryEntity_languageCode, segment.segment.startTimeOffset AS segment_startTimeOffset, segment.segment.endTimeOffset AS segment_endTimeOffset, segment.confidence AS segment_confidence, shot.startTimeOffset AS shot_startTimeOffset, shot.endTimeOffset AS shot_endTimeOffset, explicit_frame.timeOffset AS explicit_timeOffset, explicit_frame.pornographyLikelihood AS explicit_pornographyLikelihood FROM `example.video_analysis_results`, UNNEST(segmentLabelAnnotations) AS segmentLabelAnnotation LEFT JOIN UNNEST(segmentLabelAnnotation.categoryEntities) AS categoryEntity LEFT JOIN UNNEST(segmentLabelAnnotation.segments) AS segment LEFT JOIN UNNEST(shotAnnotations) AS shot LEFT JOIN UNNEST(explicitAnnotation.frames) AS explicit_frame
- 全体のフローは、以下のようになります。
- これで、所定の場所に動画データを配置すると、フローが実行されます。以下は、Googleスプレッドシートの例です。
注意
なお、この使用例で示したプロパティの設定値はあくまで一例です。実際にフローを作成する際は、ご自身の環境に合わせてGCPサービスアカウントやバケット名、データセット名、テーブル名などを適切な値に変更してください。