Vous voyez ce que vous pensez ? Ou pensez-vous ce que vous voyez ? Une référence de raisonnement en contexte d'image difficile pour GPT-4V(ision), LLaVA-1.5 et d'autres modèles multimodaux
Tianrui Guan*, Fuxiao Liu*, Xiyang Wu, Ruiqi Xian, Zongxia Li, Xiaoyu Liu, Xijun Wang, Lichang Chen, Furong Huang, Yaser Yacoob, Dinesh Manocha, Tianyi Zhou
Les grands modèles de langage (LLM), après avoir été alignés sur les modèles de vision et intégrés dans les modèles de langage de vision (VLM), peuvent apporter une amélioration impressionnante dans les tâches de raisonnement d'images. Cela a été démontré par le GPT-4V(ison), LLaVA-1.5, etc. récemment publiés. Cependant, le langage fort antérieur dans ces SOTA LVLM peut être une arme à double tranchant : ils peuvent ignorer le contexte de l'image et s'appuyer uniquement sur le ( voire contradictoire) langage préalable au raisonnement. En revanche, les modules de vision des VLM sont plus faibles que ceux des LLM et peuvent donner lieu à des représentations visuelles trompeuses, qui sont ensuite traduites en erreurs confiantes par les LLM. Pour étudier ces deux types d'erreurs VLM, c'est-à-dire l'hallucination du langage et l'illusion visuelle, nous avons créé HallusionBench, une référence de raisonnement en contexte d'image qui reste un défi même pour GPT-4V et LLaVA-1.5. Nous fournissons une analyse détaillée d'exemples dans HallusionBench, qui apporte de nouvelles informations sur l'illusion ou l'hallucination des VLM et sur la manière de les améliorer à l'avenir.
Si vous trouvez notre article utile, veuillez citer notre article :
@misc { wu2024autohallusion ,
title = { AutoHallusion: Automatic Generation of Hallucination Benchmarks for Vision-Language Models } ,
author = { Xiyang Wu and Tianrui Guan and Dianqi Li and Shuaiyi Huang and Xiaoyu Liu and Xijun Wang and Ruiqi Xian and Abhinav Shrivastava and Furong Huang and Jordan Lee Boyd-Graber and Tianyi Zhou and Dinesh Manocha } ,
year = { 2024 } ,
eprint = { 2406.10900 } ,
archivePrefix = { arXiv } ,
primaryClass = { cs.CV } ,
url = { https://arxiv.org/abs/2406.10900 } ,
}
@InProceedings { Guan_2024_CVPR ,
author = { Guan, Tianrui and Liu, Fuxiao and Wu, Xiyang and Xian, Ruiqi and Li, Zongxia and Liu, Xiaoyu and Wang, Xijun and Chen, Lichang and Huang, Furong and Yacoob, Yaser and Manocha, Dinesh and Zhou, Tianyi } ,
title = { HallusionBench: An Advanced Diagnostic Suite for Entangled Language Hallucination and Visual Illusion in Large Vision-Language Models } ,
booktitle = { Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR) } ,
month = { June } ,
year = { 2024 } ,
pages = { 14375-14385 }
}
@misc { liu2023mitigating ,
title = { Mitigating Hallucination in Large Multi-Modal Models via Robust Instruction Tuning } ,
author = { Fuxiao Liu and Kevin Lin and Linjie Li and Jianfeng Wang and Yaser Yacoob and Lijuan Wang } ,
year = { 2023 } ,
eprint = { 2306.14565 } ,
archivePrefix = { arXiv } ,
primaryClass = { cs.CV }
}
@misc { liu2023mmc ,
title = { MMC: Advancing Multimodal Chart Understanding with Large-scale Instruction Tuning } ,
author = { Fuxiao Liu and Xiaoyang Wang and Wenlin Yao and Jianshu Chen and Kaiqiang Song and Sangwoo Cho and Yaser Yacoob and Dong Yu } ,
year = { 2023 } ,
eprint = { 2311.10774 } ,
archivePrefix = { arXiv } ,
primaryClass = { cs.CL }
}
Pour que l'évaluation reste simple, nous proposons uniquement la question sous forme de questions oui/non.
Mis à jour le | Questions et annotations | Chiffres | Nombre de questions | Nombre de chiffres |
---|---|---|---|---|
27 octobre 2023 | HallusionBench.json | hallusion_bench.zip | 254 | 69 |
git clone https://github.com/tianyi-lab/HallusionBench.git
cd ./HallusionBench
Téléchargez les images hallusion_bench.zip et décompressez le dossier dans le même répertoire.
Les questions et les emplacements des images sont enregistrés dans ./HallusionBench.json
. Les exemples de données sont les suivants :
{'category': 'VD', 'subcategory': 'illusion', 'visual_input': '1', 'set_id': '0', 'figure_id': '0', 'sample_note': 'circle', 'question_id': '0', 'question': 'Is the right orange circle the same size as the left orange circle?', 'gt_answer_details': 'The right orange circle is the same size as the left orange circle.', 'gt_answer': '1', 'filename': './hallusion_bench/VD/illusion/0_0.png'}
La clé visual_input
indique si la question nécessite une entrée visuelle comme des images. Si visual_input=1
, cela signifie que la question nécessite une entrée visuelle. Si visual_input=0
, cela signifie que la question n'a pas besoin d'entrée visuelle. C'est la question textuelle uniquement.
./HallusionBench.json
et enregistrez le fichier de sortie sous ./HallusionBench_result.json
. Vous devez ajouter la sortie de votre modèle dans la clé 'model_prediction'
. Nous fournissons ici un exemple de résultat. python evaluation.py
Vous pouvez utiliser votre propre clé API pour l'évaluation GPT4 en modifiant le code ici.
Modèle | Question Paire Acc | Chiffre Acc. | Réponse aux questions faciles | Question difficile | Réponse aux questions | Json |
---|---|---|---|---|---|---|
GPT4V Version du 25 septembre 2023 (Évaluation humaine) | 31.42 | 44.22 | 79.56 | 38.37 | 67,58 | VD, VS |
GPT4V Version du 25 septembre 2023 (Évaluation GPT) | 28.79 | 39,88 | 75.60 | 37,67 | 65.28 | VD, VS |
Claude 3 (Évaluation GPT) | 21.76 | 28.61 | 55.16 | 41h40 | 56,86 | VD, VS |
LLaVA-1.5 (Évaluation humaine) | 9h45 | 25h43 | 50,77 | 29.07 | 47.12 | VD, VS |
LLaVA-1.5 (Évaluation GPT) | 10h55 | 24.86 | 49,67 | 29.77 | 46,94 | VD, VS |
Gémeaux Pro Vision Version décembre 2023 (Évaluation GPT) | 7,69 | 8,67 | 35.60 | 30.23 | 36,85 | VD, VS |
GUA_VL (Évaluation GPT) | 16h70 | 23.12 | 53,63 | 39,77 | 51,82 | VD, VS |
BLIP2-T5 (Évaluation GPT) | 15.16 | 20h52 | 45.49 | 43.49 | 48.09 | VD, VS |
Qwen-VL (Évaluation GPT) | 5,93 | 6,65 | 31.43 | 24,88 | 39h15 | VD, VS |
Flamant ouvert (Évaluation GPT) | 6.37 | 11.27 | 39.56 | 27.21 | 38.44 | VD, VS |
MiniGPT5 (Évaluation GPT) | 10h55 | 9.83 | 36.04 | 28.37 | 40h30 | VD, VS |
MiniGPT4 (Évaluation GPT) | 8,79 | 10.12 | 31,87 | 27.67 | 35,78 | VD, VS |
InstruireBLIP (Évaluation GPT) | 9h45 | 10.11 | 35.60 | 45.12 | 45.26 | VD, VS |
BLIP2 (Évaluation GPT) | 5.05 | 12h43 | 33,85 | 40.70 | 40.48 | VD, VS |
mPLUG_Owl-v2 (Évaluation GPT) | 13h85 | 19.94 | 44,84 | 39.07 | 47h30 | VD, VS |
mPLUG_Owl-v1 (Évaluation GPT) | 9h45 | 10h40 | 39.34 | 29.77 | 43,93 | VD, VS |
LRV_Instruction (Évaluation GPT) | 8,79 | 13.01 | 39,78 | 27h44 | 42,78 | VD, VS |
ViLT (Évaluation GPT) | 8.3516 | 11.2717 | 37.8022 | 45.3488 | 44.4641 | VD, VS |
GiT (Évaluation GPT) | 5.27 | 6.36 | 26.81 | 31,86 | 34.37 | VD, VS |
Nous avons enregistré la sortie de GPT4V avec notre annotation. Placez HallusionBench.tsv
dans le répertoire racine de ce dépôt ou définissez input_file_name
dans gpt4v_benchmark.py sur l'emplacement du fichier HallusionBench.tsv.
(Facultatif) Si vous n'avez pas accès à l'API GPT, vous n'avez pas besoin de l'exécuter puisque nous avons enregistré les résultats de l'évaluation. Ils peuvent être téléchargés pour Visual Dependent et Visual Supplement. Placez les fichiers json dans le répertoire racine de ce dépôt ou définissez save_json_path_vd
et save_json_path_vd
dans gpt4v_benchmark.py à leurs emplacements respectifs.
Exécutez python gpt4v_benchmark.py
.
Ce référentiel est sous licence BSD 3 clauses.