Handwriting recognition is an entirely different beast though. The styles of the fonts were more conducive to OCR.Įssentially, engineered/computer-generated fonts make OCR far easier.There was a predictable and assumed space between each character (thereby making segmentation easier).In the 1970s, specialized fonts were developed specifically for OCR algorithms, thereby making them more accurate.īy the 2000s, we could use the fonts that came pre-installed on our computers to automatically generate training data and use these fonts to train our OCR models.Įach of these fonts had something in common:
In the early 1900s, that could have been the font used by microfilms.
Traditional OCR algorithms and techniques assume we’re working with a fixed font of some sort. What is handwriting recognition? And how is handwriting recognition different from traditional OCR?įigure 3: OCR is more difficult for handwriting than for typed text. To wrap up today’s OCR tutorial, we’ll discuss our handwriting recognition results, including what worked and what didn’t. We’ll review our project structure and then implement a Python script to perform handwriting recognition with OpenCV, Keras, and TensorFlow. You should have a firm understanding of the concepts and scripts from last week as a prerequisite for this tutorial. Note: If you haven’t read last week’s post, I strongly suggest you do so now before continuing, as this post outlines the model that we trained to OCR alphanumeric samples.
I’ll then provide a brief review of the process for training our recognition model using Keras and TensorFlow - we’ll be using this trained model to OCR handwriting in this tutorial. In the first part of this tutorial, we’ll discuss handwriting recognition and how it’s different from “traditional” OCR.
HOW TO MAKE CNTS IN MATERIALS STUDIO CODE
Looking for the source code to this post? Jump Right To The Downloads Section OCR: Handwriting recognition with OpenCV, Keras, and TensorFlow
HOW TO MAKE CNTS IN MATERIALS STUDIO HOW TO
To learn how to perform handwriting recognition with OpenCV, Keras, and TensorFlow, just keep reading. I truly think you’ll find value in reading the rest of this handwriting recognition guide. You’ll see examples of where handwriting recognition has performed well and other examples where it has failed to correctly OCR a handwritten character. Today’s tutorial will serve as an introduction to handwriting recognition. We’re not there yet, but with the help of deep learning, we’re making tremendous strides. Handwriting recognition is arguably the “holy grail” of OCR. These variations in handwriting styles pose quite a problem for Optical Character Recognition engines, which are typically trained on computer fonts, not handwriting fonts.Īnd worse, handwriting recognition is further complicated by the fact that letters can “connect” and “touch” each other, making it incredibly challenging for OCR algorithms to separate them, ultimately leading to incorrect OCR results. Talk about embarrassing! Truly, it’s a wonder they ever let me out of grade school. And on more than one occasion, I’ve had to admit that I couldn’t read them either. I’m often asked by those who read my handwriting at least 2-3 clarifying questions as to what a specific word or phrase is. Figure 2: As you can see, my handwriting leaves a little bit to be desired.