Você vê o que você pensa? Ou você pensa o que vê? Um benchmark de raciocínio de contexto de imagem desafiador para GPT-4V (ision), LLaVA-1.5 e outros modelos multimodais
Tianrui Guan*, Fuxiao Liu*, Xiyang Wu, Ruiqi Xian, Zongxia Li, Xiaoyu Liu, Xijun Wang, Lichang Chen, Furong Huang, Yaser Yacoob, Dinesh Manocha, Tianyi Zhou
Grandes modelos de linguagem (LLMs), depois de alinhados com modelos de visão e integrados em modelos de linguagem de visão (VLMs), podem trazer melhorias impressionantes nas tarefas de raciocínio de imagens. Isso foi demonstrado pelo recentemente lançado GPT-4V(ison), LLaVA-1.5, etc. No entanto, a linguagem forte anterior nesses LVLMs SOTA pode ser uma faca de dois gumes: eles podem ignorar o contexto da imagem e confiar apenas no ( mesmo contraditória) antes do raciocínio. Em contraste, os módulos de visão nos VLMs são mais fracos que os LLMs e podem resultar em representações visuais enganosas, que são então traduzidas em erros confiantes pelos LLMs. Para estudar esses dois tipos de erros de VLM, ou seja, alucinação de linguagem e ilusão visual, fizemos a curadoria do HalllusionBench, um benchmark de raciocínio de contexto de imagem que ainda é um desafio até mesmo para GPT-4V e LLaVA-1.5. Fornecemos uma análise detalhada de exemplos no HalllusionBench, que apresenta novos insights sobre a ilusão ou alucinação dos VLMs e como melhorá-los no futuro.
Se você achar nosso artigo útil, cite-o:
@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 }
}
Para manter a avaliação simples, fornecemos a pergunta apenas na forma de perguntas sim/não.
Atualizado em | Perguntas e anotações | Figuras | Contagem de perguntas | Contagem de figuras |
---|---|---|---|---|
27 de outubro de 2023 | HalllusionBench.json | halllusion_bench.zip | 254 | 69 |
git clone https://github.com/tianyi-lab/HallusionBench.git
cd ./HallusionBench
Baixe as imagens halllusion_bench.zip e descompacte a pasta no mesmo diretório.
As perguntas e locais das imagens são salvos em ./HallusionBench.json
. A amostra de dados é a seguinte:
{'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'}
A chave visual_input
significa se a pergunta precisa de informações visuais, como imagens. Se visual_input=1
, significa que a pergunta precisa de entrada visual. Se visual_input=0
, significa que a pergunta não precisa de entrada visual. É a pergunta apenas de texto.
./HallusionBench.json
e salve o arquivo de saída como ./HallusionBench_result.json
. Você precisa adicionar a saída do seu modelo na chave 'model_prediction'
. Fornecemos um resultado de amostra aqui. python evaluation.py
Você pode usar sua própria chave de API para avaliação GPT4 editando o código aqui.
Modelo | Conta de pares de perguntas | Figura conta | Conta de perguntas fáceis | Conta de pergunta difícil | Conta de perguntas | JSON |
---|---|---|---|---|---|---|
GPT4V Versão de 25 de setembro de 2023 (Avaliação Humana) | 31.42 | 44,22 | 79,56 | 38,37 | 67,58 | VD, VS |
GPT4V Versão de 25 de setembro de 2023 (Avaliação GPT) | 28,79 | 39,88 | 75,60 | 37,67 | 65,28 | VD, VS |
Cláudio 3 (Avaliação GPT) | 21.76 | 28,61 | 55.16 | 41,40 | 56,86 | VD, VS |
LLaVA-1.5 (Avaliação Humana) | 9h45 | 25.43 | 50,77 | 29.07 | 47.12 | VD, VS |
LLaVA-1.5 (Avaliação GPT) | 10h55 | 24,86 | 49,67 | 29,77 | 46,94 | VD, VS |
Gêmeos Pro Visão Versão de dezembro de 2023 (Avaliação GPT) | 7,69 | 8,67 | 35,60 | 30.23 | 36,85 | VD, VS |
GUA_VL (Avaliação GPT) | 16h70 | 23.12 | 53,63 | 39,77 | 51,82 | VD, VS |
BLIP2-T5 (Avaliação GPT) | 15.16 | 20.52 | 45,49 | 43,49 | 48.09 | VD, VS |
Qwen-VL (Avaliação GPT) | 5,93 | 6,65 | 31.43 | 24,88 | 39,15 | VD, VS |
Aberto-Flamingo (Avaliação GPT) | 6,37 | 11.27 | 39,56 | 27.21 | 38,44 | VD, VS |
MiniGPT5 (Avaliação GPT) | 10h55 | 9,83 | 36.04 | 28h37 | 40h30 | VD, VS |
MiniGPT4 (Avaliação GPT) | 8,79 | 10.12 | 31,87 | 27,67 | 35,78 | VD, VS |
InstruirBLIP (Avaliação GPT) | 9h45 | 10.11 | 35,60 | 45.12 | 45,26 | VD, VS |
BLIP2 (Avaliação GPT) | 5.05 | 12h43 | 33,85 | 40,70 | 40,48 | VD, VS |
mPLUG_Owl-v2 (Avaliação GPT) | 13,85 | 19.94 | 44,84 | 39.07 | 47h30 | VD, VS |
mPLUG_Owl-v1 (Avaliação GPT) | 9h45 | 10h40 | 39,34 | 29,77 | 43,93 | VD, VS |
LRV_Instrução (Avaliação GPT) | 8,79 | 13.01 | 39,78 | 27.44 | 42,78 | VD, VS |
ViLT (Avaliação GPT) | 8.3516 | 11.2717 | 37.8022 | 45.3488 | 44.4641 | VD, VS |
GiT (Avaliação GPT) | 5.27 | 6,36 | 26,81 | 31,86 | 34,37 | VD, VS |
Salvamos a saída do GPT4V com nossa anotação. Coloque HallusionBench.tsv
no diretório raiz deste repositório ou defina input_file_name
em gpt4v_benchmark.py para o local do arquivo HalllusionBench.tsv.
(Opcional) Se você não tiver acesso à API GPT, não será necessário executá-la, pois salvamos os resultados da avaliação. Eles podem ser baixados para Visual Dependent e Visual Supplement. Coloque os arquivos json no diretório raiz deste repositório ou defina save_json_path_vd
e save_json_path_vd
em gpt4v_benchmark.py em seus respectivos locais.
Execute python gpt4v_benchmark.py
.
Este repositório está sob licença BSD de 3 cláusulas.