Getting the hands dirty with license plate recognition

Testing out a new technology, plus 14 tips for license plate recognition

To match a plate and determine the confidence of the match, the system relies on a number of pre-defined license plate styles for countries around the world and U.S. states. Some of these states have many (sometimes 30) pre-defined templates. That's designed to cover the specialty vanity plates being offered today, and it sounds like Dacolian is staying current with that and trying to add more and more of these bizarre plates that state tax departments are selling as revenue boosters. It's not just the U.S. that is plagued by specialty plates; Morten tells us that in his home country of Denmark, where the total population is 5 million (about the size of the metro Atlanta) they have 42 different types of license plates.

In my example for the demo purposes, I had a number of photocopies of how Texas license plates look on American cars. The blurry photocopies were about as good a testing ground as we could create in the class setting, shy of actually setting up a beta test in front of the hotel.

So, after setting up the country/state definition of the plates I wanted covered, I moved over to a setting where I could define the capture area - after all, there's no sense making your software work hard trying to try to read text way up in the air, when your license plates normally appear on a bumper a couple of feet off the ground. I also looked at settings on video resolution of the cameras incoming stream (I was using a Sony IPELA fixed camera model). I also had an interface to control how long I wanted to store that LPR data (some countries have limits on how long you can store this kind of personal data) and a number of other nuanced settings like a pixel-based setting to set general rules on how big the plates appear in the image. Mostly this was fairly intuitive on how to configure the settings; as a bonus, the GUI gives you a nice still image from your video stream so you can have a point of comparison as you do your configuration.

Quickly enough, I had the system recognizing license plates (both photocopies and some real plates that I could hold in my hands). The Smart Client (the Milestone end-user software/front-end for video management) links the video with license plate capture for your review. Mission accomplished, I thought, but we weren't done yet. A cup of coffee later, we were tackling the challenge of how to set up alerts - after all, one of the chief battle cries from the video analytics camp is that you can actually "DO SOMETHING" with your CCTV system, other than just let the video streams eat up you NVR/DVR/VCR/server storage.

Back in the system, I keyed in a couple plates and set a simple rule on them. If any those plates were recognized, then I had the system mark them as "disallowed." My idea was to set up an LPR system that would block certain vehicles from your parking garage, for example. Soon enough, but not until after realizing that I had been boneheaded and skipped a step, I had a system allowing and disallowing license plates and alerting me when the system had spotted a "disallowed" license plate. That's just one example of how you could set up a rule; I suppose there are scores of possibilities. Maybe you want to look for certain plates and link that with a gate access control system to allow them past a toll booth or into a special parking lot (for your execs, perhaps?); be creative.

I want to give you a final note as you think about applications. The systems are usually best applied for slow or stopped traffic, though that's not to say there's not a vendor out there with a system that can pull license plates off SUV s jam-packed on Interstate 40 when they're moving at 70 mph. Generally speaking, this is going to be better at slow situations like toll booth payments and parking lot access control. Of course, some kid is working right now at MIT or Cal-Tech and might just have that 70 mph system figured out next week. You can hold your breath, but I'm not going to hold mine for that promise.

So what did I learn - other than that if a trade journalist can set up a license plate recognition system, then so can you? I've got a few notes here on tips of the trade in setting up license plate recognition systems, and I think these generally aren't particularly vendor specific. Let's have at it:

1. Get fixed. By that, I mean you shouldn't be using autofocus cameras to try to recognize license plates on moving vehicles. That's a recipe for disappointment, so get a fixed camera instead.
2. Put your eye in the system. Just because the powerful human eye and brain can read a license plate at a horizontal angle of 70 degrees doesn't mean you should yet expect an LPR system to do the same. As Morten says, "A good image for the human eye might not be a good image for the software."