Ao clicar em “Aceitar todos os cookies”, concorda com o armazenamento de cookies no seu dispositivo para melhorar a navegação no site, analisar a utilização do site e ajudar nos nossos esforços de marketing. Mais informações
Definições de cookies
Ao clicar em “Aceitar todos os cookies”, concorda com o armazenamento de cookies no seu dispositivo para melhorar a navegação no site, analisar a utilização do site e ajudar nos nossos esforços de marketing. Mais informações
Conheça o Florence-2, o modelo de linguagem visual da Microsoft que oferece detecção de objetos, segmentação e desempenho zero-shot aprimorados 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 estabelece um novo padrão para o desempenho zero-shot, o que significa que ele pode executar tarefas sem treinamento específico prévio, e possui um tamanho de modelo menor 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.
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. 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 principalmente sintéticas, o que significa que foram geradas automaticamente em vez de rotuladas manualmente.
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.
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 benchmark, o Florence-2 demonstrou um desempenho notável em tarefas como legendagem COCO e compreensão de expressões referenciais. 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.
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.
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.
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.
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.
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.
Fig 7. Um exemplo de segmentação baseada em regiões usando Florence-2.
Ele também melhora as linhas de montagem automatizadas, guiando braços robóticos para partes específicas e otimizando a colocação e montagem de componentes. Da mesma forma, no gerenciamento de estoque, ele ajuda a rastrear e monitorar a condição e a localização de mercadorias, levando a uma logística mais eficiente e tempo de inatividade reduzido. No geral, a segmentação baseada em regiões aumenta a precisão e a produtividade, levando a economia de custos e maior qualidade do produto 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.