Roadmap¶
The roadmap stays flexible and is driven by actual scientific users. A strong signal for investing more development time is: another research group independently wants to use AnnoTrain.
Current status¶
Completed:
- [x] Project name and tagline selected
- [x] Git repository initialized on
main, connected to GitHub - [x] Initial directory structure (
backend/,frontend/,docs/,data/) - [x]
.gitignore, README, and this documentation site
Next up — AnnoTrain Backend v0.1:
- [ ] Create a Python virtual environment inside
backend/ - [ ] Install FastAPI and Uvicorn
- [ ] Implement
GET /healthreturning{"status": "ok"} - [ ] Run the API locally
- [ ] Document the first backend milestone
Version progression¶
V0 — Project foundation. Clean, documented, version-controlled project.
V0.1 — Minimal backend. Python + FastAPI + Uvicorn, first endpoint GET /health.
V0.2 — Minimal annotation workflow. Load an image, choose Animal / No animal / Unsure, save annotation, show next image.
V0.3 — Persistent database. Introduce PostgreSQL to store projects, media, contributors, and annotations.
V0.4 — Classroom-ready prototype. Support ~40 simultaneous students: anonymous contributor IDs, project/session links, annotation progress, basic consensus, web thumbnails, robust deployment.
V1 — Generic classification projects. Researchers create their own classification projects without touching source code: project creation, image import, class configuration, binary/multiclass tasks, public/unlisted projects, exports.
V2 — Dataset quality and versioning. Multiple annotations per image, consensus, disagreement review, DatasetVersion, train/validation/test splitting.
V3 — Deep-learning training. Training jobs, pretrained image backbones, evaluation, confusion matrices, ModelVersion, prediction visualization.
V4 — Human-in-the-loop. Model pre-annotations, Accept / Correct / Reject, uncertainty, active-learning queues.
V5 — Spatial annotations. Progressively: points, bounding boxes, segmentation, lines/paths, with derived annotations generated automatically where possible.
V6 — Open model/dataset sharing. Model cards, reproducible training configurations, dataset/model downloads, external publishing integrations.
V7 — Tracking/video. Only after the simpler workflows are mature.
Milestones¶
November 2026 — a classroom-ready participatory binary classification workflow works reliably (see use cases).
End of 2026 — another researcher can create a classification project without source-code modifications.
2027 — progressively add spatial annotations, segmentation, existing-model inference, automated training, model sharing, and active learning.
Initial dataset candidate¶
Camera-trap images are a good first pedagogical dataset because the task is intuitive. A useful candidate is the Caltech Camera Traps dataset distributed through LILA BC. For development, AnnoTrain uses only a small subset rather than an entire large dataset — even 50–100 local images are enough for a first technical prototype.