Expiration dates, lot codes, and other important texts are on all our consumer products. Federal regulations require that food and medical related items have this important information and that it is easily read by the end customer. Consequently, manufacturers are responsible for making sure these texts are present and accurate. Traditional optical character recognition (OCR) tool sets use a combination of image filters and pattern matching to determine which character is being read. A large set of tool parameters can be adjusted to help decide if what the camera sees is a character or just a mess of like colored pixels. Below you can see how an application using a traditional OCR tool works great when the text is clearly printed and very consistent.
What happens when the surface for the printing is uneven (color, texture, reflectivity) or perspective distortion causes the shape and/or proportions of the character to fall outside the nominal range set in the parameters? The toolset struggles to properly segment the characters and is confused as to what some of them are. The badly scratched/smudged ‘R’ is even being found by the OCR tool as two separate characters.
Enter Deep Learning OCR tools.
ViDiRead from Cognex leverages deep learning algorithms to decipher badly deformed, skewed, and poorly etched codes using OCR. The In-Sight ViDiRead tool works right out of the box thanks to pre-trained font libraries which dramatically reduce development time. Simply define the region of interest (ROI) and set the character size. In situations where new characters are introduced, you simply capture a handful of images, label the unknown character, and click train.
Using the same first image from before, we can train the ViDiRead tool and it reads as expected. A closeup of the last two characters shows nicely formed characters that the tool has no issues decoding.
Now when we use the image of the damaged label, the ViDiRead tool has absolutely no problem reading the characters. Even though the ‘R’ is poorly printed due to scratching/smudging, ViDiRead does not have any issues reading it.
Traditional OCR tools are great in many applications but there are some extra difficult-to-read texts that just do not allow these tools to be used. When all others have failed, ViDiRead will succeed.