Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
cv-kart
Kart lap timing from a phone camera. Put a phone on a tripod by the finish line, scan a QR code — the phone streams video to your computer over Wi-Fi, and the app detects every line crossing, tells the karts apart and counts laps live.
▶ Demo video: English · Русский
(also in the repo: docs/media/)
Features
- Phone as the camera — no app to install: the phone opens a page from the QR code and streams over WebRTC (local network, HTTPS with a self-signed certificate).
- Finish line in two clicks on a reference frame; camera shake is stabilized.
- Crossing time to the frame (a “light barrier” along the line, sub-frame interpolation).
- Kart identification by appearance within a heat; you name each kart once from its picture.
- Laps by kart with links to the passes behind every lap; fix a pass (other kart / exclude) and export to CSV.
- Offline: models and everything else ship with the app. UI in English and Russian.
- Demo mode: upload your own video instead of a phone.
| Dashboard | Laps by kart |
|---|---|
| Phone page | Installer |
|---|---|
Install (Windows)
Download cv-kart-<version>-x64.msi from Releases, run it, keep “Launch cv-kart” checked.
The browser opens the dashboard with a QR code; scan it with a phone on the same Wi-Fi,
accept the certificate warning once and tap “Start streaming”. Then: “Capture reference
frame” → “Draw the line” → enter kart numbers → “Start heat”.
The installer follows the Windows language (English / Russian) and lets you pick the program language. It is not code-signed, so Windows shows an “unknown publisher” prompt.
Run from source (macOS / Linux)
./start.sh # creates .venv (Python 3.11), installs v2/requirements.txt, opens the dashboard
Dashboard: http://localhost:8078/live · phone: HTTPS on port 8443 via the QR code.
Repository
v2/ current app
app/ server (FastAPI), live engine, phone WebRTC, i18n, desktop launcher
cvk/ pipeline: stabilization, light barrier, events, crops, identity, laps
web/ dashboard and phone pages (no build step)
models/ resnet18_features.onnx — appearance model (OpenCV DNN)
packaging/windows MSI build (PyInstaller + WiX 3), see its README
tools/ evaluation against hand labels, e2e test bench, demo recording
data/gt/ hand-labelled crossings used for evaluation
legacy/v1-sept/ first iteration (kept for reference), incl. its trained YOLO model
docs/media/ screenshots and demo videos
The source recording used for evaluation is not included (private footage). Developer notes (Russian): v2/README.md.