It took more than 2 seconds to recognize a plate


#1

I tested the plate recognition on my arm64 (1.8GHz) &ubuntu18 board with sdk version 2.7.101. It took more than 2 seconds. Is this normal? Or am I not doing the right thing?

The picture of plate is 720*576.


#2

The majority of that time may be initialization. If you scan a video file, for example:
wget http://download.openalpr.com/bench/720p.mp4
alpr --clock 720p.mp4

What kind of times are you getting per frame (after initialization)? Keep in mind this is single core processing speed, so if you have 4 cores, it would be roughly 4x faster using an agent.

Also, for embedded processing, we’d recommend the Jetson line from Nvidia. The Jetson Nano, for example, costs a little over $100 and can process 15+ FPS (~66ms per image) at 1080p using its embedded GPU.


#3

Thanks for your reply ,I will try to test the mp4 file.


#4

1、I’ve tested the 720p.mp4 using command "alpr --clock 720p.mp4“.

It shows:
“[mov,mp4,m4a,3gp,3g2,mj2 @ 0x5589718610] stream 1, offset 0x2dac07a: partial file
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x5589718610] stream 1, offset 0x2dac1e4: partial file
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x5589718610] stream 1, offset 0x2dac34c: partial file
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x5589718610] stream 1, offset 0x2dac4ee: partial file
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x5589718610] stream 1, offset 0x2dac64d: partial file
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x5589718610] stream 1, offset 0x2dac7af: partial file
Processed 0 frames
First batch time: 0
Steady state total time: 0.291951
Cumulative steady-state fps: -3.42523
"
2 I used the demo code to test a plate image : http://doc.openalpr.com/sdk.html#id3
1) Comercial SDK 2.7.101:
Alpr response: {“version”:2,“data_type”:“alpr_results”,“epoch_time”:1563267820994,“img_width”:800,“img_height”:551,“processing_time_ms”:2144.40234375,“uuid”:”",“error”:false,“regions_of_interest”:[{“x”:0,“y”:0,“width”:800,“height”:551}],“results”:[{“plate”:“PE3R2X”,“confidence”:93.155754089355469,“matches_template”:1,“plate_index”:0,“region”:“us-mo”,“region_confidence”:98,“processing_time_ms”:253.70054626464844,“requested_topn”:10,“coordinates”:[{“x”:457,“y”:213},{“x”:518,“y”:218},{“x”:513,“y”:248},{“x”:452,“y”:243}],“vehicle_region”:{“x”:332,“y”:26,“width”:306,“height”:306},“candidates”:[{“plate”:“PE3R2X”,“confidence”:93.155754089355469,“matches_template”:1},{“plate”:“PE3R2”,“confidence”:77.4974594116211,“matches_template”:0},{“plate”:“PE3R2Y”,“confidence”:77.336616516113281,“matches_template”:1}]}]}

b) 1) Comercial SDK 2.6.101:
Alpr response: {“version”:2,“data_type”:“alpr_results”,“epoch_time”:1512950535471,“img_width”:800,“img_height”:551,“processing_time_ms”:1383.703369140625,“uuid”:"",“error”:false,“regions_of_interest”:[{“x”:0,“y”:0,“width”:800,“height”:551}],“results”:[{“plate”:“PE3R2X”,“confidence”:93.154571533203125,“matches_template”:1,“plate_index”:0,“region”:“us-mo”,“region_confidence”:99,“processing_time_ms”:526.6602783203125,“requested_topn”:25,“coordinates”:[{“x”:460,“y”:214},{“x”:513,“y”:216},{“x”:509,“y”:248},{“x”:456,“y”:246}],“vehicle_region”:{“x”:325,“y”:18,“width”:319,“height”:319},“candidates”:[{“plate”:“PE3R2X”,“confidence”:93.154571533203125,“matches_template”:1}]}]}

You can see that processing_time_ms is different.The newer version of SDK is bigger。


#5

Hi 2948450598,

The history show a sudden development. I made some speed tests.
All software is with default settings (without hardware acceleration). I used old computer for testing - Intel Core 2 Duo E6750, 4 GB RAM, Windows 10 64bit build 1607.

Commercial OpenAlpr v2.7.101 - typical time 900 ms
101_speed_test_small

Commercial OpenAlpr v2.6.103 - typical time 400 ms

Commercial OpenAlpr v2.6.101 - typical time 400 ms

Commercial OpenAlpr v2.5.103 - typical time 390 ms

Commercial OpenAlpr v2.5.101 - typical time 390 ms

Commercial OpenAlpr v2.4.102 - typical time 380 ms

Commercial OpenAlpr v2.4.101 - typical time 420 ms

Commercial OpenAlpr v2.3.109 - typical time 330 ms

Free OpenAlpr v2.3.0 - typical time 380 ms

Free OpenAlpr v2.2.0 - typical time 38 ms

Commercial Openalpr engine is the slowest I’ve seen, but they can recognize very small numbers. Their minimum is 32x14 px at 120 pixels at all others. It’s like satellite surveillance with many options.
I love OpenAlpr, but they have a long way to go.


#6

Commercial OpenAlpr v2.6.103 - typical time 400 ms
103_speed_test_small


#7

Free OpenAlpr v2.2.0 - typical time 38 ms
0_speed_test_small