HallusionBench: 大型视觉语言模型中纠缠语言幻觉与视觉错觉的高级诊断套件 [CVPR 2024]
你看到你所想的?还是你想到你所看的?一个对GPT-4V(ision)、LLaVA-1.5和其他多模态模型具有挑战性的图像-上下文推理基准
Tianrui Guan*, Fuxiao Liu*, Xiyang Wu, Ruiqi Xian, Zongxia Li, Xiaoyu Liu, Xijun Wang, Lichang Chen, Furong Huang, Yaser Yacoob, Dinesh Manocha, Tianyi Zhou
更新
- [03/13]🔥 我们的论文"MMC: 通过大语言模型指令微调推进多模态图表理解"被**NAACL 2024**接收。
- [02/26] 🔥 我们的HallusionBench被**CVPR 2024**接收。
- [01/15] 🔥 我们的工作"通过稳健指令微调缓解大型多模态模型中的幻觉"被**ICLR 2024**接收。
- [11/28] 🔥 完整论文已上传,可在此处访问。数据集已扩展,排行榜已更新。
- [11/13] 🔥 LLaVA-1.5的评估结果已更新。更多模型结果即将发布!
- [10/27] 🔥 排行榜和评估代码已发布!欢迎在我们的排行榜上更新您的模型!
- [10/24] 🔥 包含案例分析和见解的早期报告可在此处获取。
🔥🔥🔥
我们欢迎每个人为我们的社区贡献大型多模态模型(GPT-4V)的失败案例!
🔥🔥🔥
大型语言模型(LLMs)在与视觉模型对齐并集成到视觉语言模型(VLMs)后,可以在图像推理任务中带来显著改进。这一点在最近发布的GPT-4V(ision)、LLaVA-1.5等模型中得到了证明。然而,这些最先进的LVLMs中强大的语言先验可能是一把双刃剑:它们可能忽视图像上下文,仅依赖(甚至是矛盾的)语言先验进行推理。相比之下,VLMs中的视觉模块比LLMs弱,可能导致误导性的视觉表示,然后被LLMs转化为自信的错误。为了研究这两类VLM错误,即语言幻觉和视觉错觉,我们策划了HallusionBench,这是一个即使对GPT-4V和LLaVA-1.5仍具有挑战性的图像-上下文推理基准。我们对HallusionBench中的示例进行了详细分析,这为VLMs的错觉或幻觉以及未来如何改进它们提供了新的见解。
如果您发现我们的论文有用,请引用我们的论文:
@misc{guan2023hallusionbench,
title={HallusionBench: An Advanced Diagnostic Suite for Entangled Language Hallucination & Visual Illusion in Large Vision-Language Models},
author={Tianrui Guan and Fuxiao Liu and Xiyang Wu and Ruiqi Xian and Zongxia Li and Xiaoyu Liu and Xijun Wang and Lichang Chen and Furong Huang and Yaser Yacoob and Dinesh Manocha and Tianyi Zhou},
year={2023},
eprint={2310.14566},
archivePrefix={arXiv},
primaryClass={cs.CV}
}
@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}
}
数据集下载
为了保持评估简单,我们只提供是/否问题形式的问题。
更新日期 | 问题和注释 | 图像 | 问题数量 | 图像数量 |
---|---|---|---|---|
2023年10月27日 | [HallusionBench.json](https://github.com/tianyi-lab/HallusionBench/blob/main/./HallusionBench.json | hallusion_bench.zip | 254 | 69 |
评估
- 克隆仓库。
git clone https://github.com/tianyi-lab/HallusionBench.git
cd ./HallusionBench
-
下载图像文件 hallusion_bench.zip 并将解压后的文件夹放在同一目录下。
-
问题和图像位置保存在
./HallusionBench.json
中。数据样本如下:
{'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'}
键 visual_input
表示问题是否需要图像等视觉输入。如果 visual_input=1
,表示问题需要视觉输入。如果 visual_input=0
,表示问题不需要视觉输入,仅为文本问题。
-
在
./HallusionBench.json
上运行您的模型,并将输出文件保存为./HallusionBench_result.json
。您需要在'model_prediction'
键中添加模型的输出。我们在这里提供了一个样本结果。 -
最后,运行以下代码进行评估:
python evaluation.py
您可以通过编辑此处的代码来使用自己的GPT4 API密钥进行评估。
排行榜
定义
- 视觉依赖(VD)问题:没有视觉上下文就无法给出肯定答案的问题。
- 简单:从互联网获得的原始图像。
- 困难:从原始图像编辑而来的图像。
- 视觉补充(VS)问题:无需视觉输入即可回答的问题;视觉部分仅提供补充信息。
- 简单:无视觉输入。不产生幻觉的不确定答案也被视为正确回应。
- 困难:有视觉输入。答案必须遵循提供的图形和视觉上下文。
评估指标
- 每图准确率(一致性测试):基于每个图形的准确率。为确保模型真正理解图像,我们根据同一图形上的相同知识提出变体问题,只有模型能正确回答所有问题才视为正确。例如,模型不应在"A是否比B大?"和"B是否比A小?"这样的问题上给出不一致的回答。
- 每题准确率:所有问题的准确率,包括简单和困难问题。
- 每对问题准确率:我们在相似图像上(或有图像和无图像的情况下)提出相同的问题。我们将相同问题文本在不同视觉上下文中视为一对问题(通常包括一个简单问题和一个相应的困难问题)。该指标计算所有问题对的准确率。
| 模型 | 问题对准确率 | 图表准确率 | 简单问题准确率 | 困难问题准确率 | 问题准确率 | Json |
| ----- | :----: | :----: | :----: | :----: | :----: | :----: |
| GPT4V
2023年9月25日版本
(人工评估) | 31.42 | 44.22 | 79.56 | 38.37 | 67.58 | VD, VS | | GPT4V
2023年9月25日版本
(GPT评估) | 28.79 | 39.88 | 75.60 | 37.67 | 65.28 | VD, VS | | Claude 3
(GPT评估) | 21.76 | 28.61 | 55.16 | 41.40 | 56.86 | VD, VS | | LLaVA-1.5
(人工评估) | 9.45 | 25.43 | 50.77 | 29.07 | 47.12 | VD, VS | | LLaVA-1.5
(GPT评估) | 10.55 | 24.86 | 49.67 | 29.77 | 46.94 | VD, VS | | Gemini Pro Vision
2023年12月版本
(GPT评估) | 7.69 | 8.67 | 35.60 | 30.23 | 36.85 | VD, VS | | GUA_VL
(GPT评估) | 16.70 | 23.12 | 53.63 | 39.77 | 51.82 | VD, VS | | BLIP2-T5
(GPT评估) | 15.16 | 20.52 | 45.49 | 43.49 | 48.09 | VD, VS | | Qwen-VL
(GPT评估) | 5.93 | 6.65 | 31.43 | 24.88 | 39.15 | VD, VS | | Open-Flamingo
(GPT评估) | 6.37 | 11.27 | 39.56 | 27.21 | 38.44 | VD, VS | | MiniGPT5
(GPT评估) | 10.55 | 9.83 | 36.04 | 28.37 | 40.30 | VD,VS | | MiniGPT4
(GPT评估) | 8.79 | 10.12 | 31.87 | 27.67 | 35.78 | VD,VS | | InstructBLIP
(GPT评估) | 9.45 | 10.11 | 35.60 | 45.12 | 45.26 | VD,VS | | BLIP2
(GPT评估) | 5.05 | 12.43 | 33.85 | 40.70 | 40.48 | VD,VS | | mPLUG_Owl-v2
(GPT评估) | 13.85 | 19.94 | 44.84 | 39.07 | 47.30 | VD,VS | | mPLUG_Owl-v1
(GPT评估) | 9.45 | 10.40 | 39.34 | 29.77 | 43.93 | VD,VS | | LRV_Instruction
(GPT评估) | 8.79 | 13.01 | 39.78 | 27.44 | 42.78 | VD,VS | | ViLT
(GPT评估) | 8.3516 | 11.2717 | 37.8022 | 45.3488 | 44.4641 | VD,VS | | GiT
(GPT评估) | 5.27 | 6.36 | 26.81 | 31.86 | 34.37 | VD,VS |
在排行榜上重现GPT4V结果
-
我们已保存带有注释的GPT4V输出。将
HallusionBench.tsv
放在此仓库的根目录,或在 gpt4v_benchmark.py 中设置input_file_name
为 HallusionBench.tsv 文件的位置。 -
(可选)如果您无法访问GPT API,无需运行它,因为我们已保存评估结果。可以下载 视觉依赖 和 视觉补充 的结果。将json文件放在此仓库的根目录,或在 gpt4v_benchmark.py 中设置
save_json_path_vd
和save_json_path_vd
为它们各自的位置。 -
运行
python gpt4v_benchmark.py
。
示例和分析
许可证
该仓库采用 BSD 3-Clause 许可证。