Florence-2: el último modelo de lenguaje de visión de Microsoft

Abirami Vina

6 min leer

26 de julio de 2024

Conozca Florence-2, el modelo de lenguaje visual de Microsoft que ofrece detección de objetos mejorada, segmentación y rendimiento de disparo cero con gran eficacia.

En junio de 2024, Microsoft presentó Florence-2, un modelo de lenguaje visual (VLM) multimodal diseñado para realizar una amplia gama de tareas, como detección de objetos, segmentación, subtitulado de imágenes y grounding. Florence-2 establece un nuevo hito en cuanto a rendimiento cero, lo que significa que puede realizar tareas sin formación específica previa, y potencia un tamaño de modelo menor que el de otros modelos de visión-lenguaje de última generación.

Es algo más que otro modelo: la versatilidad y el rendimiento mejorado de Florence-2 tienen el potencial de influir significativamente en diversas industrias al mejorar la precisión y reducir la necesidad de una formación exhaustiva. En este artículo, exploraremos las innovadoras características de Florence-2, compararemos su rendimiento con el de otros VLM y analizaremos sus posibles aplicaciones.

¿Qué es Florence-2?

Florence-2 puede gestionar diversas tareas dentro de un marco unificado. Las impresionantes capacidades del modelo se deben en parte a su enorme conjunto de datos de entrenamiento, denominado FLD-5B. FLD-5B incluye 5.400 millones de anotaciones en 126 millones de imágenes. Este completo conjunto de datos se creó específicamente para dotar a Florence-2 de las capacidades necesarias para gestionar una amplia gama de tareas de visión con gran precisión y eficacia. 

A continuación se detallan las tareas que admite Florence-2:

  • Detección de objetos: Puede identificar y localizar objetos dentro de las imágenes con gran precisión.
  • Segmentación: Esta tarea consiste en dividir una imagen en segmentos significativos para facilitar su análisis e interpretación.
  • Subtitulado de imágenes: Florence-2 es capaz de generar pies de foto descriptivos para las imágenes que proporcionan contexto y detalles.
  • Visual Grounding: El modelo puede asociar frases o palabras específicas de un pie de foto con las regiones correspondientes de la imagen.
  • Rendimiento cero: Puede realizar tareas sin formación específica.
__wf_reserved_inherit
Fig. 1. Comprender cómo se entrenó a Florence-2.

El modelo admite tanto tareas basadas en texto como en regiones. Se añaden al vocabulario del modelo tokens de localización especiales para tareas que implican regiones específicas de una imagen. Estos tokens ayudan al modelo a comprender diferentes formas, como rectángulos alrededor de objetos (representación en caja), formas de cuatro lados (representación en caja cuádruple) y formas de muchos lados (representación en polígono). El modelo se entrena mediante un método llamado pérdida de entropía cruzada, que le ayuda a aprender comparando sus predicciones con las respuestas correctas y ajustando sus parámetros internos en consecuencia.

Creación del conjunto de datos FLD-5B

El conjunto de datos FLD-5B incluye distintos tipos de anotaciones: descripciones de texto, pares de regiones y texto, y combinaciones de texto, frases y regiones. Se creó mediante un proceso en dos fases que incluía la recopilación de datos y la anotación. Las imágenes proceden de bases de datos populares como ImageNet-22k, Object 365, Open Images, Conceptual Captions y LAION. Las anotaciones del conjunto de datos FLD-5B son en su mayoría sintéticas, es decir, generadas automáticamente en lugar de etiquetadas manualmente. 

__wf_reserved_inherit
Fig. 2. Creación del conjunto de datos FLD-5B.

Inicialmente, modelos especializados en tareas específicas, como la detección o segmentación de objetos, crearon estas anotaciones. A continuación, se utilizó un proceso de filtrado y mejora para garantizar que las anotaciones fueran detalladas y precisas. Una vez eliminado el ruido, el conjunto de datos se sometió a un refinamiento iterativo, en el que se utilizaron los resultados de Florence-2 para actualizar y mejorar continuamente las anotaciones. 

Comprender la arquitectura del modelo Florence-2

La arquitectura del modelo Florence-2 sigue un enfoque de aprendizaje secuencia a secuencia. Esto significa que el modelo procesa una secuencia de entrada (como una imagen con un texto) y genera una secuencia de salida (como una descripción o una etiqueta) paso a paso. En el marco de la secuencia a secuencia, cada tarea se trata como un problema de traducción: el modelo toma una imagen de entrada y una indicación específica de la tarea y genera la salida correspondiente.

__wf_reserved_inherit
Fig. 3. Arquitectura del modelo visión-lenguaje de Florence-2.

El núcleo de la arquitectura del modelo es un transformador codificador-decodificador multimodal que combina un codificador de imágenes y un codificador-decodificador multimodal. El codificador de imágenes, denominado DaViT (Data-efficient Vision Transformer), procesa las imágenes de entrada convirtiéndolas en tokens visuales, representaciones compactas de la imagen que recogen información espacial (dónde están las cosas) y semántica (qué son las cosas). A continuación, estos tokens visuales se combinan con incrustaciones de texto (representaciones del texto), lo que permite al modelo fusionar a la perfección datos textuales y visuales.

Comparación de Florence-2 con otros VLM

Florence-2 se distingue de otros modelos de lenguaje visual por sus impresionantes capacidades de disparo cero. A diferencia de modelos como PaliGemma, que dependen de un amplio ajuste fino para adaptarse a diversas tareas, Florence-2 funciona bien nada más sacarlo de la caja. Además, Florence-2 es capaz de competir con modelos más grandes como GPT-4V y Flamingo, que suelen tener muchos más parámetros pero no siempre igualan el rendimiento de Florence-2. Por ejemplo, Florence-2 consigue mejores resultados de tiro cero que Kosmos-2, a pesar de que Kosmos-2 tiene más del doble de parámetros.

En pruebas comparativas, Florence-2 ha mostrado un rendimiento notable en tareas como el subtitulado COCO y la comprensión de expresiones de referencia. Superó a modelos como PolyFormer y UNINEXT en tareas de detección y segmentación de objetos en el conjunto de datos COCO. Es una opción muy competitiva para aplicaciones reales en las que tanto el rendimiento como la eficiencia de recursos son cruciales.

Aplicaciones de Florence-2

La Florencia-2 puede utilizarse en muchos sectores distintos, como el entretenimiento, la accesibilidad, la educación, etc. Veamos algunos ejemplos para entenderlo mejor.

Aplicaciones del subtitulado de imágenes

Cuando estás en una plataforma de streaming intentando decidir qué ver, es posible que leas un resumen de una película para ayudarte a elegir. ¿Y si la plataforma también pudiera ofrecer una descripción detallada del cartel de la película? Florence-2 puede hacerlo posible mediante el subtitulado de imágenes, que genera texto descriptivo para las imágenes. Florence-2 puede generar descripciones detalladas de los carteles de las películas, haciendo que las plataformas de streaming sean más inclusivas para los usuarios con discapacidad visual. Al analizar los elementos visuales de un cartel, como los personajes, el escenario y el texto, Florence-2 puede crear descripciones detalladas que transmiten el contenido y el ambiente del cartel. La imagen siguiente muestra el nivel de detalle que Florence-2 puede proporcionar en su descripción.

__wf_reserved_inherit
Fig. 4. Ejemplo de pie de foto generado por Florence-2. 

He aquí otros ejemplos en los que el subtitulado de imágenes puede ser útil:

  • Comercio electrónico: El subtitulado de imágenes puede proporcionar descripciones detalladas de las imágenes de los productos, lo que ayuda a los clientes a comprender mejor las características y los detalles de los productos.
  • Viajes y turismo: Puede proporcionar descripciones detalladas de lugares emblemáticos y atracciones en guías y apps de viajes.
  • Educación: El subtitulado de imágenes puede etiquetar y describir imágenes y diagramas educativos, ayudando a la enseñanza y el aprendizaje.
  • Inmobiliaria: Puede proporcionar descripciones detalladas de imágenes de propiedades que destaquen las características y comodidades para los compradores potenciales.

Utilizar la conexión visual a tierra mientras se cocina

Florence-2 también puede utilizarse para enriquecer experiencias culinarias. Por ejemplo, un libro de cocina en línea podría utilizar Florence-2 para etiquetar visualmente partes de la imagen de una receta compleja. La base visual ayuda a vincular partes específicas de la imagen con el texto descriptivo correspondiente. Cada ingrediente y cada paso pueden etiquetarse y explicarse con precisión, lo que facilita a los cocineros caseros el seguimiento de la receta y la comprensión del papel de cada componente en el plato.

__wf_reserved_inherit
Fig. 5. Ejemplo de conexión visual a tierra con Florence-2. 

OCR regional para documentos financieros

El OCR con procesamiento basado en regiones, que se centra en la extracción de texto de áreas específicas dentro de un documento, puede resultar útil cuando se trata de campos como la contabilidad. Las áreas designadas de los documentos financieros pueden analizarse para extraer automáticamente información importante como detalles de transacciones, números de cuenta y fechas de vencimiento. Al reducir la necesidad de introducir datos manualmente, minimiza los errores y acelera los tiempos de procesamiento. Las instituciones financieras pueden utilizarlo para agilizar tareas como el procesamiento de facturas, la conciliación de recibos y la compensación de cheques, lo que agiliza las transacciones y mejora el servicio al cliente. 

__wf_reserved_inherit
Fig. 6. Ejemplo de extracción de OCR con región mediante Florence-2. 

Segmentación por regiones en aplicaciones industriales

La segmentación por regiones, que consiste en dividir una imagen en partes significativas para un análisis centrado y una inspección detallada, puede impulsar aplicaciones industriales que mejoren la precisión y la eficacia en diversos procesos. Al centrarse en áreas específicas dentro de una imagen, esta tecnología permite la inspección y el análisis detallados de componentes y productos. Con respecto al control de calidad, puede identificar defectos o incoherencias en los materiales, como grietas o desalineaciones, garantizando que sólo lleguen al mercado productos de la máxima calidad.

__wf_reserved_inherit
Fig. 7. Ejemplo de segmentación por regiones con Florence-2.

También mejora las líneas de montaje automatizadas guiando los brazos robóticos hacia piezas específicas y optimizando la colocación y el montaje de los componentes. Del mismo modo, en la gestión de inventarios, ayuda a rastrear y supervisar el estado y la ubicación de las mercancías, lo que conduce a una logística más eficiente y a la reducción del tiempo de inactividad. En general, la segmentación por regiones aumenta la precisión y la productividad, lo que se traduce en un ahorro de costes y una mayor calidad de los productos en los entornos industriales.

Principales conclusiones

Estamos empezando a ver una tendencia en la que los modelos de IA son cada vez más ligeros, pero siguen manteniendo un alto rendimiento. Florence-2 supone un gran paso adelante en términos de modelos de lenguaje visual. Es capaz de realizar diversas tareas, como detección de objetos, segmentación, subtitulación de imágenes y toma de tierra, con un impresionante rendimiento de cero disparos. A pesar de su reducido tamaño, Florence-2 es eficiente y multifuncional, lo que lo hace extremadamente útil en aplicaciones de distintos sectores. Modelos como Florence-2 aportan más posibilidades, ampliando el potencial de las innovaciones en IA.

Para saber más sobre la IA, visite nuestro repositorio de GitHub y únase a nuestra comunidad. Consulta nuestras páginas de soluciones para leer sobre aplicaciones de IA en fabricación y agricultura. 🚀

¡Construyamos juntos el futuro
de la IA!

Comience su viaje con el futuro del aprendizaje automático

Empezar gratis
Enlace copiado en el portapapeles