O rastreamento de objetos acompanha vários objetos detectados em um vídeo de entrada. Para fazer uma solicitação de rastreamento de objetos, chame o método annotate
e especifique OBJECT_TRACKING
no campo features
.
Uma solicitação de rastreamento de objetos anota rótulos e locais espaciais para entidades que são detectadas em um vídeo ou em trechos dele. Por exemplo, um vídeo de veículos atravessando um sinal de trânsito pode produzir rótulos como "carro", "caminhão", "bicicleta", "pneus", "luzes", "janela" e assim por diante. Cada rótulo pode incluir uma série de caixas delimitadoras, com cada caixa delimitadora tendo um segmento de tempo associado que contém uma diferença de horário que indica a diferença de duração desde o início do vídeo. A anotação também contém outras informações da entidade, inclusive um ID de entidade que pode ser usado para saber mais sobre a entidade na API Google Knowledge Graph Search (em inglês).
Rastreamento de objetos vs. detecção de rótulos
O rastreamento de objetos é diferente da detecção de rótulos, pois a detecção de rótulos fornece rótulos sem caixas delimitadoras, enquanto o rastreamento de objetos fornece os rótulos de objetos individuais presentes em um determinado vídeo junto de caixas delimitadoras de cada instância de objeto a cada etapa.
Além disso, o rastreamento de objetos tenta atribuir o mesmo ID à mesma instância de objeto, desde que esse objeto não tenha saído da cena. Portanto, se houver um carro vermelho e um azul no segundo zero, a solicitação de acompanhamento atribuirá ao carro vermelho um ID (por exemplo, 0) e outro ao azul (por exemplo, 1). Se, no segundo um, os dois carros estiverem visíveis, a solicitação de rastreamento atribuirá a eles os mesmos IDs que eles receberam no segundo zero.
Solicitar rastreamento de objetos para um vídeo no Cloud Storage
As amostras a seguir demonstram o rastreamento de objetos em um arquivo localizado no Cloud Storage.
REST e LINHA DE CMD
Enviar a solicitação de processo
Veja a seguir como enviar uma solicitação POST
para o método annotate
.
O exemplo utiliza o token de acesso para uma conta de serviço configurada para o projeto com o SDK do Cloud. Consulte o Guia de início rápido do Video Intelligence para instruções de como instalar o SDK do Cloud, configurar um projeto com uma conta de serviço e conseguir um token de acesso.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- input-uri: base-64-encoded-content
Por exemplo:
"inputUri": "gs://cloud-videointelligence-demo/assistant.mp4",
Método HTTP e URL:
POST https://videointelligence.googleapis.com/v1/videos:annotate
Corpo JSON da solicitação:
{ "inputUri": "base-64-encoded-content", "features": ["OBJECT_TRACKING"] }
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{ "name": "projects/project-number/locations/location-id/operations/operation-id" }
Se a solicitação for bem-sucedida, a API Video Intelligence retornará o name
da sua operação. O exemplo acima mostra um exemplo dessa resposta, em que project-number
é o número do projeto e operation-id
é o ID da operação de longa duração criado para a solicitação.
Ver os resultados
Para receber os resultados da solicitação, envie um GET
usando o nome da operação retornado da chamada para videos:annotate
, conforme mostrado no exemplo a seguir.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- operation-name: o nome da operação, conforme retornado pela API Video Intelligence. O nome da operação tem o formato
projects/project-number/locations/location-id/operations/operation-id
.
Método HTTP e URL:
GET https://videointelligence.googleapis.com/v1/operation-name
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
Fazer download dos resultados da anotação
Copiar a anotação da origem para o bucket de destino (consulte Copiar arquivos e objetos)
gsutil cp gcs_uri gs://my-bucket
Observação: se o URI gcs de saída for fornecido pelo usuário, a anotação será armazenada nesse URI do gcs.
C#
Go
Java
Node.js
PHP
Python
Ruby
Solicitar rastreamento de objetos para vídeo de um arquivo local
As amostras a seguir demonstram o rastreamento de objetos em um arquivo armazenado localmente.
REST e LINHA DE CMD
Enviar a solicitação de processo
Para realizar a anotação em um arquivo de vídeo local, codifique em base64 o conteúdo do arquivo de vídeo.
Inclua o conteúdo codificado em base64 no campo inputContent
da solicitação.
Para informações sobre como codificar o conteúdo de um arquivo de vídeo em base64, consulte Codificação em Base64.
Veja a seguir como enviar uma solicitação POST
para o método videos:annotate
. O exemplo utiliza o token de acesso para uma conta de serviço configurada para o projeto com o SDK do Cloud. Consulte o Guia de início rápido da Video Intelligence para instruções de como instalar o SDK do Cloud, configurar um projeto com uma conta de serviço e conseguir um token de acesso.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- inputContent: base-64-encoded-content
Por exemplo:"UklGRg41AwBBVkkgTElTVAwBAABoZHJsYXZpaDgAAAA1ggAAxPMBAAAAAAAQCAA..."
Método HTTP e URL:
POST https://videointelligence.googleapis.com/v1/videos:annotate
Corpo JSON da solicitação:
{ "inputContent": "base-64-encoded-content", "features": ["OBJECT_TRACKING"] }
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
Se a solicitação for bem-sucedida, a Video Intelligence retornará o name
para sua operação. Veja a seguir um exemplo dessa resposta, em que project-number
é o número do projeto e operation-id
é o ID da operação de longa duração criada para a solicitação.
Ver os resultados
Para receber os resultados da solicitação, envie um GET
usando o nome da operação retornado da chamada para videos:annotate
, conforme mostrado no exemplo a seguir.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- operation-name: o nome da operação, conforme retornado pela API Video Intelligence. O nome da operação tem o formato
projects/project-number/locations/location-id/operations/operation-id
.
Método HTTP e URL:
GET https://videointelligence.googleapis.com/v1/operation-name
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
C#
Go
Java
Node.js
PHP