Character RecognitionUsing Cross Correlation
Prepared by: Vinay Varghese
Introduction:• The purpose of this presentation is to briefly explain how
character recognition works
• Explanations were prepared with the target audience in mind (Grade 12 students)
• Hence, the explanations will not dwell too much on the in depth details of character recognition
Definition:
• Character recognition is the process by which a software can read text from an image file
• In the field of Electrical Engineering, character recognition falls under the category of image processing
Brief Example:• Below is an example of what should happen if one inputs an image with
text into a character recognition program:
Input: Output:
Application:• There are many modern day applications for text recognition
• As we head into the future, the text recognition will be more and more useful
• For example: As the technology gets better, one could take his or her handwritten notes from a lecture and have in converted into a word text document with a simple scan
• This technology also has other applications like automatically detecting a car’s licence plate from a photo taken from a speeding fine.
How it works• There are many ways in which text recognition can be implemented
• This presentation will only deal with the method known as cross correlation
• To put it brief, cross correlation is the process by which two signals are compared to see the amount by which the two signals are similar
• In text recognition, this can be used in the following manner: For example, one can try compare the letter A from the computer data base with any letter inside the input image. If there is match between a letter in the image and that of the letter A, then that means the letter A exists in the image
Graphic Example:• I will now proceed to show how one can convert a specific person’s hand
writing into text
• There are many limitations to this simple process. For example, it will only work for people with the same handwriting. The way I write the number 7 may differ from the way someone else writes the same number
• In other words, there will be minimum cross correlation between people of different handwriting styles
Example: My handwriting• In order to start detecting my handwriting. There needs to be a data base
(template) with every letter from a-z with my handwriting style within the detection program.
• Below is the data base of my own handwriting that I have briefly created.• Each character in a box represents a letter
Defining each character:
• The letter styles from the previous slide still need to be linked to digital characters so that the program knows exactly what each letter means.
• This is done in a manner similar to the image below:
• This is not only done for the above four letters for letter but for each letter from a to z.
Detection:• Each template letter will now dragged across the image file to look for
similarities using cross correlation.• Should there be a correlation, then the program will link the handwritten
letter to a digital letter and make it text
Result:• After the letters were compared, the result will look as follows:
How the program sees the cross correlation:
• This section is a bit complicated, but I want to show what the computer sees after a comparison between two letters is done:
Explanation of the correlation graph:
Explanation of the correlation graph:
• The peak in the graph conveys important information. The position of the peak shows the position of the letter in question. The height of the peak also shows how similar the two letters are
• To have increased accuracy, one can change the accepted value of the peak value (threshold)
• E.g Accepting a peak of 90 will be more accurate than a peak of 80
Conclusion• The previous slides were just a brief explanation as to how one can
implement an easy character recognition algorithm
• This is the method of detecting text using cross correlation
• There are many other methods that are arguably better
• Hope you enjoyed the presentation!