Back to feed

simoncirstoiu/alice

simoncirstoiu/alice
255
+41/day
27
JavaScript

Analyse · 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