Overview
Purpose of this Guide
This Get Started Guide contains instructions for running the License Plate Detection and Recognition Demo through the Configurable Platform Hub.
Prerequisites
If you have not already setup and powered on your system, please see the Setup Guide to get your system up and running before attempting to follow the steps in this Get Started Guide.
About the Kit
Based on the Intel® Deep Learning Inference Accelerator, the Preproduction Reconfigurable Reference Design combines Intel® Deep Learning Accelerator IP with FPGA hardware and the Intel® Computer Vision SDK (Intel® CV SDK) to create a complete hardware and software solution for enabling developers to accelerate deep learning applications (for example, computer vision tasks such as image recognition).
Highlights
- Turnkey inference solution to accelerate convolutional neural networks
- Comprehensive toolkit for developing and deploying vision-oriented solutions on Intel's platforms
- Heterogeneous support for CPU, integrated graphics (GFX), FPGA, and other accelerators
- Open Standard based software APIs to simplify development
Audience
Developers who have a working knowledge of computer vision, neural networks, neural network extensions and knowledge of how to use the tools from the Intel® CV SDK. Most importantly, a developer must understand how to create graphs using the Intel® CV SDK.
See the Intel® CV SDK Developer Guide for Creating a Simple OpenVX* Graph Application.
Hardware and Software Components
Below is an outline of the hardware and software components of the kit.
Hardware
- Intel® Xeon® E3 processor
- Intel® Deep Learning Accelerator (Intel® DLIA) card based on an Intel® Arria® 10 FPGA
- Gigabyte* X170 motherboard
- 32 GB Memory
- 480 GB SATA SSD
- 4 TB HDD
Software
- CentOS* 7.2
- Configurable Platform Hub
- License Plate Recognition and Detection Demo
Neural Network Topologies
- AlexNet
- GoogLeNet
- Visual Geometry Group (VGG)
Intel® CV SDK
- Caffe*
- OpenVX* API
- Deep Learning Model Optimizer
- Vision Algorithm Designer (VAD)
- Deep Learning Inference Engine
- Sample Applications
License Plate Detection and Recognition Demo
The purpose of this demo is to demonstrate two things: acceleration and ease of use.
- Acceleration: We demonstrate the acceleration capabilities of the FPGA. Computationally intensive tasks (i.e., recognition tasks) better-suited for processing by the FPGA hardware are offloaded from the CPU to the FPGA.
- Ease of Use: we show that deep learning based computer vision algorithms can be readily implemented on platforms that combine Intel® architecture with Intel® FPGA hardware.
About the Demo
The License Plate Detection and Recognition application is based on a Convolutional Neural Network trained to recognize license plates from Chinese provinces (Beijing, Shandong, Sichuan, etc.). The demo application is able to process video input from either a mounted USB camera or pre-recorded video file. Here we use a pre-recorded video file (mp4). The computer vision application presented is fine-tuned for 1080p30 video streams by default but does support other resolutions (configuration may be required).
Executing the Demo from the Configurable Platform Hub
Navigate to the Demos tab in the Configurable Platform Hub to run the license plate detection and recognition demo. If you don't already have a Firefox* browser that opened to the Configurable Platform Hub, please see the Setup Guide.
Click the Demos tab.
Click "Start" to launch the demo.
When the application launches, select “Video” under Video source and "CPU" as the hardware target. CPU implementation is done through the Caffe* framework. When you select CPU, detection and recognition are both running on the CPU.
Click on the “open” button under Video source and select the file name “fullHD.mp4” then double click to use the pre-recorded video for the demo.
The demo should now launch with the video you selected.
From the demo UI you can select either CPU or FPGA and toggle between them without having to pause the video. Select "FPGA" as the hardware target and observe how the performance metrics change.
FPGA implementation is done through the accelerator. Here, detection continues to run on the CPU but the task of recognition is offloaded to the FPGA. The most computationally intensive part of recognition (i.e., identifying symbols and characters on the license plates) are better-suited to be handled by the FPGA.
To end the demo, navigate back to the Demos tab and click "Stop".
Performance Metrics
Execution
- Total execution time: time spent on the whole pipeline.
- Average execution rate: frequency with which the application runs, specifically how many frames per second it processed.
Recognition
- Total recognition time: time spent on the recognition part.
- Average recognition rate how many license plates per second the application processed.
Where’s the acceleration?
The acceleration results when we switch to FPGA hardware (which yields faster execution times and higher framerates).
Framerate and Execution Time
Here, the pre-recorded video’s playback framerate is 30 fps. And we measure performance by framerate (measured in frames per second or fps) and execution time (milliseconds). To observe an “acceleration” in performance, we compare the performance numbers for the CPU and FPGA hardware. For detection, when we select the FPGA, notice that the Total Detection Time (ms) decreases and Average Detection Rate (fps) increases.The CPU performs the task of detection in both hardware instances but we see an increase in the framerate because the CPU now has more resources available to focus on the task of detection as recognition has been offloaded to the FPGA.
For Total Recognition Time (ms), we see that the FPGA takes less time to recognize the plates and the Average Recognition Rate (fps) increases by hundreds of frames per second. The increase demonstrates that the FPGA is capable of processing more than 30 frames per second (the playback framerate of our video). However, you would need to have more than 30 frames per second to take advantage of the higher framerate capacity of the FPGA.
Note: The demo video we present here does not present a problem that would require hundreds of frames per second as either a requirement or the solution.
Customer Support
As a Preproduction Reconfigurable Reference Design customer, you have automatically been given access to the "Deep Learning with FPGA+IA" product in Intel® Premier Support (IPS). A team of Platform Application Engineers are assigned to directly assist you via IPS where you can also track the status of all cases you file there. If you have any issues accessing IPS or accessing the correct product in IPS, your field representative will be able to assist and provide training as needed.