jframed281's picture
fix first title in readme
d937134
metadata
title: ImageToTextGenerator
emoji: 🐨
colorFrom: pink
colorTo: gray
sdk: gradio
sdk_version: 3.17.0
app_file: app.py
pinned: false
license: other

Proyecto 3

Uno de los usos de esta aplicación es el uso en accesibilidad y la facilitación a personas con dificultad visual. Al estableccer un modelo donde extrae conceptos (en este ejemplo, el concepto más fundamental o visible) principales de una imagen. Estos pueden ser definidos y luego descritos gracias al modelo concatenado. Otras de las aplicaciones es en la ayuda a los mecanimos de detección de imágenes en la inteligencia artifical. Dotanto de más contenido - así como descripciones y conceptos más afines al lenguaje natural- estas definiciones producidas pueden eriquecer los formatos y conjuntos de datos necesarios para categorizar y clasificar una imagen o el contexto de la misma. Por ejemplo: Una imagen de amigos con una playa. Los conceptos descriptores en este ejemplo es solo uno (el concepto fundamental, descrito anteriormente) es decir el grupo de amigos ya que quizá éstos compondrían el plano principal en la imagen. Pero si el modelo se mejorara, se podría introducir otros conceptos secundarios, como la playa (y su contexto, quizá su condición climatológica, su condición topográfica; pudiéndo ser tipo de arena, tipos o de palmeras...)

El texto en sí está preparado para generar historias. Pero esto no quita lo anteriormente nombrado, ya que podemos comprobar la precisión del modelo productor de texto que para una imagen dada, la historia que produzca estará ligada al concepto de imagen o elemento de imagen. Por lo tanto su descripción estará implicita en esta tarea. Esto nos abre, aparte de otros objetivos como he nombrado,s otros campos al mundo didactivo y del entretenimiento.

Input

En la parte principal del programa observamos don bloques, el principal una imagen y abajo, haciendo de elemento secundario un texto éstos equivalen al [image, arguments] de la función y actúan como input. La imagen es el concepto fundamental del programa, ya que ésta será el target principal de dónde se extraerá información. Con respecto a los argumentos, estos apoyan o ayudan la definición y el resultado del texto, otorgandole conexión con la imagen y favorecindo un contexto.

Output

El output es un cuadro de texto donde se produce el resultado de la síntesis escogida descrita en los títulos anteriores.

Modelos utilizados

Los modelos utilizados para esta practica son:

  1. nvidia/mit-b2
  2. gpt2-genre-story-generator

El modelo nvidia/mit-b2, El SegFormer es un modelo de segmentación semántica que consiste en un codificador Transformer jerárquico y una cabeza de decodificación ligera de todo-MLP. Fue entrenado en ImageNet-1k y puede ser utilizado para el ajuste fino en tareas de segmentación semántica. Este repositorio solo contiene el codificador Transformer pre-entrenado, por lo que solo puede ser utilizado para fines de ajuste fino.

El segundo modelo gpt2-genre-story-generator, se trata de una aplicación particular del propio chatGPT para generar historias, el modelo intermanente concreta parámetros para esta utilidad en específico, pero como hemos comentado anteriormente podemos extraer más funcionalidad de este chatGPT para usarlo en diferentes puestas en producción para definir otros textos en base a una imagen dada.

Por otra parte se ha escogido la librería de google.translate para favorecer traducciones. Aunque por el momento solo traduce al castellano del inglés, el programa puede mejorarse implementando un checklist selector para decidir qué idioma traducir especificamente. Ya que el resultado obtenido del primer modelo está por defecto en inglés y no provee opción de traducción.

Conclusiones

Este modelo puede ser tan solo un acercamiento o incluso "hipótesis práctica" a la hora de definir modelos que produzcan variables y contextos de imágenes. Si continuamos definiendo este tipo de trabajos (formatos visuales), podemos definir tareas más concretas que satisfagan las necesidades a la hora de estudiar y producir datos en base a imágenes.