On-premise OCR Solutions for LPR?

cjowers

Getting the hang of it
Joined
Jan 28, 2020
Messages
107
Reaction score
36
Location
AUS
Hi All,

Has anyone tried a home-made solution to read plates? For instance, plate recognition (and image crop) by YOLOv3, then OCR by pytesseract?

It seems there are plenty of examples out there, but the open source ones I've been looking at seem to be pretty bad at the character recognition side of things (why??) despite the cropping/thresholding/contour result giving a very good looking plate (which would be 100% obvious to a person). Is pytesseract still the best OCR we have? Or does the plate character recognition need to be trained for the specific font on your license plates for it to work reliably (with pytesseract i notice errors with O vs U, 4 vs G, etc.) ? Are there better methods (free/open source/on premise) for OCR of plates? I'd like to play around with this, so am looking for a decent OCR method, without going too overboard. Any thoughts?

Note: I'm starting from scratch, so open to ideas and just wanting to check in before I begin installing things. I'm not really interested in the free-trial cloud API keys some projects offer. This is mostly as a learning exercise, but it would be nice if it was worth doing. I think the LP detection and cropping would at least be useful to me, even if the OCR is no good.

Thanks


some examples that turned up in my brief search:
License Plate Recognition with OpenCV and Tesseract OCR - GeeksforGeeks
sergiomsilva/alpr-unconstrained
alitourani/yolo-license-plate-detection
TheophileBuy/LicensePlateRecognition
 

richardgohth

Getting the hang of it
Joined
Jun 23, 2017
Messages
110
Reaction score
37
Location
Singapore
tesseract is more for document ocr
hand crop and test tesseract first
what is your OS? linux or Windoze?
 

cjowers

Getting the hang of it
Joined
Jan 28, 2020
Messages
107
Reaction score
36
Location
AUS
what is your OS? linux or Windoze?
windows (10 pro)
(have docker installed if it helps)

or if there are better solutions for linux, im interested to hear. I could probably setup a dual boot PC for development purposes.
 
Last edited:

richardgohth

Getting the hang of it
Joined
Jun 23, 2017
Messages
110
Reaction score
37
Location
Singapore
windows (10 pro)
(have docker installed if it helps)

or if there are better solutions for linux, im interested to hear. I could probably setup a dual boot PC for development purposes.
I have setup a web based ocr, the client uses curl to upload file.
Scripts are for linux
download from Optasia Download
pls read the readme therein
 

cjowers

Getting the hang of it
Joined
Jan 28, 2020
Messages
107
Reaction score
36
Location
AUS
Thanks for this! I'll look into it. As I was looking up Optasia, one of your videos popped up as well. It looks really good, pretty cool that you only need the single board computer. Is that model similar in specs to a RasPi 4?

Optasia looks really good for multi-cam setups on public roads, with the parallel, relational sql-like queries for various checks (speed and traffic laws, amber alerts, etc) and probabilistic predicates to ignore most things.
Just so I understand, did you create your own web-based ocr, or are you using an exisiting one to return results?

Thanks again, really neat stuff
 

richardgohth

Getting the hang of it
Joined
Jun 23, 2017
Messages
110
Reaction score
37
Location
Singapore
Optasia looks really good for multi-cam setups on public roads, with the parallel, relational sql-like queries for various checks (speed and traffic laws, amber alerts, etc) and probabilistic predicates to ignore most things.
we are not related to this article
our videos are here

Just so I understand, did you create your own web-based ocr, or are you using an exisiting one to return results?

Thanks again, really neat stuff
the ocr is our own.
 

cjowers

Getting the hang of it
Joined
Jan 28, 2020
Messages
107
Reaction score
36
Location
AUS
very cool, I'll check it out and start with the readme. And any other good resources you can recommend for learning this space would be appreciated too or general tips on this setup.
Thanks

-just found some more articles and videos on your system. the exposure bracketing with gige/usb3 cameras looks like it handles variability well. Does it wait for a suspected plate before it changes exposure, or does it just loop through exposures continuously? is this only for cams that don't need a continuous live feed (and not IP cams of course)?
 
Last edited:

LauraC

n3wb
Joined
Apr 14, 2021
Messages
2
Reaction score
0
Location
MIAMI. FL
So does your company (Survision) provide software similar to other vendors that home based LPR users can use at a reasonable price?
Our company doesn't provide software. The camera is exclusively made for LPR, there is a firmware embedded inside the camera that will read the license plate and send the data to whatever system, or simply by Wiegand.
 
Joined
Feb 5, 2023
Messages
1
Reaction score
0
Location
US
Hi All,

Has anyone tried a home-made solution to read plates? For instance, plate recognition (and image crop) by YOLOv3, then OCR by pytesseract?

It seems there are plenty of examples out there, but the open source ones I've been looking at seem to be pretty bad at the character recognition side of things (why??) despite the cropping/thresholding/contour result giving a very good looking plate (which would be 100% obvious to a person). Is pytesseract still the best OCR we have? Or does the plate character recognition need to be trained for the specific font on your license plates for it to work reliably (with pytesseract i notice errors with O vs U, 4 vs G, etc.) ? Are there better methods (free/open source/on premise) for OCR of plates? I'd like to play around with this, so am looking for a decent OCR method, without going too overboard. Any thoughts?

Note: I'm starting from scratch, so open to ideas and just wanting to check in before I begin installing things. I'm not really interested in the free-trial cloud API keys some projects offer. This is mostly as a learning exercise, but it would be nice if it was worth doing. I think the LP detection and cropping would at least be useful to me, even if the OCR is no good.

Thanks


some examples that turned up in my brief search:
License Plate Recognition with OpenCV and Tesseract OCR - GeeksforGeeks
sergiomsilva/alpr-unconstrained
alitourani/yolo-license-plate-detection
TheophileBuy/LicensePlateRecognition
Hi All,

Has anyone tried a home-made solution to read plates? For instance, plate recognition (and image crop) by YOLOv3, then OCR by pytesseract?

It seems there are plenty of examples out there, but the open source ones I've been looking at seem to be pretty bad at the character recognition side of things (why??) despite the cropping/thresholding/contour result giving a very good looking plate (which would be 100% obvious to a person). Is pytesseract still the best OCR we have? Or does the plate character recognition need to be trained for the specific font on your license plates for it to work reliably (with pytesseract i notice errors with O vs U, 4 vs G, etc.) ? Are there better methods (free/open source/on premise) for OCR of plates? I'd like to play around with this, so am looking for a decent OCR method, without going too overboard. Any thoughts?

Note: I'm starting from scratch, so open to ideas and just wanting to check in before I begin installing things. I'm not really interested in the free-trial cloud API keys some projects offer. This is mostly as a learning exercise, but it would be nice if it was worth doing. I think the LP detection and cropping would at least be useful to me, even if the OCR is no good.

Thanks


some examples that turned up in my brief search:
License Plate Recognition with OpenCV and Tesseract OCR - GeeksforGeeks
sergiomsilva/alpr-unconstrained
alitourani/yolo-license-plate-detection
TheophileBuy/LicensePlateRecognition
Well, the accuracy of OCR can be impacted by various factors such as image resolution, contrast, and noise.
 
Joined
Feb 5, 2023
Messages
1
Reaction score
0
Location
US
Hi All,

Has anyone tried a home-made solution to read plates? For instance, plate recognition (and image crop) by YOLOv3, then OCR by pytesseract?

It seems there are plenty of examples out there, but the open source ones I've been looking at seem to be pretty bad at the character recognition side of things (why??) despite the cropping/thresholding/contour result giving a very good looking plate (which would be 100% obvious to a person). Is pytesseract still the best OCR we have? Or does the plate character recognition need to be trained for the specific font on your license plates for it to work reliably (with pytesseract i notice errors with O vs U, 4 vs G, etc.) ? Are there better methods (free/open source/on premise) for OCR of plates? I'd like to play around with this, so am looking for a decent OCR method, without going too overboard. Any thoughts?

Note: I'm starting from scratch, so open to ideas and just wanting to check in before I begin installing things. I'm not really interested in the free-trial cloud API keys some projects offer. This is mostly as a learning exercise, but it would be nice if it was worth doing. I think the LP detection and cropping would at least be useful to me, even if the OCR is no good.

Thanks


some examples that turned up in my brief search:
License Plate Recognition with OpenCV and Tesseract OCR - GeeksforGeeks
sergiomsilva/alpr-unconstrained
alitourani/yolo-license-plate-detection
TheophileBuy/LicensePlateRecognition
Yes, it's possible to build a license plate recognition system using a combination of computer vision techniques and OCR. But the accuracy of OCR can be affected by the quality of the input image and the font used. To improve it, you may pre-process the input image. This can include techniques such as thresholding, filtering, and morphological operations. However, depending on the specific task, there may be other OCR software that may be more suitable. So it would be helpful to seek professional advice from experts, such as those from Document Scanning and OCR SDK for Apps & Web – Smart Engines. This can help to reduce errors and improve recognition accuracy.
 
Last edited:
Top