8 points par ninebow 2024-07-13 | Aucun commentaire pour le moment. | Partager sur WhatsApp

Présentation de l’article VLMs (Vision-Language Models) are Blind

Au cours des huit derniers mois, l’émergence de modèles vision-langage (VLM) comme GPT-4V(ision) a entraîné une forte hausse des applications de traitement image-texte. Un VLM (Vision-Language Model) peut identifier avec précision les objets dans une scène et réaliser, sur cette base, des tâches complexes. Par exemple, calculer le coût des bières posées sur une table à partir d’une image de la scène et d’une image du menu. Cependant, les VLM révèlent des limites surprenantes sur certaines tâches, ce qui soulève la question de savoir s’ils ne perçoivent pas les images comme le font les humains. Pour évaluer ces limites, l’article propose BlindTest, un ensemble de 7 tâches visuelles. BlindTest regroupe des tâches très faciles pour les humains, mais qui constituent un défi majeur pour les VLM les plus récents.

Le principal problème traité dans cet article est l’écart entre les capacités perçues des VLM et leurs performances réelles sur des tâches visuelles élémentaires. Les VLM obtiennent d’excellents résultats sur des benchmarks de vision de haut niveau, mais rencontrent des difficultés sur des tâches simples exigeant une compréhension spatiale précise et du comptage. Résoudre ce problème est essentiel pour faire progresser l’application pratique des VLM dans des scénarios du monde réel.

Certains VLM récents intègrent vision et langage très tôt dans l’architecture du modèle, ce qui permet une interaction plus fluide entre données visuelles et textuelles. Une autre approche consiste à combiner plus tard les composants visuels et linguistiques, avec de bonnes performances en compréhension du langage mais des résultats plus faibles en perception visuelle. Les benchmarks actuels évaluent les VLM sur des tâches complexes de raisonnement visuel comme MMMU et AI2D, mais négligent souvent les tâches visuelles de bas niveau.

Cet article introduit un nouveau benchmark appelé BlindTest afin d’examiner les limites des modèles vision-langage (VLM) actuels. BlindTest se compose de tâches visuelles intuitives et faciles pour les humains, comme vérifier si deux cercles se chevauchent ou compter le nombre de formes dans une image.

Modèles vision-langage (VLM, Vision-Language Model)

Les auteurs ont testé quatre VLM récents : GPT-4o, Gemini-1.5 Pro, Claude-3 Sonnet et Claude-3.5 Sonnet. Ces modèles figurent en bonne place dans les benchmarks multimodaux récents et affichent d’excellentes performances sur des sujets variés. Par exemple, ils obtiennent de très bons résultats sur des benchmarks comme MMMU, AI2D, MathVista, ChartQA, DocVQA, ActivityNet-QA et EgoSchema. Cependant, les benchmarks existants mesurent surtout les performances globales des VLM sans mettre clairement en évidence leurs limites spécifiques. Nous avons donc conçu un nouveau benchmark pour évaluer la manière dont les VLM réagissent à des tâches visuelles simples. Ce benchmark utilise des formes géométriques 2D élémentaires et ne requiert qu’un minimum de connaissances préalables.

Benchmark BlindTest

BlindTest se compose de 7 tâches visuelles simples, chacune évaluant la manière dont les VLM réalisent une perception visuelle de base.

Task 1. Compter le nombre d’intersections 📈📉

Cette tâche teste les cas où deux fonctions linéaires à 2 segments possèdent 0, 1 ou 2 points d’intersection. Pour cela, 150 images de graphiques linéaires 2D ont été générées. Chaque graphique est défini par trois coordonnées x fixes et des coordonnées y choisies aléatoirement, puis tracé sur un fond blanc. Les lignes ont été construites de façon à avoir exactement 0, 1 ou 2 intersections.

Chaque question est posée avec deux formulations différentes. La première est « Combien de fois les graphiques linéaires bleu et rouge se croisent-ils ? (How many times do the blue and red line plots cross each other?) », et la seconde « Combien de fois les lignes bleue et rouge s’intersectent-elles ? (How many times do the blue and red lines intersect?) ». L’objectif est d’évaluer si le VLM peut percevoir de subtiles différences de formulation et en extraire le même sens. La variété des formulations est utile pour tester sous plusieurs angles la capacité de compréhension du modèle.

Les performances des quatre modèles sur la tâche de comptage des intersections sont les suivantes : GPT-4o a atteint 48,67 %, Gemini-1.5 Pro 69,67 %, Sonnet-3 64,00 % et Sonnet-3.5 77,33 % de précision. Cela montre que les VLM ont des difficultés à déterminer si des lignes se croisent. En particulier, l’écart important entre les modèles suggère que leurs capacités de traitement visuel diffèrent. Ce résultat souligne la nécessité de recherches supplémentaires pour améliorer les capacités de compréhension visuelle des VLM.

Task 2. Vérifier l’état de deux cercles 🔴🔵

Cette tâche évalue si deux cercles pleins de même taille se touchent ou se chevauchent. Pour cela, 672 images ont été générées. La taille des cercles, leur distance et leur orientation varient, et la taille du canevas est fixée à 384, 769 ou 1155 pixels. Le diamètre des cercles correspond à 1/4, 1/5, 1/6 ou 1/7 de la taille du canevas, tandis que la distance et l’orientation sont choisies aléatoirement.

Chaque question est posée avec deux formulations différentes. La première est « Les deux cercles se touchent-ils ? Répondez par Oui/Non. (Are the two circles touching each other? Answer with Yes/No) », et la seconde « Les deux cercles se chevauchent-ils ? Répondez par Oui/Non. (Are the two circles overlapping? Answer with Yes/No.) ». L’objectif est d’évaluer si le modèle peut percevoir de subtiles différences de formulation et en extraire le même sens. La variété des formulations est utile pour tester sous plusieurs angles la capacité de compréhension du modèle.

Les performances des quatre modèles pour déterminer si deux cercles se touchent sont les suivantes : GPT-4o a obtenu en moyenne 72,69 %, Gemini-1.5 Pro 92,78 %, Sonnet-3 84,52 % et Sonnet-3.5 91,66 % de précision. Cela montre que les VLM affichent un certain niveau de performance pour juger du chevauchement des cercles, mais qu’ils doivent encore être améliorés. Là encore, l’écart important entre les modèles suggère que leurs capacités de traitement visuel diffèrent.

Task 3. Identifier la lettre entourée 🔤⭕

Cette tâche consiste à générer des images de différentes chaînes de caractères dans lesquelles chaque caractère est entouré à tour de rôle, afin d’évaluer si le VLM peut reconnaître quel caractère a été mis en évidence par un cercle. Les chaînes sélectionnées sont Acknowledgement, Subdermatoglyphic et tHyUiKaRbNqWeOpXcZvM, et chaque caractère de chaque chaîne est entouré séquentiellement. Cela permet d’évaluer si le VLM peut percevoir les faibles espacements entre les caractères.

La question est posée avec deux prompts différents. Le premier est « Quelle lettre est entourée ? (Which letter is being circled?) », et le second « Quel caractère est mis en évidence par un ovale rouge ? (Which character is being highlighted with a red oval?) ». L’objectif est d’évaluer si le modèle peut percevoir de subtiles différences de formulation et en extraire le même sens. La variété des formulations est utile pour tester sous plusieurs angles la capacité de compréhension du modèle.

Les performances des quatre modèles sur la reconnaissance de la lettre entourée sont les suivantes : GPT-4o a obtenu en moyenne 70,18 %, Gemini-1.5 Pro 92,81 %, Sonnet-3 73,34 % et Sonnet-3.5 89,22 % de précision. Cela montre que les VLM ont des difficultés à reconnaître les caractères entourés.

Autrement dit, tous les VLM ont eu du mal à identifier correctement les caractères. En particulier, de nombreuses erreurs se produisaient lorsque le cercle chevauchait légèrement le caractère. Cela montre que les VLM ne traitent pas avec précision les informations visuelles détaillées. Là encore, l’écart important entre les modèles suggère que leurs capacités de traitement visuel diffèrent.

Task 4. Compter les formes qui se chevauchent ∞

Cette tâche consiste à compter le nombre de formes superposées, à la manière du logo olympique. Pour cela, 120 images ont été générées, et des expériences ont été menées avec des cercles et des pentagones. Chaque image contient 5, 6, 7, 8 ou 9 formes superposées réparties sur deux rangées, avec des tailles et des couleurs variées.

Dans cette tâche, deux prompts sont utilisés. Le premier est : « Combien de {formes} y a-t-il dans l’image ? Répondez uniquement par le nombre au format numérique. (How many {shapes} are in the image? Answer with only the number in numerical format) », et le second : « Comptez le nombre de {formes} dans l’image. Répondez avec un nombre entre accolades, par ex. {3}. (Count the {shapes} in the image. Answer with a number in curly brackets e.g. {3}.) ». {formes} désigne soit des cercles, soit des pentagones. L’objectif est d’évaluer si le modèle peut reconnaître des différences subtiles de formulation et en extraire le même sens.

Les performances des quatre modèles pour le comptage de formes superposées sont les suivantes. GPT-4o a obtenu une précision de 42,50 % pour les cercles et de 19,16 % pour les pentagones, tandis que Gemini-1.5 Pro a atteint 20,83 % pour les cercles et 9,16 % pour les pentagones. Sonnet-3 a obtenu 31,66 % pour les cercles et 11,66 % pour les pentagones, et Sonnet-3.5 44,16 % pour les cercles et 75,83 % pour les pentagones.

La plupart des modèles ont affiché de faibles performances sur cette tâche. En particulier, ils obtenaient une bonne précision lorsqu’il y avait 5 cercles, mais les performances chutaient fortement au-delà. Cela montre que les VLM ne reconnaissent pas correctement les formes qui se chevauchent.

Task 5. Comptage de carrés imbriqués 🔳🔲

Dans cette tâche, des images sont générées en superposant plusieurs couches de carrés. Chaque image contient des carrés de tailles variées, dont la taille et la position sont définies aléatoirement. Chaque image comprend un certain nombre de carrés imbriqués, parmi 2, 3, 4 ou 5. Cette tâche vise à évaluer si les VLM peuvent compter correctement le nombre de formes imbriquées.

Dans cette tâche, la question posée est : « Comptez le nombre total de carrés dans l’image. (Count the total number of squares in the image) ». L’objectif est d’évaluer si les VLM peuvent compter précisément le nombre de formes imbriquées. Il s’agit aussi d’évaluer si le modèle peut reconnaître des différences subtiles de formulation et en extraire le même sens.

Les performances des quatre modèles pour le comptage de carrés imbriqués sont les suivantes. GPT-4o a obtenu 48,33 %, Gemini-1.5 Pro 80,00 %, Sonnet-3 55,00 % et Sonnet-3.5 87,50 % de précision. Cela montre que les VLM ont des difficultés à compter le nombre de carrés imbriqués.

Comme le montrent les résultats, tous les modèles ont également affiché une précision régulièrement faible sur cette tâche. En particulier, plus le nombre de carrés augmentait, plus les erreurs augmentaient. Cela montre que les VLM ont des difficultés à reconnaître correctement les formes imbriquées. En outre, l’écart de performance important entre les modèles suggère que leurs capacités de traitement visuel diffèrent.

Task 6. Comptage dans une matrice en grille ▦

Dans cette tâche, des images de grilles de tailles variées sont générées afin de compter le nombre de lignes et de colonnes. Chaque image est constituée d’une grille comportant un certain nombre de lignes et de colonnes, et certaines images contiennent du texte dans chaque cellule. La taille et la forme de la grille varient également. Cette tâche vise à évaluer si les VLM peuvent compter correctement le nombre de lignes et de colonnes d’une grille.

Chaque question est formulée de deux manières différentes. La première est : « Comptez le nombre de lignes et de colonnes et répondez avec des nombres entre accolades. Exemple : lignes={5} colonnes={6} (Count the number of rows and columns and answer with numbers in curly brackets. For example, rows={5} columns={6}) », et la seconde : « Comptez le nombre de lignes et de colonnes du tableau. Répondez avec une paire de nombres. Exemple : (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)) ». L’objectif est d’évaluer si le modèle peut reconnaître des différences subtiles de formulation et en extraire le même sens.

Les performances des quatre modèles pour le comptage des lignes et des colonnes sont les suivantes. GPT-4o a obtenu une précision moyenne de 39,58 %, Gemini-1.5 Pro de 35,79 %, Sonnet-3 de 36,17 % et Sonnet-3.5 de 74,26 %.

Les résultats expérimentaux montrent que les performances s’améliorent sur les grilles contenant du texte, mais qu’elles restent loin d’être élevées. Cela montre que les VLM ne reconnaissent pas correctement la structure détaillée de la grille et ont donc du mal à compter le nombre de lignes et de colonnes. En particulier, l’écart de performance important entre les modèles suggère que leurs capacités de traitement visuel diffèrent.

Task 7. Suivi d’un chemin monochrome 🔂

Dans cette tâche, il s’agit de lire un plan de métro en suivant un chemin monochrome. Chaque image est composée de 4 stations fixes (A, B, C, D) et des chemins qui les relient. L’objectif est d’évaluer si les VLM sont capables de suivre un chemin monochrome.

Chaque question comporte deux prompts différents. Le premier est : « Combien de chemins monochromes vont de A à C ? Répondez avec un nombre entre accolades, par ex. {3}. (How many single-colored paths go from A to C? Answer with a number in curly brackets, e.g., {3}) », et le second : « Comptez les itinéraires d’une seule couleur allant de A à C. Répondez avec un nombre entre accolades, par ex. {3}. (Count the one-colored routes that go from A to C. Answer with a number in curly brackets, e.g., {3}.) ». L’objectif est d’évaluer si le modèle peut reconnaître des différences subtiles de formulation et en extraire le même sens.

Les performances des quatre modèles pour le suivi de chemins monochromes sont les suivantes. GPT-4o a obtenu une précision moyenne de 45,89 %, Gemini-1.5 Pro de 40,01 %, Sonnet-3 de 23,78 % et Sonnet-3.5 de 50,18 %. Autrement dit, tous les modèles ont affiché de faibles performances sur cette tâche.

En particulier, plus le nombre de chemins augmentait, plus les performances chutaient fortement. Cela montre que les VLM ont des difficultés à suivre un chemin monochrome. Là encore, l’écart de performance important entre les modèles suggère que leurs capacités de traitement visuel diffèrent.

Résultats expérimentaux

Tous les VLM ont montré une faible précision, même sur des tâches visuelles simples. En particulier, ils ont affiché des performances nettement faibles sur des tâches comme le comptage des intersections de segments, la vérification de l’état de deux cercles, ou l’identification de caractères entourés. Cela suggère que les VLM ne perçoivent pas correctement les détails visuels. Ils ont également obtenu des résultats régulièrement faibles sur des tâches comme le comptage de formes qui se chevauchent, le comptage de carrés imbriqués, le comptage dans des matrices en grille, ou le suivi de chemins monochromes.

Dans l’ensemble, ces expériences montrent que les capacités de perception visuelle des VLM restent limitées. Ces résultats indiquent que des améliorations supplémentaires sont nécessaires pour que les VLM atteignent un niveau de perception visuelle comparable à celui des humains.

Travaux connexes et conclusion

Les benchmarks VLM existants se concentrent principalement sur l’évaluation de capacités de compréhension visuelle de haut niveau. BlindTest, en revanche, est le premier benchmark à évaluer les capacités fondamentales de perception visuelle, et il montre clairement quelles limites les VLM présentent sur des tâches visuelles simples.

Par exemple, des benchmarks comme MMMU, AI2D, MathVista, ChartQA, DocVQA, ActivityNet-QA ou EgoSchema mesurent surtout les performances globales des VLM, sans mettre clairement en évidence leurs limites spécifiques. BlindTest constitue donc un outil important pour évaluer plus précisément les capacités de perception visuelle des VLM. Il pourrait aussi devenir un critère important pour déterminer si les VLM perçoivent les images comme le font les humains.

Les faibles performances observées sur les tâches de BlindTest suggèrent que les VLM actuels ne maîtrisent pas encore les tâches fondamentales de perception visuelle exigeant une compréhension spatiale précise. Cette limite montre que les modèles ont tendance à s’appuyer sur leurs capacités de traitement du langage, ce qui peut ne pas convenir à la perception visuelle. Ces résultats soulignent la nécessité de recherches et de développements supplémentaires pour améliorer les capacités visuelles des VLM.

Les recherches à venir nécessitent de nouvelles approches pour améliorer les capacités de perception visuelle des VLM. Par exemple, il est possible d’améliorer le module de vision en utilisant une approche d’early fusion. Il est également nécessaire de diversifier les données d’entraînement afin que les VLM obtiennent de meilleures performances sur des tâches visuelles simples. Ces efforts devraient permettre d’améliorer les capacités de perception visuelle des VLM.

📜 Lire l’article VLMs are Blind

https://arxiv.org/abs/2407.06581

🏠 Site du projet VLMs are Blind

https://vlmsareblind.github.io/

Dépôt GitHub de BlindTest

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

🤗 Dataset BlindTest

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

Pour aller plus loin


Cet article est basé sur un texte rédigé à l’aide d’un modèle GPT ; il peut donc contenir des formulations qui diffèrent du contenu ou de l’intention du texte original. Si le sujet vous intéresse, veuillez également consulter la source d’origine. Si vous remarquez un passage maladroit ou incorrect pendant votre lecture, merci de le signaler en commentaire. 🤗

⚠️Publicité⚠️ : cet article préparé par 🔥PyTorch Korea User Group🇰🇷 vous a été utile ? Inscrivez-vous pour recevoir les principaux articles par e-mail💌 ! (Le réglage par défaut est Weekly, mais vous pouvez aussi passer à Daily.)

Aucun commentaire pour le moment.

Aucun commentaire pour le moment.