TL;DR

ALICE (Analyse · Learn · Ingest · Curate · Export) là toolkit open-source của Simon Cirstoiu, đóng gói toàn bộ workflow train YOLO cho camera cá nhân vào một web UI chạy tại localhost:8080. Nó hút snapshot trực tiếp từ Frigate NVR, dedup bằng pHash DCT 64-bit, auto-annotate bằng teacher model, fine-tune student model với live metrics, rồi export ONNX — trên cùng một máy, không cần cloud, không cần chuyển dữ liệu đi đâu. Latest release: v0.6.0 (April 2026). License: PolyForm Noncommercial 1.0.0.

Giao diện viewer của ALICE với bounding box trên footage camera

Có gì mới

Phần lớn OSS tool cho YOLO chỉ giải quyết một khúc trong pipeline: CVAT / Label Studio lo annotation, Ultralytics CLI lo train, các script riêng lẻ lo export ONNX. Người dùng phải tự stitch các mảnh lại, và với ai đang chạy Frigate NVR ở nhà thì bước khó nhất — trích snapshot từ Frigate, lọc trùng, đưa về format YOLO — gần như không có tool nào lo hộ.

ALICE được thiết kế để bịt đúng khoảng trống đó. Tác giả viết rõ trong README: "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." Thay vì học 5 công cụ, bạn bấm qua lại giữa 3 viewer mode (Dataset / Live / Video) trong cùng một UI, rồi trigger pipeline 5 bước bằng một nút duy nhất.

Facts kỹ thuật

Pipeline 5 bước (mỗi bước bật/tắt hoặc chạy riêng, log chung vào tab Logs):

Training Pipeline với 5 bước: Export, Dedup, Annotate, Train, Export ONNX

#BướcLàm gì
1ExportPull snapshot mới nhất từ Frigate DB, round-robin theo camera, split 90/10 train/val
2DeduppHash DCT 64-bit (multiprocessing) + box-similarity per-camera + NMS cleanup
3AnnotateAuto-label bằng teacher model, merge box theo IoU > 0.5
4TrainFine-tune student model, live metrics: loss, mAP50, mAP50-95
5Export ONNXFP16+FP32 trên GPU, FP32-only trên CPU
  • Model hỗ trợ: YOLOv8 và YOLO11, tải qua Settings UI.
  • Auto device detect: thấy NVIDIA GPU thì tự cài PyTorch CUDA + onnxruntime-gpu, không thì CPU build. Override thủ công tại Settings → System → Device.
  • Stack: Python 45.7% + JavaScript 46.1%. Deps: Pillow, NumPy, OpenCV, PyTorch, ONNX/onnxslim, Ultralytics, inotify.
  • 3 viewer mode: Dataset (canvas annotation editor, filter theo train/val/empty & class, keyboard shortcut), Live (Frigate event snapshot, auto-convert WebP→JPG), Video (frame-by-frame trên Frigate video export với seekbar + playback speed).
  • Stats panel: total images, tỉ lệ train/val, annotation coverage, class distribution.
  • GitHub: 187 sao, 21 fork, 7 release tính tới v0.6.0.

Gallery view với Dataset Statistics: total, train, val, annotated, total boxes, class distribution

So sánh nhanh

Tiêu chíALICECVAT / Label StudioRoboflow
Annotation UI✅ Canvas editor✅ Mạnh✅ Mạnh
Frigate NVR ingest✅ Native
pHash dedup✅ Built-inPartial
Train + ONNX export✅ Trong cùng UI❌ Phải ghép ngoài✅ (trên cloud)
Self-hosted, dữ liệu ở nhà❌ (cloud)
GiáFree (noncommercial)FreeSubscription

Điểm khác biệt lớn nhất: ALICE là công cụ duy nhất trong nhóm này tích hợp sẵn Frigate NVR và gộp cả 5 bước (ingest → dedup → annotate → train → ONNX) vào một UI cục bộ.

Dedup thông minh — điểm mạnh riêng

Với camera giám sát, 90% frame là gần-như-trùng (xe đậu cả ngày, bóng nắng di chuyển chậm). Dedup không tốt thì dataset phình to, train lâu, model bias vào vài cảnh lặp. ALICE dùng 3 lớp dedup:

  1. pHash DCT 64-bit — loại image trùng visually (multiprocessing để scan nhanh).
  2. Box-similarity per camera — loại annotation gần trùng trong cùng một camera.
  3. NMS cleanup — gộp box cùng class chồng lên nhau.

Duplicate Detection UI với similarity threshold 90% và Find Similar Images

Use case

  • Chủ nhà chạy Frigate: train detector riêng cho góc camera của mình (người nhà, xe nhà, shipper, thú cưng) thay vì dùng model COCO generic.
  • Edge device owner: export ONNX tuned về Frigate chạy qua ONNX/OpenVINO/Coral/Rockchip/Hailo detector.
  • Hobbyist CV: biến raw video thành dataset train xong trong 1 UI, không phải ghép 5 tool.
  • Team nhỏ: 1 workstation + 1 GPU NVIDIA là đủ.

Hạn chế & pricing

  • License: PolyForm Noncommercial 1.0.0 — free cho cá nhân/phi thương mại. Thương mại liên hệ alice@it-link.net.
  • Không tự cài NVIDIA driver hay CUDA — phải setup riêng nếu muốn GPU train.
  • Yêu cầu Python 3.8+.
  • CPU mode chạy được nhưng train chậm; ONNX trên CPU chỉ FP32.
  • Single-node — không distributed training, không dataset versioning trên cloud.
  • Gắn chặt với Frigate cho ingest: user không dùng Frigate mất giá trị Live/Video mode (Dataset mode vẫn dùng được với format YOLO chuẩn).
  • Dự án còn sớm (v0.6.0, ~187 sao) — expect rough edges.

Thử nhanh

Local install:

python3 builder.py   # tạo alice.py + .venv + docker-compose.yml
./alice.py           # chạy tại http://localhost:8080

Docker: builder tự sinh docker-compose.yml có detect GPU. GPU acceleration cần NVIDIA Container Toolkit trên host.

Nguồn: github.com/simoncirstoiu/alice, Frigate object detectors docs, post giới thiệu gốc trên X.