AI & LLM · camera.edgeCI passing
Real-Time Video Intelligence
Camera analytics on one CPU core: tracking, line counts, intrusions, left bags and wrong-way vehicles.
Open the live demo View the code Evaluation report Demo tour Run it ›_ last push 2 days ago
0.815 / 0.757MOTA / IDF1 on held-out scenes (centroid tracker: 0.788 / 0.595)
0.98 / 0.92precision / recall counting line crossings with direction
25-59 fpson one CPU core at 640x360, with lighting changes, shake and noise
demo Demo tour
Screenshots from the running application, with its synthetic demo data. Select one to enlarge.
01 The problem
Security cameras produce hours of footage nobody watches. Useful alerts (someone in a restricted area, a bag left behind, a car against the flow) must arrive in seconds, survive lighting changes and camera shake, and run on ordinary hardware.
02 How it works
- Frame
- Stabilise and normalise lighting
- Background model and blobs
- Kalman + Hungarian tracker
- Alert rules
- Store, dashboard, questions
03 What I built
- A pipeline on OpenCV: stabilisation, lighting normalisation and a background model at half resolution; a Kalman filter per track with Hungarian assignment; a dual-rate background model that keeps still people tracked and finds newly left objects.
- Alert rules for line crossings with direction, zone intrusion, loitering, abandoned objects and wrong-way vehicles; a live runner that drops frames rather than delaying alerts; a dashboard and API.
- Claude answering questions about the alerts through strict query tools, and an evaluation on rendered scenes with exact ground truth, with development, three validation rounds and an untouched test set.
04 What I learned
Each validation round exposed a real failure the development scenes never exercised: people sitting still faded into the background, camera shake created phantom left bags once stabilisation was off, and loitering counted tracked frames instead of time.
The Kalman tracker barely moved MOTA over a centroid tracker (+0.03) but raised IDF1 from 0.60 to 0.76, which is what made crossing counts right.
05 Known limitations
Every repository documents what it doesn't do yet. The main ones:
- Rendered scenes, not real footage: no shadows, reflections or perspective.
- Loitering found 3 of 8 times on the test scenes; reported rather than tuned away.
06 Stack
PythonOpenCVNumPySciPyClaude APIFastAPI
The repository has the design document, operations runbook, full evaluation report and known limitations. All data is synthetic, generated by code in the repository.
run Run it yourself
Every project runs on a laptop: no cloud account and no paid API needed.
git clone https://github.com/codeROCK-IZZY/video-intelligence-platform.git
cd video-intelligence-platform
pip install -e ".[dev]" && pytest
vidint evaluate --gate # writes eval/reports/report.html