- Description
- Deployed Website Link
- Installation
- Usage
- Contributing
- GitHub
- Contact
- Acknowledgements
- Tests
- License
This project is a real-time license plate recognition system designed for parking zone monitoring and management. It uses the YOLOv8 object detection models to detect vehicles and recognize license plates from CCTV footage or live camera feeds. Once detected, the license plate is checked against an authorized vehicle list from a database. If the vehicle is not authorized, an email notification is automatically sent to the admin with the license plate details. The data is also saved in a CSV file for reporting and further analysis. This system helps enforce tiered parking allotments and ensures that vehicles park in their allocated zones.
Currently, the system processes video files from a local folder, but in theory, it could be integrated with any system that provides a video output, such as live surveillance feeds, traffic cameras, or even dashboard cameras.
- Real-time license plate recognition using YOLOv8.
- Automatic detection of unauthorized vehicles with email notifications.
- Parking zone monitoring for vehicles across multiple tiers.
- CSV logging of all detected vehicles for future reference.
Currently, the project is not deployed online. For any further details, please contact the project maintainer.
To run this project locally, follow these steps:
-
Clone the repository:
git clone https://github.com/brij0/License-Plate-analysis.git
-
Navigate to the project directory:
cd License-Plate-analysis -
Set up a virtual environment (optional but recommended):
python -m venv env source env/bin/activate # On Windows: env\Scripts\activate
-
Install the required dependencies:
pip install -r requirements.txt
-
Download the YOLO pre-trained models and save them in the
/YOLO-PretrainedModelsfolder. -
Run the system:
python plate_recognition.py
- Once the system is running, it will process live footage or CCTV videos and detect vehicles and license plates.
- The license plates are checked against the
allowed_cars.csvfile. - If a vehicle is detected that is not in the allowed list, an email will be sent to the admin with an image of the license plate.
- The system will log all detected vehicles and their details (including timestamp) into an output CSV file.
- Admin uploads the list of allowed vehicles (e.g., license plates) into
allowed_cars.csv. - CCTV feed is processed: each vehicle's license plate is recognized and compared to the list.
- Email notification: If an unauthorized vehicle is detected, an email is automatically sent to the admin.
Contributions to this project are welcome! Follow these steps:
- Fork the repository.
- Create a new feature branch:
git checkout -b feature-branch. - Commit your changes:
git commit -m 'Add some feature'. - Push to the branch:
git push origin feature-branch. - Submit a pull request.
Please ensure that your code follows best practices and is well documented.
You can find the repository and more projects at my GitHub profile:
- brij0's GitHub Profile
Feel free to reach out for any questions, feedback, or collaborations:
- Email: bthakrar@uoguelph.ca
Special thanks to the following resources and individuals for their help and support throughout this project:
-
YouTube Tutorials: The following YouTube tutorials were invaluable in guiding the use of YOLOv8 and Python for this project:
-
Friends: A huge thanks to my friends for their help and feedback during the project. Check out their GitHub profiles:
-
Ultralytics: A special mention to Ultralytics for providing the YOLOv8 object detection models and thorough documentation that made this project possible. You can explore more on their official website.
To run the tests, you can use the following command:
pytest