Code Monkey home page Code Monkey logo

license-plate-localisation-recognition's Introduction

License-Plate-Localisation-Recognition

This project showcases a license plate localisation and recognition, utilizing the power of OpenVINO framework.

License plates localisation and recognition in a real-life scene:

Building

Dependencies

  1. OpenVINO: OpenVINO is a toolkit for quickly developing computer vision applications which based on Convolution Neural Networks(CNNs), and it is hassle-free to optimize performance across platforms by leveraging OpenVINO.
  2. MobileNet-SSD: We choosed TensorFlow implementation of MobileNet-SSD to detect license plates, and train it on BIT-Vehicle dataset.
  3. LPRNet: We use a pre-trained LRPNet which combine character segmentation and recognition in one inference, and it is trained on a private Chinese license plate dataset.
  4. OpenCV: We use C++ version OpenCV to capture videos from a webcam and parse video frames and then fill into CNN models via OpenVINO APIs.

Environment Files

  1. license_plate_localisation_recognition: Can be executed it directly in command line using "./license_plate_localisation_recognition".
  2. lib folder: Dependencies lib files.
  3. LPL.xml and LPL.bin: Network Model for license plate localisation, have been converted to proprietary OpenVINO format using Model Optimizer.
  4. LPR.xml and LPR.bin: Network Model for license plate recognition, have been converted to proprietary OpenVINO format using Model Optimizer.
  5. main.cpp: Main Source code of this project, use the CMakeLists.txt to build executable file.

Train && Build

We follow this tutorial to train the MobileNet-SSD model. However, unlike this tutorial, we detect license plate directly without vehicles.
First, we need to use BIT_to_COCO.py to convert annotations of BIT-Vehicle from JSON to COCO xml format; Then we utilize K-Mean algorithm to cluster the bounding boxes of the BIT-Vehicle dataset to find 10 width/height ratios, which is cluster_bounding_box.py , and we got the following result:

Then we choose three scales instead of five which in the SSD paper because we only need to detect license plates and less default boxes can reduce training time and inference time. Default boxes for each SSD layer are the following:

Other parameters we follow the tutorial

Future Work

We plan to train the MobileNet-SSD and LPRNet on multiple license plate dataset to obtain more generalization.

license-plate-localisation-recognition's People

Contributors

mayatkit avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.