iLearn-Lab/CVPRW26-ChartLens
<a id="top"></a> <div align="center"> <h1>๐ ChartLens @ CVPR 2026 DataMFM Chart Understanding Challenge</h1>
<p> <b>Hao Liu</b><sup>1</sup> <b>Ruping Cao</b><sup>1</sup> <b>Kun Wang</b><sup>1</sup> <b>Zhiran Li</b><sup>1</sup> <b>Fan Liu</b><sup>2</sup> <b>Yupeng Hu</b><sup>1</sup> <b>Liqiang Nie</b><sup>3</sup> </p>
<p> <sup>1</sup>Shandong University<br> <sup>2</sup>Southeast University<br> <sup>3</sup>Harbin Institute of Technology (Shenzhen) </p> </div>
These are the official implementation resources, model weights, and prediction files for ChartLens, the champion solution for DataMFM Challenge Track 2: Chart Understanding at CVPR 2026.
๐ Paper: ChartLens: A Dual-Branch Framework for Chart Data Correction and Factual Summary Refinement ๐ GitHub Repository: iLearnLab/CVPRW26-ChartLens ๐ Challenge Page: DataMFM Challenge
๐ Model Information
1. Model Name
ChartLens: A Dual-Branch Framework for Chart Data Correction and Factual Summary Refinement
2. Task Type & Applicable Tasks
- Task Type: Chart Understanding / Multimodal Document Understanding
- Applicable Tasks: Chart-to-CSV extraction and chart-to-summary generation from chart images.
3. Project Introduction
Chart understanding requires models to recover structured chart data and generate faithful natural-language summaries from chart images. ChartLens addresses these complementary goals with a dual-branch, verification-guided correction framework.
๐ก Method Highlight: ChartLens combines Granite-Vision-4.1-4B LoRA adaptation with two correction branches: Structure-Aware CSV Verification and Correction (SAVC) for reliable table recovery, and Text-Retention-Guided Summary Refinement (TRSR) for OCR-assisted factual summary repair. SAVC checks structure, completeness, and numerical accuracy, while TRSR preserves visible chart text such as titles, legends, annotations, sources, and numerical evidence.
4. Training Data Source
- Released ChartNet-based training data for LoRA adaptation.
- DataMFM Challenge chart understanding splits, including
realandsyntheticchart images.
5. Challenge Results
ChartLens ranked 1st place on DataMFM Challenge Track 2.
๐ Usage & Basic Inference
Step 1: Prepare the Environment
Clone the GitHub repository and set up the Conda environment:
git clone https://github.com/iLearnLab/CVPRW26-ChartLens.git
cd CVPRW26-ChartLensconda create -n chartlens python=3.10 -y
conda activate chartlens
pip install -r requirements.txtStep 2: Data & Weights Preparation
- Challenge Data: Use the datasets and splits released by the DataMFM Challenge. The chart understanding track contains
realandsyntheticsplits. - ChartLens Checkpoints: Download the model weights from this Hugging Face repository.
- Granite Vision Backbone: Prepare the Granite-Vision-4.1-4B backbone and update the local
--model_pathargument when running inference.
To prepare ChartNet SFT data for LoRA training:
python code/load_chartnet_500.py \
--out_dir Fine-tuning/Dataset/raw \
--num_samples 500
python code/build_chartnet_sft.py \
--gt_path Fine-tuning/Dataset/raw/gt.jsonl \
--image_dir Fine-tuning/Dataset/raw/images \
--out_dir Fine-tuning/Dataset/sft \
--csv_repeat 2 \
--summary_repeat 1Step 3: Run Granite Vision + LoRA Inference
python code/infer_granite_with_lora.py \
--image_root /path/to/data \
--out_root /path/to/output \
--model_path /path/to/granite-vision-4.1-4b \
--lora_path /path/to/chartlens_lora \
--gpu_id 0 \
--splits real syntheticUse code/infer_chartnet_granite.py for base Granite Vision inference without a LoRA adapter.
๐โญ๏ธ Citation
If you find this project useful for your research, please consider citing:
@article{liu2026chartlens,
title={ChartLens: A Dual-Branch Framework for Chart Data Correction and Factual Summary Refinement},
author={Liu, Hao and Cao, Ruping and Wang, Kun and Li, Zhiran and Liu, Fan and Hu, Yupeng and Nie, Liqiang},
journal={arXiv preprint arXiv:2606.10640},
year={2026}
}