24AACR06
Senior Mentor:Abhiram Peddamallu
Junior Mentor:Sujay Anishetti
Team Member 1:Vivek Malempati
Team Member 2:Kongari Vishal
Team Member 3:Bingi Hansika
The Bus Safety Automation Project integrates computer vision, IoT, and a user-friendly interface to ensure the safety of children traveling by bus. This project includes two core functionalities:
- Attendance System: Utilizes facial recognition for attendance and sends notifications to parents.
- Hand Detection System: Monitors for hands outside the bus window and triggers a buzzer using Arduino.
- Facial recognition for student identification.
- Integration with Firebase for:
- Storing student data.
- Tracking attendance.
- Sending parent notifications.
- Real-time UI updates displaying attendance status.
- Palm detection using Haar Cascades.
- Arduino integration to trigger a buzzer upon detection.
- Real-time monitoring via a live video feed.
Package Version --------------------- ----------- Python 3.7.x OpenCV 4.8.0 Face Recognition 1.3.0 Firebase Admin SDK 6.0.1 CVZone 1.5.6 NumPy 1.24.3 PySerial 3.5
Resource Details --------------------- ----------- Haar Cascade XML face.xml (for facial detection) hand.xml (for palm detection)Firebase Configuration: serviceAccountKey.json Firebase service account configuration file Database URL Your Firebase Database URL Storage Bucket Your Firebase Storage Bucket
Hardware Requirements: Arduino Arduino board (tested with Uno) Buzzer Connected to Arduino for hand detection alerts
-
Clone the repository:
git clone https://github.com/your-repo/bus-safety-automation.git cd bus-safety-automation
-
Install the required dependencies:
pip install opencv-python face-recognition firebase-admin cvzone numpy pyserial
-
Configure Firebase:
- Place
serviceAccountKey.json
in the root directory. - Update Firebase Database URL and Storage Bucket in the script.
- Place
-
Connect Arduino:
- Upload the Arduino sketch to the board.
- Update the COM port in the script to match your Arduino's port.
-
Prepare Haar Cascades:
- Download
face.xml
andhand.xml
. - Place them in the project directory.
- Download
Screenshots of the project
We welcome contributions to improve the Project
To contribute, follow these steps:
1. Understand the Project Philosophy: Read through the README.md file to familiarize yourself with the project's goals and structure.
2. Maintain Code Consistency: Use the same programming language and library versions as the original code.
3. Write Documentation: Explain the changes you're proposing, including identified problems, proposed solutions, and test cases.
4. Submit a Pull Request: Follow standard Git etiquette for submitting your contributions.