A FastAPI-based smart camera platform. Detection and tracking run directly on the camera's onboard AI accelerator (not the host CPU), and the app serves a live dashboard over HTTP.
| Mode | What it does |
|---|---|
| Preview | Clean video passthrough, no processing |
| Object Detection | 80-class object detector, confidence threshold + include/exclude class filters (see the Detection Classes page for the full list) |
| People Tracking & Dwell Time | Persistent per-person tracking (people only), dwell-time timer shown on each bounding box, zone-based "people in area" occupancy count |
| Face Detection | Onboard face detector |
| Edge Detection | Sobel edge filter, no neural net |
python app.py, or run_supervised.ps1 for auto-restart on crashdocker compose up --build - see the Docker guide.deb install with a systemd service (Restart=always) - see the Ubuntu Setup Guidehttps://github.com/yeshaib/tgcs-fr-pred
<date> placeholder in it. A literal placeholder in a shell command is a landmine - it parsed as a redirect operator and broke the command. Filename is now stable (tgcs-fr-pred-source.tar.gz, no date), so the command is copy-paste safe.Dockerfile.portal, every deploy) - dropped the earlier plan to also bake a pre-built .deb into the portal, since that just reintroduces the cross-machine build problem this whole thing exists to avoid. Dependencies (OpenCV, camera SDK) are meant to be pip-installed on the target machine itself, from public PyPI, via build_deb_native.sh.build_deb.sh (the Docker cross-build script) - no longer needed or recommended.curl from the portal instead of needing a GitHub account/credentials.deb packages built cross-machine (via build_deb.sh/Docker) had a bundled venv whose bin/python symlink pointed at a path that doesn't exist on the target, causing systemctl status=203/EXEC and an endless auto-restart loop. Both build scripts now use python3 -m venv --copies; docs updated to recommend building natively on the target machine./classes) listing all 80 recognized object classes, linked from the homepagePOST /upload/{category})GET /view/docs/{name})