O Vertex AI Vision é uma plataforma com tecnologia de IA que pode usar para carregar, analisar e armazenar dados de vídeo . O Vertex AI Vision permite-lhe criar e implementar aplicações de IA. Pode criar soluções de Vertex AI Vision ponto a ponto tirando partido da integração do Vertex AI Vision com outros componentes do produto.
Para começar a implementar soluções com a plataforma Vertex AI Vision, reveja os seguintes conceitos e componentes do Vertex AI Vision:
Streams: representam uma camada de streaming de vídeo da sua solução. A origem da stream pode ser um vídeo em direto (por exemplo, uma câmara IP) ou um ficheiro de vídeo (por exemplo, um ficheiro MP4).
Aplicações: ative a ligação entre uma stream e um processador de IA para realizar uma operação de aprendizagem automática no vídeo. Por exemplo, pode associar um stream de vídeo a um modelo de IA que conta as pessoas que passam em frente ao mesmo.
Armazéns de conteúdo multimédia: armazenam o vídeo carregado por streams para o Google Cloud armazenamento. O armazenamento de dados neste destino permite-lhe consultar a saída da análise e os metadados dos processadores de IA usados em dados dos streams carregados.
Objetivos
Este tutorial mostra como fazer o seguinte:
- Crie uma app de contagem de ocupação.
- Implemente a sua app para utilização.
- Configure um computador remoto para fazer stream de vídeo.
- Carregue o vídeo de streaming num nó de stream na sua app.
- Pesquise vídeos no seu armazenamento do Media Warehouse da Vertex AI Vision.
Custos
Neste documento, usa os seguintes componentes faturáveis do Google Cloud:
- Vertex AI Vision (Streams - Data ingested, Streams - Data consumed, Models - Occupancy analytics suite, Warehouse - Video storage)
- Compute Engine
Para gerar uma estimativa de custos com base na sua utilização projetada,
use a calculadora de preços.
Quando terminar as tarefas descritas neste documento, pode evitar a faturação contínua eliminando os recursos que criou. Para mais informações, consulte o artigo Limpe.
Antes de começar
- 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.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Compute Engine and Vision AI APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. -
Create a service account:
-
Ensure that you have the Create Service Accounts IAM role
(
roles/iam.serviceAccountCreator
). Learn how to grant roles. -
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.
-
Ensure that you have the Create Service Accounts IAM role
(
-
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.
-
Se estiver a usar um fornecedor de identidade (IdP) externo, tem primeiro de iniciar sessão na CLI gcloud com a sua identidade federada.
-
Para inicializar a CLI gcloud, execute o seguinte comando:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Compute Engine and Vision AI APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. -
Create a service account:
-
Ensure that you have the Create Service Accounts IAM role
(
roles/iam.serviceAccountCreator
). Learn how to grant roles. -
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.
-
Ensure that you have the Create Service Accounts IAM role
(
-
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.
-
Se estiver a usar um fornecedor de identidade (IdP) externo, tem primeiro de iniciar sessão na CLI gcloud com a sua identidade federada.
-
Para inicializar a CLI gcloud, execute o seguinte comando:
gcloud init
- Carregamento de dados: um feed de vídeo é carregado numa stream.
- Análise de dados: pode adicionar um modelo de IA após a ingestão. Qualquer operação de visão por computador pode ser realizada nas informações de vídeo carregadas.
- Armazenamento de dados: as duas versões do feed de vídeo (a stream original e a stream processada pelo modelo de IA) podem ser armazenadas num armazém de multimédia.
Abra o separador Aplicações do painel de controlo do Vertex AI Vision.
Clique no botão
Criar.Introduza
occupancy-count-app
como o nome da app e escolha a sua região.Clique em Criar.
- Nó de carregamento: o recurso de stream que carrega dados enviados a partir de uma instância de VM do Compute Engine que criar.
- Nó de processamento: o modelo de estatísticas de ocupação que atua sobre os dados carregados.
- Nó de armazenamento: o armazém de multimédia que armazena vídeos processados e também funciona como um armazém de metadados. O armazém de dados permite gerar informações de estatísticas sobre os dados de vídeo carregados, bem como armazenar informações que os modelos de IA inferem sobre os dados.
Abra o separador Aplicações do painel de controlo do Vertex AI Vision.
Na linha
occupancy-count-app
, selecione Ver gráfico. Isto permite aceder à visualização do gráfico do pipeline de processamento.Para adicionar um nó de fluxo de entrada, selecione a opção Streams na secção Connectors do menu lateral.
Na secção Origem do menu Stream que é aberto, selecione
Adicionar streams.No menu Adicionar streams, escolha
Registar novas streams e adicioneoccupancy-count-stream
como o nome da stream.Para adicionar a stream ao gráfico de apps, clique em Adicionar streams.
Para adicionar o nó do modelo de contagem de ocupação, selecione a opção Estatísticas de ocupação na secção Modelos especializados do menu lateral.
Deixe as seleções predefinidas
Pessoas e Veículos.Para adicionar o nó de destino de saída (armazenamento), selecione a opção Media Warehouse do Vertex AI Vision na secção Conetores do menu lateral.
No menu Media Warehouse da Vertex AI Vision, clique em Associar armazém.
No menu Associar armazém, selecione
Criar novo armazém. Dê o nomeoccupancy-count-warehouse
ao armazém e deixe a duração do TTL em 14 dias.Clique no botão Criar para adicionar o armazém.
Abra o separador Aplicações do painel de controlo do Vertex AI Vision.
Selecione Ver gráfico junto à app
occupancy-count-app
na lista.Na página do criador de gráficos de aplicações, clique no botão
Implementar.Na caixa de diálogo de confirmação seguinte, selecione Implementar.
A operação de implementação pode demorar vários minutos a ser concluída. Após a conclusão da implementação, aparecem marcas de verificação verdes junto aos nós.
Na consola, aceda à página Instâncias de VM.
Selecione o projeto e clique em Continuar.
Clique em Criar instância.
Especifique um Nome para a VM. Para mais informações, consulte o artigo Convenção de nomenclatura de recursos.
Opcional: altere a zona desta VM. O Compute Engine aleatoriza a lista de zonas em cada região para incentivar a utilização em várias zonas.
Aceite as restantes opções predefinidas. Para mais informações sobre estas opções, consulte o artigo Crie e inicie uma VM.
Para criar e iniciar a VM, clique em Criar.
Na consola, aceda à página Instâncias de VM.
Na secção Ligar da linha de instância que criou, clique em SSH. Esta ação abre uma ligação SSH numa nova janela do navegador.
Na janela SSH no navegador, transfira a ferramenta de linha de comandos do Vertex AI Vision (
vaictl
) através do seguinte comando:wget https://github.com/google/visionai/releases/download/v0.0.5/visionai_0.0-5_amd64.deb
Instale a ferramenta de linha de comandos executando o seguinte comando:
sudo apt install ./visionai_0.0-5_amd64.deb
Pode testar a instalação executando o seguinte comando:
vaictl --help
- Na janela SSH no navegador da sua VM, copie um vídeo de exemplo com o seguinte comando
gcloud storage cp
. Substitua a seguinte variável:- SOURCE: a localização de um ficheiro de vídeo a usar. Pode
usar a sua própria origem de ficheiro de vídeo (por exemplo,
gs://BUCKET_NAME/FILENAME.mp4
) ou usar um dos vídeos de exemplo:
gcloud storage cp SOURCE .
- SOURCE: a localização de um ficheiro de vídeo a usar. Pode
usar a sua própria origem de ficheiro de vídeo (por exemplo,
- Para enviar este ficheiro de vídeo local para o fluxo de entrada da app, use o seguinte comando. Tem de fazer as seguintes substituições de variáveis:
- PROJECT_ID: o ID do seu Google Cloud projeto.
- LOCATION_ID: o ID da sua localização. Por exemplo,
us-central1
. Para mais informações, consulte o artigo Localizações na nuvem. - LOCAL_FILE.EXT: o nome do ficheiro de um ficheiro de vídeo local.
Por exemplo,
my-video.mp4
. - Sinalizador
--loop
: opcional. Faz um ciclo dos dados de ficheiros para simular o streaming.
Este comando envia um ficheiro de vídeo para uma stream. Se usar a flag
--loop
, o vídeo é repetido na stream até parar o comando: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
Abra o separador Armazéns do painel de controlo do Vertex AI Vision.
Encontre o armazém
occupancy-count-warehouse
na lista e clique em Ver recursos.Na secção Contagem de pessoas ou Contagem de veículos, defina o valor Mínimo como
1
e o valor Máximo como5
.Para filtrar os dados de vídeo processados armazenados no Media Warehouse do Vertex AI Vision, clique em Pesquisar.
Uma vista dos dados de vídeo armazenados que correspondem aos critérios de pesquisa na Google Cloud consola. Créditos do vídeo: Elizabeth Mavor no Pixabay (critérios de pesquisa aplicados). - 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.
- Leia mais sobre as práticas de IA responsável.
- Saiba mais acerca de outros componentes que pode adicionar a uma app em Crie uma app.
- Saiba mais sobre outras opções de armazenamento e processamento de resultados em Associe o resultado da app a um destino de dados .
- Leia sobre como pesquisar dados do armazém na consola.
- Explore arquiteturas de referência, diagramas e práticas recomendadas sobre o Google Cloud. Consulte o nosso Centro de arquitetura na nuvem.
† Função necessária apenas se copiar um ficheiro de vídeo de exemplo de um contentor do Cloud Storage.
Crie uma aplicação de contagem de ocupação
Depois de configurar o seu ambiente, o primeiro passo é criar a app que processa os seus dados. Pode considerar uma app como um pipeline automatizado que liga o seguinte:
Na Google Cloud consola, uma app é representada como um gráfico. Além disso, no Vertex AI Vision, um gráfico de apps tem de ter, pelo menos, dois nós: um nó de origem de vídeo (stream) e , pelo menos, mais um nó (um modelo de processamento ou um destino de saída).
Crie uma app vazia
Antes de poder preencher o gráfico de apps, tem de criar uma app vazia.
Consola
Crie uma app na Google Cloud consola.
Adicione nós de componentes de apps
Depois de criar a aplicação vazia, pode adicionar os três nós ao gráfico da app:
Consola
Adicione nós de componentes à sua app na consola.
Adicione um nó de carregamento de dados
Adicione um nó de tratamento de dados
Adicione um nó de armazenamento de dados
Implemente a sua app para utilização
Depois de criar a sua app integral com todos os componentes necessários, o último passo para usar a app é implementá-la.Consola
Configure uma máquina remota para fazer stream de vídeo
Agora que tem uma app de contagem de ocupação implementada pronta para receber, processar e armazenar dados de streaming, tem de fazer streaming de dados de vídeo para a app.
Neste tutorial, cria uma instância de VM do Compute Engine que aloja um vídeo e envia esses dados de streaming de vídeo a partir da VM.
Crie uma VM do Linux
O primeiro passo para enviar vídeo a partir de uma instância de VM do Compute Engine é criar a instância de VM.
Consola
Configure o ambiente de VM
Depois de a VM ser iniciada, pode usar a consola para estabelecer uma ligação SSH no navegador. Depois de estabelecer esta ligação, pode transferir
a ferramenta de linha de comandos vaictl
para carregar vídeos para a sua app.
Consola
Estabeleça uma ligação SSH à sua VM
Transfira a ferramenta de linha de comandos vaictl
Carregue um ficheiro de vídeo para a sua app
Depois de configurar o ambiente de VM, pode copiar um ficheiro de vídeo de exemplo e, em seguida, usar vaictl
para transmitir os dados de vídeo para a sua app de contagem de ocupação.
SSH no navegador
Copie um vídeo de exemplo para a sua VM
Faça stream de vídeo a partir da VM e carregue dados na sua app
Pode demorar cerca de 100 segundos entre o início da operação de carregamento vaictl
e a apresentação do vídeo no painel de controlo.
Depois de a ingestão de streams estar disponível,
pode ver o feed de vídeo no separador Streams do painel de controlo do Vertex AI Vision
selecionando a stream occupancy-count-stream
.

Pesquise conteúdo de vídeo no armazém de armazenamento
Depois de introduzir os dados de vídeo na app de processamento, pode ver os dados de vídeo analisados e pesquisar os dados com base nas informações de estatísticas de ocupação.
Consola
Limpar
Para evitar incorrer em custos na sua conta do Google Cloud pelos recursos usados neste tutorial, elimine o projeto que contém os recursos ou mantenha o projeto e elimine os recursos individuais.