5 ms·
I successfully designed a commercial LPR system using non-ML methods that handles all those kind of weird real-world cases you get that are never mentioned in p
by l33tman 8y ago
I successfully designed a commercial LPR system using non-ML methods that handles all those kind of weird real-world cases you get that are never mentioned in papers about LPR and OCR.
Check out some of the hard cases here: https://waysight.com/lpr-technology/#examples https://waysight.com/lpr-technology/#examples
I couldn't use neural networks at the time, because 1) it had to run in a single core 200 MHz ARM at 20 fps, and 2) it took too long to "debug" the NNs (often you want to improve performance and the failure cases seem fine to you)
So the resulting performance of this system was and is state of the art in that in practice it captures everything correctly, so there is no point wasting cycles on an NN solution.
On the other hand, starting from scratch, an NN solution can allow you to advance quickly with little domain knowledge.
I would like to repeat a word of caution other posters mentioned as well - it takes years to collect the training data required for successful commercial LPR, both for NN and non-NN methods (as you need regression tests even if you don't need it for training), to get plates from all seasons and weathers and vehicle conditions.
Interestingly, now almost 10 years later, when I look at more modern deep NNs and analysing their initial stages with modern tools I see a lot of similarity to my original "standard" algorithms. In essence, the code I wrote did the same thing a modern convolutional deep NN would learn to do.
In particular, see this recent analysis of how (some) convnets learn:
https://www.lyrn.ai/2019/02/14/bagnet-imagenet-with-a-simple-bof-model/ https://www.lyrn.ai/2019/02/14/bagnet-imagenet-with-a-simple...
Which, as it turns out, is really similar to how 80's and 90's style classic OCR algorithms work!
- sametmax 8y agoI wish the work you did could be open sourced, including the data set. Work like that is lost to humanity because it's done for only a few entities, and once they are being replaced, the initial work disapear with it.
- Reelin 8y ago> ... it takes years to collect the training data required for successful commercial LPR, both for NN and non-NN methods (as you need regression tests even if you don't need it for training), to get plates from all seasons and weathers and vehicle conditions. I suspect this won't be the case for much longer (or perhaps already isn't). It seems successful generalization from simulated environments is within reach. https://blog.openai.com/generalizing-from-simulation/ https://blog.openai.com/generalizing-from-simulation/
- whoisthisguy 8y agoSince license plates are "simple" (unlike photos of faces for example), training data can be generated. Similarly how Dropbox developed their OCR system based on NN.
- l33tman 8y agoYeah that would certainly be interesting. At least it would work to expand a dataset. I guess the tricky part is to realize at all that some problem cases can appear though, and code them into the simulation.. for example, the bumper-bent license plates someone wrote about further down :)
- dsfyu404ed 8y agoI noticed bent license plates aren't in the list of example "hard cases". Are those not an issue or does the tech just fail so hard on those it's not even worth trying? Every other older vehicle where I live has a front plate that's got a horizontal bend in it from when you park with the front end in a snow bank so while not a majority case it's not exactly an edge case either.
- chrismeller 8y agoWhen you mentioned pickups I immediately pictured bent and mangled plates from hitching up trailers. Not being from any sort of region that would have snow banks, let alone ones tall enough to get to the bumper of a truck... why is that bending license plates?
- tazard 8y agoOften to get off the road, people pull up and drive right into the snow bank. After it's been plowed and it settles, it can get quite hard.
- chrismeller 8y agoWouldn’t that harm the bumper the plate is on at some point? I mean if it’s hard enough to bend the plate it seems the same as me just bumping into the concrete wall in front of my parking space every day when I get home and I would never do that and think it’s ok...
- dsfyu404ed 8y agoEventually, maybe, depends how hard you hit stuff and the bumper in question. Depending on the vehicle age and owner there might just not be any fucks around to give (with work vehicles being driven by people making less than $20/hr this is almost guaranteed). Snow doesn't tend to be very damaging because you can't really build a straight up wall with it and the outer layers generally conform to the bumper so it's more like a soft push on all the available surface area. It's just that if the license plate doesn't have anything substantial backing it up it will bend.
- astrobe_ 8y ago> On the other hand, starting from scratch, an NN solution can allow you to advance quickly with little domain knowledge. [...] In essence, the code I wrote did the same thing a modern convolutional deep NN would learn to do. While the machines learn, the humans don't.