Vertex AI Vision es una plataforma basada en IA que puedes usar para ingerir, analizar y almacenar datos de vídeo . Vertex AI Vision te permite crear y desplegar aplicaciones de IA. Puedes crear soluciones integrales de Vertex AI Vision aprovechando la integración de Vertex AI Vision con otros componentes del producto.
Para empezar a implementar soluciones con la plataforma Vertex AI Vision, consulta los siguientes conceptos y componentes de Vertex AI Vision:
Streams: representan una capa de streaming de vídeo de tu solución. La fuente de la emisión puede ser un vídeo en directo (por ejemplo, una cámara IP) o un archivo de vídeo (por ejemplo, un archivo MP4).
Aplicaciones: permite la conexión entre una emisión y un procesador de IA para realizar una operación de aprendizaje automático en el vídeo. Por ejemplo, puedes conectar una transmisión de cámara a un modelo de IA que cuente las personas que pasan por delante.
Almacenes de contenido multimedia: almacenan el vídeo ingerido por las emisiones en elGoogle Cloud almacenamiento. Almacenar datos en este destino te permite consultar el resultado del análisis y los metadatos de los procesadores de IA usados en los datos de las secuencias insertadas.
Objetivos
En este tutorial te explicamos cómo hacer lo siguiente:
- Crea un recurso de flujo de entrada de datos.
- Empieza a enviar datos de vídeo a este recurso de flujo.
- Crea una aplicación vacía.
- Añade nodos a tu aplicación para transmitir, modificar y almacenar datos.
- Despliega tu aplicación para poder usarla.
- Consulta los datos procesados en la Google Cloud consola.
Antes de empezar este tutorial, debes tener un recurso de vídeo en streaming para enviar datos a tu aplicación Vertex AI Vision. Este recurso puede ser un vídeo local o un feed RTSP. Estos datos de vídeo deben contener rostros humanos que la aplicación de ejemplo pueda difuminar.
Costes
En este documento, se utilizan los siguientes componentes facturables de Google Cloud:
- Vertex AI Vision (Streams - Data ingested, Streams - Data consumed, Models - Person / face blur, Warehouse - Video storage)
Para generar una estimación de costes basada en el uso previsto,
utiliza la calculadora de precios.
Cuando termines las tareas que se describen en este documento, puedes evitar que se te siga facturando eliminando los recursos que has creado. Para obtener más información, consulta la sección Limpiar.
Antes de empezar
- Obtén la ubicación de la fuente de vídeo de streaming, ya sea local (por ejemplo,
./sample_video.mp4
) o la dirección IP del feed RTSP en directo (por ejemplo,rtsp://192.168.1.180:540
). Necesitas esta información para empezar a ingerir datos en una emisión después de crear el recurso de emisión. - 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 Vision AI API.
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 Vision AI > Vision AI Editor role to the service account.
To grant the role, find the Select a role list, then select Vision AI > Vision AI Editor.
- 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.
-
Set the environment variable
GOOGLE_APPLICATION_CREDENTIALS
to the path of the JSON file that contains your credentials. This variable applies only to your current shell session, so if you open a new session, set the variable again. -
Install the Google Cloud CLI.
-
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente 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 Vision AI API.
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 Vision AI > Vision AI Editor role to the service account.
To grant the role, find the Select a role list, then select Vision AI > Vision AI Editor.
- 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.
-
Set the environment variable
GOOGLE_APPLICATION_CREDENTIALS
to the path of the JSON file that contains your credentials. This variable applies only to your current shell session, so if you open a new session, set the variable again. -
Install the Google Cloud CLI.
-
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente comando:
gcloud init
- Instalar la herramienta
vaictl
para ingerir datos en un flujo (SO: Debian GNU/Linux, arquitectura de CPU: x86_64):- Descarga el paquete necesario:
wget https://github.com/google/visionai/releases/download/v0.0.5/visionai_0.0-5_amd64.deb
- Después de descargar el paquete, ejecuta el siguiente comando en el directorio en el que has descargado el archivo:
sudo apt install ./visionai_0.0-5_amd64.deb
- Verifica la instalación:
vaictl --help
- Descarga el paquete necesario:
Abre la pestaña Streams (Streams) del panel de control de Vertex AI Vision.
Haz clic en
Registrarse.Introduce
input-stream
como nombre de la emisión y selecciona la región en la que quieras crearla.Haga clic en Registrar para crear uno o varios flujos.
- PROJECT_ID: tu ID de proyecto Google Cloud .
- LOCATION_ID: tu ID de ubicación. Por ejemplo,
us-central1
. Para obtener más información, consulta Ubicaciones en la nube. - RTSP_ADDRESS: la dirección de tu feed del protocolo de streaming en tiempo real (RTSP). Por ejemplo,
rtsp://192.168.1.180:540
. - PROJECT_ID: tu ID de proyecto Google Cloud .
- LOCATION_ID: tu ID de ubicación. Por ejemplo,
us-central1
. Más información - LOCAL_FILE.EXT: el nombre de archivo de un archivo de vídeo local.
Por ejemplo,
my-video.mp4
. - Marca
--loop
: opcional. Repite los datos del archivo para simular la transmisión. - Ingestión de datos: un feed de vídeo se ingiere en un flujo.
- Análisis de datos: se puede añadir un modelo de IA después de la ingestión. Se puede realizar cualquier operación de visión artificial en la información de vídeo insertada.
- Almacenamiento de datos: las dos versiones del feed de vídeo (el stream original y el stream procesado por el modelo de IA) se pueden almacenar en un almacén de medios.
Abre la pestaña Aplicaciones del panel de control de Vertex AI Vision.
Haz clic en el botón
Crear.Introduce
person-blur-app
como nombre de la aplicación y elige tu región.Haz clic en Crear.
- Nodo de ingestión: el recurso de flujo que ya está ingiriendo datos.
- Nodo de procesamiento: el modelo de desenfoque de personas que actúa sobre los datos ingeridos.
- Nodo de almacenamiento: almacén de contenido multimedia que almacena los vídeos procesados y que también sirve como almacén de metadatos. El almacén permite generar información analítica sobre los datos de vídeo insertados, así como almacenar información inferida sobre los datos por los modelos de IA.
Abre la pestaña Aplicaciones del panel de control de Vertex AI Vision.
En la línea
person-blur-app
, selecciona Ver gráfico. De esta forma, accederás a la visualización del gráfico de la canalización de procesamiento.Para añadir el nodo de flujo de entrada, selecciona la opción Streams (Flujos) en la sección Connectors (Conectores) del menú lateral.
En la sección Fuente del menú Stream que se abre, selecciona
Añadir streams.En el menú Añadir streams, elige
Seleccionar de streams existentes y seleccionaperson-blur-app
en la lista de recursos de stream.Para añadir el flujo al gráfico de la aplicación, haz clic en Añadir flujos.
Para añadir el nodo del modelo de desenfoque de personas, selecciona la opción Desenfoque de personas en la sección Procesadores generales del menú lateral.
En el menú de opciones "Desenfocar personas" que se abre, deja seleccionada la opción
Oclusión completa y habilita la opción Desenfocar solo las caras.Para añadir el nodo de destino de salida (almacenamiento), selecciona la opción Vertex AI Vision's Media Warehouse (Almacén de contenido multimedia de Vertex AI Vision) en la sección Connectors (Conectores) del menú lateral.
En el menú Media Warehouse de Vertex AI Vision, haz clic en Conectar almacén.
En el menú Conectar almacén, selecciona
Crear almacén. Ponle el nombreperson-blur-app
al almacén y deja la duración del TTL en 14 días.Para añadir el almacén, haz clic en Crear.
Abre la pestaña Aplicaciones del panel de control de Vertex AI Vision.
Selecciona Ver gráfico junto a la aplicación
person-blur-app
de la lista.En la página del creador de gráficos de aplicaciones, haz clic en el botón
Implementar.En el cuadro de diálogo de confirmación que aparece, selecciona Implementar.
La operación de implementación puede tardar varios minutos en completarse. Cuando finalice la implementación, aparecerán marcas de verificación verdes junto a los nodos.
Abre la pestaña Almacenes del panel de control de Vertex AI Vision.
Busca el almacén
person-blur-output-storage
en la lista y haz clic en Ver recursos.- 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 Warehouses page.
-
Locate
your
person-blur-output-storage
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
input-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
person-blur-app
app. - To delete the app, click Actions, click Delete application, and then follow the instructions.
- Consulta más información sobre las prácticas de IA responsable.
- Consulta otros componentes que puedes añadir a una aplicación en Crear una aplicación.
- Consulta otras opciones de almacenamiento y tratamiento de resultados en Conectar los resultados de la aplicación con un destino de datos .
- Consulta cómo buscar datos de Search Warehouse en la consola.
- Consulta arquitecturas de referencia, diagramas y prácticas recomendadas sobre Google Cloud. Consulta nuestro Centro de arquitectura de Cloud.
Crear un flujo
Para crear una aplicación de análisis de vídeo en streaming, primero debes crear y registrar un recurso de flujo. Como recurso que recibe los datos de vídeo de los usuarios, el flujo es necesario en cualquier situación que crees con Vertex AI Vision.Consola
Para crear un nuevo flujo en la consola Google Cloud , sigue estos pasos.
Ingerir vídeo en el stream
Después de crear un recurso de flujo, puede usar la herramienta de línea de comandos vaictl
para enviar datos de vídeo al flujo.
Cámara IP
Si vas a hacer pruebas con una cámara IP activa, debes obtener la dirección IP de la cámara. Debe proporcionar esta información junto con la solicitud y otras sustituciones de variables:
Este comando envía un feed RTSP a la emisión. Debes ejecutar este comando en la red que tenga acceso directo al 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
Si el comando se ejecuta correctamente, obtendrás el siguiente resultado:
[...] 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
Archivo de vídeo local
También puedes enviar datos de archivos de vídeo a una emisión en lugar de a un feed de vídeo en directo. Esta opción puede ser útil si no tienes acceso a una cámara IP.
La única diferencia de esta opción son los parámetros del comando vaictl
. En lugar de pasar la información de la cámara IP, pasa la ruta del archivo de vídeo local. Sustituye las siguientes variables:
Este comando transmite un archivo de vídeo a una emisión. Si usas la marca --loop
, el vídeo se repetirá en el stream hasta que detengas el 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
Pueden pasar unos 100 segundos entre el inicio de la operación de ingesta vaictl
y la aparición del vídeo en el panel de control.
Cuando esté disponible la ingesta de la emisión, podrás ver el vídeo en la pestaña Emisiones del panel de control de Vertex AI Vision. Para ello, selecciona la emisión input-stream
.

Crear una aplicación para desenfocar caras
Después de crear un flujo e ingerir datos en él, es el momento de crear una aplicación de Vertex AI Vision para procesar los datos. Una aplicación se puede considerar como una pipeline automatizada que conecta lo siguiente:
En la Google Cloud consola, una aplicación se representa como un gráfico. Además, en Vertex AI Vision, un gráfico de aplicación debe tener al menos dos nodos: un nodo de origen de vídeo (flujo) y al menos un nodo más (un modelo de procesamiento o un destino de salida).
Crear una aplicación vacía
Antes de rellenar el gráfico de aplicaciones, debes crear una aplicación vacía.Consola
Crea una aplicación en la Google Cloud consola.
Añadir nodos de componentes de aplicaciones
Una vez que hayas creado la aplicación vacía, podrás añadir los tres nodos al gráfico de la aplicación:
Consola
Añade nodos de componentes a tu aplicación en la consola.
Añadir un nodo de ingestión de datos
Añadir un nodo de procesamiento de datos
Añadir un nodo de almacenamiento de datos
Desplegar una aplicación
Una vez que hayas creado tu aplicación integral con todos los componentes necesarios, el último paso para usarla es implementarla.Consola
Ver los datos de salida procesados
Consola
Limpieza
Para evitar que los recursos utilizados en este tutorial se cobren en tu cuenta de Google Cloud, elimina el proyecto que contiene los recursos o conserva el proyecto y elimina los recursos.