Benchmarking
Drive Rekor Scout® on all CPU cores to benchmark speed for various video resolutions.
Example Benchmarks
Benchmarks demonstrating the power of Rekor Scout are presented below. If you find yourself thinking, “These numbers look too good to be true”, we understand. Don't take our word for it.
Try it out yourself!
Plate number accuracy
Benchmark | License plate state identified | Correct in 1 of 10 estimates | Correct on 1st estimate |
---|---|---|---|
OpenALPR Open Source | 0.00% | 65.69% | 42.16% |
Rekor Scout® | 96.83% | 100.00% | 99.02% |
CPU hardware video performance
Benchmarks were conducted on Ubuntu Linux using Intel systems and integrated graphics.
System profile | 1080p | 720p | 480p |
---|---|---|---|
Xeon E5-2666 v3 @ 2.9 GHz | 12.7 FPS | 15.0 FPS | 16.8 FPS |
Core i5-5250U @ 1.6 GHz | 17.4 FPS | 20.4 FPS | 22.9 FPS |
Xeon E7-8880 v3 @ 2.3 GHz | 20.1 FPS | 23.4 FPS | 26.2 FPS |
Core i7-7700K @ 4.2 GHz | 52.4 FPS | 61.8 FPS | 69.9 FPS |
Core i7-8750H @ 2.2 GHz | 53.3 FPS | 60.8 FPS | 67.3 FPS |
Xeon Platinum 8124M @ 3.0 GHz | 203.8 FPS | 236.0 FPS | 275.5 FPS |
NVIDIA GPU video performance
Benchmarks were conducted on Ubuntu Linux using varied systems with NVIDIA GPU Acceleration enabled.
System profile | 1080p | 720p | 480p |
---|---|---|---|
NVIDIA Jetson TX-1 | 6 FPS | 15 FPS | 44 FPS |
NVIDIA Jetson TX-2 | 14 FPS | 34 FPS | 86 FPS |
NVIDIA Tesla M60 | 99 FPS | 164 FPS | 202 FPS |
NVIDIA GeForce GTX 1060 | 165 FPS | 191 FPS | 206 FPS |
NVIDIA Tesla V100 | 184 FPS | 329 FPS | 364 FPS |
NVIDIA GeForce RTX 2080 | 221 FPS | 297 FPS | 351 FPS |
Prerequisites
Rekor Scout® Basic or Pro license/subscription
Ubuntu 22.04, Ubuntu 20.04, Ubuntu 18.04, Windows 10, or Windows 11
Python (2 or 3)
Installation
Clone this repository
git clone https://github.com/openalpr/speed_benchmark.git
Install the Python requirements
pip install -r requirements.txt
Usage
View all command line options by running
python speed_benchmark.py -h
Select your desired resolution(s) -
vga, 720p, 1080p, and/or 4k
Benchmark using the default flags (1 stream and no minimum CPU threshold) by running
python speed_benchmark.py
Check the average CPU utilization (see sample output below). Resolutions with utilization of less than 95% are bottlenecked on decoding the video stream (typical for higher resolutions). These should be rerun with additional streams for a better estimate of maximum performance
Set the
--thres
to a non-zero value. This causes the program to add streams until the threshold CPU utilization is achieved. We recommend using90 < thres < 95
. On large systems where the CPU utilization for a single stream is much lower than your desired threshold, you can reduce the granularity of the search by setting--steps > 1
Estimate the number of cameras for a given total FPS value by using the following per-camera rules of thumb
Low Speed (under 25 mph): 5-10 fps
Medium Speed (25-45 mph): 10-15 fps
High Speed (over 45 mph): 15-30 fps
Sample Output
Using default options
Starting with 3 streams and incrementing by 2 each time 95% CPU utilization is not achieved
Last updated