Florence-2: O mais recente modelo de linguagem visual da Microsoft
Conhece o Florence-2, o modelo de linguagem visual da Microsoft que oferece melhor deteção de objetos, segmentação e desempenho zero-shot com grande eficiência.

Em junho de 2024, a Microsoft apresentou o Florence-2, um modelo de linguagem visual (VLM) multimodal projetado para lidar com uma ampla gama de tarefas, incluindo detecção de objetos, segmentação, legendagem de imagens e grounding. O Florence-2 define um novo benchmark para desempenho zero-shot, o que significa que ele pode realizar tarefas sem treinamento específico prévio, e possui um tamanho de modelo menor do que outros modelos de visão e linguagem 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.
Link to this sectionO que é o Florence-2?#
O Florence-2 pode lidar com uma variedade de tarefas dentro de uma estrutura unificada. As capacidades impressionantes do modelo devem-se, em parte, 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 permitir que o Florence-2 tenha as capacidades necessárias 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:
- Object Detection: Ele pode identificar e localizar objetos dentro de imagens com alta precisão.
- Segmentation: Esta tarefa envolve a divisão de uma imagem em segmentos significativos para facilitar a análise e interpretação.
- Image Captioning: O Florence-2 é capaz de gerar legendas descritivas para imagens que fornecem contexto e detalhes.
- Visual Grounding: O modelo pode associar frases ou palavras específicas em uma legenda às regiões correspondentes na imagem.
- Zero-shot Performance: Ele pode realizar tarefas sem treinamento específico.

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 quad box) e formas com 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.
Link to this sectionCriando o 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. Ele foi criado por meio de um processo de duas etapas envolvendo coleta e anotação de dados. As imagens foram obtidas de conjuntos de dados populares como ImageNet-22k, Object 365, Open Images, Conceptual Captions e LAION. As anotações no conjunto de dados FLD-5B são majoritariamente sintéticas, o que significa que foram geradas automaticamente em vez de rotuladas manualmente.

Fig 2. Criando o conjunto de dados FLD-5B.
Inicialmente, modelos especialistas qualificados em tarefas específicas, como detecção de objetos ou segmentação, 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 remover qualquer ruído, o conjunto de dados passou por um refinamento iterativo, onde os resultados do Florence-2 foram usados para atualizar e melhorar continuamente as anotações.
Link to this sectionEntendendo 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.

Fig 3. Arquitetura do modelo de visão e linguagem Florence-2.
No centro da arquitetura do modelo está um Transformer codificador-decodificador multimodal, que combina um codificador de imagem e um codificador-decodificador multimodal. O codificador de imagem, chamado DaViT (Data-efficient Vision Transformer), processa as imagens de entrada convertendo-as em embeddings de tokens visuais - representações compactas da imagem que capturam informações espaciais (onde as coisas estão) e 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 mescle dados textuais e visuais perfeitamente.
Link to this sectionComparando o Florence-2 com outros VLMs#
O Florence-2 se destaca de outros modelos de linguagem visual devido às suas impressionantes capacidades zero-shot. Ao contrário de modelos como o PaliGemma, que dependem de um ajuste fino extensivo para se adaptar a várias tarefas, o Florence-2 funciona bem logo de imediato. Além disso, o Florence-2 é capaz de competir com modelos maiores como o GPT-4V e o Flamingo, que muitas vezes têm muito mais parâmetros, mas nem sempre correspondem ao desempenho do Florence-2. Por exemplo, o Florence-2 alcança resultados zero-shot melhores do que o Kosmos-2, apesar de o Kosmos-2 ter mais que o dobro de parâmetros.
Em testes de benchmark, o Florence-2 mostrou um desempenho notável em tarefas como legendagem COCO e compreensão de expressões de referência. Ele superou modelos como PolyFormer e UNINEXT em tarefas de detecção de objetos e segmentação no conjunto de dados COCO. É uma escolha altamente competitiva para aplicações do mundo real onde tanto o desempenho quanto a eficiência de recursos são cruciais.
Link to this sectionAplicações do Florence-2#
O Florence-2 pode ser usado em muitos setores diferentes, como entretenimento, acessibilidade, educação, etc. Vamos ver alguns exemplos para entender melhor.
Link to this sectionAplicaçõ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 ajudar na escolha. E se a plataforma também pudesse fornecer uma descrição detalhada do cartaz do filme? O Florence-2 pode tornar isso possível através da legendagem de imagens, que gera texto descritivo para imagens. O Florence-2 pode gerar descrições detalhadas de cartazes de filmes, tornando as plataformas de streaming mais inclusivas para usuários com deficiência visual. Ao analisar os elementos visuais de um cartaz, como personagens, cenário e texto, o Florence-2 pode criar descrições detalhadas que transmitem o conteúdo e o clima do cartaz. A imagem abaixo mostra o nível de detalhe que o Florence-2 pode fornecer em sua descrição.

Fig 4. Um exemplo de legenda de imagem gerada pelo Florence-2.
Aqui estão outros exemplos de onde a legendagem de imagens pode ser útil:
- E-commerce: A legendagem de imagens pode fornecer descrições detalhadas de imagens de produtos, ajudando os clientes a entender os recursos e detalhes dos produtos com mais clareza.
- Viagens e Turismo: Pode fornecer descrições detalhadas de pontos turísticos e atrações em guias de viagem e aplicativos.
- Educação: A legendagem 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.
Link to this sectionUsando visual grounding ao cozinhar#
O Florence-2 também pode ser usado para enriquecer experiências culinárias. Por exemplo, um livro de receitas online poderia usar o Florence-2 para fazer visual grounding e rotular partes de uma imagem complexa de receita. O visual grounding ajuda aqui ao vincular partes específicas da imagem ao texto descritivo correspondente. Cada ingrediente e etapa pode ser rotulado e explicado com precisão, tornando mais fácil para os cozinheiros domésticos seguirem a receita e entenderem o papel de cada componente no prato.

Fig 5. Um exemplo de visual grounding usando o Florence-2.
Link to this sectionOCR 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 conta e datas de vencimento. Ao reduzir a necessidade de entrada manual de dados, ele minimiza erros e acelera os tempos de processamento. 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.

Fig 6. Um exemplo de extração de OCR com região usando o Florence-2.
Link to this sectionSegmentação baseada em região em aplicações industriais#
A segmentação baseada em região, que envolve a divisão de 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 detalhadas de componentes e produtos. Com relação 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.

Fig 7. Um exemplo de segmentação baseada em regiões usando o Florence-2.
Também melhora as linhas de montagem automatizadas ao guiar braços robóticos para peças específicas e otimizar a colocação e montagem de componentes. Da mesma forma, na gestão de estoque, ajuda a rastrear e monitorar a condição e a localização de mercadorias, levando a uma logística mais eficiente e à redução do tempo de inatividade. No geral, a segmentação baseada em região aumenta a precisão e a produtividade, levando a economias de custo e maior qualidade do produto em ambientes industriais.
Link to this sectionPrincipais pontos#
Estamos começando a ver uma tendência onde modelos de IA estão se tornando mais leves enquanto mantêm um alto desempenho. O Florence-2 marca um grande passo à 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 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, expandindo o potencial para inovações em IA.
Explore mais sobre IA visitando nosso repositório no GitHub e participando da nossa comunidade. Confira nossas páginas de soluções para ler sobre aplicações de IA em manufatura e agricultura. 🚀






