- Status
- Research
- Version
- 0.1.0
- Platform
- Desktop app
- License
- Not specified
Small annotation teams need labeling, model-assisted pre-annotation, review and export in one local tool, with priority given to the images the model is least sure about.
How it is put together.
LABELOX is a PyQt6 desktop annotation app for computer vision datasets, aimed at small teams of 2 to 5 annotators working on autonomous vehicle, robotics and surveillance data. It offers box, polygon, SAM-assisted mask, polyline, keypoint, 3D cuboid and classification tools, plus YOLOv8 auto-annotation, CLIP similarity search, an active-learning queue and a review/QA workflow. Business logic lives in a UI-free core package backed by SQLite; a web version is planned but not implemented.
- 1
Shared core
UI-free business logic: annotation CRUD, exporter, importer, validator, review engine, stats
core/ - 2
AI engines
YOLOv8 auto-annotator, SAM engine, CLIP similarity engine, scene classifier, active learner, IoU tracker
core/ - 3
Database
SQLAlchemy ORM over SQLite (data/labelox.db or $DATABASE_URL)
core/database.py - 4
Desktop app
AppState, main window, theme and background QThread workers
desktop/ - 5
UI widgets
Annotation canvas, image browser, timeline, review, analytics, similarity, export dialogs
desktop/widgets/ - 6
Web app (planned)
FastAPI backend and React frontend; architecture defined, implementation pending
web/
Specification.
- Annotation tools
- Bounding box, polygon, smart polygon, SAM mask, polyline, keypoint, 3D cuboid, classification
- Auto-annotation
- YOLOv8 batch inference, five model sizes, custom .pt models
- Interactive segmentation
- SAM click-to-mask with positive and negative clicks
- Similarity search
- CLIP embeddings with a FAISS index; label transfer from similar images
- Active learning
- Smart queue ranked by detection uncertainty and CLIP novelty
- Review and validation
- Approve / Reject / Needs Work; six automated quality checks
- Export formats
- YOLO, COCO JSON, CVAT XML, Pascal VOC, CSV
- Import formats
- YOLO, COCO JSON, CVAT XML, Pascal VOC, ROVIX video session
- Runs on
- PyQt6 desktop app launched with python3 desktop/main.py; web app is planned only