Vertex AI Vision es una plataforma potenciada por IA que puedes usar para ingerir, analizar y almacenar datos de video. Vertex AI Vision te permite compilar e implementar aplicaciones de IA. Puedes compilar soluciones de Vertex AI Vision de extremo a extremo aprovechando la integración de Vertex AI Vision con otros componentes del producto.
Para comenzar a implementar soluciones con la plataforma de Vertex AI Vision, revisa los siguientes conceptos y componentes de Vertex AI Vision:
Streams: Representan una capa de transmisión de video de tu solución. La fuente de transmisión puede ser un video en vivo (por ejemplo, una cámara IP) o un archivo de video (por ejemplo, un archivo MP4).
Aplicaciones: Habilitan la conexión entre una transmisión y un procesador de IA para realizar una operación de aprendizaje automático en el video. Por ejemplo, puedes conectar una transmisión de cámara a un modelo de IA que cuente las personas que pasan frente a ella.
Almacenes de contenido multimedia: Almacenan el video que se transfiere desde las transmisiones en el almacenamiento deGoogle Cloud . Almacenar datos en este destino te permite consultar el resultado del análisis y los metadatos de los procesadores de IA que se usan en los datos de las transmisiones ingeridas.
Objetivos
En este instructivo, se muestra cómo realizar lo siguiente:
- Crea una app de recuento de ocupación.
- Implementar tu app para usarla.
- Configura una máquina remota para transmitir video.
- Transfiere el video de transmisión a un nodo de transmisión en tu app.
- Buscar videos en el almacén de medios de Vertex AI Vision
Costos
En este documento, usarás los siguientes componentes facturables de Google Cloud:
- Vertex AI Vision (Streams - Data ingested, Streams - Data consumed, Models - Occupancy analytics suite, Warehouse - Video storage)
- Compute Engine
Para generar una estimación de costos en función del uso previsto, usa la calculadora de precios.
Cuando completes las tareas que se describen en este documento, podrás borrar los recursos que creaste para evitar que se te siga facturando. Para obtener más información, consulta Realiza una limpieza.
Antes de comenzar
- 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.
-
Verify 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.
-
Si usas un proveedor de identidad externo (IdP), primero debes acceder a gcloud CLI 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.
-
Verify 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.
-
Si usas un proveedor de identidad externo (IdP), primero debes acceder a gcloud CLI con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente comando:
gcloud init
- Transferencia de datos: Se transfiere un feed de video a una transmisión.
- Análisis de datos: Se puede agregar un modelo de IA después de la transferencia. Se puede realizar cualquier operación de visión por computadora en la información de video que se ingiere.
- Almacenamiento de datos: Las dos versiones del feed de video (la transmisión original y la transmisión procesada por el modelo de IA) se pueden almacenar en un almacén de contenido multimedia.
Abre la pestaña Aplicaciones del panel de Vertex AI Vision.
Haz clic en el botón
Crear.Ingresa
occupancy-count-app
como el nombre de la app y elige tu región.Haz clic en Crear.
- Nodo de transferencia: Es el recurso de transmisión que transfiere los datos enviados desde una instancia de VM de Compute Engine que creas.
- Nodo de procesamiento: Es el modelo de análisis de ocupación que actúa sobre los datos ingeridos.
- Nodo de almacenamiento: Es el almacén de contenido multimedia que almacena los videos procesados y que también funciona como almacén de metadatos. El almacén permite generar información de análisis sobre los datos de video ingeridos, así como almacenar información que los modelos de IA infieren sobre los datos.
Abre la pestaña Aplicaciones del panel de Vertex AI Vision.
En la línea
occupancy-count-app
, selecciona Ver gráfico. Esta acción te llevará a la visualización del gráfico de la canalización de procesamiento.Para agregar un nodo de flujo de entrada, selecciona la opción Flujos en la sección Conectores del menú lateral.
En la sección Fuente del menú Transmisión que se abre, selecciona
Agregar transmisiones.En el menú Agregar transmisiones, elige
Registrar transmisiones nuevas y agregaoccupancy-count-stream
como nombre de la transmisión.Para agregar el flujo al gráfico de la app, haz clic en Agregar flujos.
Para agregar el nodo del modelo de recuento de ocupación, selecciona la opción Análisis de ocupación en la sección Modelos especializados del menú lateral.
Deja las selecciones predeterminadas
Personas y Vehículos.Para agregar el nodo de destino de salida (almacenamiento), selecciona la opción Almacén de medios de Vertex AI Vision en la sección Conectores del menú lateral.
En el menú Vertex AI Vision's Media Warehouse, haz clic en Connect warehouse.
En el menú Conectar almacén, selecciona
Crear almacén nuevo. Asigna el nombreoccupancy-count-warehouse
al almacén y deja la duración del TTL en 14 días.Haz clic en el botón Crear para agregar el almacén.
Abre la pestaña Aplicaciones del panel de Vertex AI Vision.
Selecciona Ver gráfico junto a la app de
occupancy-count-app
en la lista.En la página del compilador de gráficos de la aplicación, haz clic en el botón
Implementar.En el siguiente diálogo de confirmación, 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.
En la consola ve a la página Instancias de VM.
Selecciona el proyecto y haz clic en Continuar.
Haz clic en Crear instancia.
Especifica un Nombre para la VM. Para obtener más información, consulta Convención de asignación de nombres de recursos.
Opcional: Cambia la Zona para esta VM. Compute Engine aleatoriza la lista de zonas dentro de cada región para fomentar el uso en varias zonas.
Acepta las opciones predeterminadas restantes. Para obtener más información sobre estas opciones, consulta Crea y, luego, inicia una VM.
Para crear y, también, iniciar la VM, haz clic en Crear.
En la consola ve a la página Instancias de VM.
En la sección Conectar de la línea de la instancia que creaste, haz clic en SSH. Se abrirá una conexión SSH en una nueva ventana del navegador.
En la ventana SSH en el navegador, descarga la herramienta de línea de comandos de Vertex AI Vision (
vaictl
) con el siguiente comando:wget https://github.com/google/visionai/releases/download/v0.0.5/visionai_0.0-5_amd64.deb
Para instalar la herramienta de línea de comandos, ejecuta el siguiente comando:
sudo apt install ./visionai_0.0-5_amd64.deb
Para probar la instalación, ejecuta el siguiente comando:
vaictl --help
- En la ventana SSH en el navegador de tu VM, copia un video de muestra con el siguiente comando
gcloud storage cp
. Reemplaza la siguiente variable:- SOURCE: Es la ubicación de un archivo de video que se usará. Puedes usar tu propio archivo de video fuente (por ejemplo,
gs://BUCKET_NAME/FILENAME.mp4
) o uno de los videos de muestra:
gcloud storage cp SOURCE .
- SOURCE: Es la ubicación de un archivo de video que se usará. Puedes usar tu propio archivo de video fuente (por ejemplo,
- Para enviar este archivo de video local al flujo de entrada de la app, usa el siguiente comando. Debes realizar las siguientes sustituciones de variables:
- PROJECT_ID: El ID de tu proyecto de Google Cloud .
- LOCATION_ID: Es el ID de tu ubicación. Por ejemplo:
us-central1
Para obtener más información, consulta Ubicaciones de Cloud. - LOCAL_FILE.EXT: Es el nombre de un archivo de video local.
Por ejemplo,
my-video.mp4
- Marca
--loop
: Opcional. Repite los datos del archivo para simular la transmisión.
Este comando transmite un archivo de video a una transmisión. Si usas la marca
--loop
, el video se repetirá en el flujo 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 'occupancy-count-stream' --file-path LOCAL_FILE.EXT --loop
Abre la pestaña Almacenes del panel de Vertex AI Vision.
Busca el almacén
occupancy-count-warehouse
en la lista y haz clic en Ver recursos.En la sección Recuento de personas o Recuento de vehículos, establece el valor Mín. en
1
y el valor Máx. en5
.Para filtrar los datos de video procesados y almacenados en el almacén de contenido multimedia de Vertex AI Vision, haz clic en Buscar.
Una vista de los datos de video almacenados que coinciden con los criterios de búsqueda en la consola de Google Cloud Crédito del video: Elizabeth Mavor en Pixabay (se aplicaron criterios de búsqueda). - 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 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.
- 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.
- 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.
- 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.
- Obtén más información sobre las Prácticas de IA responsable.
- Obtén información sobre otros componentes que puedes agregar a una app en Cómo compilar una app.
- Obtén más información sobre otras opciones de procesamiento y almacenamiento de salida en Conecta la salida de la app a un destino de datos .
- Obtén información sobre cómo buscar datos en el almacén en la consola.
- Explora arquitecturas de referencia, diagramas y prácticas recomendadas sobre Google Cloud. Consulta nuestro Cloud Architecture Center.
† El rol solo es necesario si copias un archivo de video de muestra de un bucket de Cloud Storage.
Crea una aplicación de recuento de ocupación
Después de configurar tu entorno, el primer paso es crear la app que procesa tus datos. Una app se puede considerar como una canalización automatizada que conecta los siguientes elementos:
En la consola de Google Cloud , una app se representa como un gráfico. Además, en Vertex AI Vision, un gráfico de la app debe tener al menos dos nodos: un nodo de fuente de video (transmisión) y al menos un nodo más (un modelo de procesamiento o un destino de salida).
Crea una app vacía
Antes de completar el gráfico de la app, primero debes crear una app vacía.
Console
Crea una app en la consola de Google Cloud .
Agrega nodos componentes de la app
Después de crear la aplicación vacía, puedes agregar los tres nodos al gráfico de la app:
Console
Agrega nodos de componentes a tu app en la consola.
Agrega un nodo de transferencia de datos
Agrega un nodo de procesamiento de datos
Cómo agregar un nodo de almacenamiento de datos
Implementar tu app para usarla
Después de compilar tu app integral con todos los componentes necesarios, el último paso para usarla es implementarla.Console
Cómo configurar una máquina remota para transmitir video
Ahora que tienes una app de recuento de ocupación implementada y lista para recibir, procesar y almacenar datos de transmisión, debes transmitir datos de video a la app.
En este instructivo, crearás una instancia de VM de Compute Engine que aloja un video y enviarás los datos de transmisión de video desde la VM.
Crea una VM de Linux
El primer paso para enviar video desde una instancia de VM de Compute Engine es crear la instancia de VM.
Console
Configura el entorno de la VM
Después de que se inicie la VM, puedes usar la consola para establecer una conexión SSH en tu navegador. Después de establecer esta conexión, puedes descargar la herramienta de línea de comandos de vaictl
para transferir videos a tu app.
Console
Establece una conexión SSH a tu VM
Descarga la herramienta de línea de comandos de vaictl
Transfiere un archivo de video a tu app
Después de configurar tu entorno de VM, puedes copiar un archivo de video de muestra y, luego, usar vaictl
para transmitir los datos de video a tu app de recuento de ocupación.
SSH en el navegador
Copia un video de muestra en tu VM
Transmite video desde la VM y transfiere datos a tu app
Es posible que transcurran alrededor de 100 segundos entre el inicio de la operación de transferencia vaictl
y la aparición del video en el panel.
Una vez que la transferencia de la transmisión esté disponible, podrás ver el feed de video en la pestaña Transmisiones del panel de Vertex AI Vision. Para ello, selecciona la transmisión occupancy-count-stream
.

Buscar contenido de video en el almacén de almacenamiento
Después de transferir los datos de video a tu app de procesamiento, puedes ver los datos de video analizados y buscar los datos según la información de análisis de ocupación.
Console
Limpia
Para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos usados en este instructivo, borra el proyecto que contiene los recursos o conserva el proyecto y borra los recursos individuales.