by AlphaEye
AlphaEye VMS Pro is a professional, standalone AI-powered CCTV people-counting and Video Management System (VMS) built entirely in Python. It turns any webcam, IP camera (ONVIF/RTSP), or video file into a real-time, high-accuracy bidirectional people counter with advanced visual analytics.
Visit WebSite https://cctvpeoplecounting.com/
It is not a web app or cloud service — it is a full desktop application with a modern dark-professional UI, dedicated GPU/CPU AI thread, zero-lag 30 fps video pipeline, and no internet dependency after installation.
Core Purpose
Accurate real-time IN / OUT people counting across a fully adjustable 360° virtual count line.
Visual crowd analytics: live density, heat-map, peak tracking, alerts.
Professional VMS features: recording, snapshots, CSV/Excel export, event logging, ONVIF camera discovery.
Targeted at retail stores, malls, offices, transport hubs, stadiums, or any high-traffic area that needs precise footfall data.
Key New Features in v5 (as stated in the header)
360° Adjustable Count Line — drag any two endpoints anywhere on the video (not just horizontal/vertical).
Live angle indicator + vector-based crossing detection (works at any angle, including diagonals).
Smooth 30 fps display with dedicated AI thread (UI never freezes).
Dark professional UI theme.
Multi-zone support (code foundation is ready for up to 4 lines; current version ships with 1 fully styled line).
Heat-map overlay toggle.
Per-person dwell-time tracking foundation (mentioned in header; core tracking infrastructure is present).
Crowd density grid + live density bar.
Export to CSV / Excel.
ONVIF auto-discovery + manual RTSP entry.
Timestamped MP4 recording.
Technical Stack & Requirements
Download Files and install on your system
Microsoft Visual C++ Redistributable latest supported
https://aka.ms/vc14/vc_redist.x64.exe
Python Version 3.14 Link
https://www.python.org/ftp/python/3.14.0/python-3.14.0-amd64.exe
Automatically Installation on your system
GUI: PyQt5 (Fusion style + heavy custom dark theme).
AI: Ultralytics YOLOv8 (n/s/m/l models) with BoTSORT tracker.
Video: OpenCV + FFMPEG (RTSP over TCP, low-latency).
Hardware: Automatic GPU detection (CUDA) with fallback to CPU. Half-precision on GPU.
Threads:
FrameReader (dedicated, drops stale frames).
CamWorker (AI + drawing).
ModelLoader (non-blocking YOLO load).
OnvifScanner (network discovery).
Main Capabilities
1. Count Line Editor (Most Advanced Feature)
Click “✏️ Edit Line Position” → drag P and Q endpoints anywhere.
Real-time angle display (e.g. “127°”).
4 instant presets: Horizontal, Vertical, Diagonal , Diagonal /.
Full styling panel:
Width 1–20 px
Opacity 20–100%
Style: Solid / Dashed / Dotted / Double
Glow halo (on/off)
Label (name + angle + width)
Direction arrow + “IN” text
Flip IN/OUT direction
Custom name (e.g. “Entrance A”, “Exit Zone 2”)
8 preset colors + custom QColorDialog picker
2. AI Detection & Tracking
Choose model: YOLOv8n (fast), s (balanced), m, or l (max accuracy).
Confidence slider (10–90%).
AI skip frames (1–6) for performance.
Resolution: 360p → 1080p.
Crowd mode: raises max detections to 500, adjusts IoU/confidence.
Tracks only persons (classes 0,1,3).
Persistent IDs + motion trails.
Bounding boxes with corner accents + confidence % label.
3. Counting Logic
Vector-based crossing detection using side_of_line() math.
Handles any line angle and direction.
Prevents double-counting (each person ID is counted only once per crossing).
Separate TOTAL IN, TOTAL OUT, LIVE NOW, PEAK COUNT cards.
Real-time sparkline (90-second history).
4. Visual Overlays
Heat-map (accumulates person centers, JET colormap, blended 60%).
Density bar (top-right) + live %.
Crowd alert overlay (red flash + big text when threshold exceeded).
Crisp count line with glow, arrow, label (all live-updatable).
Top-left timestamp + FPS + resolution + GPU badge.
Bottom count strip (IN:xxx OUT:xxx LIVE:xxx).
5. Camera Input Options
Webcam 0 / 1.
IP Camera (RTSP) with username/password/channel.
Video file (mp4, avi, mkv, etc.).
ONVIF Network Scan button: auto-discovers cameras on local network (multicast + subnet TCP scan) and populates RTSP URL.
6. Recording & Export
One-click MP4 recording (20 fps, timestamped filename).
Snapshot button (JPG with timestamp).
Automatic CSV log (logs/count_YYYY-MM-DD.csv) with every IN/OUT + timestamp.
“Export CSV” button to save anywhere (includes openpyxl for Excel compatibility).
7. Alerts
Configurable threshold (1–500 people).
Optional Windows beep.
Optional auto-snapshot on alert.
8. UI/UX Highlights
Fully dark professional theme (deep blues/grays).
Responsive splitter layout.
Stat cards with colored accents.
Event log table (color-coded IN/OUT/ALERT rows).
Live sparkline widget with gradient fill.
Progress bar during model load.
All controls update the live video instantly (no restart needed).
Performance Notes
Runs at 30 fps display even on moderate hardware.
AI runs on separate thread → UI remains perfectly responsive.
Frame queue drops old frames automatically (zero lag).
GPU half-precision enabled when available.
Limitations (as of this v1.3 script)
Only one count line is active (header mentions multi-zone support up to 4; the architecture is prepared but UI currently controls only LINE 1).
Dwell-time tracking is mentioned in the header but not exposed in the current UI (tracking data exists internally).
No multi-camera simultaneous view (single source at a time).
Summary
AlphaEye VMS Pro is a complete professional-grade people-counting solution that rivals expensive commercial VMS systems but runs locally on your own PC. It gives you pixel-perfect control over the count line, beautiful real-time analytics (heat-map, density, sparkline), full logging/export, and a polished dark UI that looks like a high-end security dashboard.
It is perfect for anyone who needs accurate, angle-independent footfall data without relying on cloud services or expensive hardware appliances. Just install the dependencies, run the script, and you have a fully functional AI CCTV analytics station.