Inspiration
Campus shuttle crowds change quickly, but arrival times alone don’t tell us whether everyone can board. We wanted to help operators anticipate overcrowding rather than react to it.
What it does
QueueSense estimates crowds from recorded video, predicts bus-specific demand, and recommends how to allocate limited relief shuttles. Its mobile-style interface brings detection, forecasting, and optimisation together.
How we built it
We built the prototype in Python with Streamlit. YOLO and ByteTrack provide person detection and tracking, while temporal filtering stabilises counts. We run 600 Monte Carlo scenarios and compare feasible shuttle allocations to reduce expected overflow and worst-case risk.
Challenges we ran into
Crowded footage made reliable counting difficult. We also needed to avoid assuming everyone at a stop wanted the same bus, while handling uncertainty in new arrivals and available capacity.
Accomplishments that we're proud of
We connected real video processing to a working forecasting and optimisation pipeline. Our recommendations are computed from simulated demand, not hardcoded, and presented in a phone-style interface.
What we learned
A crowd count is not the same as a bus queue. Useful recommendations must account for uncertain passenger intentions, changing demand, and operational constraints without promising guaranteed boarding.
What's next for QueueSense
We plan to validate detection on labelled queue footage, calibrate demand estimates using real boarding data, and integrate live transport feeds. We also want to test recommendations with campus transport operators.
Log in or sign up for Devpost to join the conversation.