Automatiza la creación de subtítulos y la búsqueda de imágenes a escala empresarial utilizando la inteligencia artificial generativa y Amazon Kendra

Automatiza la creación de subtítulos y búsqueda de imágenes a gran escala con IA generativa y Amazon Kendra.

Amazon Kendra es un servicio de búsqueda inteligente impulsado por aprendizaje automático (ML). Amazon Kendra reinventa la búsqueda en sus sitios web y aplicaciones para que sus empleados y clientes puedan encontrar fácilmente el contenido que están buscando, incluso cuando está disperso en múltiples ubicaciones y repositorios de contenido dentro de su organización.

Amazon Kendra admite una variedad de formatos de documentos, como Microsoft Word, PDF y texto de diversas fuentes de datos. En esta publicación, nos enfocamos en extender el soporte de documentos en Amazon Kendra para hacer que las imágenes sean buscables por su contenido mostrado. A menudo se pueden buscar imágenes utilizando metadatos complementarios como palabras clave. Sin embargo, requiere mucho esfuerzo manual agregar metadatos detallados a miles de imágenes. La IA generativa (GenAI) puede ser útil para generar automáticamente los metadatos. Al generar subtítulos de texto, las predicciones de subtítulos de GenAI ofrecen metadatos descriptivos para las imágenes. El índice de Amazon Kendra luego se puede enriquecer con los metadatos generados durante la ingestión del documento para permitir buscar las imágenes sin ningún esfuerzo manual.

Como ejemplo, un modelo de GenAI se puede utilizar para generar una descripción textual para la siguiente imagen como “un perro acostado en el suelo bajo un paraguas” durante la ingestión del documento de la imagen.

Un modelo de reconocimiento de objetos aún puede detectar palabras clave como “perro” y “paraguas”, pero un modelo de GenAI ofrece una comprensión más profunda de lo que se representa en la imagen al identificar que el perro se encuentra debajo del paraguas. Esto nos ayuda a construir búsquedas más refinadas en el proceso de búsqueda de imágenes. La descripción textual se agrega como metadatos a un índice de búsqueda de Amazon Kendra a través de un enriquecimiento de documentos personalizado automatizado (CDE). Los usuarios que busquen términos como “perro” o “paraguas” podrán encontrar la imagen, como se muestra en la siguiente captura de pantalla.

En esta publicación, mostramos cómo usar CDE en Amazon Kendra utilizando un modelo de GenAI implementado en Amazon SageMaker. Demostramos CDE utilizando ejemplos simples y proporcionamos una guía paso a paso para que experimente con CDE en un índice de Amazon Kendra en su propia cuenta de AWS. Permite a los usuarios encontrar rápidamente las imágenes que necesitan sin tener que etiquetarlas o categorizarlas manualmente. Esta solución también se puede personalizar y escalar para satisfacer las necesidades de diferentes aplicaciones e industrias.

Subtitulado de imágenes con GenAI

La descripción de imágenes con GenAI implica el uso de algoritmos de ML para generar descripciones textuales de imágenes. El proceso también se conoce como subtitulado de imágenes y opera en la intersección de la visión por computadora y el procesamiento del lenguaje natural (NLP). Tiene aplicaciones en áreas donde los datos son multimodales, como el comercio electrónico, donde los datos contienen texto en forma de metadatos además de imágenes, o en el campo de la salud, donde los datos podrían contener resonancias magnéticas o tomografías computarizadas junto con notas y diagnósticos de médicos, por nombrar algunos casos de uso.

Los modelos de GenAI aprenden a reconocer objetos y características dentro de las imágenes, y luego generan descripciones de esos objetos y características en lenguaje natural. Los modelos de última generación utilizan una arquitectura codificador-decodificador, donde la información de la imagen se codifica en las capas intermedias de la red neuronal y se decodifica en descripciones textuales. Estas etapas se pueden considerar como dos etapas distintas: extracción de características de las imágenes y generación de subtítulos textuales. En la etapa de extracción de características (codificador), el modelo de GenAI procesa la imagen para extraer características visuales relevantes, como formas de objetos, colores y texturas. En la etapa de generación de subtítulos (decodificador), el modelo genera una descripción en lenguaje natural de la imagen basada en las características visuales extraídas.

Los modelos de GenAI generalmente se entrenan con grandes cantidades de datos, lo que los hace adecuados para diversas tareas sin entrenamiento adicional. La adaptación a conjuntos de datos personalizados y nuevos dominios también es fácilmente alcanzable mediante el aprendizaje de pocas muestras. Los métodos de preentrenamiento permiten entrenar fácilmente aplicaciones multimodales utilizando modelos de lenguaje e imagen de última generación. Estos métodos de preentrenamiento también le permiten combinar el modelo de visión y el modelo de lenguaje que mejor se adapte a sus datos.

La calidad de las descripciones de imágenes generadas depende de la calidad y cantidad de los datos de entrenamiento, la arquitectura del modelo de GenAI y la calidad de los algoritmos de extracción de características y generación de subtítulos. Aunque la descripción de imágenes con GenAI es un área de investigación activa, muestra muy buenos resultados en una amplia gama de aplicaciones, como búsqueda de imágenes, narración visual y accesibilidad para personas con discapacidades visuales.

Casos de uso

La descripción de imágenes GenAI es útil en los siguientes casos de uso:

  • Ecommerce: Un caso de uso común en la industria donde las imágenes y el texto aparecen juntos es el comercio minorista. El comercio electrónico en particular almacena cantidades vastas de datos en forma de imágenes de productos junto con descripciones textuales. La descripción textual o los metadatos son importantes para garantizar que se muestren al usuario los mejores productos según las consultas de búsqueda. Además, con la tendencia de los sitios de comercio electrónico de obtener datos de proveedores externos, a menudo las descripciones de productos están incompletas, lo que conlleva numerosas horas de trabajo manual y una gran carga debido a la etiquetación de la información correcta en las columnas de metadatos. La descripción de imágenes basada en GenAI es particularmente útil para automatizar este proceso laborioso. Ajustar el modelo a medida utilizando datos de moda personalizados, como imágenes de moda junto con texto que describe los atributos de los productos de moda, puede generar metadatos que mejoren la experiencia de búsqueda del usuario.
  • Marketing: Otro caso de uso de búsqueda de imágenes es la gestión de activos digitales. Las empresas de marketing almacenan grandes cantidades de datos digitales que deben centralizarse, ser fácilmente buscables y escalables mediante catálogos de datos. Un depósito de datos centralizado con catálogos de datos informativos reduciría los esfuerzos de duplicación y permitiría un mayor intercambio de contenido creativo y consistencia entre los equipos. Para plataformas de diseño gráfico utilizadas popularmente para generar contenido de redes sociales o presentaciones en entornos corporativos, una búsqueda más rápida podría mejorar la experiencia del usuario al mostrar los resultados de búsqueda correctos para las imágenes que los usuarios desean buscar y permitirles realizar búsquedas utilizando consultas en lenguaje natural.
  • Manufactura: La industria manufacturera almacena una gran cantidad de datos de imágenes, como planos arquitectónicos de componentes, edificios, hardware y equipos. La capacidad de buscar a través de tales datos permite que los equipos de productos reproduzcan fácilmente diseños a partir de un punto de partida que ya existe y elimina una gran cantidad de sobrecarga de diseño, acelerando así el proceso de generación de diseños.
  • Atención médica: Los médicos e investigadores médicos pueden catalogar y buscar a través de imágenes de resonancias magnéticas (RM) y tomografías computarizadas (TC), muestras de especímenes, imágenes de enfermedades como erupciones y deformidades, junto con notas de los médicos, diagnósticos y detalles de ensayos clínicos.
  • Metaverso o realidad aumentada: Publicitar un producto implica crear una historia en la que los usuarios puedan imaginar y relacionarse. Con herramientas y análisis impulsados por IA, se ha vuelto más fácil que nunca construir no solo una historia, sino historias personalizadas que se adapten a los gustos y sensibilidades únicas de los usuarios finales. Aquí es donde los modelos de imagen a texto pueden marcar la diferencia. La narración visual puede ayudar a crear personajes, adaptarlos a diferentes estilos y agregarles subtítulos. También se puede utilizar para generar experiencias estimulantes en el metaverso o realidad aumentada y contenido inmersivo, incluidos videojuegos. La búsqueda de imágenes permite a los desarrolladores, diseñadores y equipos buscar su contenido utilizando consultas en lenguaje natural, lo que puede mantener la consistencia del contenido entre varios equipos.
  • Accesibilidad de contenido digital para personas ciegas y con visión reducida: Esto se logra principalmente mediante tecnologías de asistencia como lectores de pantalla, sistemas de Braille que permiten la lectura y escritura táctil y teclados especiales para navegar por sitios web y aplicaciones en Internet. Sin embargo, las imágenes deben entregarse como contenido textual que luego se puede comunicar como voz. La descripción de imágenes utilizando algoritmos GenAI es una pieza crucial para rediseñar Internet y hacerlo más inclusivo al brindar a todos la oportunidad de acceder, comprender e interactuar con el contenido en línea.

Detalles del modelo y ajuste fino del modelo para conjuntos de datos personalizados

En esta solución, aprovechamos el modelo de descripción de imágenes vit-gpt2-image-captioning disponible en Hugging Face, que está licenciado bajo Apache 2.0 sin realizar ningún ajuste fino adicional. Vit es un modelo fundamental para datos de imágenes y GPT-2 es un modelo fundamental para el lenguaje. La combinación multimodal de los dos ofrece la capacidad de describir imágenes. Hugging Face aloja modelos de descripción de imágenes de vanguardia, que se pueden implementar en AWS con solo unos pocos clics y ofrecen puntos finales de inferencia fáciles de implementar. Aunque podemos utilizar este modelo preentrenado directamente, también podemos personalizar el modelo para adaptarlo a conjuntos de datos específicos del dominio, a más tipos de datos como video o datos espaciales, y a casos de uso únicos. Existen varios modelos GenAI donde algunos modelos funcionan mejor con ciertos conjuntos de datos, o es posible que su equipo ya esté utilizando modelos de visión y lenguaje. Esta solución ofrece la flexibilidad de elegir el modelo de descripción de imágenes que mejor funcione mediante la sustitución directa del modelo que hemos utilizado.

Para la personalización de los modelos para aplicaciones exclusivas de la industria, los modelos de código abierto disponibles en AWS a través de Hugging Face ofrecen varias posibilidades. Se puede probar un modelo preentrenado con el conjunto de datos único o entrenarlo con muestras de los datos etiquetados para ajustarlo finamente. Los métodos de investigación novedosos también permiten combinar eficientemente cualquier combinación de modelos de visión y lenguaje y entrenarlos con su conjunto de datos. Este modelo recién entrenado se puede implementar en SageMaker para la descripción de imágenes descrita en esta solución.

Un ejemplo de búsqueda de imágenes personalizada es la Planificación de Recursos Empresariales (ERP, por sus siglas en inglés). En el ERP, los datos de imágenes recopilados de diferentes etapas de la logística o la gestión de la cadena de suministro podrían incluir recibos de impuestos, órdenes de proveedores, recibos de pago y más, que deben clasificarse automáticamente para la perspectiva de diferentes equipos dentro de la organización. Otro ejemplo es utilizar escaneos médicos y diagnósticos médicos para predecir nuevas imágenes médicas para su clasificación automática. El modelo visual extrae características de las imágenes de resonancia magnética (MRI), tomografía computarizada (CT) o radiografías y el modelo de texto lo describe con los diagnósticos médicos correspondientes.

Descripción general de la solución

El siguiente diagrama muestra la arquitectura para la búsqueda de imágenes con GenAI y Amazon Kendra.

Ingestamos imágenes desde Amazon Simple Storage Service (Amazon S3) en Amazon Kendra. Durante la ingestión en Amazon Kendra, se invoca el modelo GenAI alojado en SageMaker para generar una descripción de la imagen. Además, se extrae el texto visible en una imagen mediante Amazon Textract. La descripción de la imagen y el texto extraído se almacenan como metadatos y están disponibles para el índice de búsqueda de Amazon Kendra. Después de la ingestión, las imágenes se pueden buscar a través de la consola de búsqueda de Amazon Kendra, la API o el SDK.

Utilizamos las operaciones avanzadas de CDE en Amazon Kendra para llamar al modelo GenAI y a Amazon Textract durante el paso de ingestión de imágenes. Sin embargo, podemos utilizar CDE para una amplia gama de casos de uso. Con CDE, puedes crear, modificar o eliminar atributos y contenido de documentos al ingresar tus documentos en Amazon Kendra. Esto significa que puedes manipular e ingresar tus datos según sea necesario. Esto se puede lograr invocando funciones de AWS Lambda de pre y post extracción durante la ingestión, lo que permite el enriquecimiento o modificación de datos. Por ejemplo, podemos utilizar Amazon Medical Comprehend al ingresar datos textuales médicos para agregar información generada por ML a los metadatos de búsqueda.

Puedes utilizar nuestra solución para buscar imágenes a través de Amazon Kendra siguiendo estos pasos:

  1. Sube las imágenes a un repositorio de imágenes como un bucket de S3.
  2. El repositorio de imágenes se indexa en Amazon Kendra, que es un motor de búsqueda que se puede utilizar para buscar datos estructurados y no estructurados. Durante la indexación, se invoca el modelo GenAI, así como Amazon Textract, para generar los metadatos de la imagen. Puedes activar la indexación manualmente o según un horario predefinido.
  3. A continuación, puedes buscar imágenes utilizando consultas en lenguaje natural, como “Encuentra imágenes de rosas rojas” o “Muéstrame fotos de perros jugando en el parque”, a través de la consola de Amazon Kendra, el SDK o la API. Estas consultas son procesadas por Amazon Kendra, que utiliza algoritmos de ML para comprender el significado detrás de las consultas y recuperar imágenes relevantes del repositorio indexado.
  4. Los resultados de la búsqueda se te presentan, junto con sus descripciones textuales correspondientes, lo que te permite encontrar rápidamente las imágenes que estás buscando de manera fácil.

Requisitos previos

Debes cumplir con los siguientes requisitos previos:

  • Una cuenta de AWS
  • Permisos para aprovisionar e invocar los siguientes servicios a través de AWS CloudFormation: Amazon S3, Amazon Kendra, Lambda y Amazon Textract.

Estimación de costos

El costo de implementar esta solución como prueba de concepto se proyecta en la siguiente tabla. Esta es la razón por la que utilizamos Amazon Kendra con la Edición para Desarrolladores, que no se recomienda para cargas de trabajo de producción, pero proporciona una opción de bajo costo para los desarrolladores. Suponemos que la funcionalidad de búsqueda de Amazon Kendra se utiliza durante 20 días laborables durante 3 horas cada día, y por lo tanto calculamos los costos asociados para 60 horas activas mensuales.

Servicio Tiempo Consumido Estimación de Costo por Mes
Amazon S3 Almacenamiento de 10 GB con transferencia de datos 2.30 USD
Amazon Kendra Edición para Desarrolladores con 60 horas/mes 67.90 USD
Amazon Textract Detección del texto de documentos al 100% en 10,000 imágenes 15.00 USD
Amazon SageMaker Inferencia en tiempo real con ml.g4dn.xlarge para un modelo implementado en un punto de conexión durante 3 horas todos los días durante 20 días 44.00 USD
. . 129.2 USD

Implementar recursos con AWS CloudFormation

La pila de CloudFormation implementa los siguientes recursos:

  • Una función Lambda que descarga el modelo de subtítulos de imágenes desde Hugging Face hub y posteriormente construye los activos del modelo
  • Una función Lambda que popula el código de inferencia y los artefactos de modelo comprimidos en un bucket de S3 de destino
  • Un bucket de S3 para almacenar los artefactos de modelo comprimidos y el código de inferencia
  • Un bucket de S3 para almacenar las imágenes cargadas y los documentos de Amazon Kendra
  • Un índice de Amazon Kendra para buscar a través de los subtítulos de imágenes generados
  • Un punto de enlace de inferencia en tiempo real de SageMaker para implementar el modelo de subtítulos de imágenes de Hugging Face
  • Una función Lambda que se activa al enriquecer el índice de Amazon Kendra a demanda. Invoca a Amazon Textract y a un punto de enlace de inferencia en tiempo real de SageMaker.

Además, AWS CloudFormation implementa todos los roles y políticas necesarios de Gestión de Identidad y Acceso de AWS (IAM), una VPC junto con subredes, un grupo de seguridad y una puerta de enlace de Internet en la que se ejecuta la función Lambda de recurso personalizado.

Complete los siguientes pasos para aprovisionar sus recursos:

  1. Elija Lanzar pila para lanzar la plantilla de CloudFormation en la Región us-east-1:
  2. Elija Siguiente.
  3. En la página Especificar detalles de la pila, deje la URL de la plantilla y la URI de S3 del archivo de parámetros en sus valores predeterminados, luego elija Siguiente.
  4. Continúe eligiendo Siguiente en las páginas siguientes.
  5. Elija Crear pila para implementar la pila.

Monitoree el estado de la pila. Cuando el estado muestre CREATE_COMPLETE, la implementación estará completa.

Incorporar y buscar imágenes de ejemplo

Complete los siguientes pasos para incorporar y buscar sus imágenes:

  1. En la consola de Amazon S3, cree una carpeta llamada images en el bucket kendra-image-search-stack-imagecaptions en la Región us-east-1.
  2. Cargue las siguientes imágenes en la carpeta images.

  1. Vaya a la consola de Amazon Kendra en la Región us-east-1.
  2. En el panel de navegación, elija Índices, luego elija su índice (kendra-index).
  3. Elija Orígenes de datos, luego elija generated_image_captions.
  4. Elija Sincronizar ahora.

Espera a que se complete la sincronización antes de continuar con los siguientes pasos.

  1. En el panel de navegación, elija Índices, luego elija kendra-index.
  2. Vaya a la consola de búsqueda.
  3. Pruebe las siguientes consultas individualmente o combinadas: “perro”, “paraguas” y “boletín”, y descubra qué imágenes son clasificadas en los primeros lugares por Amazon Kendra.

Sientase libre de probar sus propias consultas que se ajusten a las imágenes cargadas.

Limpieza

Para desaprovisionar todos los recursos, complete los siguientes pasos:

  1. En la consola de AWS CloudFormation, elija Stacks en el panel de navegación.
  2. Seleccione la pila kendra-genai-image-search y elija Eliminar.

Espere hasta que el estado de la pila cambie a DELETE_COMPLETE.

Conclusión

En esta publicación, vimos cómo se pueden combinar Amazon Kendra y GenAI para automatizar la creación de metadatos significativos para imágenes. Los modelos GenAI de última generación son extremadamente útiles para generar subtítulos de texto que describen el contenido de una imagen. Esto tiene varios casos de uso en la industria, que van desde la atención médica y las ciencias de la vida, hasta el comercio minorista y el comercio electrónico, las plataformas de activos digitales y los medios de comunicación. La descripción de imágenes también es crucial para construir un mundo digital más inclusivo y rediseñar Internet, el metaverso y las tecnologías inmersivas para satisfacer las necesidades de las secciones de la sociedad con discapacidad visual.

La búsqueda de imágenes habilitada a través de subtítulos permite que el contenido digital sea fácilmente buscable sin esfuerzo manual para estas aplicaciones, y elimina los esfuerzos de duplicación. La plantilla de CloudFormation que proporcionamos facilita la implementación de esta solución para habilitar la búsqueda de imágenes mediante Amazon Kendra. Se puede utilizar una arquitectura simple de imágenes almacenadas en Amazon S3 y GenAI para crear descripciones textuales de las imágenes con CDE en Amazon Kendra para impulsar esta solución.

Esta es solo una aplicación de GenAI con Amazon Kendra. Para adentrarse más en cómo construir aplicaciones GenAI con Amazon Kendra, consulte cómo construir rápidamente aplicaciones de IA generativa de alta precisión en datos empresariales utilizando Amazon Kendra, LangChain y modelos de lenguaje grandes. Para construir y escalar aplicaciones GenAI, recomendamos consultar Amazon Bedrock.

We will continue to update Zepes; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

Inteligencia Artificial

La Declaración de Bletchley de los países que asistieron a la Cumbre de Seguridad de la IA

Damos la bienvenida a los esfuerzos internacionales pertinentes para examinar y abordar el posible impacto de los sis...

Inteligencia Artificial

Las métricas pueden engañar, pero los ojos no Este método de IA propone una métrica de calidad perceptual para la interpolación de cuadros de video

El avance en la tecnología de visualización ha hecho que nuestra experiencia de visualización sea más intensa y agrad...

Inteligencia Artificial

Crear resúmenes de grabaciones utilizando IA generativa con Amazon Bedrock y Amazon Transcribe

Las notas de reuniones son una parte crucial de la colaboración, pero a menudo se pierden entre las grietas. Entre li...

Inteligencia Artificial

Este documento de IA evalúa la capacidad de los LLM para adaptarse a nuevas variantes de tareas existentes

El rendimiento notable de los modelos de lenguaje (ML) sugiere que la predicción de la siguiente palabra a gran escal...

Inteligencia Artificial

¿Puede la IA realmente restaurar detalles faciales de imágenes de baja calidad? Conozca DAEFR un marco de doble rama para mejorar la calidad

En el campo del procesamiento de imágenes, recuperar información de alta definición de fotografías faciales de mala c...

Inteligencia Artificial

Una introducción práctica a los LLMs

Este es el primer artículo de una serie sobre el uso de Modelos de Lenguaje Grande (LLMs) en la práctica. Aquí daré u...