Chart-to-Text: CNN-RNN vs Vision-Language Models

Published:

Problem

Automatic captioning of statistical charts is a stress test for vision-language models: charts encode quantitative relationships that are easy for humans to read but hard for models to verbalize accurately. The question we asked: do modern VLMs decisively beat a tuned CNN-RNN baseline, or is the gap smaller than the marketing suggests?

Approach

  • Preprocessed 27k+ Statista chart images and extracted visual features.
  • Built an encoder–decoder pipeline in PyTorch; established a baseline with ResNet-50 as encoder and a single-LSTM decoder.
  • Swapped the encoder to EfficientNet-B2 for stronger feature extraction at lower parameter count.
  • Replaced the decoder with a dual-LSTM with coverage attention to reduce repetition and improve coverage of chart elements.
  • Compared the resulting system against modern vision-language models on a held-out subset.

Results

  • BLEU-4 improved from 0.18 → ~0.50 vs. the CNN-RNN baseline — nearly tripled caption quality on the same chart set.
  • Tuned CNN-RNN remained competitive with VLMs on numerical-fact captions, which informed the writeup’s analysis of where VLMs do (and don’t) add value.

Tech stack

Python · PyTorch · EfficientNet-B2 · ResNet-50 · LSTM · coverage attention · BLEU · Statista dataset