The problem: Reading a dot matrix code on a beer can at 1200 cans per minute.
We were invited some years ago to a beer canning factory that was filling cans with Guinness. The canning company had received complaints from their Japanese customer as some of the cans did not have any batch codes printed on them. This is a big problem because:
a) It is not possible to trace batches of product if there is no batch code
b) The Japanese (allegedly) drink lots of Guinness, so the quantity of cans being shipped to Japan was enormous and therefore, so was the potential problem.
Pick up any beer can and look at the bottom of it and you will usually see a concave surface with the batch code printed onto it. So there are three main challenges for any vision system with this problem to solve:
A concave surface means some text will be distorted. The surface is quite reflective, so light can be reflected back towards the sensor.
The dot matrix printer does not always print all of the character and so reading this requires some element of ‘forecasting’ the result with the pixels that do exist.