simoncirstoiu/alice
simoncirstoiu/aliceAnalyse · Learn · Ingest · Curate · Export — AI-powered YOLO dataset management toolkit
From the README
ALICE Analyse · Learn · Ingest · Curate · Export All-in-one AI-powered image annotation, training, and dataset management toolkit.
Works on both NVIDIA GPU and CPU.
ALICE automatically detects your hardware — if no compatible GPU is found, it falls back to CPU mode. No manual configuration needed.
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. I couldn't find anything on the internet (or if it existed, I was probably too drunk to find it), so I built my own utility to fit my needs. If you find it useful — enjoy. If not, well... cry me a river! :)
Quick Start
# Build and set up virtual environment
python3 builder.py
# Run
./alice.py
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. On Debian/Ubuntu, the builder will auto-install python3-venv if missing.
On first run, a welcome page guides you through initial setup — hardware detection, model download, and dependency installation. Open ** and follow the steps.
# Options
./alice.py --port 9090 # custom port
./alice.py --conf /path/to/alice.conf # custom config path
Docker
python3 builder.py --no-venv
The builder generates docker-compose.yml automatically, depending on your configured hardware (GPU or CPU).
Edit the volume paths to match your Frigate setup, then:
docker compose up --build -d
See Docker Setup below for details.
Features
Viewer — Dataset Mode
Browse and annotate YOLO bounding boxes with a full canvas editor — draw, resize, move, delete, undo. Filter by split (train / val / empty) or by class. Gallery grid view, keyboard shortcuts, right-click context menus.
Gallery & Dataset Stats
Gallery grid view with thumbnail previews, split badges, and box counts. Dataset statistics panel shows total images, train/val distribution, annotation coverage, and class distribution.
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. Seekbar, step controls, adjustable playback FPS. Automated frame scanner with AI detection for batch export.
AI Analysis
Run YOLO inference on any image across all three modes. Merge detected boxes into annotations (dedup by IoU > 0.5). Preview mode shows detections without saving. Live detection auto-runs as you navigate.
Training Pipeline
Five-step pipeline — each step to