Live data from Hacker News

I built a DIY license plate reader with a Raspberry Pi and machine learning

towardsdatascience.com

21–30 of 78 posts

Re: I built a DIY license plate reader with a Raspberry Pi and machine learning

#21
post #20

"Machine Learning" is the wrong tool for the job here. Tesseract OCR can do this, using only the Raspberry Pi, at a "good enough" framerate for any real driving situation.

It's more like a "learnèd machine" approach. No need to train the model, but a pre-trained model may be (or not be, depending on circumstances!) more efficient than "hand-written" OCR approaches.

The article mentions using a bunch of GPUs in AWS to do the processing, so I'm guessing that's a pretty firm "no" in this case...

Re: I built a DIY license plate reader with a Raspberry Pi and machine learning

#22
post #12

The obvious question is why not use a local accelerator? Either the Neural Compute Stick or the Google Coral both have more than enough grunt to run real-time object detection models. Both will run on USB2 power. I don't know the overhead of good OCR, but license plates are a very standard format so perhaps you could train a second detector to extract the letters? Even if you do OCR in the cloud, local bounding box e…

Probably yeah, but the potential of the cloud was much more appealing to me. Detecting the license plates is really cheap computationally speaking, but not on the RPi. The most expensive part computationally was identifying the words (letters) - that's because detecting the text within the bounding boxes obtained from YOLOv3 is based on a VGG-16 model. Running that multiple times in a single frame (for multiple licen…

Sure, it's a good exercise in infrastructure.

3Mbps doesn't sound much, but that's constant bandwidth. I have a 15 minute commute, which would make each journey about 400MB of data. That adds up quite fast especially on a mobile contract.

Re: I built a DIY license plate reader with a Raspberry Pi and machine learning

#23
post #11

So now medium is straight up not letting people read an article unless they're logged in ... Disgusting.

Disgusting, indeed. But as long as these links are accepted here, nothing won't change. Take this in the meantime: https://outline.com/qsv7ab

Thx!

Re: I built a DIY license plate reader with a Raspberry Pi and machine learning

#24
post #17
post #11

So now medium is straight up not letting people read an article unless they're logged in ... Disgusting.

There is also a limit on articles you can read before they throw up a paywall. No clue why anybody would use this as their blogging platform.

I thought that was opt-in by the author?

Re: I built a DIY license plate reader with a Raspberry Pi and machine learning

#25
post #16
post #5

It’s just a question of time before people can hack their own similar facial recognition system. The new glasses from Bosch, with a projector straight on to the retina, is an obvious choice for displaying personal info about everybody in reach of the camera. With 5G, everybody has a reliable access to all the computing power needed.

Link ?

They are probably talking about these: https://www.bosch-sensortec.com/products/optical-microsystem... The full video looks neat [0], but like all AR concepts it's made with CGI.

[0] https://www.youtube.com/watch?v=yIGaEHuCuAs

Re: I built a DIY license plate reader with a Raspberry Pi and machine learning

#27
post #2

The video referenced in the blog: https://www.youtube.com/watch?v=gsYEZtecXlA mentions that they used 20 K80 instances to get real time inferencing. That seems a bit excessive IMO for an object detector.

I'm the creator here. Yeah, 20 K80s is a bit excessive. That's because cortex (cortexlabs), which is the ML-model-deployment platform didn't initially have multiprocessing on each of their replicas - so I was bound to using just one CPU per GPU. AWS has instances with 4, 8, 16 vCPUs and so on. Once cortex started supporting gunicorn (still yet unreleased but present on their master branch), I was able to reduce the n…

Consider using a smaller, lighter-weight network (e.g. TinyYOLO) and object tracking (instead of running inferences on every camera frame) for faster throughput -- I imagine you should be able to get through with You can also customize the network to your use case, e.g. you don't need YOLO's default 5 anchor box sizes if you know the thing you're detecting is a license plate.

Also, profile your code and see where your bottleneck is. If your bottleneck is at NMS for example there are things you can do to speed it up. I've seen a lot of cases where the neural network runs fast but there's a lot of Python bloat for pre/post-processing -- not sure about yours without seeing code.

You really should be able to run a license plate detector/reader on something a lot smaller than a V100. A Xavier or quite possibly even a Jetson Nano would very likely be good enough if you use it well.

Post reply on HN