Utilice RAG para la generación de videos con Amazon Bedrock y Amazon Nova Reel

Generar videos personalizados de alta calidad sigue siendo un desafío importante, porque los modelos de generación de videos están limitados a sus conocimientos previamente entrenados. Esta limitación afecta a industrias como la publicidad, la producción de medios, la educación y los juegos, donde la personalización y el control de la generación de vídeo son esenciales.

Para abordar esto, desarrollamos un canal multimodal de generación aumentada de recuperación de video (VRAG) que transforma texto estructurado en videos personalizados utilizando una biblioteca de imágenes como referencia. Utilizando Amazon Bedrock, Amazon Nova Reel, el motor vectorial de Amazon OpenSearch Service y Amazon Simple Storage Service (Amazon S3), la solución integra perfectamente la recuperación de imágenes, la generación de videos basada en indicaciones y el procesamiento por lotes en un único flujo de trabajo automatizado. Los usuarios proporcionan un objeto de interés y la solución recupera la imagen más relevante de un conjunto de datos indexados. Luego definen un mensaje de acción (por ejemplo, "La cámara gira en el sentido de las agujas del reloj"), que se combina con la imagen recuperada para generar el vídeo. Las indicaciones estructuradas a partir de archivos de texto permiten generar múltiples videos en una sola ejecución, creando una base escalable y reutilizable para la generación de medios asistida por IA.

En esta publicación, exploramos nuestro enfoque para la generación de videos a través de VRAG, transformando mensajes de texto e imágenes en lenguaje natural en videos fundamentados y de alta calidad. A través de esta solución totalmente automatizada, puede generar secuencias de video realistas impulsadas por IA a partir de entradas de texto e imágenes estructuradas, lo que agiliza el proceso de creación de videos.

Descripción general de la solución

Nuestra solución está diseñada para recibir un mensaje de texto estructurado, recuperar la imagen más relevante y utilizar Amazon Nova Reel para la generación de videos. Esta solución integra múltiples componentes en un flujo de trabajo fluido:

Recuperación y procesamiento de imágenes: los usuarios proporcionan un objeto de interés (por ejemplo, "cielo azul") y la solución consulta el motor de vectores OpenSearch para recuperar la imagen más relevante de un conjunto de datos indexados, que contiene imágenes y descripciones preindexadas. La imagen más relevante se recupera de un depósito S3. Generación de video basada en mensajes: los usuarios definen un mensaje de acción (por ejemplo, "La cámara se desplaza hacia abajo"), que se combina con la imagen recuperada para generar un video usando Amazon Nova Reel. Procesamiento por lotes para múltiples mensajes: la solución lee una lista de plantillas de texto de avisos.txt, que contienen marcadores de posición para permitir el procesamiento por lotes de múltiples solicitudes de generación de video con variaciones estructuradas: – Reemplazado dinámicamente con el objeto consultado. – Reemplazado dinámicamente con el movimiento de la cámara o la acción de la escena. Monitoreo y almacenamiento: la generación de video es asíncrona, por lo que la solución monitorea el estado del trabajo. Cuando se completa, el video se almacena en un depósito S3 y se descarga automáticamente para obtener una vista previa. Los vídeos generados se muestran en el cuaderno, con el mensaje correspondiente mostrado como título.

El siguiente diagrama ilustra la arquitectura de la solución.

El siguiente diagrama ilustra el flujo de trabajo de un extremo a otro utilizando un cuaderno Jupyter.

Esta solución puede servir para los siguientes casos de uso:

Vídeos educativos: creación automática de vídeos instructivos extrayendo imágenes relevantes de una base de conocimientos sobre un tema. Vídeos de marketing: creación de anuncios de vídeo dirigidos extrayendo imágenes que se alinean con datos demográficos o características del producto específicos. Contenido personalizado: adaptación del contenido de vídeo a usuarios individuales recuperando imágenes en función de sus intereses específicos.

En las siguientes secciones, desglosamos cada componente, cómo funciona y cómo puede personalizarlo para sus propios flujos de trabajo de vídeo basados ​​en IA.

Entrada de ejemplo

En esta sección, demostramos las capacidades de generación de videos de Amazon Nova Reel a través de dos métodos de entrada distintos: entradas de solo texto y de texto e imágenes. Estos ejemplos ilustran cómo la generación de vídeo se puede personalizar aún más incorporando imágenes de entrada, en este escenario para publicidad. Para nuestro ejemplo, una agencia de viajes quiere crear un anuncio que muestre una hermosa escena de playa desde una ubicación específica y una panorámica hacia un kayak para atraer posibles reservas de vacaciones. Comparamos los resultados del uso de un enfoque de entrada de solo texto versus VRAG con una imagen estática para lograr este objetivo.

Entrada de solo texto

Para el ejemplo de solo texto, usamos la entrada "Desplazamiento muy lento desde el cielo azul hasta un kayak colorido flotando en agua turquesa". Obtenemos el siguiente resultado.

Entrada de texto e imagen

Usando el mismo mensaje de texto, la agencia de viajes ahora puede usar una foto específica que tomó en su ubicación. Para este ejemplo, utilizamos la siguiente imagen.

La agencia de viajes ahora puede agregar contenido a su toma existente usando VRAG. Usan el mismo mensaje: “Desplazamiento muy lento desde el cielo azul hasta un colorido kayak flotando en agua turquesa”. Esto genera el siguiente vídeo.

Requisitos previos

Antes de implementar esta solución, asegúrese de que se cumplan los siguientes requisitos previos:

Implementar la solución

Para esta publicación, utilizamos una plantilla de AWS CloudFormation para implementar la solución en la región de AWS de EE. UU. Este (Norte de Virginia). Para obtener una lista de regiones que admiten Amazon Nova Reel, consulte Compatibilidad de modelos por región de AWS en Amazon Bedrock. Complete los siguientes pasos:

Elija Iniciar pila para implementar la pila:

pila de lanzamiento ml-17088

Ingrese un nombre para la pila, como vrag-blogpost, y siga los pasos para implementarla. En la consola de CloudFormation, ubique la pila vrag-blogpost y confirme que su estado es CREATE_COMPLETE. En la consola de SageMaker AI, elija Cuadernos en el panel de navegación. En la pestaña Instancias de Notebook, ubique la instancia de notebook vrag-blogpost-notebook aprovisionada para esta publicación y elija Abrir JupyterLab.

Abra la carpeta sample-video-rag para ver los cuadernos necesarios para esta publicación.

Ejecutar cuadernos

Proporcionamos siete cuadernos secuenciales, numerados del _00 al _06, con instrucciones y objetivos paso a paso para ayudarle a comprender mejor una solución VRAG. Su resultado puede variar de los ejemplos de esta publicación.

Procesamiento de imágenes (cuaderno _00)

En _00_image_processing, utiliza Amazon Bedrock, Amazon S3 y SageMaker AI para realizar las siguientes acciones:

Procesar y cambiar el tamaño de imágenes Generar codificaciones Base64 Almacenar datos en Amazon S3 Generar descripciones de imágenes utilizando Amazon Nova Crear una visualización de los resultados

Este cuaderno ilustra las siguientes capacidades:

Canal de procesamiento automatizado: Procesamiento de imágenes en masa Redimensionamiento y optimización inteligentes Codificación Base64 para compatibilidad API Almacenamiento de imágenes en Amazon S3 Análisis impulsado por IA: Generación avanzada de descripciones de imágenes Comprensión de imágenes basada en contenido Integración multimodal de IA Gestión sólida de datos: Organización eficiente del almacenamiento Extracción e indexación de metadatos

Para este ejemplo, utilizamos la siguiente imagen de entrada.

Recibimos el siguiente título de imagen generada como resultado: "La imagen muestra un bolso marrón con motivos florales blancos, un sombrero de paja con una cinta azul y un frasco de perfume. El bolso se coloca sobre una superficie y el sombrero de paja se coloca junto a él. El bolso tiene una correa y una cadena unidas a él, y el sombrero de paja tiene una cinta azul atada a su alrededor. El frasco de perfume se coloca al lado del bolso".

Ingestión de imágenes (cuaderno _01)

En _01_oss_ingestion.ipynb, utiliza Amazon Bedrock (con Amazon Titan Embeddings para generar incrustaciones), Amazon S3, OpenSearch Serverless (para búsqueda y almacenamiento de vectores) y SageMaker AI (para alojamiento de portátiles) para realizar las siguientes acciones:

Procesar y cambiar el tamaño de imágenes Generar codificaciones base64 Almacenar datos en Amazon S3 Generar descripciones de imágenes utilizando Amazon Nova Crear visualización de los resultados

Este cuaderno ilustra las siguientes capacidades:

Gestión de bases de datos vectoriales: creación y configuración de índices Ingestión masiva de datos Almacenamiento eficiente de vectores Generación de incrustaciones: creación de incrustaciones multimodales Optimización de dimensiones Soporte de procesamiento por lotes Capacidades de búsqueda semántica: implementación de búsqueda k-NN Generación de vectores de consulta Visualización de resultados

Para nuestra entrada, utilizamos la consulta "Edificio" y recibimos como resultado la siguiente imagen.

La imagen tiene el título asociado como salida: "La imagen representa una escena arquitectónica moderna que presenta varios edificios de gran altura con fachadas de vidrio. Los edificios están construidos con una combinación de vidrio y acero, lo que les da una apariencia elegante y contemporánea. Los paneles de vidrio reflejan el entorno circundante, incluido el cielo y otros edificios, creando una interacción dinámica de luz y reflejos. El cielo arriba está parcialmente nublado, con manchas de azul visibles, lo que sugiere un día despejado con algo de nubosidad. Los edificios son altos y estrechos, con líneas verticales enfatizadas por la estructura de los paneles de vidrio y la estructura de acero. Los reflejos en las superficies de vidrio muestran los edificios circundantes y el cielo, agregando profundidad a la imagen. La impresión general es de modernidad, eficiencia y sofisticación urbana”.

Generación de video solo a partir de texto (notebook _02)

En _02_video_gen_text_only.ipynb, utiliza Amazon Bedrock (para acceder a Amazon Nova Reel) y SageMaker AI (para alojamiento de portátiles) para realizar las siguientes acciones:

Construya la carga útil de solicitud para la generación de video con texto como mensaje. Inicie un trabajo asincrónico usando Amazon Bedrock. Realice un seguimiento del progreso y espere hasta que finalice. Recupere el video generado de Amazon S3 y renderícelo en el cuaderno.

Este cuaderno ilustra las siguientes capacidades:

Procesamiento automatizado de generación de video con texto como entrada Generación de video a escala con observabilidad

Usamos el siguiente mensaje de entrada: "Primer plano de una gran concha en la arena, suaves olas fluyen alrededor de la concha. La cámara hace zoom".Recibimos el siguiente video generado como salida.

Generación de vídeo a partir de indicaciones de texto e imagen (cuaderno _03)

En _03_video_gen_text_image.ipynb, utiliza Amazon Bedrock (para acceder a Amazon Nova Reel) y SageMaker AI (para alojamiento de portátiles) para realizar las siguientes acciones:

Construya la carga útil de solicitud para la generación de video con texto e imagen como indicación. Inicie un trabajo asincrónico usando Amazon Bedrock. Realice un seguimiento del progreso y espere hasta que finalice. Recuperar el video generado de Amazon S3 y renderizarlo en el cuaderno.

Este cuaderno ilustra las siguientes capacidades:

Procesamiento automatizado de generación de video con texto e imagen como entrada Generación de video a escala con observabilidad

Usamos el mensaje "cámara inclinada hacia arriba desde el camino hacia el cielo" y la siguiente imagen como entrada.

Recibimos el siguiente vídeo generado como salida.

Generación de video a partir de entradas multimodales (cuaderno _04)

En _04_video_gen_multi.ipynb, utiliza Amazon Bedrock (para acceder a Amazon Nova Reel) y SageMaker AI (para alojamiento de portátiles) para realizar las siguientes acciones:

Genere incrustaciones para solicitudes de entrada y busque en el índice de colección de vectores de OpenSearch Serverless. Combine texto e imágenes recuperadas para generar videos.

Este cuaderno ilustra las siguientes capacidades:

El proceso VRAG Generación de vídeo a escala con observabilidad

Usamos el siguiente mensaje como entrada: "Una toma cinematográfica limpia de zapatos rojos colocados bajo la nieve que cae, mientras el entorno permanece silencioso y quieto". Recibimos el siguiente video como salida.

Actualizar imágenes con pintura integrada (cuaderno _05)

En _05_inpainting.ipynb, utiliza Amazon Bedrock (para acceder a Amazon Nova Reel) y SageMaker AI (para alojamiento de portátiles) para realizar las siguientes acciones:

Leer imagen base 64 Generar imágenes con pintura integrada

Este cuaderno ilustra las siguientes capacidades:

Reemplazar y seleccionar regiones de una imagen según el contexto circundante y las indicaciones. Eliminar objetos no deseados y arreglar partes de imágenes o modificar creativamente áreas específicas de una imagen.

Genera videos con imágenes mejoradas (notebook _06)

En _06_video_gen_inpainting.ipynb, utiliza Amazon Bedrock (para acceder a Amazon Nova Reel) y SageMaker AI (para alojamiento de portátiles) para realizar las siguientes acciones:

Busque imágenes relevantes en OpenSearch Service usando consultas en lenguaje natural. Use máscaras de imágenes explícitas para definir áreas para pintar. Genere videos usando imágenes mejoradas.

Este cuaderno ilustra las siguientes capacidades:

Utilice la pintura para generar una imagen. Genere un vídeo utilizando la imagen mejorada.

La siguiente captura de pantalla muestra la imagen y la máscara que usamos para pintar.

La siguiente captura de pantalla muestra las imágenes generadas (pocas tomas) que recibimos como salida.

De la imagen generada, recibimos el siguiente vídeo como salida.

Mejores prácticas

Un proceso eficiente de generación de videos con IA requiere una integración perfecta de la gestión de datos, la optimización de la búsqueda y las medidas de cumplimiento. El proceso debe manejar datos de entrada de alta calidad y al mismo tiempo mantener consultas OpenSearch optimizadas y la integración de Amazon Bedrock para un procesamiento confiable. La gestión adecuada de Amazon S3 y las funciones mejoradas de experiencia del usuario facilitan un funcionamiento fluido, y el estricto cumplimiento de las directrices de la Ley de IA de la UE mantiene el cumplimiento normativo.

Para una implementación óptima en entornos de producción, considere estos factores clave:

Calidad de los datos: la calidad del vídeo generado depende en gran medida de la calidad y relevancia de la base de datos de imágenes utilizada en RAG. Subtítulos de imágenes: para obtener resultados óptimos, considere incorporar títulos de imágenes o metadatos para proporcionar contexto adicional para la solución RAG. Edición de vídeo: aunque RAG puede proporcionar los elementos visuales principales, es posible que se requieran técnicas de edición de vídeo adicionales para crear un producto final pulido.

Limpiar

Para evitar incurrir en cargos futuros, limpie los recursos creados en esta publicación.

Vacíe el depósito de S3 creado por la pila de CloudFormation. En la consola de Amazon S3, seleccione el depósito, elija Vacío y confirme la eliminación. En la consola de AWS CloudFormation, seleccione la pila vrag-blogpost, elija Eliminar y confirme. Esto elimina todos los recursos aprovisionados, incluida la instancia del cuaderno de SageMaker, la colección OpenSearch Serverless y las funciones de IAM.

Conclusión

VRAG representa un avance significativo en la creación de videos con tecnología de inteligencia artificial, integrando perfectamente bases de datos de imágenes existentes con indicaciones del usuario para producir contenido de video contextualmente relevante. Esta solución demuestra potentes aplicaciones en educación, marketing, entretenimiento y más. A medida que la tecnología de generación de video continúa evolucionando, VRAG proporciona una base sólida para crear contenido de video atractivo y contextual a escala. Siguiendo estas mejores prácticas y manteniendo el enfoque en la calidad de los datos, las organizaciones pueden utilizar esta tecnología para transformar sus procesos de creación de contenido de video mientras producen resultados consistentes y de alta calidad. Pruebe VRAG usted mismo con los cuadernos proporcionados en esta publicación y comparta sus comentarios en la sección de comentarios.

Acerca de los autores

Nick Biso es ingeniero de aprendizaje automático en AWS Professional Services. Resuelve complejos desafíos organizativos y técnicos utilizando la ciencia y la ingeniería de datos. Además, crea e implementa modelos de IA/ML en la nube de AWS. Su pasión se extiende a su propensión a viajar y diversas experiencias culturales.

Madhunika Mikkili es ingeniera de datos y aprendizaje automático en AWS. Le apasiona ayudar a los clientes a alcanzar sus objetivos mediante el análisis de datos y el aprendizaje automático.

Shuai Cao es gerente sénior de ciencias aplicadas centrado en la IA generativa en Amazon Web Services. Dirige equipos de científicos de datos, ingenieros de aprendizaje automático y arquitectos de aplicaciones para ofrecer soluciones de IA/ML a los clientes. Fuera del trabajo, le gusta componer y arreglar música.

Seif Elharaki es un arquitecto sénior de aplicaciones en la nube que se centra en la creación de aplicaciones de IA/ML para el sector de fabricación. Combina su experiencia en tecnologías de la nube con un profundo conocimiento de los procesos industriales para crear soluciones innovadoras. Fuera del trabajo, Seif es un entusiasta desarrollador de juegos aficionado y disfruta codificando juegos divertidos utilizando herramientas como Unreal Engine y Unity.

Vishwa Gupta es consultor principal de AWS Professional Services. Ayuda a los clientes a implementar soluciones de análisis, aprendizaje automático y inteligencia artificial generativa. Fuera del trabajo, le gusta pasar tiempo con la familia, viajar y probar comida nueva.

Raechel Frick es directora sénior de marketing de productos de Amazon Nova. Con más de 20 años de experiencia en la industria tecnológica, aporta un enfoque centrado en el cliente y una mentalidad de crecimiento para crear programas de marketing integrados. Raechel, que reside en el área metropolitana de Seattle, equilibra su vida profesional con la de madre de fútbol y entrenadora de porristas.

Maria Masood se especializa en IA agente, ajuste de refuerzos y entrenamiento de agentes de múltiples turnos. Tiene experiencia en aprendizaje automático, que abarca la personalización de grandes modelos de lenguaje, el modelado de recompensas y la creación de canales de capacitación de un extremo a otro para agentes de IA. María, una entusiasta de la sostenibilidad de corazón, disfruta de la jardinería y de preparar café con leche.