Digital Developer Conference: Hybrid Cloud. On Sep 22 & 24, start your journey to OpenShift certification. Free registration

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

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

Level Topic Type
100 Introduction to computer vision Article
101 Introduction to IBM Maximo Visual Inspection Article
201 Build and deploy an IBM Maximo Visual Inspection model and use it in an iOS app Tutorial
202 Locate and count items with object detection Code pattern
203 Object tracking in video with OpenCV and Deep Learning Code pattern
301 Validate computer vision deep learning models Code pattern
302 Develop analytical dashboards for AI projects with IBM Maximo Visual Inspection Code pattern
303 Automate visual recognition model training Code pattern
304 Load IBM Maximo Visual Inspection inference results in a dashboard Code pattern
305 Build an object detection model to identify license plates from images of cars Code pattern
306 Glean insights with AI on live camera streams and videos Code pattern

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.