CrowdCount is a real-time video analytics application developed during the Infosys Springboard Virtual Internship 6.0. It leverages Computer Vision and Deep Learning to detect, track, and count people within user-defined zones of interest.
This application is designed to help with crowd management, occupancy tracking, and safety monitoring using existing CCTV footage.
- Real-Time Detection: Utilizes YOLOv8s (You Only Look Once) for high-accuracy person detection.
- Custom ROI Drawing: Users can interactively draw "Zones of Interest" (rectangles) directly on the video frame using a canvas tool.
- Zone-Based Counting: Automatically counts the number of people inside each specific zone.
- Live Analytics: Displays real-time bar charts and JSON data of crowd density.
- Role-Based Access Control (RBAC):
- Super Admin: Manage users, delete zones, view login history, and oversee the system.
- User: Upload videos, draw zones, and run detection on their own files.
- Secure Authentication: User passwords are hashed and salted using Bcrypt before storage.
- Data Persistence: User profiles, zone coordinates, and activity logs are stored in MongoDB.
- Frontend: Streamlit (Web Framework),
streamlit-drawable-canvas - AI/ML Engine: Ultralytics YOLOv8, OpenCV
- Backend Database: MongoDB (Pymongo driver)
- Security: Bcrypt (Password Hashing)
- Data Processing: Pandas, NumPy
Ensure you have the following installed:
- Python 3.8 or higher
- MongoDB Community Server (Running locally or on Atlas)
git clone https://github.com/Sathwik464/Crowd-Count-using-Video-Analysis
streamlit run dashboard.py