Long range license plate recognition
Automatic license/number plate recognition (ALPR / ANPR) is a specialized kind of optical character (OCR). Target applications might include automatic car parking control, electronic toll collection, neighborhood watch, vehicle tracking and such.
Concerns about these systems have centered on privacy fears of government tracking citizens’ movements. Critics have described it as a form of mass surveillance. Nice let’s try!
As I have few telephoto lenses, selected one with has highest MTF. In this case sharpness won over focal length. My trusty Kurokesu C1 USB camera has pixel size of 2×2µm so sharpness will help achieving better results.
- Kurokesu C1 USB web camera
- Sigma 70-300 telephoto lens
- EOS to C-mount adapter
- 5mm adapter ring C-mount to CS-mount
Packed all items and headed to nearest bridge to hunt for traffic. View at angle at 300mm is in a range of degree. It was windy outside, so had to lower tripod to most stable position but shakiness was not eliminated completely.
I was using openALPR – open for community users, but if needed it has commercial support and cloud based processing plans.
License plate recognition is time consuming process. To process single frame it takes about 300ms with default settings. So this is was not realtime process (unless video is recorded at 3 or less frames per second). Therefore I will process recorded data with native alpr utility offline.
alpr.exe -c eu samples\1.avi -n 2 -j > results.json
Overlay results on original video
Generated results.json file contains useful information like license place number with confidence level, region of detected plate, time stamp. I made quick and dirty python script (which is even not worth publishing) to overlay this information on top of original video file.
Video shows all you need to know. Additional local plate training and filtering would help increase confidence level and recognition reliability.
Is this a tool for you to use? It depends on your application. If your application is to screen traffic realtime like I just did – this tool is not quite suitable due to high cpu load. If you would like to make automated entry into your house or parking it should work pretty well. Just consider implementing extra light sources for night time operation. Computer vision works much better when it has good light source.
On the other hand camera with lens like this can be used as a decent surveillance or spy tool by itself.