InnoPlateReader is a Web-based system designed to detect and read vehicle license plates using images. InnoPlateReader implements the YOLOv8 (You Only Look Once) algorithm and Optical Character Recognition (OCR) to detect and read license plates. InnoPlateReader uses TailwindCSS technology as a front-end framework and Flask as a back-end framework. InnoPlateReader has also used Docker technology to deploy applications.
Main Features
Home Page: The start page of the InnoPlateReader system.
About Page: Contains detailed information about InnoPlateReader.
Read Plate Page: The page to perform the license plate detection process by uploading an image. The result of the detection will be displayed and the user can save the result.
Upgrade Model Page: A page to upgrade the model by uploading a dataset containing images and labels (“.txt”), and specifying the epoch and confidence values. The system will display the training results such as confusion matrix and the user can save the new model results.
Technologies Used
YOLOv8: An object detection algorithm used to detect license plates.
OCR: Technology for reading characters on license plates.
TailwindCSS: Front-end framework used for website design and layout.
Flask: A back-end framework used to manage server workflows and APIs.
Docker: Platform for packaging, distributing, and running application in isolated container.
Implementation Stages
The implementation stage of this project is as shown below. Implementation stages
Installation
How to install InnoPlateReader: 1. Clone this repository
git clone https://github.com/AcilRestu12/InnoPlateReader.git
cd InnoPlateReader
2. Setting path in /static/config.yaml
path: /static # datset root dir
train: images/train # train images (relatives to 'path')
val: images/train # test images (relatives to 'path')
# Classes
names:
0: plat-nomor
3. Run your Docker 4. Build and run the Docker container
Dockerfile: Docker configuration file for the application.
requirements.txt: List of Python dependencies.
Contribution Guidelines
1. Fork this repository. 2. Create a feature branch.
git checkout -b new-feature
3. Commit your changes.
git commit -am 'Add feature'
4. Push to the branch.
git push origin new-feature
5. Make a Pull Request.
License
The project is licensed under the MIT license - see the LICENSE file for more details.
Note
This documentation includes a general description of the project, features provided, technologies used, installation instructions, how to use, project structure, contribution guidelines, and project license. You can further customize it according to the specific needs of the InnoPlateReader project.
More About This Project
You can visit the repository of this project by click here.