El seguimiento de objetos hace un seguimiento de los objetos que se detectan en un video de entrada. Para realizar una solicitud de seguimiento de objetos, llama al método annotate
y especifica OBJECT_TRACKING
en el campo features
.
Para entidades y ubicaciones espaciales que se detectan en un video o video segmentos, una solicitud de seguimiento de objetos agrega la anotación en el video con el etiquetas adecuadas para estas entidades y ubicaciones espaciales. Por ejemplo, un video de vehículos que cruzan una señal de tráfico puede producir etiquetas como “automóvil”, “ camión”, “bicicleta”, “frenos”, “luces”, “ventana”, etcétera. Cada etiqueta puede incluir una serie de cuadros de límite, cada uno con un segmento de tiempo asociado que contiene una compensación de tiempo que indica la compensación de duración desde el principio del video. La anotación también contiene información adicional sobre la entidad, incluido un ID de entidad, que se puede usar para encontrar más información sobre la entidad en el API de Google Knowledge Graph Search.
Seguimiento de objetos frente a detección de etiquetas
El seguimiento de objetos es diferente del detección de etiquetas. Etiqueta la detección proporciona etiquetas sin cuadros delimitadores, mientras que el seguimiento proporciona las etiquetas de los objetos individuales presentes en un video determinado junto con el cuadro delimitador de cada instancia del objeto en cada paso.
Se asignan varias instancias del mismo tipo de objeto a diferentes instancias.
de ObjectTrackingAnnotation
en el que todos los casos de un mensaje determinado
seguimiento de objetos se mantiene en su propia instancia de ObjectTrackingAnnotation
. Para
ejemplo, si un auto rojo y uno azul aparecen durante 5 segundos en una
video, la solicitud de seguimiento debería devolver dos instancias de
ObjectTrackingAnnotation
La primera instancia contendrá
la ubicación de uno de los dos coches; por ejemplo, el coche rojo, mientras que el
contendrá las ubicaciones del otro automóvil.
Solicita el seguimiento de objetos para un video en Cloud Storage
En los siguientes ejemplos, se muestra el seguimiento de objetos en un archivo ubicado en Cloud Storage.
REST
Envía la solicitud de proceso
A continuación, se muestra cómo enviar una solicitud POST
al método annotate
.
En el ejemplo, se usa el token de acceso correspondiente a una cuenta de servicio configurada para el proyecto
con Google Cloud CLI. Para obtener instrucciones sobre cómo instalar Google Cloud CLI,
la configuración de un proyecto con una cuenta
y obtener un token de acceso, consulta la
Guía de inicio rápido de Video Intelligence.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- INPUT_URI: STORAGE_URI
Por ejemplo:"inputUri": "gs://cloud-videointelligence-demo/assistant.mp4",
- PROJECT_NUMBER: Es el identificador numérico del proyecto de Google Cloud.
Método HTTP y URL:
POST https://videointelligence.googleapis.com/v1/videos:annotate
Cuerpo JSON de la solicitud:
{ "inputUri": "STORAGE_URI", "features": ["OBJECT_TRACKING"] }
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/operations/OPERATION_ID" }
Si la respuesta es correcta, la API de Video Intelligence muestra name
para tu operación. A continuación, se muestra un ejemplo de la respuesta, en la que PROJECT_NUMBER
es el número de tu proyecto y OPERATION_ID
es el ID de la operación de larga duración creada para la solicitud.
Obtén los resultados
Para obtener los resultados de tu solicitud, debes enviar un GET
con el nombre de la operación que se muestra de la llamada a videos:annotate
, como se muestra en el siguiente ejemplo.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- OPERATION_NAME: el nombre de la operación que muestra la API de Video Intelligence. El nombre de la operación tiene el formato
projects/PROJECT_NUMBER/locations/LOCATION_ID/operations/OPERATION_ID
. - PROJECT_NUMBER: Es el identificador numérico del proyecto de Google Cloud.
Método HTTP y URL:
GET https://videointelligence.googleapis.com/v1/OPERATION_NAME
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
Cómo descargar resultados de anotaciones
Copia la anotación del origen al bucket de destino (consulta Copia archivos y objetos).
gcloud storage cp gcs_uri gs://my-bucket
Nota: Si el usuario proporciona el resultado de gcs uri, la anotación se almacena en ese gcs URI.
Go
Java
Node.js
Para autenticarte en Video Intelligence, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Python
Idiomas adicionales
C# Sigue las Instrucciones de configuración de C# en la página de bibliotecas cliente y, luego, visita Documentación de referencia de Video Intelligence para .NET
PHP: Sigue las Instrucciones de configuración de PHP en la página de bibliotecas cliente y, luego, visita Documentación de referencia de Video Intelligence para PHP
Ruby: Sigue las Instrucciones de configuración de Ruby en la página de bibliotecas cliente y, luego, visita Documentación de referencia de Video Intelligence para Ruby.
Solicita seguimiento de objetos para el video desde un archivo local
En los siguientes ejemplos, se demuestra el seguimiento de objetos en un archivo almacenado de forma local.
REST
Envía la solicitud de proceso
Para realizar una anotación en un archivo de video local, codifica el contenido del archivo de video en base64.
Incluye el contenido codificado en base64 en el campo inputContent
de la solicitud.
Para obtener información sobre cómo codificar en base64 el contenido de un archivo de video, consulta Codificación en base64.
A continuación, se muestra cómo enviar una solicitud POST
al método videos:annotate
. En el ejemplo, se usa el token de acceso para
configurar una cuenta de servicio para el proyecto con Google Cloud CLI. Para
instrucciones para instalar Google Cloud CLI y configurar un proyecto con un servicio
y obtener un token de acceso, consulta la
Guía de inicio rápido de Video Intelligence.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- inputContent: BASE64_ENCODED_CONTENT
Por ejemplo:"UklGRg41AwBBVkkgTElTVAwBAABoZHJsYXZpaDgAAAA1ggAAxPMBAAAAAAAQCAA..."
- PROJECT_NUMBER: Es el identificador numérico del proyecto de Google Cloud.
Método HTTP y URL:
POST https://videointelligence.googleapis.com/v1/videos:annotate
Cuerpo JSON de la solicitud:
{ "inputContent": "BASE64_ENCODED_CONTENT", "features": ["OBJECT_TRACKING"] }
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
Si la solicitud se realiza correctamente, Video Intelligence elige el name
para tu operación. A continuación, se muestra un ejemplo de la respuesta, en la que PROJECT_NUMBER
es el número de tu proyecto y OPERATION_ID
es el ID de la operación de larga duración creada para la solicitud.
Obtén los resultados
Para obtener los resultados de tu solicitud, debes enviar un GET
con el nombre de la operación que se muestra de la llamada a videos:annotate
, como se muestra en el siguiente ejemplo.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- OPERATION_NAME: el nombre de la operación que muestra la API de Video Intelligence. El nombre de la operación tiene el formato
projects/PROJECT_NUMBER/locations/LOCATION_ID/operations/OPERATION_ID
. - PROJECT_NUMBER: Es el identificador numérico del proyecto de Google Cloud.
Método HTTP y URL:
GET https://videointelligence.googleapis.com/v1/OPERATION_NAME
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
Go
Java
Node.js
Para autenticarte en Video Intelligence, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Python
Idiomas adicionales
C# Sigue las Instrucciones de configuración de C# en la página de bibliotecas cliente y, luego, visita Documentación de referencia de Video Intelligence para .NET
PHP: Sigue las Instrucciones de configuración de PHP en la página de bibliotecas cliente y, luego, visita Documentación de referencia de Video Intelligence para PHP
Ruby: Sigue las Instrucciones de configuración de Ruby en la página de bibliotecas cliente y, luego, visita Documentación de referencia de Video Intelligence para Ruby.