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 stream 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: permite 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.
Criar um stream
Para criar um app de análise de vídeo por streaming, primeiro crie e registre um recurso de stream. Como o recurso que recebe os dados de vídeo dos usuários, o stream é necessário em qualquer cenário criado com a Vertex AI Vision.Console
Para criar um fluxo no console Google Cloud , siga estas etapas.
Abra a guia Fluxos do painel da Vertex AI Vision.
Clique em Registrar.
Insira
input-streamcomo o nome do fluxo e selecione a região em que você quer criar o fluxo.Clique em Registrar para criar um ou mais streams.
Ingerir vídeo no stream
Depois de criar um recurso de stream, use a ferramenta de linha de comando vaictl
para enviar dados de vídeo ao stream.
Câmera IP
Se você estiver testando com uma câmera IP ativa, precisará conseguir o endereço IP dela. Você precisa fornecer essas informações com a solicitação, além de outras substituições de variáveis:
- PROJECT_ID: o ID do projeto do Google Cloud .
 - LOCATION_ID: o ID do local. Por exemplo, 
us-central1. Para mais informações, consulte Locais do Cloud. - RTSP_ADDRESS: o endereço do seu feed do Real Time Streaming Protocol (RTSP). Por exemplo,
          
rtsp://192.168.1.180:540. 
Esse comando envia um feed RTSP para o stream. É preciso executar esse comando na rede que tem acesso direto ao feed RTSP.
vaictl -p PROJECT_ID \
       -l LOCATION_ID \
       -c application-cluster-0 \
       --service-endpoint visionai.googleapis.com \
send rtsp to streams input-stream --rtsp-uri RTSP_ADDRESS
      Se o comando for executado com sucesso, você vai receber a seguinte saída:
[...] Waiting for long running operation projects/your-project/locations/us-central1/operations/operation-1651364156981-5dde82db7e4a9-dfb17ca5-1051eb20 ⠙ I20220430 21:16:28.024988 211449 gstvaisink.cc:417] cluster-id=application-cluster-0 I20220430 21:16:28.025032 211449 gstvaisink.cc:418] cluster-endpoint=c8khq35ftg78mn61ef50.us-central1.visionai.goog I20220430 21:16:28.025040 211449 gstvaisink.cc:419] event-id=ev-1651364114183255223 I20220430 21:16:28.025048 211449 gstvaisink.cc:420] stream-id=input-stream I20220430 21:16:28.025053 211449 gstvaisink.cc:421] series-id=ev-1651364114183255223--input-stream I20220430 21:16:28.025060 211449 gstvaisink.cc:422] Sending data
Arquivo de vídeo local
Você também pode enviar dados de arquivos de vídeo para uma transmissão em vez de um feed de vídeo ao vivo. Essa opção pode ser útil se você não tiver acesso a uma câmera IP.
A única diferença nessa opção são os parâmetros do comando vaictl. Em vez de transmitir as informações da câmera IP, transmita
        o caminho do arquivo de vídeo local. Faça as seguintes substituições de variáveis:
      
- PROJECT_ID: o ID do projeto do Google Cloud .
 - LOCATION_ID: o ID do local. Por exemplo, 
us-central1. Mais informações. - 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 vai ficar em loop na transmissão 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 'input-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 input-stream.
Criar um aplicativo de desfoque de rosto
Depois de criar um fluxo e ingerir dados nele, é hora de criar um app da Vertex AI Vision para processar os 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 aplicativo 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
person-blur-appcomo 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 já está ingerindo dados.
 - Nó de processamento: o modelo de desfoque de pessoas 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 que informações de análise sejam geradas sobre dados de vídeo ingeridos, além de armazenar informações inferidas sobre os dados pelos modelos de IA.
 
Console
Adicione nós de componentes ao app no console.
Abra a guia Aplicativos do painel da Vertex AI Vision.
Na linha
person-blur-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 o 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 transmissões, escolha Selecionar em transmissões atuais e selecione
person-blur-appna lista de recursos de transmissão.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 desfoque de pessoas, selecione a opção Desfoque de pessoas na seção Processadores gerais do menu lateral.
No menu de opções "Desfoque de pessoas" que aparece, deixe Oclusão total selecionada e ative a opção Desfocar apenas rostos.
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 como
person-blur-appe deixe a duração do TTL em 14 dias.Para adicionar o warehouse, clique em Criar.
implantar o aplicativo
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
person-blur-appna 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.
Conferir dados de saída processados
Console
Abra a guia Armazéns do painel da Vertex AI Vision.
Encontre o depósito
person-blur-output-storagena lista e clique em Ver recursos.