Number Recognition of Stencil

we are looking to trial some form of Machine Vision solution to identify stenciled numbers on moving objects - identifying numbers on a train or wagon.
These numbers are using two predefined fonts and 0-9, so 20 different possibilities in total, and up to 4 digits per image.
The camera can be positioned where-ever it needs to be to take a decent photo, and will be used day and night so some form of lighting will be provided, probably in the form of some small led as power will be ‘interesting’ at the proposed sites - IR is another option.
I would be looking to only send the the number, not the image through to a Arduino or Raspberry Pi for further uploading back to our servers - no storage of images would be required or wanted.
If this could be done on the fly as these objects come into vision (video) could be the preferred option rather than do post processing after a still image is taken, as triggering an image would be additional equipment and smarts involved.
The wagons would be moving - up to max 15K/h but more like 5-10K/h- so something on the fly would be most beneficial.

I have had a look around here and there is work toward number recognition, I am wondering how that is progressing and or if it would be an option for stencil based numbering.

Below is a sample of what numbers I would like to retrieve, please note the two different fonts, mainly noticeable on the last of the sequence.

At the present time, it would not be cost effective to put QR codes on each, and with the limited quantity of April tags available, that too would not work, unless there were two per wagon as we have close to 2000 wagons in the fleet.

Thank you,

I see what you want to do. Our lenet CNN could technically do this with some filtering. But, this is a rather hard problem. You’re not really going to find this easy to execute with any system.

Um, the first step is to build a jig for the camera that fixes it’s position and get images of what you want to detect. You need to assemble some type of corpus of pictures in different lighting conditions.

The images you show above have a lot of skew and background noise issues. You really just want pictures of the numbers that have nothing else in them.

Hello kwagyeman,
Thank you for your reply.
The images I posted were from my phone and more just to show the font/stencil types and to work out if do-able.

We will look toward the QR/April tags and get some prices of stickers/metal printing and despite the robustness of April tags, we will probably go with QR due to more out of the box api support on multiple platforms.

Maybe put this into the big bucket of customer requests for future models!


Doing two AprilTag’s in a row give you an ID space of (512*512) cars. You can keep adding them for more digits. QRcodes need to be aligned but are lighting invariant like AprilTags and give you a large number space. So, they are the best to use.

Use a version 1 QrCode with the OpenMV Cam and you’ll be fine. Version 1 is like a 21x21 grid of pixels so they can be far away and still be seen. If you couple a large QRcode with the new global shutter camera on the H7 you can trigger the snapshot given a mechanical switch or maybe a photo reflector using a laser to take the picture. Then the system will be very robust.

Thanks for the info kwagyeman, I didn’t realise there was a new model coming to market, and with the different camera sensor would allow us to use this at a faster speed.

We use plenty of laser/magic eye etc. sensors around here, so that shouldn’t be a problem, and we now have our test group of larger QR/April tags so will begin testing over the coming months.

Ultimately the way to go would be using the CNNs to read the existing numbers as shown in black on yellow in the pictures shown above but I recon that that is way above my pay grade programming something like that!


Hi, the number recong CNN works quite well. However, things move slowly in OpenMV land since me and Ibrahim do this all part time and folks don’t send us PR help. I’ll get everything eventually posted and rolled out.

I understand, and appreciate what people in the Open hardware/source world do for the rest of us who cannot!
When we get our gear, I will give what you have a go, and when the H7s come out then I will look into one of them as well - we were just too late to the party with the original Kickstarter buy-in as I didn’t check the ‘Notify Me’ box on this thread!

Thank you.

I’ll be opening the BackerKit store over the weekend. Then you can per-order.