Per-bar numerical value recovery from vertical bar chart images. A self-supervised I-JEPA encoder (ViT-H, finetuned on synthetic bar charts) produces feature maps consumed by a lightweight keypoint decoder. The decoder outputs heatmaps for bar corners, value-axis ticks and the coordinate origin, which are post-processed with NMS, OCR and RANSAC regression to recover numerical bar values.
The encoder is frozen during decoder training. Variable-resolution inputs follow the Pix2Struct aspect-ratio-preserving scaling strategy.
Checkpoints
Download checkpoints and place them in ./output/. The ViT-H base checkpoint (IN1K-vit.h.14-300e.pth.tar) must also be present there before encoder finetuning.
1python bar-jepa/main.py --mode eval\2 --fname bar-jepa/configs/eval/classic_arp.yaml --devices cuda:0
34# Run all five configurations at once:5python scripts/run_all_evals.py
Vertical bar charts only; no stacked bars, error bars or 3D effects.
OCR (PaddleOCR latin_PP-OCRv5_mobile_rec) is an external dependency for tick label reading.
Encoder operates in latent space only, making integration with multimodal language models non-trivial.
Citation
bibtex
1@inproceedings{poonam2026bar-jepa,
2 title = {Bar-JEPA: Extracting Values from Bar Chart with Joint-Embedding Predictive Architecture},
3 author = {Poonam, Poonam and Epple, Alexander and Ropinski, Timo},
4 booktitle = {ICDAR},
5 year = {2026}
6}