We at Plate Recognizer have continued to revamp and improve our ALPR software for optimum performance and accurate detection across a global set of vehicle license plates. In this article, we share how we have pushed the envelope to accelerate our ALPR SDK inference speeds to decode car plates even faster.
What is ALPR?
Automatic License Plate Recognition (ALPR) is software with the ability to analyze and decode car license plates. This is primarily done with machine-learning software coupled with Optical Character Recognition (OCR) for different use-cases. In some parts of the world, ALPR is referred to as Automatic Number Plate Recognition (ANPR). Both ALPR and ANPR refer to the same solution. In other words, ALPR for the USA is the same thing as ANPR for India.
Why is Fast ALPR Important?
A fast ALPR system has become important and inevitable in this ever-growing technological world as customers all over the world are demanding faster processing for all their systems. Also, a fast ALPR system is particularly critical for situations such as highway monitoring, traffic analysis, police surveillance, and busy parking lots, where the high flow of vehicles requires significant computing resources to process.
How Did We Achieve a Fast ANPR?
At Plate Recognizer, we have been able to achieve a fast ALPR software by refactoring a lot of our code. Refactoring is a disciplined technique for restructuring an existing body of code, altering its internal structure without changing its external behavior for better and optimum performance.
We broke down our two neural networks and looked at how we could (i) speed up vehicle identification and (ii) accelerate decoding of the license plate. We achieved this by optimizing the performance of the CPU and by initiating parallel processing (which is simply a way to get a complex work or process done by sharing the load among different processors attached to the same computer).
How Fast is Our ALPR?
We have turbo-boosted our ALPR software. The inference speed from the latest version of our license plate recognition software has improved by as much as 50%!
Inference Speed (ms) | Fast Mode | Regular Mode |
---|---|---|
n1-standard-4 (4 vCPUs, 15 GB RAM), 1 x NVIDIA Tesla T4 |
24 | 44 |
n2-standard-8 (8 vCPUs, 32 GB RAM) | 21 | 41 |
c2-standard-4 (4 vCPUs, 16 GB RAM) | 30 | 58 |
n2-standard-4 (4 vCPUs, 16 GB RAM) | 33 | 64 |
n1-standard-4 (4 vCPUs, 15 GB RAM) | 47 | 94 |
e2-standard-2 (2 vCPUs, 8 GB RAM) | 77 | 145 |
Intel Core i7-8550U CPU @ 1.80GHz | 33 | 55 |
What is the Fast Mode for Plate Recognizer?
We have created a Regular Mode and a Fast Mode to further optimize the software. The Fast Mode can be used in situations where the vehicle size is at least 10% of the image size. For example, Fast Mode can be applied to these real-world situations:
- A vehicle enters a parking lot and the camera takes a close-up photo of one vehicle at a time.
- A specific vehicle is detected by your highway monitoring video analytics software.
Is there an Easy Way to Determine Fast Mode for ALPR?
Sometimes, the 10% parameter may not be as easy to comprehend visually. So we created this graphic below to help you get a feel for whether you should use Fast or Regular mode for license plate recognition.
Imagine that the image below is the full image of your camera frame. Basically, if your vehicle image is proportionally larger than our Hero Car below, then you should be OK to use Fast Mode. If smaller, then use Regular Mode.
As always, we recommend that you try frist in Fast Mode and if things don’t work out, you can resort back to Regular Mode.
How Does a Fast ALPR Engine Benefit You?
There are a number of important benefits to having a fast ALPR system:
- Fast ALPR means you don’t have to invest as much on your hardware to process the same number of vehicle images.
- Fast ANPR lets you process more camera feeds using the same hardware as before. This leads to significant savings in hardware costs.
- Fast ALPR allows for constant monitoring (24 x 7 x 365) so that you do not miss any vehicles in applications such as highway monitoring.
How to Activate Fast Model for ANPR?
Turbo-charging the Plate Recognizer ALPR software engine is easy. Just follow these three steps below:
- Update SDK. For our existing customers on Subscription SDK or have Annual Maintenance, you can update your SDK to the most recent version.
We have created an ALPR SDK Manager that makes it super simple to install, uninstall, update the SDK on various hardware platforms.
- Set Parameters. Start the SDK with “multiple workers”.
To turn on add
-e WORKERS=X
to thedocker run
command.X
is a number and defaults to 1.Increasing the number of workers help to fully utilize the machine compute. For example, if the machine is only running the SDK, a good configuration is to set
WORKERS
to the number of CPU cores available. This will start 1 process per CPU core. For best performance, the calls to the API should be parallelized. - Activate Fast Mode. Just call the API with config={“mode”:”fast”}.
For example:
curl -w “n” -F ‘[email protected]’ -F ‘config={“mode”:”fast”}’
You can view the results locally on localhost:8080/alpr.
For more information and clarifications, feel free to refer to our online ALPR documentation!
Fastest ALPR Software?
Some customers have told us that we have one of the fastest ALPR software engines in the market compared to the alternative ALPR options. For full clarity (for the lawyers!), we are merely sharing our feedback here. This is not a proven fact. For readers interested in how our software stacks up to some of our competitors, check out our in-depth comparison of open lpr to Plate Recognizer software.
Do you think that Plate Recognizer has the fastest ALPR software engine? Let us know!