Computer vision · Crowd safety · 2026
Stadium
Crowd and gate monitoring prototype
Counts people at stadium gates from video, flags crowding early and suggests where to move staff.
- Role
- Solo developer
- Status
- Working prototype
- Year
- 2026
- Code
- github.com/Abdulel3h/Stadium
In brief
01The problem
Crowding at an entrance turns dangerous before anyone has counted it, and gate staff only see their own queue.
02What was built
YOLO detects people in each frame, a decision engine sets the status of four gates, and a dashboard refreshes every two seconds.
03My role
I built it solo: the detection, the decision engine, the API and the dashboard.
04Outcome
A working prototype with public code. Not calibrated for a real venue, and no counting accuracy is claimed.
How it works
01Input
Camera or video
02Processing
YOLO person detection
03Intelligence
Gate-zone status rules
04Output
Live dashboard & alerts
Decisions that shaped it
Vision over new hardware
Computer vision on ordinary camera feeds instead of new sensors — cheaper to trial, and it works with the cameras a venue already has.
Recommend an action, not just an alarm
The decision engine doesn’t only flag a busy gate; it suggests where to move staff, so the output is something an operator can act on.
The honest part
Not claimed
No venue deployment and no counting-accuracy figures are claimed.
Limits today
- Gate zones are hard-coded and need calibration for every camera angle.
- No automated tests cover counting, alert thresholds or the API.
- Not deployment-ready: camera privacy, latency and operations still need review.
- Local model and video files make the repository large.
If it continued
- Make gate zones configurable per camera
- Measure counting accuracy on labelled footage
- Add tests for thresholds and the status API
What you can verify
A solo working prototype that runs on local video files or a webcam. It has not been calibrated for a real venue.
Stack
Python · Ultralytics YOLO · OpenCV · Flask · NumPy · JavaScript
The full recordContext, constraints and engineering notes, as written.
Context
A solo project, built end to end by Abdulelah.
The problem
Crowding at an entrance becomes a safety problem before anyone has counted it. Gate staff see their own queue, not the whole picture, so the decision that matters — move staff, redirect arrivals — often comes late.
What was built
YOLO detects people in each frame and assigns them to one of four gate zones. A decision engine sets each gate’s status — normal, busy, critical or overflow — logs alerts, estimates arrival time and recommends staff moves. A Flask API serves that state to a dashboard that polls every two seconds.
Outcome
A working prototype built solo: detection, zone assignment, four status states, an alert log, staff recommendations, a status API and a live dashboard. It has not been calibrated against a real venue, and no counting-accuracy figure is claimed.
Constraints
- Use existing camera feeds instead of new sensors
- Output has to be something an operator can act on immediately
- Runs locally against video files or a webcam
Responsibilities
- Built the whole system as a solo project
- Implemented YOLO person detection and zone assignment
- Designed the decision engine for gate status, alerts and staff recommendations
- Built the Flask status API and the live dashboard
Engineering notes
- Ultralytics YOLO detects people frame by frame
- Each detection’s centroid is mapped to one of four gate zones
- A decision engine assigns status, logs crowding and overflow alerts and estimates ETA
- Flask exposes the current state at /api/status
- An HTML dashboard polls the API every two seconds