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

▶ 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
dashboard laps
Phone page Installer
phone 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.

S
Description
Kart lap timing from a phone camera — WebRTC stream, line-crossing detection, laps by kart, Windows MSI (EN/RU)
Readme
80 MiB
0 Stars 1 Watchers 0 Forks
cv-kart 1.1.0
Latest
2026-10-24 14:56:16 +03:00
Languages
Python 71.6%
HTML 24.9%
PowerShell 2.3%
Shell 1.2%