binga/kaggle-museumscat

Modal research workflow and Unlimited-OCR baseline for MuseumSCAT @ CVNH ECCV26

0

stars

18

commits

Python

primary language

Jul 30, 2026

updated

README

MuseumSCAT — Unlimited-OCR baseline

Research repository for the MuseumSCAT: Specimen Collection Annotation Task @ CVNH ECCV26.

The first baseline uses baidu/Unlimited-OCR to transcribe each specimen-label image into the required verbatimDate, verbatimLocality, and confidence fields.

Guardrails

  • All experiments run on Modal. Local code only launches jobs and reads artifacts.
  • No Kaggle submission is made by default.
  • submit-lb requires an explicit --allow-lb-submit flag and a separate approval checkpoint.
  • Kaggle/Hugging Face credentials are read from Modal Secrets; never commit credentials or data.

Competition data

The competition provides train.csv (200 labeled examples), test.csv (3,300 image filenames), and images/ (3,500 JPEG images). The submission columns are:

image_file,verbatimDate,verbatimDate_confidence,verbatimLocality,verbatimLocality_confidence

Setup

Create a Modal Secret named museumscat-secrets containing KAGGLE_USERNAME, KAGGLE_KEY, and optionally HF_TOKEN. Then install the project locally:

uv sync

The first Modal run downloads the competition data and caches the model on a persistent Modal Volume.

Workflow

uv run modal run modal_app.py::prepare
uv run modal run modal_app.py::microcv --n-samples 32
uv run modal run modal_app.py::baseline
uv run modal run modal_app.py::download_artifact --artifact submission_unlimited_ocr.csv

The submit-lb function is intentionally protected and must not be run before approval:

uv run modal run modal_app.py::submit_lb --artifact submission_unlimited_ocr.csv --allow-lb-submit

See docs/research_workflow.md for the MicroCV → Modal experiment → LB-probe protocol.

Contributors

binga

18 commits

binga/kaggle-museumscat

Modal research workflow and Unlimited-OCR baseline for MuseumSCAT @ CVNH ECCV26

0

stars

18

commits

Python

primary language

Jul 30, 2026

updated

README

MuseumSCAT — Unlimited-OCR baseline

Research repository for the MuseumSCAT: Specimen Collection Annotation Task @ CVNH ECCV26.

The first baseline uses baidu/Unlimited-OCR to transcribe each specimen-label image into the required verbatimDate, verbatimLocality, and confidence fields.

Guardrails

  • All experiments run on Modal. Local code only launches jobs and reads artifacts.
  • No Kaggle submission is made by default.
  • submit-lb requires an explicit --allow-lb-submit flag and a separate approval checkpoint.
  • Kaggle/Hugging Face credentials are read from Modal Secrets; never commit credentials or data.

Competition data

The competition provides train.csv (200 labeled examples), test.csv (3,300 image filenames), and images/ (3,500 JPEG images). The submission columns are:

image_file,verbatimDate,verbatimDate_confidence,verbatimLocality,verbatimLocality_confidence

Setup

Create a Modal Secret named museumscat-secrets containing KAGGLE_USERNAME, KAGGLE_KEY, and optionally HF_TOKEN. Then install the project locally:

uv sync

The first Modal run downloads the competition data and caches the model on a persistent Modal Volume.

Workflow

uv run modal run modal_app.py::prepare
uv run modal run modal_app.py::microcv --n-samples 32
uv run modal run modal_app.py::baseline
uv run modal run modal_app.py::download_artifact --artifact submission_unlimited_ocr.csv

The submit-lb function is intentionally protected and must not be run before approval:

uv run modal run modal_app.py::submit_lb --artifact submission_unlimited_ocr.csv --allow-lb-submit

See docs/research_workflow.md for the MicroCV → Modal experiment → LB-probe protocol.

Contributors

binga

18 commits

Languages

Python

100.0%