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.

Built With

Share this project:

Updates

Submission history