Introduction Problem description Implementation Image acquisition Preprocessing Character segmentation Character recognition Postprocessing Conclusions Publications:
IntroductionWe describe an optical character recognition (OCR) system intended for use in industrial applications. It was primarily designed for reading of serial numbers of electricity meters. It is appropriate for use in a wide range of industrial OCR applications such as reading of various types of serial numbers and notes on packing material. With some modifications it could also be used for other purposes such as reading of car licence plates. Because of it's industrial orientation there is a special focus on reliability and robustness.
Problem descriptionThere are two problems that must be solved. Character segmentation and character recognition.
ImplementationThe overall process consists of five processing steps:
Image acquisitionImage is acquired using a Sony XC-75 grayscale camera and a Matrox Meteor frame grabber. The size of characters on acquired image must not be less than 20 pixels. In case of smaller characters the appropriate recognition reliability cannot be achieved.
Preprocessingreprocessing consists of image sharpening, normalization, filtering and binarization. Sharpening is used quite rare, because it increases noise, but it gives better results at unfocused images. With use of normalization better results are achieved at binarization stage. Filtering is very important if there is a bad lightening (blinking light) and interlaced camera is used. There are three methods of binarization implemented in the system. These are manual threshold selection, automatic thresholding and automatic local thresholding. Methods used in preprocessing can be selected according to the operating environment.
Character segmentationCharacter segmentation consists of two steps. In the first step individual strings are located and their correct order according to the position in the image is found. In the second step every string located in the previous step is segmented into individual characters. There is a special focus on broken and connected characters.
Character recognitionCharacter recognition methods used in the system are not font invariant so learning stage is required before recognition. Recognition is based on classification. For that purpose every class (every kind of character) is represented with a reference character. Reference characters are charactes used in learning stage. Classification is preformed according to the calculated distances between recognizing character and all the reference characters. If distances do not correspond to some predefined conditions, recognizing character is marked as unrecognized.
PostprocessingThere is always just one string that needs to be recognized. In the postprocessing step it has to be determined wich is the right one. Determination is accomplished regarding to the following presets:
ConclusionsExperiment results confirms the selection of methods and suitability of the system for industrial use. We have also implemented a voice controlled user interface, which simplify the interventions at unsuccesful recognition. As the computer is often not located near the process makes possible to controll the process or correct the uncuccesful recognition with voice. Although the unsuccesful recognition si very rare and is supposed to happen only at bad conditions at image acquistion or when the interested string is damaged the user interface is simple and user friendly.