ALICE - Analyse · Learn · Ingest · Curate · Export
https://github.com/simoncirstoiu/alice
Why?
I needed a tool to train a YOLO model for my cameras, using my own images, with the specific angles and scenarios around my house.
The builder assembles alice.py from source modules, creates a .venv with base dependencies, and patches the shebang so ./alice.py uses the venv automatically.
Notable Features
Viewer — Dataset Mode
Browse and annotate YOLO bounding boxes with a full canvas editor.
Gallery & Dataset Stats
Gallery grid view with thumbnail previews, split badges, and box counts.
-
Duplicate Detection
Perceptual hashing (pHash) with DCT-based 64-bit hashes. Multiprocessing-accelerated computation. Side-by-side comparison. Box-similarity dedup per camera. NMS cleanup for overlapping same-class boxes. -
Viewer — Live Mode
Browse Frigate NVR event snapshots in real-time. Filter by camera and time window. Transfer snapshots directly into your training dataset with automatic WebP → JPG conversion. -
Viewer — Video Mode
Frame-by-frame analysis of Frigate video exports. -
AI Analysis
Run YOLO inference on any image across all three modes. Merge detected boxes into annotations.
Training Pipeline -
Training
Five-step pipeline — each step toggleable, runnable individually or as a sequence:
- Export Extract snapshots from Frigate SQLite DB → 90/10 train/val split
- Dedup Remove duplicates via pHash, box similarity, and NMS cleanup
- Annotate Auto-label all images using a teacher model
- Train Fine-tune student model with real-time metrics (loss, mAP50, mAP50-95)
- Export ONNX Convert to ONNX for deployment (FP16/32, dynamic batch/etc)