Jump to content
C4 Forums | Control4

ANPR / ALPR Driver For ALL Cameras!


Shivam Paw

Recommended Posts

New driver time!

This one lets you input any URL and capture the image it outputs. That image is then searched for license plates and the license plate is stored in a variable and an event is fired in Control4 programming!

You can use any URL. The driver supports Basic AND Digest Authentication.

You can use the driver to automatically open your gate, for example, when a specific number plate comes up to it. You can also use the image taken and used by the driver as part of a Control4 Push Notification!

The driver stores the license plate and the confidence (0-100) as variables. This means you can program based of the license plate! For example, if the number plate is not in your programming list then announce it over the speakers using our text to speech driver!

image.png.2b541687b1226cdb648a593730790ff1.png

The driver makes use of the OpenALPR API. This provides 1000 free requests a month which if used wisely is more than enough for most installs. Support has also been added for PlateRecognizer The documentation contains everything you need to get started.

The driver is available at https://drivercentral.io/platforms/control4-drivers/security-systems/control4-ip-camera-anpr/

Link to comment
Share on other sites


3 hours ago, ILoveControl said:

This is AWESOME question though is there an option to add more than 1000 requests a month? 

Yes but it’s quite an expensive mo they cost to be honest. I’m working with another provider of a similar service to bring a cheaper one for 5k requests per month. 

1 hour ago, ILoveControl said:

Additional question:

Within C4 can you like a number plate to a person i.e plate: P123456 = John Doe


Sent from my iPhone using Tapatalk Pro

You can do that with your programming in composer yes. If number plate is abc123 then turn on music for John Doe 

Link to comment
Share on other sites

17 minutes ago, RAV said:

Approximate response time?

From triggering the C4 action to fetch and detect to firing the event for a response I’ve had it at under 2 seconds. Breaking that down I had:

300ms to fetch the image

1300ms to submit and get a response from the api. 
 

have also had it faster but it depends on the camera resolution. You generally don’t need it to be bigger than 1280x720 in most scenarios which is what I used in my tests.

Link to comment
Share on other sites

Yeah I was doing something similar with blue iris AI integration for face and number plates. Nothing as fancy as your fantastic driver, all it did was use blue iris to do the processing in the background and I used all the cameras through blue iris.

I would still recommend running all cameras through BI though :) I am kinda a OCD freak when it comes to data and the stuff I have seen all sorts of cameras I have *including* the big brand names sending to china is astonishing .... This is with enterprise trusted tools that trace the traffic... (I digress)

What stopped me at the end was the amount of AI calls one could do whilst 1000 does sound like a lot it depends on the use case. The question I would have though is does this driver do a call to the plate API every time it detects a movement (motion) or every time it successfully picks up a number plate? Most of the providers have this free queries but then don’t have “scalable” plans kinda goes from free to enterprise license.

In your testing how successful has this worked with cameras mounted on high points I.e. roof corners etc. Reason I am asking is your original post shows quite a detailed and close up picture of the plate which would improve the AI positive return. Trying to figure out if I had to go this way would I have to put a camera mounted at a relative level to the entrance or could I leave my 5 and 8mp cameras two stories high on the corners of the house..... They have PTZ etc but having the camera, locking into the car (possible), then zoom into the cars plate (possible with presets), then the API call... I would be doing this full post while I waited for the systems to all connect and do their thing. So another camera would be needed in my opinion at a relative height with a good enough resolution?

Please don’t get me wrong I think what you have done here and then integration into C4 is incredible. Just want to know if for my use case I would really use it or it would be more of a nice to have.

Link to comment
Share on other sites

5 minutes ago, ILoveControl said:

Yeah I was doing something similar with blue iris AI integration for face and number plates. Nothing as fancy as your fantastic driver, all it did was use blue iris to do the processing in the background and I used all the cameras through blue iris.

I would still recommend running all cameras through BI though :) I am kinda a OCD freak when it comes to data and the stuff I have seen all sorts of cameras I have *including* the big brand names sending to china is astonishing .... This is with enterprise trusted tools that trace the traffic... (I digress)

What stopped me at the end was the amount of AI calls one could do whilst 1000 does sound like a lot it depends on the use case. The question I would have though is does this driver do a call to the plate API every time it detects a movement (motion) or every time it successfully picks up a number plate? Most of the providers have this free queries but then don’t have “scalable” plans kinda goes from free to enterprise license.

In your testing how successful has this worked with cameras mounted on high points I.e. roof corners etc. Reason I am asking is your original post shows quite a detailed and close up picture of the plate which would improve the AI positive return. Trying to figure out if I had to go this way would I have to put a camera mounted at a relative level to the entrance or could I leave my 5 and 8mp cameras two stories high on the corners of the house..... They have PTZ etc but having the camera, locking into the car (possible), then zoom into the cars plate (possible with presets), then the API call... I would be doing this full post while I waited for the systems to all connect and do their thing. So another camera would be needed in my opinion at a relative height with a good enough resolution?

Please don’t get me wrong I think what you have done here and then integration into C4 is incredible. Just want to know if for my use case I would really use it or it would be more of a nice to have.

It is a call every time you trigger it within C4. So that depends on how you want it setup. I've had my success with a break beam sensor at the gate and triggering it based of that.

The general recommendation is no more than a 45 degree angle horizontally or vertically. http://doc.openalpr.com/camera_placement.html should give you some useful information. I had success with this angle:

StGAda6.png

But it's the only other test I was able to do properly. That said I did do some random testing with another camera on the driveway to test the range and it was fairly accurate - but it depends on the camera resolution etc.

The camera I'm actually using is the Hikvision mini dome. Cost around £100. I set the exposure to 1/10000 and that's been working extremely well for me now. The biggest issue was headlights but that's what the low (fast) exposure timing helps with.

Link to comment
Share on other sites

11 minutes ago, ILoveControl said:

Yeah I was doing something similar with blue iris AI integration for face and number plates. Nothing as fancy as your fantastic driver, all it did was use blue iris to do the processing in the background and I used all the cameras through blue iris.

I would still recommend running all cameras through BI though :) I am kinda a OCD freak when it comes to data and the stuff I have seen all sorts of cameras I have *including* the big brand names sending to china is astonishing .... This is with enterprise trusted tools that trace the traffic... (I digress)

What stopped me at the end was the amount of AI calls one could do whilst 1000 does sound like a lot it depends on the use case. The question I would have though is does this driver do a call to the plate API every time it detects a movement (motion) or every time it successfully picks up a number plate? Most of the providers have this free queries but then don’t have “scalable” plans kinda goes from free to enterprise license.

In your testing how successful has this worked with cameras mounted on high points I.e. roof corners etc. Reason I am asking is your original post shows quite a detailed and close up picture of the plate which would improve the AI positive return. Trying to figure out if I had to go this way would I have to put a camera mounted at a relative level to the entrance or could I leave my 5 and 8mp cameras two stories high on the corners of the house..... They have PTZ etc but having the camera, locking into the car (possible), then zoom into the cars plate (possible with presets), then the API call... I would be doing this full post while I waited for the systems to all connect and do their thing. So another camera would be needed in my opinion at a relative height with a good enough resolution?

Please don’t get me wrong I think what you have done here and then integration into C4 is incredible. Just want to know if for my use case I would really use it or it would be more of a nice to have.

Oh and your point about scalability is good. Solutions are in the works. Another API provider are in the process of adding a $5 per month for 5,000 requests plan. When they do this I will add their API to integrate with this driver which will give options for scalability. Expected within 1 month!

Link to comment
Share on other sites

Very cool. So in your instance the car would have to get to the gate and be stationary? Then the trigger for the sequence *check the np, c4 etc which as you mentioned is relatively quick*

The use case there is in some areas around the world having to sit at the gate could pose a risk, most times ppl would pre open the gate even before arriving. Now this could be dealt with by using a bullet camera with a good distance lense and the right exposure.

The only issue I would see then would be all the false positives with the potential number of cars driving up and down on your street.

Link to comment
Share on other sites

Oh and your point about scalability is good. Solutions are in the works. Another API provider are in the process of adding a $5 per month for 5,000 requests plan. When they do this I will add their API to integrate with this driver which will give options for scalability. Expected within 1 month!


Excellent! That is more than fair for what you actually getting and the fact that the processing is done remotely and you just getting a Boolean to work with (I assume that is what is returned). Should look at face reg as well as it could then validate the need to put a decent camera at the entrance for both plate and face.

Once could potentially even use the camera image from a DS2 but that camera is cr@p.
Link to comment
Share on other sites

Just now, ILoveControl said:

Very cool. So in your instance the car would have to get to the gate and be stationary? Then the trigger for the sequence *check the np, c4 etc which as you mentioned is relatively quick*

The use case there is in some areas around the world having to sit at the gate could pose a risk, most times ppl would pre open the gate even before arriving. Now this could be dealt with by using a bullet camera with a good distance lense and the right exposure.

The only issue I would see then would be all the false positives with the potential number of cars driving up and down on your street.

Doesn't need to be stationary. The car passes the beam sensor which triggers it all off. In our case we never pre-open the gate because of the dog but the driver is also useful for detecting when an "unknown" car arrives - the TTS driver we've developed will announce the plate.

The beam sensor avoids false positives - it works with a transmitter and receiver. The TX sends an IR (invisible) beam to the RX and when broken it triggers a contact closure connected to C4. So you actually have to come into the drive for it to trigger.

Link to comment
Share on other sites

1 minute ago, ILoveControl said:

 


Excellent! That is more than fair for what you actually getting and the fact that the processing is done remotely and you just getting a Boolean to work with (I assume that is what is returned). Should look at face reg as well as it could then validate the need to put a decent camera at the entrance for both plate and face.

Once could potentially even use the camera image from a DS2 but that camera is cr@p.

It returns a JSON of the plate and the confidence level (amongst other details).

Control4 Face Recognition? ;););)

Link to comment
Share on other sites

Doesn't need to be stationary. The car passes the beam sensor which triggers it all off. In our case we never pre-open the gate because of the dog but the driver is also useful for detecting when an "unknown" car arrives - the TTS driver we've developed will announce the plate.
The beam sensor avoids false positives - it works with a transmitter and receiver. The TX sends an IR (invisible) beam to the RX and when broken it triggers a contact closure connected to C4. So you actually have to come into the drive for it to trigger.


Makes sense and good thinking with the beam sensor, you can get them for pretty cheap and you could even use the magnetic pressure sensor etc from 2N for the DS2 (if C4 didn’t insist on resetting your bloody settings all the time it syncs).

Would have to figure out how that would really work in my scenario but I am sure that is not an issue.
Link to comment
Share on other sites

It returns a JSON of the plate and the confidence level (amongst other details).
Control4 Face Recognition?


Nice the model for the accuracy would be great to expose via the driver as well tbh as one could then do programming around that I.e.

Bla is at the gate, 89% confidence level - expecting bla so should let them in. Or Joe is at the gate confidence level 65% - send camera snapshot of different angles.

Some cool use cases that could be done here :D :D :D


Sent from my iPad using Tapatalk Pro
Link to comment
Share on other sites

Just now, ILoveControl said:

 


Nice the model for the accuracy would be great to expose via the driver as well tbh as one could then do programming around that I.e.

Bla is at the gate, 89% confidence level - expecting bla so should let them in. Or Joe is at the gate confidence level 65% - send camera snapshot of different angles.

Some cool use cases that could be done here :D:D:D


Sent from my iPad using Tapatalk Pro

it does give you a confidence level (as a variable, 0-100) so that's already possible.

Just now, ILoveControl said:

As for Face Reg, it would be really nice feature to have :)


Sent from my iPad using Tapatalk Pro

Agreed!

Link to comment
Share on other sites

  • 1 year later...
  • 5 months later...
This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.