ChartX & ChartVLM
Recently, many versatile Multi-modal Large Language Models (MLLMs) have emerged continuously. However, their capacity to query information depicted in visual charts and engage in reasoning based on the queried contents remains under-explored. In this paper, to comprehensively and rigorously benchmark the ability of the off-the-shelf MLLMs in the chart domain, we construct ChartX, a multi-modal evaluation set covering 18 chart types, 7 chart tasks, 22 disciplinary topics, and high-quality chart data. Besides, we develop ChartVLM to offer a new perspective on handling multi-modal tasks that strongly depend on interpretable patterns such as reasoning tasks in the field of charts or geometric images. We evaluate the chart-related ability of mainstream MLLMs and our ChartVLM on the proposed ChartX evaluation set. Extensive experiments demonstrate that ChartVLM surpasses both versatile and chart-related large models, achieving results comparable to GPT-4V. We believe that our study can pave the way for further exploration in creating a more comprehensive chart evaluation set and developing more interpretable multi-modal models.
Release
- [2024/2/21] π₯ We have released the ChartX benchmark data to evaluate the chart-related capabilities of the existing MLLMS.
ChartX Evaluation Set
Overall
We collected 48K multi-modal chart data covering 22 topics, 18 chart types, and 7 tasks. Each chart data within this dataset includes four modalities: image, CSV, python code, and text description.
18 chart types:
General Chart Types = ['bar chart', 'bar_num chart', 'line chart', 'line_num chart', 'pie chart'],
Fine-grained Chart Types = ['radar chart', 'histogram', 'box plot', 'treemap', 'bubble chart', 'area chart', '3D-bar chart', 'multi-axes', 'ring chart', 'rose chart'],
Domain-specific Chart Types=['heatmap', 'candlestick chart', 'funnel chart']
22 chart topics:
major_categories = [
"Business and Finance",
"Healthcare and Health",
"Science and Engineering",
"Social Media and the Web",
"Government and Public Policy",
"Education and Academics",
"Environment and Sustainability",
"Arts and Culture",
"Retail and E-commerce",
"Tourism and Hospitality",
"Human Resources and Employee Management",
"Agriculture and Food Production",
"Energy and Utilities",
"Transportation and Logistics",
"Real Estate and Housing Market",
"Manufacturing and Production",
"Sports and Entertainment",
"Social Sciences and Humanities",
"Law and Legal Affairs",
"Technology and the Internet",
"Charity and Nonprofit Organizations",
"Food and Beverage Industry"
]
7 chart tasks (Employed eval metric):
4 close-ended = ['Structural Extraction (SCRM)', 'Chart Type (EM)', 'Chart Title (EM)', 'QA (GPT-acc)']
3 open-ended = ['Description (GPT-score)', 'Summarization (GPT-score)', 'Redrawing code (GPT-score)']
ChartX Download
Data Download
Please download the official [ChartX Evaluation Set](https://drive.google.com/file/d/1d6zyH3kIwgepTqR0fc67xzyUtblrvOIX/view?usp=sharing) dataset and organize the downloaded files as follows:
```
ChartX
βββ 3D-Bar
β βββ code
| βββ csv
| βββ png
| βββ txt
βββ area_chart
β βββ code
| βββ csv
| βββ png
| βββ txt
....
....
βββ rose
β βββ code
| βββ csv
| βββ png
| βββ txt
```
Visualization of Data Distribution
ChartVLM
ChartVLM Overall:
- (1) To enhance the interpretability of the chart model in cognition tasks (e.g. answer questions based on chart image), ChartVLM first performs the base perception task (e.g. structural extraction from the given chart image to a predicted CSV data), and then, finishes other cognition tasks (e.g. chart redrawing, description, summary, and QA) based on the extracted structural data.
- (2) To choose the task that users expect to perform according to the used prompts, the instruction adapter is designed, which can cover a variety of user instructions as illustrated in this figure.
Installation for ChartVLM
Pre-trained Checkpoints of ChartVLM
Please refer to Huggingface to download our pre-trained weights for ChartVLM-large and ChartVLM-base.
You need to organize the downloaded ckpts as follow:
```
CharVLM-base (or your customized name)
βββ instruction_adapter
β βββ mlp_classifier.pth
| βββ vectorizer.pkl
βββ base_decoder
β βββ type_title
β β βββ files of type_title base_decoder
β βββ files of base_decoder
βββ auxiliary_decoder
β βββ base
β β βββ files of pretrained auxiliary_decoder
β βββ files of auxiliary_decoder lora_weights
```
Training ChartVLM
Please refer to instruction adapter, base decoder, and auxiliary decoder for more details of model training.
Evaluation
Please refer to eval for details of evaluation all tasks
Evaluation Results for Structural Extraction (SE) task
Evaluation Results for QA task
Evaluation Results for Description task
Evaluation Results for Summarization task
Citation
If you find our work useful in your research, please consider citing Fox:
@article{xia2024chartx,
title={ChartX \& ChartVLM: A Versatile Benchmark and Foundation Model for Complicated Chart Reasoning},
author={Xia, Renqiu and Zhang, Bo and Ye, Hancheng and Yan, Xiangchao and Liu, Qi and Zhou, Hongbin and Chen, Zijun and Dou, Min and Shi, Botian and Yan, Junchi and others},
journal={arXiv preprint arXiv:2402.12185},
year={2024}
}