Vertex AI Vision は、動画 データの取り込み、分析、保存に使用できる AI を活用したプラットフォームです。Vertex AI Vision を使用すると、AI アプリケーションを構築してデプロイできます。Vertex AI Vision と他のプロダクト コンポーネントの統合を活用して、エンドツーエンドの Vertex AI Vision ソリューションを構築できます。
Vertex AI Vision プラットフォームを使用してソリューションの実装を開始するには、次の Vertex AI Vision のコンセプトとコンポーネントを確認してください。
ストリーム: ソリューションの動画ストリーミング レイヤを表します。ストリーム ソースは、ライブ動画(IP カメラなど)または動画ファイル(MP4 ファイルなど)にできます。
アプリケーション: ストリームと AI プロセッサ間の接続を有効にして、動画に対して ML オペレーションを実行します。たとえば、カメラ ストリームを、カメラの前を通り過ぎる人の数をカウントする AI モデルに接続できます。
メディア ウェアハウス: ストリームによって取り込まれた動画をGoogle Cloud ストレージに保存します。この宛先にデータを保存すると、取り込まれたストリームのデータで使用される AI プロセッサから分析出力とメタデータをクエリできます。
目標
このチュートリアルでは、次の方法を説明します。
- 利用人数カウント アプリを作成します。
- アプリをデプロイして使用できるようにします。
- 動画をストリーミングするようにリモートマシンを設定します。
- ストリーミング動画をアプリのストリームノードに取り込みます。
- ストレージの Vertex AI Vision の Media Warehouse で動画を検索します。
料金
このドキュメントでは、課金対象である次の Google Cloudコンポーネントを使用します。
- Vertex AI Vision (Streams - Data ingested, Streams - Data consumed, Models - Occupancy analytics suite, Warehouse - Video storage)
- Compute Engine
料金計算ツールを使うと、予想使用量に基づいて費用の見積もりを生成できます。
このドキュメントに記載されているタスクの完了後、作成したリソースを削除すると、それ以上の請求は発生しません。詳細については、クリーンアップをご覧ください。
始める前に
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Compute Engine and Vision AI APIs.
-
Create a service account:
-
In the Google Cloud console, go to the Create service account page.
Go to Create service account - Select your project.
-
In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.
In the Service account description field, enter a description. For example,
Service account for quickstart
. - Click Create and continue.
-
Grant the following roles to the service account: Vision AI > Vision AI Editor, Compute Engine > Compute Instance Admin (beta), Storage > Storage Object Viewer†.
To grant a role, find the Select a role list, then select the role.
To grant additional roles, click
Add another role and add each additional role. - Click Continue.
-
Click Done to finish creating the service account.
Do not close your browser window. You will use it in the next step.
-
-
Create a service account key:
- In the Google Cloud console, click the email address for the service account that you created.
- Click Keys.
- Click Add key, and then click Create new key.
- Click Create. A JSON key file is downloaded to your computer.
- Click Close.
-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Compute Engine and Vision AI APIs.
-
Create a service account:
-
In the Google Cloud console, go to the Create service account page.
Go to Create service account - Select your project.
-
In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.
In the Service account description field, enter a description. For example,
Service account for quickstart
. - Click Create and continue.
-
Grant the following roles to the service account: Vision AI > Vision AI Editor, Compute Engine > Compute Instance Admin (beta), Storage > Storage Object Viewer†.
To grant a role, find the Select a role list, then select the role.
To grant additional roles, click
Add another role and add each additional role. - Click Continue.
-
Click Done to finish creating the service account.
Do not close your browser window. You will use it in the next step.
-
-
Create a service account key:
- In the Google Cloud console, click the email address for the service account that you created.
- Click Keys.
- Click Add key, and then click Create new key.
- Click Create. A JSON key file is downloaded to your computer.
- Click Close.
-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
† Cloud Storage バケットからサンプル動画ファイルをコピーする場合にのみ必要なロール。
利用人数カウント アプリケーションを作成する
環境を設定したら、まずデータを処理するアプリを作成します。アプリは、次のものを接続する自動化されたパイプラインと考えることができます。
- データの取り込み: 動画フィードがストリームに取り込まれます。
- データ分析: 取り込み後に AI モデルを追加できます。取り込まれた動画情報に対して、任意のコンピュータ ビジョン オペレーションを実行できます。
- データ ストレージ: 2 つのバージョンの動画フィード(元のストリームと AI モデルで処理されたストリーム)をメディア ウェアハウスに保存できます。
Google Cloud コンソールでは、アプリはグラフとして表されます。また、Vertex AI Vision では、アプリグラフに少なくとも 2 つのノード(動画ソースノード(ストリーム)と、少なくとも 1 つのノード(処理モデルまたは出力先))が必要です。
空白のアプリを作成する
アプリグラフにデータを入力する前に、まず空のアプリを作成する必要があります。
コンソール
Google Cloud コンソールでアプリを作成します。
Vertex AI Vision ダッシュボードの [アプリケーション] タブを開きます。
[
作成] ボタンをクリックします。アプリ名として「
occupancy-count-app
」と入力し、地域を選択します。[作成] をクリックします。
アプリ コンポーネント ノードを追加する
空のアプリケーションを作成したら、次の 3 つのノードをアプリグラフに追加できます。
- 取り込みノード: 作成した Compute Engine VM インスタンスから送信されたデータを取り込むストリーム リソース。
- 処理ノード: 取り込まれたデータに対して動作する占有率分析モデル。
- ストレージ ノード: 処理済みの動画を保存するメディア ウェアハウス。メタデータ ストアとしても機能します。このウェアハウスでは、取り込まれた動画データに関する分析情報を生成できるほか、AI モデルがデータについて推論した情報を保存することもできます。
コンソール
コンソールでアプリにコンポーネント ノードを追加します。
Vertex AI Vision ダッシュボードの [アプリケーション] タブを開きます。
occupancy-count-app
行で、 グラフを表示を選択します。これで、処理パイプラインのグラフ ビジュアリゼーションが表示されます。
データ取り込みノードを追加する
入力ストリーム ノードを追加するには、サイドメニューの [コネクタ] セクションで [ストリーム] オプションを選択します。
[ストリーム] メニューの [ソース] セクションで、[
ストリームを追加] を選択します。[ストリームを追加] メニューで、
[新しいストリームを登録] を選択し、ストリーム名としてoccupancy-count-stream
を追加します。ストリームをアプリグラフに追加するには、[ストリームを追加] をクリックします。
データ処理ノードを追加する
占有数モデルノードを追加するには、サイドメニューの [Specialized models] セクションで [occupancy analytics] オプションを選択します。
デフォルトの選択である
[人物] と [車両] のままにします。
データ ストレージ ノードを追加する
出力先(ストレージ)ノードを追加するには、サイドメニューの [コネクタ] セクションで [Vertex AI Vision のメディア ウェアハウス] オプションを選択します。
[Vertex AI Vision のメディア ウェアハウス] メニューで、[ウェアハウスを接続] をクリックします。
[ウェアハウスを接続] メニューで、[
新しいウェアハウスを作成] を選択します。ウェアハウスにoccupancy-count-warehouse
という名前を付け、TTL の期間を 14 日のままにします。[作成] ボタンをクリックしてウェアハウスを追加します。
アプリをデプロイして使用できるようにする
必要なコンポーネントをすべて使用してエンドツーエンドのアプリを構築したら、アプリを使用するための最後のステップとして、アプリをデプロイします。コンソール
Vertex AI Vision ダッシュボードの [アプリケーション] タブを開きます。
リスト内の
occupancy-count-app
アプリの横にある [グラフを表示] を選択します。アプリケーション グラフ ビルダーのページで、
[デプロイ] ボタンをクリックします。次の確認ダイアログで、[デプロイ] を選択します。
デプロイ オペレーションが完了するまでに数分かかることがあります。デプロイが完了すると、ノードの横に緑色のチェックマークが表示されます。
動画をストリーミングするようにリモート マシンを設定する
これで、ストリーミング データを受信、処理、保存する準備が整った占有率カウント アプリがデプロイされました。次に、実際に動画データをアプリにストリーミングする必要があります。
このチュートリアルでは、動画をホストする Compute Engine VM インスタンスを作成し、そのストリーミング動画データを VM から送信します。
Linux VM を作成
Compute Engine VM インスタンスから動画を送信する最初の手順は、VM インスタンスの作成です。
コンソール
コンソールで [VM インスタンス] ページに移動します。
プロジェクトを選択し、[続行] をクリックします。
[インスタンスを作成] をクリックします。
VM の名前を指定します。詳しくは、リソースの命名規則をご覧ください。
(省略可)この VM のゾーンを変更します。Compute Engine は、複数のゾーンで各リージョンが均等に使用されるように、各リージョン内でゾーンのリストをランダム化します。
残りのデフォルト オプションはそのままにします。これらのオプションの詳細については、VM を作成して起動するをご覧ください。
VM を作成して起動するには、[作成] をクリックします。
VM 環境を設定する
VM が起動したら、コンソールを使用してブラウザで SSH 接続を確立できます。この接続を確立したら、vaictl
コマンドライン ツールをダウンロードして、アプリに動画を取り込むことができます。
コンソール
VM への SSH 接続を確立する
コンソールで [VM インスタンス] ページに移動します。
作成したインスタンス行の [接続] セクションで、[SSH] をクリックします。新しいブラウザ ウィンドウに SSH 接続が開きます。
vaictl
コマンドライン ツールをダウンロードする
ブラウザ内 SSH ウィンドウで、次のコマンドを使用して Vertex AI Vision(
vaictl
)コマンドライン ツールをダウンロードします。wget https://github.com/google/visionai/releases/download/v0.0.5/visionai_0.0-5_amd64.deb
次のコマンドを実行して、コマンドライン ツールをインストールします。
sudo apt install ./visionai_0.0-5_amd64.deb
インストールをテストするには、次のコマンドを実行します。
vaictl --help
アプリに動画ファイルを取り込む
VM 環境を設定したら、サンプル動画ファイルをコピーし、vaictl
を使用して動画データを占有数アプリにストリーミングできます。
ブラウザでの SSH
サンプル動画を VM にコピーする
- VM のブラウザでの SSH ウィンドウで、次の
gcloud storage cp
コマンドを使用してサンプル動画をコピーします。次の変数を置き換えます。- SOURCE: 使用する動画ファイルの場所。独自の動画ファイル ソース(
gs://BUCKET_NAME/FILENAME.mp4
など)を使用することも、サンプル動画のいずれかを使用することもできます。
gcloud storage cp SOURCE .
- SOURCE: 使用する動画ファイルの場所。独自の動画ファイル ソース(
VM から動画をストリーミングし、アプリにデータを取り込む
- このローカル動画ファイルをアプリの入力ストリームに送信するには、次のコマンドを使用します。次の変数を置き換える必要があります。
- PROJECT_ID: 実際の Google Cloud プロジェクト ID。
- LOCATION_ID: ロケーション ID。例:
us-central1
。詳細については、クラウドのロケーションをご覧ください。 - LOCAL_FILE.EXT: ローカル動画ファイルのファイル名。例:
my-video.mp4
。 --loop
フラグ: 省略可。ファイルデータをループしてストリーミングをシミュレートします。
このコマンドは、動画ファイルをストリームにストリーミングします。
--loop
フラグを使用すると、コマンドを停止するまで動画がストリームにループされます。vaictl -p PROJECT_ID \ -l LOCATION_ID \ -c application-cluster-0 \ --service-endpoint visionai.googleapis.com \ send video-file to streams 'occupancy-count-stream' --file-path LOCAL_FILE.EXT --loop
vaictl
取り込みオペレーションの開始から動画がダッシュボードに表示されるまで、約 100 秒かかることがあります。
ストリームの取り込みが完了すると、Vertex AI Vision ダッシュボードの [ストリーム] タブで occupancy-count-stream
ストリームを選択して、動画フィードを確認できます。

ストレージ ウェアハウスで動画コンテンツを検索する
動画データを処理アプリに取り込んだら、分析された動画データを表示したり、占有率分析情報に基づいてデータを検索したりできます。
コンソール
Vertex AI Vision ダッシュボードの [ウェアハウス] タブを開きます。
リストで
occupancy-count-warehouse
ウェアハウスを見つけて、 [アセットを表示] をクリックします。[人数] または [車両数] セクションで、[最小] の値を
1
に、[最大] の値を5
に設定します。Vertex AI Vision の Media Warehouse に保存されている処理済みの動画データをフィルタするには、[検索] をクリックします。
Google Cloud コンソールで検索条件に一致する保存済み動画データのビュー。動画提供: Pixabay の Elizabeth Mavor (検索条件を適用)。
クリーンアップ
このチュートリアルで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、リソースを含むプロジェクトを削除するか、プロジェクトを維持して個々のリソースを削除します。
プロジェクトの削除
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
リソースを個別に削除する
Compute Engine VM インスタンスを削除する
- In the Google Cloud console, go to the VM instances page.
- Select the checkbox for the instance that you want to delete.
- To delete the instance, click More actions, click Delete, and then follow the instructions.
ウェアハウスを削除する
- In the Google Cloud console, go to the Warehouses page.
-
Locate
your
occupancy-count-warehouse
warehouse. - To delete the warehouse, click Actions, click Delete warehouse, and then follow the instructions.
ストリームを削除する
- In the Google Cloud console, go to the Streams page.
-
Locate
your
occupancy-count-stream
stream. - To delete the stream, click Actions, click Delete stream, and then follow the instructions.
アプリを削除する
- In the Google Cloud console, go to the Applications page.
-
Locate
your
occupancy-count-app
app. - To delete the app, click Actions, click Delete application, and then follow the instructions.
次のステップ
- 詳しくは、責任ある AI への取り組みをご覧ください。
- アプリに追加できる他のコンポーネントについては、アプリの構築をご覧ください。
- アプリの出力をデータ接続に接続するで、その他の出力ストレージと処理オプションについて学習する。
- コンソールで Warehouse データを検索する方法を確認する。
- Google Cloud に関するリファレンス アーキテクチャ、図、ベスト プラクティスを確認する。Cloud アーキテクチャ センターをご覧ください。