Yolo Vision Shenzhen
Shenzhen
Junte-se agora

Florence-2: o mais recente modelo de linguagem de visão da Microsoft

Abirami Vina

Leitura de 6 min

26 de julho de 2024

Conheça o Florence-2, o modelo de linguagem visual da Microsoft que oferece uma melhor deteção de objectos, segmentação e desempenho de zero-shot com grande eficiência.

Em junho de 2024, Microsoft apresentou o Florence-2, um modelo de linguagem visual multimodal (VLM) concebido para lidar com uma vasta gama de tarefas, incluindo deteção de objectos, segmentação, legendagem de imagens e aterramento. O Florence-2 estabelece uma nova referência para o desempenho zero-shot, o que significa que pode executar tarefas sem formação específica prévia, e aumenta o tamanho do modelo para um tamanho mais pequeno do que outros modelos de linguagem visual de última geração.

É mais do que apenas outro modelo, a versatilidade e o desempenho aprimorado do Florence-2 têm o potencial de impactar significativamente vários setores, melhorando a precisão e reduzindo a necessidade de treinamento extensivo. Neste artigo, exploraremos os recursos inovadores do Florence-2, compararemos seu desempenho com outros VLMs e discutiremos suas aplicações potenciais.

O que é Florence-2?

O Florence-2 pode lidar com uma variedade de tarefas dentro de uma única estrutura unificada. As impressionantes capacidades do modelo são em parte graças ao seu enorme conjunto de dados de treinamento chamado FLD-5B. O FLD-5B inclui 5,4 bilhões de anotações em 126 milhões de imagens. Este conjunto de dados abrangente foi criado especificamente para habilitar o Florence-2 com os recursos necessários para lidar com uma ampla gama de tarefas de visão com alta precisão e eficiência. 

Aqui está uma visão mais detalhada das tarefas que o Florence-2 suporta:

  • Detecção de Objetos: Ele pode identificar e localizar objetos dentro de imagens com alta precisão.
  • Segmentação: Esta tarefa envolve dividir uma imagem em segmentos significativos para facilitar a análise e interpretação.
  • Legenda de Imagem: O Florence-2 é capaz de gerar legendas descritivas para imagens que fornecem contexto e detalhes.
  • Grounding Visual: O modelo pode associar frases ou palavras específicas em uma legenda com as regiões correspondentes na imagem.
  • Desempenho Zero-shot: Ele pode executar tarefas sem treinamento específico.
__wf_reserved_inherit
Fig 1. Entendendo como o Florence-2 foi treinado.

O modelo suporta tarefas baseadas em texto e em regiões. Tokens de localização especiais são adicionados ao vocabulário do modelo para tarefas que envolvem regiões específicas de uma imagem. Esses tokens ajudam o modelo a entender diferentes formas, como retângulos ao redor de objetos (representação de caixa), formas de quatro lados (representação de caixa quádrupla) e formas de muitos lados (representação de polígono). O modelo é treinado usando um método chamado cross-entropy loss, que o ajuda a aprender comparando suas previsões com as respostas corretas e ajustando seus parâmetros internos de acordo.

Criação do conjunto de dados FLD-5B

O conjunto de dados FLD-5B inclui diferentes tipos de anotações: descrições de texto, pares de regiões e texto, e combinações de texto, frases e regiões. Foi criado através de um processo em duas fases que envolveu a recolha de dados e a anotação. As imagens foram obtidas a partir de conjuntos de dados populares como o ImageNet, Object 365, Open Images, Conceptual Captions e LAION. As anotações no conjunto de dados FLD-5B são maioritariamente sintéticas, o que significa que foram geradas automaticamente e não etiquetadas manualmente. 

__wf_reserved_inherit
Fig 2. Criando o Conjunto de Dados FLD-5B.

Inicialmente, modelos especializados e habilidosos em tarefas específicas, como detecção ou segmentação de objetos, criaram essas anotações. Em seguida, um processo de filtragem e aprimoramento foi usado para garantir que as anotações fossem detalhadas e precisas. Após a remoção de qualquer ruído, o conjunto de dados passou por um refinamento iterativo, onde as saídas do Florence-2 foram usadas para atualizar e melhorar continuamente as anotações. 

Entendendo a arquitetura do modelo Florence-2

A arquitetura do modelo Florence-2 segue uma abordagem de aprendizado de sequência para sequência. Isso significa que o modelo processa uma sequência de entrada (como uma imagem com um prompt de texto) e gera uma sequência de saída (como uma descrição ou um rótulo) passo a passo. Na estrutura de sequência para sequência, cada tarefa é tratada como um problema de tradução: o modelo recebe uma imagem de entrada e um prompt específico da tarefa e gera a saída correspondente.

__wf_reserved_inherit
Fig 3. Arquitetura do Modelo de Visão-Linguagem do Florence-2.

No núcleo da arquitetura do modelo está um transformer codificador-decodificador de multi-modalidade, que combina um codificador de imagem e um codificador-decodificador de multi-modalidade. O codificador de imagem, chamado DaViT (Data-efficient Vision Transformer), processa imagens de entrada convertendo-as em embeddings de token visual - representações compactas da imagem que capturam informações tanto espaciais (onde as coisas estão) quanto semânticas (o que as coisas são). Esses tokens visuais são então combinados com embeddings de texto (representações do texto), permitindo que o modelo combine perfeitamente dados textuais e visuais.

Comparando Florence-2 com outros VLMs

O Florence-2 se destaca de outros modelos de linguagem visual devido às suas impressionantes capacidades de zero-shot. Ao contrário de modelos como o PaliGemma, que dependem de ajuste fino extensivo para se adaptar a várias tarefas, o Florence-2 funciona bem logo de cara. Além disso, o Florence-2 é capaz de competir com modelos maiores como o GPT-4V e o Flamingo, que geralmente têm muito mais parâmetros, mas nem sempre correspondem ao desempenho do Florence-2. Por exemplo, o Florence-2 alcança melhores resultados de zero-shot do que o Kosmos-2, apesar de o Kosmos-2 ter mais do que o dobro do número de parâmetros.

Em testes de referência, o Florence-2 demonstrou um desempenho notável em tarefas como a legendagem COCO e a compreensão de expressões de referência. Superou modelos como o PolyFormer e o UNINEXT em tarefas de deteção e segmentação de objectos no conjunto de dadosCOCO . É uma escolha altamente competitiva para aplicações do mundo real em que tanto o desempenho como a eficiência de recursos são cruciais.

Aplicações do Florence-2

O Florence-2 pode ser usado em muitos setores diferentes, como entretenimento, acessibilidade, educação, etc. Vamos percorrer alguns exemplos para obter uma melhor compreensão.

Aplicações de legendagem de imagens

Quando você está em uma plataforma de streaming tentando decidir o que assistir, você pode ler um resumo de um filme para ajudá-lo a escolher. E se a plataforma também pudesse fornecer uma descrição detalhada do pôster do filme? O Florence-2 pode tornar isso possível por meio da legendagem de imagens, que gera texto descritivo para imagens. O Florence-2 pode gerar descrições detalhadas de pôsteres de filmes, tornando as plataformas de streaming mais inclusivas para usuários com deficiência visual. Ao analisar os elementos visuais de um pôster, como personagens, cenários e texto, o Florence-2 pode criar descrições detalhadas que transmitem o conteúdo e o clima do pôster. A imagem abaixo mostra o nível de detalhe que o Florence-2 pode fornecer em sua descrição.

__wf_reserved_inherit
Fig 4. Um exemplo de legenda de imagem gerada por Florence-2. 

Aqui estão alguns outros exemplos de onde a legenda de imagens pode ser útil:

  • E-commerce: A legenda de imagens pode fornecer descrições detalhadas de imagens de produtos, ajudando os clientes a entender os recursos e detalhes do produto de forma mais clara.
  • Viagens e Turismo: Pode fornecer descrições detalhadas de pontos turísticos e atrações em guias de viagem e aplicativos.
  • Educação: A legenda de imagens pode rotular e descrever imagens e diagramas educacionais, auxiliando no ensino e na aprendizagem.
  • Imobiliário: Pode fornecer descrições detalhadas de imagens de propriedades que destacam recursos e comodidades para potenciais compradores.

Usando o visual grounding enquanto cozinha

O Florence-2 também pode ser usado para enriquecer experiências culinárias. Por exemplo, um livro de receitas online pode usar o Florence-2 para fazer o visual grounding e rotular partes de uma imagem de receita complexa. O visual grounding ajuda aqui, vinculando partes específicas da imagem ao texto descritivo correspondente. Cada ingrediente e etapa pode ser rotulado e explicado com precisão, facilitando para os cozinheiros domésticos seguir a receita e entender o papel de cada componente no prato.

__wf_reserved_inherit
Fig 5. Um exemplo de visual grounding usando Florence-2. 

OCR baseado em região para documentos financeiros

O OCR com processamento baseado em região, que se concentra na extração de texto de áreas específicas dentro de um documento, pode ser útil quando se trata de áreas como contabilidade. Áreas designadas de documentos financeiros podem ser analisadas para extrair automaticamente informações importantes, como detalhes de transações, números de contas e datas de vencimento. Ao reduzir a necessidade de entrada manual de dados, minimiza erros e acelera os tempos de processamento. As instituições financeiras podem usá-lo para agilizar tarefas como processamento de faturas, reconciliação de recibos e compensação de cheques, levando a transações mais rápidas e melhor atendimento ao cliente. 

__wf_reserved_inherit
Fig 6. Um exemplo de extração de OCR com região usando Florence-2. 

Segmentação baseada em regiões em aplicações industriais

A segmentação baseada em regiões, que envolve dividir uma imagem em partes significativas para análise focada e inspeção detalhada, pode impulsionar aplicações industriais que melhoram a precisão e a eficiência em vários processos. Ao focar em áreas específicas dentro de uma imagem, essa tecnologia permite a inspeção e análise detalhada de componentes e produtos. No que diz respeito ao controle de qualidade, ela pode identificar defeitos ou inconsistências em materiais, como rachaduras ou desalinhamentos, garantindo que apenas produtos de alta qualidade cheguem ao mercado.

__wf_reserved_inherit
Fig 7. Um exemplo de segmentação baseada em regiões usando Florence-2.

Também melhora as linhas de montagem automatizadas, orientando os braços robóticos para peças específicas e optimizando a colocação e montagem de componentes. Do mesmo modo, na gestão de inventários, ajuda a track e a monitorizar o estado e a localização dos bens, conduzindo a uma logística mais eficiente e à redução do tempo de inatividade. Em geral, a segmentação baseada na região aumenta a precisão e a produtividade, conduzindo a poupanças de custos e a uma maior qualidade dos produtos em ambientes industriais.

Principais conclusões

Estamos começando a ver uma tendência em que os modelos de IA estão se tornando mais leves, mantendo um alto desempenho. O Florence-2 marca um grande passo em frente em termos de modelos de linguagem visual. Ele pode lidar com várias tarefas, como detecção de objetos, segmentação, legendagem de imagens e grounding com um desempenho zero-shot impressionante. Apesar de seu tamanho menor, o Florence-2 é eficiente e multifuncional, o que o torna extremamente útil em termos de aplicações em diferentes setores. Modelos como o Florence-2 estão trazendo mais possibilidades para a mesa, expandindo o potencial para inovações em IA.

Explore mais sobre IA visitando nosso repositório GitHub e juntando-se à nossa comunidade. Confira nossas páginas de soluções para ler sobre aplicações de IA em manufatura e agricultura. 🚀

Vamos construir o futuro
da IA juntos!

Comece sua jornada com o futuro do aprendizado de máquina

Comece gratuitamente