Build an object detection model to identify license plates from images of cars

Source Node: 749910

This code pattern is part of the Getting started with IBM Maximo Visual Inspection learning path.

Summary

In this code pattern, learn how to use optical character recognition (OCR) and the IBM Maximo Visual Inspection object recognition service to identify and read license plates.

Description

Using IBM Maximo Visual Inspection and the Custom Inference Scripts, you can build an object detection model to identify license plates from images of cars. The models in the IBM Maximo Visual Inspection object recognition service can identify portions of images that represent a license plate. Then, the post custom inference script can crop this area and use open source to perform OCR on the text to return the license plate. This use case is ideal for automated gate access control in areas such as workplaces, apartment complexes, or mall parking lots.

When you have completed this code pattern, you understand how to:

  • Build an object detection model
  • Trigger a post-processing script when specific objects are detected
  • Use Python Opencv libraries to prepare an image for OCR
  • Adjust Tesseract OCR to detect specific fonts

Flow

OCR license plate flow diagram

  1. The user uploads an image of a car to IBM Maximo Visual Inspection, either through the UI or an API REST call.
  2. The PowerAI model recognizes objects in the image and indicates where the license plate is located in the image.
  3. The IBM Maximo Visual Inspection post-processing script sends the cropped license plate image to the custom OCR server.
  4. A Python script loads the license plate image through opencv as a NumPy array and uses several processing algorithms to remove background noise and extract the plate digits.
  5. Tesseract OCR is used on the processed image.
  6. The user receives a JSON object with the plate text through terminal logs.

Instructions

Find the detailed steps for this pattern in the readme file. The steps show you how to:

  1. Deploy a Kubernetes cluster.
  2. Upload training images to IBM Maximo Visual Inspection.
  3. Train and deploy a model in IBM Maximo Visual Inspection.
  4. Clone the repository.
  5. Deploy the OCR server.

Conclusion

This code pattern explained how to use OCR and the IBM Maximo Visual Inspection object recognition service to identify and read license plates. The code pattern is the final part of the Getting started with IBM Maximo Visual Inspection learning path. Congratulations! You should now have a fundamental understanding of IBM Maximo Visual Inspection and some of its advanced features. But, if you want to learn more, take a look at the IBM Maximo Visual Inspection page.

Source: https://developer.ibm.com/patterns/custom-inference-script-for-reading-license-plates-of-cars/

Time Stamp:

More from IBM Developer