LPR Software

jeremycolvin

Getting the hang of it
Jul 23, 2023
115
70
What is everyone doing for their LPR capture software? Right now, I'm using Blue Iris with platerecognizer.com as the Plate Recognizer for ALPR, but it has some limits.

Namely, it only seems to capture 1 snapshot from an approaching vehicle, so you have to activate it at just the right time with zones. (unless I'm totally missing something - which may be because I'm pretty new to this). But because it only seems to capture 1 screenshot, in my scenario it makes it pretty tough to arrange zones to capture at just the right time because I need to capture in both directions up and down my street. (Where I'm from, cars are only required to have a plate on EITHER the front OR back - so I can't just capture half the lane, because on the same view I might need to capture the front -or- the back plate depending on which way the vehicle is traveling). I have 2 camera's set up for this, right next to the road, one pointed left, down the road, the other right, up the road. To give an idea of proximity, the camera's are mounted on my mailbox. I'm getting GREAT video daytime and night, the license plates are very clear in the video, ie if I play through a clip and pause it when the LP is in good view... Meaning... that I can manually track a plate down pretty easily... but doing it in automation has proven to be a bit difficult... so I'm thinking that maybe there is a better solution than what I'm currently using for this purpose, so I'm curious, what are you guys using?

Here's my set up. I have set up the left camera with 5 zones, A, B, C, D, E
I have my triggers set up such that A>B,C>D,E - Meaning it triggers if motion detected:
1) In zone B if there has been motion previously in zone A
2) In zone D if there has been motion previously in zone C
3) Any motion detected in zone E

Here's my set up. I have set up the left camera with 3 zones, A, B, C
I have my triggers set up such that A>B,C>D - Meaning it triggers if motion detected:
1) In zone B if there has been motion previously in zone A
2) In zone D if there has been motion previously in zone C

Layout:

LPR Config.png

This works FAIRLY well... here are some captures:

Left - Front
Left-Front.png

Left - Rear
Left-Rear.png

Right - Front
Right-Front.png

Right - Rear
Right-Rear.png

But then I also get some completely missed images, mostly from the right side, or just barely on - so out of focus or blurry, ie:
Right-Rear - BAD.png

Whereas if I move this vehicle back a bit manually in the recorded video clip, I get a great image of the plate.

Or here... left front bad
Left-Front - BAD.png

So... I'm wondering if there is anything better (than platerecognizer.com) out there that either A) captures multiple snapshots and "tries" to find the best plate, or uses the video clip to render a plate?

-OR- if you have any other suggestions?

Thanks!!!
 
  • Like
Reactions: Flintstone61
That zone set up is very complicated. Why all of the zones? Unless you have some particular reasons, seems like you could simplify that a lot.

There's a plate model for CodeProject AI that runs local. Also, OpenALPR/Rekor. I haven't used either enough to say much but others here I know can school you.

Plate Recognizer is fairly easy and nice in some ways. I have too much traffic here for it. With two cams I burn through the free tier allotment in about 10-15 days. They do have a stream version but it's paid @ $35/month/cam. Haven't tried that.

You're not going to get all of them perfectly. Don't drive yourself crazy trying.
 
Last edited:
  • Like
Reactions: Flintstone61
That zone set up is very complicated. Why all of the zones? Unless you have some particular reasons, seems like you could simplify that a lot.

There's a plate model for CodePilot AI that runs local. Also, OpenALPR/Rekor. I haven't used either enough to say much but others here I know can school you.

Plate Recognizer is fairly easy and nice in some ways. I have too much traffic here for it. With two cams I burn through the free tier allotment in about 10-15 days. They do have a stream version but it's paid @ $35/month/cam. Haven't tried that.

You're not going to get all of them perfectly. Don't drive yourself crazy trying.

I've tried all kinds of zone configurations, so far, this is the best I've figured out for daytime, of course, the same zones don't work for night time though... I'm open to suggestions if you have a better idea for triggering the snapshot. Here are clips of the traffic each direction:

View attachment Left-Front.mp4
View attachment Left-Rear.mp4
View attachment Right-Front.mp4
View attachment Right-Rear.mp4
View attachment Night-Left-Front.mp4
View attachment Night-Right-Front.mp4
View attachment Night-Right-Rear.mp4
View attachment Night-Left-Rear.mp4
 
As others have said, you have several options.

  • CodeProject that is part of Blue Iris. Then use this utility to log plates. I haven't made the jump yet to CodeProject as DeepStack works for my situation and I currently use OpenALPR.
  • Plate Recognizer that is free for 2,500 plates per month. But it looks like in your situation you would go thru that fast. I use this at night on one of my LPR cams.
  • OpenALPR that is $8 per camera per month. Then use this awesome utility to track all the vehicles, tag them, etc. This is my primary driver for capturing and logging plates.

I agree with others that less is more for your zones. You may need to tighten the field of view or adjust the angle to capture what you want.

Obviously my angle is different, but here is my setup and you can see from the alert images, I am generally getting them with the plate in the center of the frame. In my case, it was draw a zone where I did so that the cars going right to left, I catch the front plate, and cars going left to right, I catch the back plate. It is some trial and error to get the FOV and zone line drawn to where you get them, but you see the idea in how to get it to trigger an alert with the vehicle in the frame. I do zoom in at night as this FOV for nightime was just a little too wide, but it is fine for daytime.

And then if you only wanted to catch vehicles going in one direction, simply add another zone to account for that.

1666275946029.png



I have the end trigger at 0.1 second so that I get another image if a car comes thru immediately after.

1666275972482.png



Personally I would tighten up the field of views. I think you are suffering from trying to do too much with one camera. I know one of your goals is to catch stop sign violators, but that can be captured with an overview camera and let the LPR do its job of capturing plates.

I would consider tightening Left to the block red and eliminate the cars approaching the stop sign from the other direction. Maybe even raise it up just a bit.

For right I would also tighten it to the block red and maybe tilt it up a bit.

In both instances, get the date/time stamp out of the way of where a plate could be. And remove the BI overlay date/time.

Then consider just one or at most two zones to get that capture.

1691467213166.png
 
I use single zones too. Where I ended up as a general approach when setting up and tuning mine was to put the center of the zone about where I wanted the trigger. Then varied the width and angle of a box around that line to either side to try to better account for variance in speed and direction. Some trigger a little earlier or later, but most all end up captured within that box. If that makes any sense.

As @wittaj shows above, zooming in some will help limit variance both for range and focus.

Also, for example, in your last pic above where you captured it too early, you could try drawing the zone as a diagonal from the stop sign down to the bottom-left corner. Then cars coming from that direction won't trigger until later and cars approaching the stop sign will have more time to get into the frame before triggering. Something like this:

Left-Rear.png
 
Last edited:
  • Like
Reactions: Flintstone61
Good news... with your guys advice, I was able to get it working... pretty much 100% of the time. The 2 things that I did:

1) Change it to just 1 zone over the whole area that will typically not be in motion, ie the road, up to the tree trunks, but not including the branches/leaves, etc.
2) And this was what actually made it work... I had the settings for "End Trigger unless re-triggered" and "Max trigger/alert" set too high (at the default 10 seconds) - changed that to 2 seconds and boom... now I'm getting multiple shots in each direction capturing the plate multiple times. With this I'm pretty much getting 100% capture.

Only now I'm getting like 3-5 shots per vehicle - I've effectively gone from too little to too many. But I can work with this, next steps are to tweak the timing a bit more to get the # of shots down, and then to implement CodeProject, etc. But so far, so good! :) Thanks for your help!

Settings.png

Capture.png
 
I use CodeProject and the custom license-plate model to confirm there’s a plate fully visible in the frame before it’s sent to PlateRecognizer.com.
I’m not using Zones and it works great for my situation.

How? I have code project installed, and the license plate reader module installed, but have no idea how to use them or how to configure it to send the single good image to PlateRecognizer, etc... any help would be appreciated! Thanks!
 
There are two different things.

One is the license-plate model that [mention]MikeLud1 [/mention]trained to identify license plates. That’s what I’m using to confirm there’s a plate in the frame before sending it to PlateRecognizer.com

The other is an entire License Plate Reader module (also by [mention]MikeLud1 [/mention]) that’s intended to not only identify a license plate but also read the characters on it locally.
 
  • Like
Reactions: MikeLud1
There are two different things.

One is the license-plate model that [mention]MikeLud1 [/mention]trained to identify license plates. That’s what I’m using to confirm there’s a plate in the frame before sending it to PlateRecognizer.com

The other is an entire License Plate Reader module (also by [mention]MikeLud1 [/mention]) that’s intended to not only identify a license plate but also read the characters on it locally.

ok... so I must have the "entire license plate reader module" part of that done... as with Mike's help, I was able to get it to start reading plates to the log... So I guess I'm missing the other...

log.png
 
Nothing to do with plates, lol, but I see you are using SMS to alert you.

At some point your mobile provider will flag you system as SPAM, especially if you are sending lots of text messages out of BI.

Every mobile provider is tightening down their spam algorithms. Maybe you are getting them right now, but one day it will just quit and frustrated you will post here that you are not getting text messages.

Then someone will tell you that it isn't a BI issue and you can confirm this by looking in your email sent folder and seeing they sent, so at that point it is your mobile provider.

Most of us have quit using SMS for this reason.

Either get the BI app to receive push notifications ($10) or do what most of us have done and get the pushover app ($5). The advantage to the pushover app is you will get pictures when away from your home. With the BI app, you will only get pictures with the push if you forward ports or have an ongoing VPN connection back to your system.

I still have one camera that have using text message along with the Pushover just for kicks. I will get the text message for a few months, and then it stops for while, and then it starts again.
 
Nothing to do with plates, lol, but I see you are using SMS to alert you.

At some point your mobile provider will flag you system as SPAM, especially if you are sending lots of text messages out of BI.

Every mobile provider is tightening down their spam algorithms. Maybe you are getting them right now, but one day it will just quit and frustrated you will post here that you are not getting text messages.

Then someone will tell you that it isn't a BI issue and you can confirm this by looking in your email sent folder and seeing they sent, so at that point it is your mobile provider.

Most of us have quit using SMS for this reason.

Either get the BI app to receive push notifications ($10) or do what most of us have done and get the pushover app ($5). The advantage to the pushover app is you will get pictures when away from your home. With the BI app, you will only get pictures with the push if you forward ports or have an ongoing VPN connection back to your system.

I still have one camera that have using text message along with the Pushover just for kicks. I will get the text message for a few months, and then it stops for while, and then it starts again.

Thanks for the tip... I do get pictures with the SMS right now... but I agree that it's not worth the txt's getting blocked... I'll go drop that now and figure out how I want to be notified after I figure out the LPR bit :) Thank you!
 
Thanks for the tip... I do get pictures with the SMS right now... but I agree that it's not worth the txt's getting blocked... I'll go drop that now and figure out how I want to be notified after I figure out the LPR bit :) Thank you!

Yeah the texts were so convenient and fast and worked so well. Then one day they stopped. I went to Pushover like many have here and it is actually much better than SMS.

Like I said, I have one I still have it going just for kicks so I can see when it stops sending and starts sending again. Usually around the time mine stops, someone posts a thread saying they stopped getting text messages LOL. So it is literally a predictive text because I know when mine stops, someone with the same provider will have the same issue and post about it LOL.