Automatic Number Plate Recognition

Posted by : Admin / Posted on : 05-Apr-2021

Automatic License Plate Recognition (ALPR) is one of the applications of OCR. When it comes to commercialization, ALPR cannot be sold as a sole capability but is one among many features of the entire solution. Common features of such solutions are:

  1. License Plate Number Identification (Number + Country + Special Attributes)
  2. Vehicle Speed and Vehicle Lane Detection
  3. Vehicle Attributes Detection (Color, Make, Brand, Damage, etc)
  4. Law Violation (Dangerous Goods, Drink and Drive, Speed Limit, Signal Jump, etc.)
  5. Blacklisted vehicle Spotting, Vehicle Blacklisting, and Tracking
  6. Vehicle Categorization (Example: Motor and Non-Motor Vehicle)
  7. Counting of People, Vehicle, Animal and other Objects
  8. Other Features: Traffic Jam / Incident Detection, Face Recognition, Stereo Analysis

Depending on the application ( smart city, highway surveillance, cop car, access control, service centers, retail outlet, or commercial parking ) one may use the subset of listed features or can add more. This is the reason why almost the same solution goes by many names like "Automatic Number Plate Recognition", "Automatic License Plate Recognition", "Vehicle Detection System", "Vehicle Monitoring System", "Traffic Control System", "Traffic Monitoring System" etc.

One thing we can clearly state is that implementing ALPR on out-of-the-box Raspberry PI Does not mean anything. To make a commercial offering one should think in following dimensions:

  1. Application ( Select your features that go with the solution )
  2. Hardware Quality ( Survives in a harsh environment like for highway surveillance )
  3. Software ( Algorithms, UI/UX, Network and Data Transmission, Security, etc. )
  4. Scalability, Upgradation, Maintainance, and Support

Let's consider a common application of Vehicle Monitoring System on the highway to understand features, hardware components, software capabilities, and performance demanded from such systems:

Minimum Features:

  1. ALPR + Vehicle Attributes
  2. Speed and Lane Detection
  3. Traffic Violation Detection
  4. Incident Detection

Basic Hardware Components:

  1. Casing (With weather protection shield)
  2. Power Source (5W - 45W + Internal Battery)
  3. Highspeed Camera (6MM-42MM, 30FPS-120FPS)
  4. Infra Camera (Range- 100 Mts for Night)
  5. LIDAR Speed Detector (Range: 25-600 Mtrs)
  6. Chipset, Memory, and Accelerator (CPU, GPU, VPU, or FPGA)
  7. Connectivity: GPS/Wifi
  8. Accessories: Cables/ Connectors, Ports (AV, Memory), Touchscreen

Software Capabilities:

  1. Platform Independent OS (with database on edge)
  2. Edge ML Algorithms (Squeezenet, Mobilenet, SSD, ResNet, VGG)
  3. Cloud Service (Example VIN Decoding)
  4. IOT Management (Edge Database, Algorithms, Camera calibration, etc.)
  5. Communication (Fail-Safe Data Transmission, Alarm Generation)

Performance Demanded:

  1. Algorithm: Multiple Languages, Detection Accuracy, Latency
  2. Software: Platform Independence, Security
  3. Hardware: Low Visibility (Weather, Daylight, Highlight, etc)
  4. Hardware: Effective Range (Day/Night, Weather Condition, Vehicle Speed, Object Size)
  5. Hardware Others: Thermal Performance, Power Efficiency, Durability, Compactness

Now, this seems like a lot of work and very well it is. Once developed, such solutions open up many possibilities of automation, surveillance capability, and even research. But you must be wondering that if there is so much to offer then why such solutions are categorized as ALPR. That's because these solutions started with vehicle number identification and ALPR is still the centerpiece of any such offering.

All data points gathered about the vehicle need to be associated with a vehicle number. If vehicle number identification is incorrect then none of this makes sense. Thus algorithmic strength becomes the most important development criteria. What do I mean by this?

Consider our application of highway surveillance. In the scenario of foggy weather, night, multiple vehicles traveling at a speed of 120 Km/Hour (average). How well does your algorithm perform? Because this is an edge compute solution either you compress your model and make it suitable for low power devices (let go of some of the accuracies in favor of resource constraints in computation) or deploy compute-intensive hardware (this will increase the edge device cost).

We can deep dive further into the choice of algorithm and development technology to use but I leave it up to the reader to research such solutions further (depending on the interest). I only hope to convey that AI algorithm development is just a starting point while AI products or solutions development is a far greater path to cover.