In the realm of computer vision, the ability to recognize and read license plates from vehicles is a significant advancement. This technology has numerous applications, from traffic management to security and surveillance. Three prominent models that have made this possible are YOLOv8 and the License Plate Detection/Recognition (LPD/LPR) models from Nvidia NGC.
In the sample, we demonstrate how to solve the task with a very simple pipeline implemented in Savant.
What is SavantSavant is an open-source, high-level framework for building real-time, streaming, highly efficient multimedia AI applications on the Nvidia stack. It helps to develop dynamic, fault-tolerant inference pipelines that utilize the best Nvidia approaches for data center and edge accelerators.
Savant is built on DeepStream and provides a high-level abstraction layer for building inference pipelines. It is designed to be easy to use, flexible, and scalable. It is a great choice for building smart CV and video analytics applications for cities, retail, manufacturing, and more.
Want to know more about Savant, read our article: Ten reasons to consider Savant for your computer vision project.
YOLOv8: A Leap Forward in Object Detection
YOLO, which stands for “You Only Look Once,” is a series of object detection models. YOLOv8, the latest in this series, is renowned for its speed and accuracy. Unlike traditional methods that scan an image multiple times, YOLOv8 processes the entire image in a single pass. This makes it incredibly fast, especially when detecting multiple objects in an image.
For license plate recognition, YOLOv8 can quickly identify the presence of a plate or car in an image. Once detected, the region containing the plate can be extracted for further processing.
LPR Models from Nvidia NGC: Precision in Reading Plates
While YOLOv8 excels at detecting cars it knows nothing about license plates. Thus, the actual reading of the alphanumeric characters on the plate requires specialized models. This is where Nvidia’s NGC LPD and LPR models come into play.
Nvidia NGC, a hub for GPU-optimized software, offers LPD and LPR models fine-tuned for reading license plates from the USA. These models are trained on vast datasets, ensuring high accuracy in real-world scenarios. When combined with YOLOv8’s detection capabilities, it creates a robust system for license plate recognition.
Integration and Applications
Integrating YOLOv8 with Nvidia’s LPD/LPR models is straightforward. Once YOLOv8 detects a car, the region is passed to the LPD model detecting a license plate. Finally, the LPR model is used for character recognition. The result is a seamless system that can detect and read license plates in real time.
The applications of this integrated system are vast:
- Traffic Management: Automated toll collection, traffic violation detection, and parking management.
- Security and Surveillance: Monitoring restricted areas and tracking vehicle movements.
- Smart Cities: Enhancing urban planning and infrastructure by analyzing traffic patterns.
The sample is published in the Savant repository: https://github.com/insight-platform/Savant/tree/develop/samples/license_plate_recognition
Despite the fact, that the sample uses 3 models in a row it can process video efficiently. The performance numbers, without drawing of detected objects and symbols on frames:
- RTX A4000: 270 FPS
- Jetson NX: 31 FPS (clocks on)
- Jetson Orin Nano: 44 FPS (clocks on)
Without drawing objects, the pipeline on RTX A4000 can handle 9 cams simultaneously in real time. This is not the most efficient implementation, but it demonstrates the use of YOLOV8, LPD, and LPR models.
The combination of YOLOv8 and Nvidia NGC’s LPR models has revolutionized car license plate recognition. As computer vision technology continues to evolve, we can expect even more accurate and faster recognition systems in the future, further enhancing our ability to manage and monitor vehicular traffic.