🔬 SciFigBench
Evaluating VLMs' Understanding of Scientific Method Figures.
News · Overview · Quick Start · License & Citation
🔥 News
- [Oct. 20, 2026] 🎉 SciFigBench is officially released! Following a second round of human verification, we further strengthened the benchmark's reliability and revised approximately 5.8% of its reference answers.
- [Aug. 21, 2026] 🎉 Our paper, SciFigBench: A Benchmark for Scientific Method Figure Understanding, was accepted to EMNLP 2026 Main Conference!
- [May 26, 2026] 📝 We submitted SciFigBench to the May 2026 ARR cycle, targeting EMNLP 2026.
👋 Overview
SciFigBench is a diagnostic benchmark for evaluating Vision-Language Models (VLMs) on scientific method figure understanding. It consists of 4,352 real-world scientific method figures and 40,670 QA pairs, organized into five fine-grained tasks across three core capabilities: Dense Content Perception, Visual Relation Comprehension, and Information-Flow Tracing.
By separately evaluating text recognition, arrow-induced structural relations, and information-flow reasoning, SciFigBench helps identify where VLMs struggle to understand scientific method figures.
Five diagnostic tasks across three complementary capabilities.
| Task | Evaluation Focus | QA Pairs | Metric |
|---|---|---|---|
| Dense Content Perception | Reading text across highlighted regions | 8,367 | Position-wise ANLS |
| Edge-Level Verification | Verifying directed edges between nodes | 8,665 | Accuracy |
| Node-Level Degree Counting | Counting incoming or outgoing edges | 7,848 | Accuracy |
| Path-Level Reachability | Reasoning about directed paths | 8,144 | Accuracy |
| Information-Flow Tracing | Tracing direct neighbors through text and connections | 7,646 | Set-based ANLS* |
| Total | 40,670 |
SciFigBench also provides human-verified content and structural annotations for further research. The full dataset is available on Hugging Face.
Note on reported results. The paper reports results on an earlier QA version. Retrospective evaluations show modest score changes, with relative model performance trends and main conclusions remaining largely consistent.
🚀 Quick Start
🤖 Using a Coding Agent? Follow AGENTS.md to quickly set up SciFigBench and evaluate your VLM with tools like Codex, Claude Code, or Cursor.
1. Installation
Install SciFigBench from source:
git clone https://github.com/LeNcyer/SciFigBench.git
cd SciFigBench
pip install .
Install via PyPI:
pip install scifigbench
2. One-call Evaluation
Provide your own callable VLM (model(prompt, image) -> str). SciFigBench automatically handles data downloading, input rendering, model inference, and evaluation.
from scifigbench import SciFigBench
model = MyVLM(...) # Your callable VLM
# Quick Test (default): 5 QA per task, up to 25 calls.
# Partial scores only, NOT official benchmark results.
result = SciFigBench(model=model)
print(result.scores)
# Full Evaluation: all 40,670 QA pairs.
# WARNING: May incur substantial API costs.
result = SciFigBench(
model=model,
max_samples_per_task=None,
confirm_full_run=True,
)
print(result.scores)
For advanced configuration and resuming evaluations, see AGENTS.md.
3. Download the Dataset
The benchmark dataset is hosted on Hugging Face. Download the QA pairs and images from the latest public version:
from huggingface_hub import snapshot_download
snapshot_download(
repo_id="LeNcyer/SciFigBench",
repo_type="dataset",
revision="main", # Latest public version; this branch can change.
local_dir="./data",
allow_patterns=["QA/*", "images/*.jpg", "checksums.sha256"],
)
The toolkit also supports dataset downloads:
scifigbench download --repo-id LeNcyer/SciFigBench --revision main --data-root ./data
4. Run Your VLM
Use your preferred VLM to answer the benchmark questions. SciFigBench provides the official prompts and a rendering utility for generating query-specific visual inputs.
import json
from scifigbench import prepare_model_payload
with open("data/QA/qa_edge_level_verification.jsonl", encoding="utf-8") as f:
qa = json.loads(next(f))
payload = prepare_model_payload(qa, data_root="./data")
# Pass payload["prompt"] and payload["image"] to your VLM.
Save your model's raw responses as a JSONL file, with one prediction per line:
{"qid": "cf32f75bc3d9", "response": "true"}
{"qid": "0aaf24e73a36", "response": "1"}
Expected answer text by task:
| Task | Model output format |
|---|---|
| Dense Content Perception | JSON list of strings, in query color order |
| Edge-Level Verification | true or false |
| Node-Level Degree Counting | Integer |
| Path-Level Reachability | true or false |
| Information-Flow Tracing | JSON list of strings |
5. Evaluate Predictions
Evaluate all five tasks using the official SciFigBench metrics:
scifigbench evaluate \
--predictions predictions.jsonl \
--task all \
--data-root ./data
For additional commands and Python API details, refer to AGENTS.md or run scifigbench --help.
✍️ License & Citation
The SciFigBench Evaluation Toolkit is released under the MIT License. See LICENSE.
If you find our work helpful, please use the following citation.
@inproceedings{wu2026scifigbench,
title = {SciFigBench: A Benchmark for Scientific Method Figure Understanding},
author = {Wu, Lijia and Li, Zheng and Liu, Yuxuan and Zhang, Jingwen and Zhao, Penghai and Li, Xiang},
booktitle = {Proceedings of the 2026 Conference on Empirical Methods in Natural Language Processing},
year = {2026},
eprint = {2610.27087},
archivePrefix = {arXiv},
url = {https://arxiv.org/abs/2610.27087}
}
Metadata
Release files for scifigbench 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| scifigbench-0.1.0.tar.gz | 62.7 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| scifigbench-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 104.1 kB
Release files / scifigbench-0.1.0.tar.gz
| Download URL | scifigbench-0.1.0.tar.gz |
|---|---|
| Size | 62.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4cac6be60d9bf27628b51e4731e8903a7908a6b33d66cb93bc8a722c33162381
|
|
BLAKE2b-256 checksum How to use checksums |
dd47f06ac3f88fef998822d246e43f46ea26ec7bd9388c1666acdd903023e3e9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 22, 2026.
Transparency logRelease files / scifigbench-0.1.0-py3-none-any.whl
| Download URL | scifigbench-0.1.0-py3-none-any.whl |
|---|---|
| Size | 41.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1ec235b93fe5f85d3cc1d2a46996d68f7e8d324edb3f8b4a0b074b34b728d9ab
|
|
BLAKE2b-256 checksum How to use checksums |
512d1ea55701ded39d19c0648cdbc2a2943f81f57dd873dcba111bd571146100
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 22, 2026.
Transparency logSecurity for scifigbench 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for scifigbench-0.1.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 22, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.