Vertex AI Vision 是一个由 AI 提供支持的平台,可用于注入、分析和存储视频 数据。借助 Vertex AI Vision,您可以构建和部署 AI 应用。您可以利用 Vertex AI Vision 与其他产品组件的集成来构建端到端 Vertex AI Vision 解决方案。
如需开始使用 Vertex AI Vision 平台实现解决方案,请查看以下 Vertex AI Vision 概念和组件:
信息流:表示解决方案中的视频流式传输层。视频流来源可以是实时视频(例如 IP 摄像头),也可以是视频文件(例如 MP4 文件)。
应用:实现视频流与 AI 处理器之间的连接,以便对视频执行机器学习操作。例如,您可以将摄像头视频流连接到可统计摄像头前人数的 AI 模型。
媒体仓库:将视频流注入的视频存储到Google Cloud 存储空间。将数据存储到此目的地后,您便可以查询分析输出和元数据,这些数据来自所提取的流中数据所用的 AI 处理器。
目标
本教程介绍了如何执行以下操作:
- 创建入座率统计应用。
- 部署应用以供使用。
- 设置远程计算机以播放视频。
- 将流式视频提取到应用中的流节点。
- 在 Vertex AI Vision 的媒体仓库中搜索视频。
费用
在本文档中,您将使用 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.
-
Verify 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.
-
如果您使用的是外部身份提供方 (IdP),则必须先 使用联合身份登录 gcloud CLI。
-
如需初始化 gcloud CLI,请运行以下命令:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verify 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.
-
如果您使用的是外部身份提供方 (IdP),则必须先 使用联合身份登录 gcloud CLI。
-
如需初始化 gcloud CLI,请运行以下命令:
gcloud init
- 数据注入:将视频 Feed 注入到流中。
- 数据分析:提取数据后,可以添加 AI 模型。可以对提取的视频信息执行任何计算机视觉操作。
- 数据存储:视频源的两个版本(原始视频流和由 AI 模型处理的视频流)可以存储在媒体仓库中。
打开 Vertex AI Vision 信息中心的应用标签页。
点击
创建按钮。输入
occupancy-count-app
作为应用名称,然后选择您所在的区域。点击创建。
- 提取节点:用于提取您创建的 Compute Engine 虚拟机实例发送的数据的流资源。
- 处理节点:对提取的数据执行操作的入住分析模型。
- 存储节点:用于存储已处理视频的媒体仓库,同时也是元数据存储区。该仓库可用于生成有关已提取视频数据的分析信息,并存储 AI 模型根据数据推断出的信息。
打开 Vertex AI Vision 信息中心的应用标签页。
在
occupancy-count-app
行中,选择 查看图表。这样会进入处理流水线的图表可视化界面。如需添加输入视频流节点,请选择侧边菜单的连接器部分中的视频流选项。
在打开的视频流菜单的来源部分中,选择
添加视频流。在添加视频流菜单中,选择
注册新的视频流,然后添加occupancy-count-stream
作为视频流名称。如需将视频流添加到应用图表中,请点击添加视频流。
如需添加入住人数统计模型节点,请选择侧边菜单的专用模型部分中的入住分析选项。
保留默认选择项:
人员和 车辆。如需添加输出目标位置(存储)节点,请选择侧边菜单的连接器部分中的 Vertex AI Vision 的媒体仓库选项。
在 Vertex AI Vision 的媒体仓库菜单中,点击连接仓库。
在连接仓库菜单中,选择
创建新仓库。将仓库命名为occupancy-count-warehouse
,并将 TTL 时长保留为 14 天。点击创建按钮以添加仓库。
打开 Vertex AI Vision 信息中心的应用标签页。
选择列表中
occupancy-count-app
应用旁边的查看图表。在应用图表构建器页面中,点击
Deploy(部署)按钮。在随后的确认对话框中,选择部署。
部署操作可能需要几分钟才能完成。部署完成后,节点旁边会显示绿色对勾标记。
在控制台中,打开虚拟机实例页面。
在您创建的实例行的连接部分中,点击 SSH。这将在新的浏览器窗口中打开 SSH 连接。
在 SSH-in-browser 窗口中,使用以下命令下载 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
- 在虚拟机的浏览器中的 SSH 窗口中,使用以下
gcloud storage cp
命令复制示例视频。替换以下变量:- SOURCE:要使用的视频文件的位置。您可以使用自己的视频文件来源(例如
gs://BUCKET_NAME/FILENAME.mp4
),也可以使用以下某个示例视频:
gcloud storage cp SOURCE .
- SOURCE:要使用的视频文件的位置。您可以使用自己的视频文件来源(例如
- 如需将此本地视频文件发送到应用输入流,请使用以下命令。您必须进行以下变量替换:
- PROJECT_ID:您的 Google Cloud 项目 ID。
- LOCATION_ID:您的位置 ID。例如,
us-central1
。如需了解详情,请参阅 Cloud 位置。 - 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
打开 Vertex AI Vision 信息中心的仓库标签页。
在列表中找到
occupancy-count-warehouse
仓库,然后点击 查看素材资源。在人数或车辆数部分,将最小值设置为
1
,将最大值设置为5
。如需过滤存储在 Vertex AI Vision 的 Media Warehouse 中的已处理视频数据,请点击搜索。
Google Cloud 控制台中符合搜索条件的已存储视频数据的视图。视频提供方: Elizabeth Mavor(来自 Pixabay,应用了搜索条件)。 - 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.
- 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.
- 详细了解 Responsible AI 实践。
- 如需了解可添加到应用中的其他组件,请参阅构建应用。
- 如需了解其他输出存储和处理选项,请参阅将应用输出连接到数据目标位置。
- 了解如何在控制台中搜索 Warehouse 数据。
- 探索有关 Google Cloud 的参考架构、图表和最佳做法。查看我们的 Cloud 架构中心。
† 仅当您从 Cloud Storage 存储桶复制示例视频文件时才需要此角色。
创建入座率统计应用
设置好环境后,第一步是创建用于处理数据的应用。 应用可以看作是一个自动化的流水线,用于连接以下各项:
在 Google Cloud 控制台中,应用以图表形式表示。此外,在 Vertex AI Vision 中,应用图必须至少包含两个节点:一个视频源节点(流),以及至少一个其他节点(处理模型或输出目的地)。
创建空应用
在填充应用图之前,您必须先创建一个空应用。
控制台
在 Google Cloud 控制台中创建应用。
添加应用组件节点
创建空应用后,您可以将以下三个节点添加到应用图表中:
控制台
在控制台中向应用添加组件节点。
添加数据注入节点
添加数据处理节点
添加数据存储节点
部署应用以供使用
在构建包含所有必要组件的端到端应用后,使用该应用的最后一步是部署它。控制台
设置远程计算机以播放视频
现在,您已部署好入住人数统计应用,该应用可以接收、处理和存储流式数据,接下来您必须将视频数据实际流式传输到该应用中。
在本教程中,您将创建一个托管视频的 Compute Engine 虚拟机实例,并从该虚拟机发送流式视频数据。
创建一个 Linux VM
从 Compute Engine 虚拟机实例发送视频的第一步是创建虚拟机实例。
控制台
设置虚拟机环境
虚拟机启动后,您可以使用控制台在浏览器中建立 SSH 连接。建立此连接后,您可以下载 vaictl
命令行工具,将视频注入到您的应用中。
控制台
与虚拟机建立 SSH 连接
下载 vaictl
命令行工具
将视频文件提取到应用中
设置虚拟机环境后,您可以复制示例视频文件,然后使用 vaictl
将视频数据流式传输到入住人数统计应用。
SSH-in-browser
将示例视频复制到虚拟机
从虚拟机流式传输视频并将数据注入应用
从开始执行 vaictl
注入操作到视频显示在信息中心,可能需要大约 100 秒的时间。
在流注入可用后,您可以在 Vertex AI Vision 信息中心的流标签页中选择 occupancy-count-stream
流,查看视频 Feed。

搜索存储仓库中的视频内容
将视频数据注入到处理应用后,您可以查看分析后的视频数据,并根据入住情况分析信息搜索数据。
控制台
清理
为避免因本教程中使用的资源导致您的 Google Cloud 账号产生费用,请删除包含这些资源的项目,或者保留项目但删除各个资源。