BOTHROS — Linear A & Linear B sign reading from photographs
Weights for the BOTHROS pipeline: photograph an ancient Aegean tablet, get the signs on it by catalogue code and reading.
🤗 Try the live demo — no install, upload a photo.
The name — a bóthros (βόθρος) is the pit Odysseus digs in the Odyssey, pouring libations so the spirits of the dead rise to speak with him. Apt for a tool that reads scripts silent for three thousand years.
yolo_aegean_unified.pt— one YOLO11s detector localising signs for both scripts (sign detection is class-agnostic; Linear A and Linear B signs are visually cognate).la_classifier.pth/lb_classifier.pth— ConvNeXt-Tiny classifiers (AB-codes for Linear A; B-codes + readings for Linear B).lb_class_to_reading.json— Linear B B-code → phonetic reading map.
Results (held-out, leak-free)
| metric | Linear A | Linear B | DeepScribe (cuneiform ref) |
|---|---|---|---|
| classifier oracle top-1 | 79.3% | 64.5% | 74% |
| pipeline E2E sign top-1 | 68.7% | 63.8% | 56.3% |
| pipeline per-line F1 | 64.9% | 76.5% | — |
| CER (lower better) | ~0.48 | 0.44 | 0.669 |
Cross-script: a Linear-B-only detector reads Linear A at 60.7% F1 zero-shot — the
basis for shipping one unified aegean-unified detector for both scripts.
Benchmark vs release weights
Two sets ship here. Benchmark (yolo_aegean_unified.pt, la_classifier.pth,
lb_classifier.pth) — strict held-out split; the numbers above are theirs; use these
to reproduce/compare. Release (*_release) — retrained on the full data incl.
the held-out split: max capability + broader coverage (LB 148 vs 142 classes), but
NOT benchmarkable (they have seen the test tablets — cite the benchmark numbers,
not these). Fetch with download_weights.py --release; run with bothros read … --release.
Usage
pip install bothros # or: pip install -e . from the GitHub repo
python3 scripts/download_weights.py
python3 -m bothros read your_tablet.jpg --script la # or --script lb
Licence
CC BY-NC-SA 4.0 — derived from research-only corpora: lineara.xyz + GORILA (Linear A images), SigLA + lineara.xyz (Linear A sign boxes + AB-code catalogue), DĀMOS + LinearBExplorer (Linear B). The pipeline source code is MIT (see the GitHub repo). Non-commercial use only.
Citation
DOI 10.5281/zenodo.20746759 · code + docs: https://github.com/jmacdonald263/bothros