Sentinel is an advanced fleet monitoring solution designed to improve the safety and management of buses and trucks. It integrates cutting-edge Advanced Driver Assistance Systems (ADAS) such as collision detection, driver monitoring, and adaptive cruise control with real-time fleet management capabilities, ensuring both safety and operational efficiency.
-
Driver Monitoring:
- Uses
dlib
andOpenCV
to monitor driver attentiveness and behavior. - Detects signs of drowsiness or distraction, triggering warnings.
- Uses
-
Collision Detection:
- Real-time detection of potential collisions using LIDAR sensors.
- Provides early warnings to avoid accidents.
-
Passenger Overcrowding Detection:
- Utilizes YOLO object detection for real-time monitoring of passenger overcrowding in vehicles.
- Ensures adherence to safety guidelines by preventing overcrowding.
-
Fleet Tracking Simulation:
- GPS-based vehicle tracking system implemented using a Flask backend.
- Provides real-time location data for fleet management.
-
Adaptive Cruise Control with LIDAR:
- Enables adaptive speed regulation based on distance from other vehicles.
- Ensures smooth and safe driving conditions.
-
Web Dashboard for Fleet Management:
- Provides a comprehensive overview of vehicle locations, driver behavior, and passenger conditions.
- Enables real-time decision-making and fleet oversight.
Sentinel-Smart-ADAS-Integrated-Fleet-Monitoring-System
├── src
│ ├── coco.names
│ ├── crowded_bus.webm
│ ├── shape_predictor_68_face_landmarks.dat
│ ├── yolov3.cfg
│ └── yolov3.weights #Needs to be downloaded and placed here
├── driver_monitoring.py # Driver attentiveness system
├── collision_detection_lidar.py # Collision detection using LIDAR
├── adaptive_cruise_control_lidar.py # Adaptive cruise control system
├── passenger_counting.py # Passenger overcrowding detection
├── fleet_tracker_simulation.py # Fleet tracking and simulation
├── app.py # Flask API for fleet tracking
├── index.html # React or plain HTML dashboard (based on use case)
├── README.md # Project documentation
├── main.py # Script to run all the Python scripts simultaneously
├── requirements.txt # Dependencies
└── .vscode # VS Code settings
- Driver Monitoring: Uses the
driver_monitoring.py
script to ensure driver attentiveness through face tracking and blink detection. - Collision Detection: The
collision_detection.py
script continuously monitors the vehicle's surroundings using LIDAR sensors to prevent collisions. - Adaptive Cruise Control: The
adaptive_cruise_control_lidar.py
script dynamically adjusts the vehicle's speed based on LIDAR input. - Passenger Counting: The
passenger_counting.py
script monitors the vehicle’s interior to track overcrowding using YOLO detection models. - Fleet Tracker Simulation: The
fleet_tracker_simulation.py
script simulates real-time vehicle location and reports it to the Flask backend. - Web Dashboard: Fleet managers can access real-time data from all subsystems through the web dashboard (backend hosted in
app.py
).
To use the YOLO model for passenger overcrowding detection, you need to download the pre-trained weights file yolov3.weights
. This file is not included in the repository due to its size.
Follow these steps to download it:
-
Download the
yolov3.weights
file from the official YOLO website or using the following link: -
After downloading, place the
yolov3.weights
file in the/src
directory
- Python 3.10+
- Flask for the backend
- OpenCV, Dlib, YOLO for computer vision tasks
- LIDAR simulation libraries
-
Clone the repository:
git clone https://github.com/icebelly29/Sentinel-Smart-ADAS-Integrated-Fleet-Monitoring-System.git cd Sentinel-Smart-ADAS-Integrated-Fleet-Monitoring-System
-
Install the required dependencies:
pip install -r requirements.txt
-
Run the Flask backend:
python backend/app.py
-
Run the main system components simultaneously using the main script:
python main.py
-
Access the web dashboard:
Open a browser and navigate tohttp://127.0.0.1:5000
to view fleet and driver data.
- Python: Core language used for ADAS, driver monitoring, and passenger counting.
- Flask: Backend framework to handle vehicle tracking and dashboard API.
- OpenCV + Dlib: For real-time computer vision in driver monitoring.
- YOLO: Used for passenger overcrowding detection.
- LIDAR: Simulated LIDAR data for collision detection and adaptive cruise control.
- HTML + JavaScript: Used for the web dashboard frontend.
This project is licensed under the MIT License - see the LICENSE file for details.