8 pontos por ninebow 2024-07-13 | Ainda não há comentários. | Compartilhar no WhatsApp

Apresentação do artigo VLMs (Vision-Language Models) are Blind

Nos últimos 8 meses, com o surgimento de modelos de visão-linguagem (VLMs) como o GPT-4V(ision), houve uma explosão de aplicações de processamento de imagem e texto. Um VLM (Vision-Language Model, modelo de visão-linguagem) consegue identificar com precisão objetos em uma cena e, com base nisso, executar tarefas complexas. Um exemplo é calcular o custo da cerveja sobre a mesa a partir da imagem da cena e da imagem do cardápio. No entanto, os VLMs revelam limitações surpreendentes em certas tarefas, o que levanta a questão de saber se eles realmente percebem imagens como os humanos. Para avaliar essas limitações, este artigo propõe o BlindTest, um conjunto de 7 tarefas visuais. O BlindTest reúne tarefas muito fáceis para humanos, mas que se tornam um grande desafio para os VLMs mais modernos.

A principal questão tratada neste artigo é a lacuna entre as capacidades percebidas dos VLMs e seu desempenho real em tarefas visuais básicas. Embora os VLMs mostrem resultados excelentes em benchmarks visuais de alto nível, eles têm dificuldade em tarefas simples que exigem compreensão espacial precisa e contagem. Resolver esse problema é essencial para avançar na aplicação prática dos VLMs em cenários do mundo real.

Alguns dos VLMs implementados recentemente integram visão e linguagem desde cedo na arquitetura do modelo, permitindo uma interação mais fluida entre dados visuais e textuais. Outra abordagem combina os componentes de visão e linguagem mais tarde, o que resulta em bom entendimento de linguagem, mas desempenho fraco em percepção visual. Os benchmarks atuais avaliam VLMs em tarefas complexas de raciocínio visual, como MMMU e AI2D, mas muitas vezes deixam de lado desafios visuais de baixo nível.

Este artigo introduz um novo benchmark chamado BlindTest para examinar as limitações dos atuais modelos de visão-linguagem (VLMs). O BlindTest é composto por tarefas visuais intuitivas e fáceis para pessoas, como verificar se dois círculos se sobrepõem ou contar o número de formas em uma imagem.

Modelo de visão-linguagem (VLM, Vision-Language Model)

Os autores testaram quatro VLMs de ponta: GPT-4o, Gemini-1.5 Pro, Claude-3 Sonnet e Claude-3.5 Sonnet. Esses modelos ocupam posições altas em benchmarks multimodais de visão recentes e mostram desempenho excelente em diversos temas. Por exemplo, obtiveram ótimos resultados em benchmarks como MMMU, AI2D, MathVista, ChartQA, DocVQA, ActivityNet-QA e EgoSchema. No entanto, os benchmarks existentes medem apenas o desempenho geral dos VLMs e não deixam claras suas limitações específicas. Por isso, foi projetado um novo benchmark para avaliar como os VLMs reagem a tarefas visuais simples. Esse benchmark inclui formas geométricas 2D básicas e exige conhecimento prévio mínimo.

Benchmark BlindTest

O BlindTest é composto por 7 tarefas visuais simples, e cada uma avalia como os VLMs realizam percepção visual básica.

Task 1. Contar o número de interseções 📈📉

Nesta tarefa, são testados casos em que duas funções lineares de 2 segmentos têm 0, 1 ou 2 interseções. Para isso, foram geradas 150 imagens de gráficos de linha 2D. Cada gráfico é definido por três coordenadas x fixas e coordenadas y escolhidas aleatoriamente, sendo desenhado sobre uma tela branca. Nesse processo, as linhas foram configuradas para ter exatamente 0, 1 ou 2 interseções.

Cada pergunta é feita com duas formulações diferentes. A primeira é "Quantas vezes os gráficos de linha azul e vermelha se cruzam?(How many times do the blue and red line plots cross each other?)", e a segunda é "Quantas vezes as linhas azul e vermelha se intersectam?(How many times do the blue and red lines intersect?)". Isso serve para avaliar se os VLMs conseguem perceber diferenças sutis de formulação e extrair o mesmo significado. A variedade de formulações é útil para testar a capacidade de compreensão do modelo sob múltiplos ângulos.

O desempenho dos quatro modelos na tarefa de contar interseções de linhas foi o seguinte: GPT-4o obteve 48,67%, Gemini-1.5 Pro 69,67%, Sonnet-3 64,00% e Sonnet-3.5 77,33% de acurácia. Isso mostra que os VLMs têm dificuldade para julgar se as linhas se cruzam. Em especial, a grande diferença de desempenho entre os modelos sugere que suas capacidades de processamento visual variam. Esse resultado reforça a necessidade de mais pesquisas para melhorar a compreensão visual dos VLMs.

Task 2. Verificar o estado de dois círculos 🔴🔵

Nesta tarefa, avalia-se se dois círculos preenchidos do mesmo tamanho estão em contato ou sobrepostos entre si. Para isso, foram geradas 672 imagens. O tamanho, a distância e a direção dos círculos foram variados, e o tamanho da tela foi definido em 384, 769 e 1155 pixels. O diâmetro dos círculos foi definido como 1/4, 1/5, 1/6 e 1/7 do tamanho da tela, e a distância e a direção entre eles foram configuradas aleatoriamente.

Cada pergunta é feita com duas formulações diferentes. A primeira é "Os dois círculos estão se tocando? Responda com Sim/Não.(Are the two circles touching each other? Answer with Yes/No)", e a segunda é "Os dois círculos estão sobrepostos? Responda com Sim/Não.(Are the two circles overlapping? Answer with Yes/No.)". Isso serve para avaliar se o modelo consegue perceber diferenças sutis de formulação e extrair o mesmo significado. A variedade de formulações é útil para testar a capacidade de compreensão do modelo sob múltiplos ângulos.

O desempenho dos quatro modelos na tarefa de julgar se dois círculos estão em contato foi o seguinte: GPT-4o teve média de 72,69%, Gemini-1.5 Pro média de 92,78%, Sonnet-3 média de 84,52% e Sonnet-3.5 média de 91,66% de acurácia. Isso mostra que os VLMs apresentam algum nível de desempenho para julgar a sobreposição de círculos, mas ainda precisam melhorar. Em especial, a grande diferença de desempenho entre os modelos sugere que suas capacidades de processamento visual variam.

Task 3. Identificar a letra circulada 🔤⭕

Nesta tarefa, são geradas imagens em que cada caractere de várias strings é circulado em sequência, para avaliar se os VLMs conseguem reconhecer qual letra foi marcada com um círculo. As strings selecionadas são Acknowledgement, Subdermatoglyphic e tHyUiKaRbNqWeOpXcZvM, e cada caractere de cada string é marcado em sequência com um círculo. Com isso, avalia-se se os VLMs conseguem perceber pequenos espaçamentos entre os caracteres.

A tarefa é apresentada com dois prompts diferentes. O primeiro é "Qual letra está sendo circulada?(Which letter is being circled?)", e o segundo é "Qual caractere está sendo destacado com uma elipse vermelha?(Which character is being highlighted with a red oval?)". Isso serve para avaliar se o modelo consegue perceber diferenças sutis de formulação e extrair o mesmo significado. A variedade de formulações é útil para testar a capacidade de compreensão do modelo sob múltiplos ângulos.

O desempenho dos quatro modelos na tarefa de reconhecer a letra circulada foi o seguinte: GPT-4o obteve média de 70,18%, Gemini-1.5 Pro média de 92,81%, Sonnet-3 média de 73,34% e Sonnet-3.5 média de 89,22% de acurácia. Isso mostra que os VLMs têm dificuldade em reconhecer a letra circulada.

Ou seja, todos os VLMs tiveram dificuldade para identificar corretamente os caracteres. Em especial, muitos erros ocorreram quando o círculo se sobrepunha ligeiramente à letra. Isso mostra que os VLMs não conseguem processar com precisão informações visuais detalhadas. Em especial, a grande diferença de desempenho entre os modelos sugere que suas capacidades de processamento visual variam.

Task 4. Contar formas sobrepostas ∞

Nesta tarefa, é realizado o trabalho de contar o número de círculos sobrepostos, como no logotipo olímpico. Para isso, foram geradas 120 imagens, e os experimentos incluíram tanto círculos quanto pentágonos. Cada imagem contém 5, 6, 7, 8 ou 9 formas sobrepostas dispostas em duas linhas, com tamanhos e cores variados.

Nesta tarefa, são feitas duas perguntas com prompts diferentes. A primeira é "Quantos {shapes} há na imagem? Responda apenas com o número em formato numérico.(How many {shapes} are in the image? Answer with only the number in numerical format)" e a segunda é "Conte o número de {shapes} na imagem. Responda com um número entre chaves, por exemplo, {3}.(Count the {shapes} in the image. Answer with a number in curly brackets e.g. {3}.)". {shapes} significa círculo ou pentágono. Isso serve para avaliar se o modelo consegue reconhecer diferenças sutis na formulação e extrair o mesmo significado.

O desempenho dos quatro modelos na contagem de formas sobrepostas foi o seguinte. O GPT-4o apresentou acurácia de 42,50% para círculos e 19,16% para pentágonos, enquanto o Gemini-1.5 Pro apresentou acurácia de 20,83% para círculos e 9,16% para pentágonos. O Sonnet-3 mostrou acurácia de 31,66% para círculos e 11,66% para pentágonos, e o Sonnet-3.5 apresentou acurácia de 44,16% para círculos e 75,83% para pentágonos.

A maioria dos modelos apresentou baixo desempenho nessa tarefa. Em especial, quando havia 5 círculos, a acurácia era alta, mas acima disso o desempenho caía de forma acentuada. Isso mostra que os VLMs não conseguem reconhecer com precisão formas sobrepostas.

Task 5. Contagem de quadrados aninhados 🔳🔲

Nesta tarefa, são geradas imagens com várias camadas de quadrados sobrepostos. Cada imagem contém quadrados de tamanhos variados, com tamanho e posição definidos aleatoriamente. Cada imagem inclui uma determinada quantidade de quadrados aninhados, e o número de quadrados é um entre 2, 3, 4 ou 5. O objetivo é avaliar se o VLM consegue contar corretamente a quantidade de formas sobrepostas.

Nesta tarefa, a pergunta feita é "Conte o número total de quadrados na imagem.(Count the total number of squares in the image)". Isso serve para avaliar se o VLM consegue contar corretamente a quantidade de formas sobrepostas. Também serve para avaliar se o modelo consegue reconhecer diferenças sutis na formulação e extrair o mesmo significado.

O desempenho dos quatro modelos na contagem de quadrados aninhados foi o seguinte. O GPT-4o obteve 48,33%, o Gemini-1.5 Pro 80,00%, o Sonnet-3 55,00% e o Sonnet-3.5 87,50% de acurácia. Isso mostra que os VLMs têm dificuldade para contar a quantidade de quadrados aninhados.

Como se pode ver nos resultados, todos os modelos também apresentaram acurácia consistentemente baixa nessa tarefa. Em especial, os erros aumentaram à medida que o número de quadrados crescia. Isso mostra que os VLMs têm dificuldade para reconhecer com precisão formas sobrepostas. Além disso, a grande diferença de desempenho entre os modelos sugere que a capacidade de processamento visual varia entre eles.

Task 6. Contagem em matriz de grade ▦

Nesta tarefa, são geradas imagens de grades de vários tamanhos para executar a contagem do número de linhas e colunas. Cada imagem é composta por uma grade com uma determinada quantidade de linhas e colunas, e algumas imagens contêm texto em cada célula. Além disso, o tamanho e o formato da grade são configurados de formas variadas. O objetivo é avaliar se o VLM consegue contar corretamente o número de linhas e colunas da grade.

Cada pergunta é composta por duas formulações diferentes. A primeira é "Conte o número de linhas e colunas e responda com números entre chaves. Exemplo: linhas={5} colunas={6}(Count the number of rows and columns and answer with numbers in curly brackets. For example, rows={5} columns={6})" e a segunda é "Conte o número de linhas e colunas da tabela. Responda com apenas os números em um par. Exemplo: (5,6)(How many rows and columns are in the table? Answer with only the numbers in a pair (row, column), e.g., (5,6))". Isso serve para avaliar se o modelo consegue reconhecer diferenças sutis na formulação e extrair o mesmo significado.

O desempenho dos quatro modelos na contagem de linhas e colunas foi o seguinte. O GPT-4o apresentou acurácia média de 39,58%, o Gemini-1.5 Pro de 35,79%, o Sonnet-3 de 36,17% e o Sonnet-3.5 de 74,26%.

Nos resultados do experimento, o desempenho melhorou nas grades que continham texto, mas ainda assim não mostrou alta acurácia. Isso mostra que os VLMs não reconhecem com precisão a estrutura detalhada da grade, tendo dificuldade para contar o número de linhas e colunas. Em especial, a grande diferença de desempenho entre os modelos sugere que a capacidade de processamento visual varia entre eles.

Task 7. Seguir um caminho de cor única 🔂

Nesta tarefa, é realizado um trabalho de seguir um caminho monocromático enquanto se lê um mapa de linhas de metrô. Cada imagem é composta por 4 estações fixas (A, B, C, D) e por caminhos que as conectam. O objetivo é avaliar se o VLM consegue seguir um caminho de cor única.

Cada pergunta foi composta por dois prompts diferentes. O primeiro é "Quantos caminhos de uma única cor vão de A até C? Responda com um número entre chaves. Exemplo: {3}(How many single-colored paths go from A to C? Answer with a number in curly brackets, e.g., {3})" e o segundo é "Conte as rotas de uma única cor que vão de A até C. Responda com um número entre chaves. Exemplo: {3}(Count the one-colored routes that go from A to C. Answer with a number in curly brackets, e.g., {3}.)". Isso serve para avaliar se o modelo consegue reconhecer diferenças sutis na formulação e extrair o mesmo significado.

O desempenho dos quatro modelos no rastreamento de caminhos de cor única foi o seguinte. O GPT-4o apresentou acurácia média de 45,89%, o Gemini-1.5 Pro de 40,01%, o Sonnet-3 de 23,78% e o Sonnet-3.5 de 50,18%. Ou seja, todos os modelos apresentaram baixo desempenho nessa tarefa.

Em especial, à medida que o número de caminhos aumentava, o desempenho caía de forma acentuada. Isso mostra que os VLMs têm dificuldade para seguir caminhos de uma única cor. A grande diferença de desempenho entre os modelos também sugere que a capacidade de processamento visual varia entre eles.

Resultados do experimento

Todos os VLMs apresentaram baixa acurácia mesmo em tarefas visuais simples. Em especial, mostraram desempenho notavelmente baixo em tarefas como contagem de interseções de segmentos de reta, verificação do estado de dois círculos e identificação de letras circuladas. Isso sugere que os VLMs não reconhecem com precisão informações visuais detalhadas. Além disso, também apresentaram desempenho consistentemente baixo em tarefas como contagem de formas sobrepostas, contagem de quadrados aninhados, contagem em matriz de grade e seguir um caminho de cor única.

De forma geral, o experimento confirmou que a capacidade de percepção visual dos VLMs é limitada. Esses resultados indicam que ainda são necessárias muitas melhorias para que os VLMs alcancem um nível de percepção visual comparável ao humano.

Estudos relacionados e conclusão

Os benchmarks existentes de VLM concentram-se principalmente em avaliar capacidades de compreensão visual de nível mais alto. No entanto, o BlindTest é o primeiro benchmark a avaliar capacidades básicas de percepção visual, mostrando com clareza quais limitações os VLMs têm em tarefas visuais simples.

Por exemplo, benchmarks como MMMU, AI2D, MathVista, ChartQA, DocVQA, ActivityNet-QA e EgoSchema medem apenas o desempenho geral dos VLMs, sem revelar claramente limitações específicas. Portanto, o BlindTest é uma ferramenta importante para avaliar com mais precisão a capacidade de percepção visual dos VLMs. Além disso, o BlindTest deverá servir como um critério importante para avaliar se os VLMs conseguem ou não perceber imagens como os humanos.

O baixo desempenho nas tarefas do BlindTest sugere que os VLMs atuais ainda não são proficientes em tarefas básicas de percepção visual que exigem compreensão espacial precisa. Essa limitação mostra uma tendência dos modelos a depender da capacidade de processamento de linguagem, o que pode não ser adequado para percepção visual. Esses resultados reforçam a necessidade de mais pesquisa e desenvolvimento para melhorar as capacidades visuais dos VLMs.

Pesquisas futuras exigem novas abordagens para melhorar a capacidade de percepção visual dos VLMs. Por exemplo, é possível aprimorar o módulo de visão usando uma abordagem de fusão inicial (early fusion). Além disso, é necessário diversificar os dados de treinamento para que os VLMs apresentem melhor desempenho em tarefas visuais simples. Esses esforços poderão melhorar a capacidade de percepção visual dos VLMs.

📜 Ler o artigo VLMs are Blind

https://arxiv.org/abs/2407.06581

🏠 Página inicial do projeto VLMs are Blind

https://vlmsareblind.github.io/

Repositório BlindTest no GitHub

https://github.com/anguyen8/vision-llms-are-blind

🤗 Dataset BlindTest

https://huggingface.co/datasets/XAI/vlmsareblind

Leia mais


Este texto foi elaborado com base em um resumo gerado por um modelo GPT, portanto pode haver trechos organizados de forma diferente do conteúdo ou da intenção do texto original. Se o tema for do seu interesse, consulte também o texto original! Se encontrar algo estranho ou incorreto durante a leitura, por favor avise nos comentários. 🤗

⚠️Publicidade⚠️: Este texto organizado pelo 🔥PyTorch Korea User Group🇰🇷 foi útil para você? Se cadastrar como membro, enviaremos os principais textos por e-mail💌! (O padrão é Weekly, mas você também pode mudar para Daily.)

Ainda não há comentários.

Ainda não há comentários.