A Vertex AI Vision é uma plataforma com tecnologia de IA que pode ser usada para ingerir, analisar e armazenar dados de vídeo . Com a Vertex AI Vision, é possível criar e implantar aplicativos de IA. É possível criar soluções completas da Vertex AI Vision aproveitando a integração dela com outros componentes do produto.
Para começar a implementar soluções usando a plataforma Vertex AI Vision, revise os seguintes conceitos e componentes da Vertex AI Vision:
Streams: representam uma camada de streaming de vídeo da sua solução. A fonte de streaming pode ser um vídeo ao vivo (por exemplo, uma câmera IP) ou um arquivo de vídeo (por exemplo, um arquivo MP4).
Aplicativos: ative a conexão entre um stream e um processador de IA para realizar uma operação de aprendizado de máquina no vídeo. Por exemplo, você pode conectar um stream de câmera a um modelo de IA que conta as pessoas que passam na frente dela.
Warehouses de mídia: armazenam o vídeo ingerido por streams emGoogle Cloud storage. O armazenamento de dados nesse destino permite consultar a saída e os metadados da análise dos processadores de IA usados em dados dos fluxos ingeridos.
Objetivos
Este tutorial mostra como fazer o seguinte:
- Crie um app de contagem de ocupação.
- Implante o app para uso.
- Configure uma máquina remota para fazer streaming de vídeo.
- Ingira o vídeo de streaming em um nó de stream no seu app.
- Pesquise vídeos no Media Warehouse da Vertex AI Vision.
Custos
Neste documento, você vai usar 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 custo baseada na projeção de uso deste tutorial, use a calculadora de preços.
Ao concluir as tarefas descritas neste documento, é possível evitar o faturamento contínuo excluindo os recursos criados. Saiba mais em Limpeza.
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.
-
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
† Função necessária apenas se você copiar um arquivo de vídeo de amostra de um bucket do Cloud Storage.
Criar um aplicativo de contagem de ocupação
Depois de configurar o ambiente, a primeira etapa é criar o app que processa seus dados. Um app pode ser considerado um pipeline automatizado que conecta o seguinte:
- Ingestão de dados: um feed de vídeo é ingerido em um stream.
- Análise de dados: um modelo de IA pode ser adicionado após a ingestão. Qualquer operação de visão computacional pode ser realizada nas informações de vídeo ingeridas.
- Armazenamento de dados: as duas versões do feed de vídeo (o stream original e o stream processado pelo modelo de IA) podem ser armazenadas em um warehouse de mídia.
No console Google Cloud , um app é representado como um gráfico. Além disso, na Vertex AI Vision, um gráfico de app precisa 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).
Criar um app vazio
Antes de preencher o gráfico de apps, é necessário criar um app vazio.
Console
Crie um app no console Google Cloud .
Abra a guia Aplicativos do painel da Vertex AI Vision.
Clique no botão
Criar.Insira
occupancy-count-app
como o nome do app e escolha sua região.Clique em Criar.
Adicionar nós do componente do app
Depois de criar o aplicativo vazio, adicione os três nós ao gráfico do app:
- Nó de ingestão: o recurso de stream que ingere dados enviados de uma instância de VM do Compute Engine criada por você.
- Nó de processamento: o modelo de análise de ocupação que atua nos dados ingeridos.
- Nó de armazenamento: o warehouse de mídia que armazena vídeos processados e também serve como um repositório de metadados. O data warehouse permite gerar informações de análise sobre dados de vídeo ingeridos e armazena informações que os modelos de IA inferem sobre os dados.
Console
Adicione nós de componentes ao app no console.
Abra a guia Aplicativos do painel da Vertex AI Vision.
Na linha
occupancy-count-app
, selecione Ver gráfico. Isso leva você à visualização gráfica do pipeline de processamento.
Adicionar um nó de ingestão de dados
Para adicionar um nó de stream de entrada, selecione a opção Streams na seção Conectores do menu lateral.
Na seção Origem do menu Stream que é aberto, selecione
Adicionar streams.No menu Adicionar streams, escolha
Registrar novos streams e adicioneoccupancy-count-stream
como o nome do stream.Para adicionar o stream ao gráfico do app, clique em Adicionar streams.
Adicionar um nó de processamento de dados
Para adicionar o nó do modelo de contagem de ocupação, selecione a opção análise de ocupação na seção Modelos especializados do menu lateral.
Deixe as seleções padrão
Pessoas e Veículos.
Adicionar um nó de armazenamento de dados
Para adicionar o nó de destino (armazenamento) de saída, selecione a opção Media Warehouse da Vertex AI Vision na seção Conectores do menu lateral.
No menu Media Warehouse da Vertex AI Vision, clique em Conectar warehouse.
No menu Conectar warehouse, selecione
Criar novo armazenamento. Nomeie o warehouse comooccupancy-count-warehouse
e deixe a duração do TTL em 14 dias.Clique no botão Criar para adicionar o warehouse.
Implantar o app para uso
Depois de criar o app completo com todos os componentes necessários, a última etapa para usar o app é implantá-lo.Console
Abra a guia Aplicativos do painel da Vertex AI Vision.
Selecione Ver gráfico ao lado do app
occupancy-count-app
na lista.Na página do criador de gráficos de aplicativos, clique no botão
Implantar.Na caixa de diálogo de confirmação a seguir, selecione Implantar.
A operação de implantação pode levar alguns minutos para ser concluída. Quando a implantação for concluída, marcas de seleção verdes vão aparecer ao lado dos nós.
Configurar uma máquina remota para transmitir vídeo
Agora que você tem um app de contagem de ocupação implantado pronto para receber, processar e armazenar dados de streaming, é necessário transmitir dados de vídeo para o app.
Neste tutorial, você vai criar uma instância de VM do Compute Engine que hospeda um vídeo e enviar os dados de streaming desse vídeo da VM.
Criar uma VM do Linux
A primeira etapa para enviar vídeo de uma instância de VM do Compute Engine é criar a instância.
Console
No console, acesse a página Instâncias de VM.
Selecione o projeto e clique em Continuar.
Clique em Criar instância.
Especifique um Nome para sua VM. Saiba mais em Convenção de nomenclatura de recursos.
Opcional: altere a zona desta VM. O Compute Engine seleciona, aleatoriamente, a lista de zonas dentro de cada região para incentivar o uso em várias zonas.
Aceite as opções padrão restantes. Para mais informações sobre essas opções, consulte Criar e iniciar uma VM.
Para criar e iniciar a VM, clique em Criar.
Configurar o ambiente da VM
Depois que a VM for iniciada, use o console para estabelecer uma conexão SSH no navegador. Depois de estabelecer essa conexão, baixe
a ferramenta de linha de comando vaictl
para ingerir vídeo no seu app.
Console
Estabelecer uma conexão SSH com a VM
No console, acesse a página Instâncias de VM.
Na seção Conectar da linha da instância criada, clique em SSH. Isso abre uma conexão SSH em uma nova janela do navegador.
Baixe a ferramenta de linha de comando vaictl
Na janela SSH no navegador, faça o download da ferramenta de linha de comando do Vertex AI Vision (
vaictl
) usando o 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 comando executando o seguinte comando:
sudo apt install ./visionai_0.0-5_amd64.deb
Para testar a instalação, execute o seguinte comando:
vaictl --help
Ingerir um arquivo de vídeo no app
Depois de configurar o ambiente de VM, copie um arquivo de vídeo de amostra e use vaictl
para transmitir os dados de vídeo para o app de contagem de ocupação.
SSH no navegador
Copiar um vídeo de amostra para sua VM
- Na janela SSH no navegador da VM, copie um vídeo de amostra com o seguinte comando
gcloud storage cp
. Substitua a seguinte variável:- SOURCE: o local de um arquivo de vídeo a ser usado. Você
pode usar sua própria fonte de arquivo de vídeo (por exemplo,
gs://BUCKET_NAME/FILENAME.mp4
) ou usar um dos vídeos de amostra:
gcloud storage cp SOURCE .
- SOURCE: o local de um arquivo de vídeo a ser usado. Você
pode usar sua própria fonte de arquivo de vídeo (por exemplo,
Fazer streaming de vídeo da VM e ingerir dados no app
- Para enviar esse arquivo de vídeo local para o fluxo de entrada do app, use o
comando a seguir. Faça as seguintes substituições de variáveis:
- PROJECT_ID: o ID do projeto do Google Cloud .
- LOCATION_ID: o ID do local. Exemplo,
us-central1
. Para mais informações, consulte Locais do Cloud. - LOCAL_FILE.EXT: o nome de um arquivo de vídeo local.
Por exemplo,
my-video.mp4
. - Sinalização
--loop
: opcional. Faz um loop nos dados do arquivo para simular o streaming.
Esse comando transmite um arquivo de vídeo para um stream. Se você usar a flag
--loop
, o vídeo será repetido no stream até que você interrompa 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
Pode levar cerca de 100 segundos entre o início da operação de ingestão vaictl
e o vídeo aparecer no painel.
Depois que a ingestão de stream estiver disponível, você poderá conferir o feed de vídeo na guia Streams do painel da Vertex AI Vision selecionando o stream occupancy-count-stream
.

Pesquisar conteúdo de vídeo no data warehouse
Depois de ingerir dados de vídeo no app de processamento, você pode conferir os dados analisados e pesquisar com base nas informações de análise de ocupação.
Console
Abra a guia Armazéns do painel da Vertex AI Vision.
Encontre o depósito
occupancy-count-warehouse
na lista e clique em Ver recursos.Na seção Contagem de pessoas ou Contagem de veículos, defina o valor Mín. como
1
e o valor Máx. como5
.Para filtrar os dados de vídeo processados armazenados no Media Warehouse da Vertex AI Vision, clique em Pesquisar.
Uma visualização dos dados de vídeo armazenados que correspondem aos critérios de pesquisa no console Google Cloud . Crédito do vídeo: Elizabeth Mavor no Pixabay (critérios de pesquisa aplicados).
Limpar
Para evitar cobranças na sua conta do Google Cloud pelos recursos usados no tutorial, exclua o projeto que os contém ou mantenha o projeto e exclua os recursos individuais.
Excluir o projeto
- 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.
Excluir recursos individuais
Excluir instância de VM do Compute Engine
- 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.
Excluir um warehouse
- 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.
Excluir um stream
- 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.
Excluir um app
- 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.
A seguir
- Leia mais sobre Práticas de IA responsável.
- Saiba mais sobre outros componentes que você pode adicionar a um app em Criar um app.
- Saiba mais sobre outras opções de armazenamento e processamento de saída em Conectar a saída do app a um destino de dados .
- Saiba como pesquisar dados do Search Warehouse no console.
- Confira arquiteturas de referência, diagramas, tutoriais e práticas recomendadas do Google Cloud. Confira o Centro de arquitetura do Cloud.