UniModal4Reasoning / ChartVLM

Official Repository of ChartX & ChartVLM: A Versatile Benchmark and Foundation Model for Complicated Chart Reasoning

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

arXiv GitHub issues PRs Welcome

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 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

  • Clone this repository.
    git clone https://github.com/UniModal4Reasoning/ChartVLM.git
  • Install the python dependent libraries.
    pip install -r requirements.txt 

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}
}

About

Official Repository of ChartX & ChartVLM: A Versatile Benchmark and Foundation Model for Complicated Chart Reasoning

License:Creative Commons Attribution 4.0 International


Languages

Language:Python 98.6%Language:Shell 1.4%