Inspiration
Crowded places such as colleges, railway stations, shopping centers, and public events need effective ways to monitor crowd movement and identify potentially unsafe crowd levels. Manual monitoring can be difficult, especially when many people enter and leave within a short period.
This inspired us to build a Smart Crowd Monitoring and Intelligent Safety Alert System that uses computer vision and machine learning to detect and track people, estimate occupancy, and provide alerts when the crowd reaches a defined threshold.
What It Does
Our project uses a camera feed to detect and track people in real time. It identifies when tracked people cross a virtual line, records IN and OUT events, and calculates estimated occupancy based on the recorded movements.
The system provides:
AI-powered person detection using YOLO.
Person tracking to follow detected people across video frames.
IN/OUT counting using virtual-line crossing.
Occupancy estimation based on entry and exit events.
Crowd-level alerts when the estimated occupancy reaches a configured threshold.
A monitoring dashboard displaying statistics, recent events, and crowd information.
Cloud storage using Amazon Web Services (AWS) S3 to store generated results.
How We Built It
We developed the project using Python on Ubuntu. OpenCV handles video capture and frame processing, while YOLO performs person detection. ByteTrack helps maintain tracking IDs across video frames so that movements can be monitored.
When a tracked person crosses the virtual counting line, the application records the event and updates the IN count, OUT count, and estimated occupancy. Pandas manages the event data, and Matplotlib generates visualizations. Streamlit provides a dashboard for viewing monitoring results, while AWS S3 is used to store generated files in the cloud.
Our main technologies are:
Python
OpenCV
YOLO
ByteTrack
Pandas and Matplotlib
Streamlit
Amazon Web Services (AWS S3)
Challenges We Faced
One of the main challenges was tracking people consistently across video frames and counting line crossings without repeatedly counting the same movement. Camera placement, overlapping people, and temporary tracking-ID changes can also affect counting accuracy.
Another challenge was maintaining the occupancy estimate. Since the system starts counting from zero, people already present when monitoring begins are not automatically included. We also worked on connecting the detection output, CSV event records, dashboard, and cloud storage into one workflow.
Testing the system with recorded video and a webcam helped us understand how these components work together and where improvements are needed.
What We Learned
Building this project helped us gain practical experience with computer vision, object detection, multi-object tracking, data processing, dashboard development, and cloud storage. We learned that building an AI application involves more than training or using a model: it also requires connecting components, handling real-world limitations, testing outputs, and presenting information clearly.
What's Next
Future improvements could include initial occupancy calibration, more reliable line-crossing logic, configurable alert thresholds, notifications for authorized safety personnel, multi-camera support, and improved cloud synchronization for a remotely accessible live dashboard.
Our goal is to develop this prototype further into a practical tool that supports crowd awareness and helps safety teams make more informed decisions.
Built With
- amazon
- amazon-web-services
- artificial
- bytetrack
- computer
- crowd
- data
- detection
- intelligence
- machine
- matplotlib
- monitoring
- object
- opencv
- pandas
- processing
- python
- real-time
- s3
- streamlit
- tracking
- vision
- visualization
- yolo
Log in or sign up for Devpost to join the conversation.