Handwriting Recognition Using Neural Networks - Inside...
Transcript of Handwriting Recognition Using Neural Networks - Inside...
Handwriting Recognition Using Neural Networks
Troy Sornson
April 22, 2014
Troy Sornson Handwriting Recognition Using Neural Networks
Overview of Presentation
The Point of the Project
Methods for Handwriting Recognition
Artificial Neural Networks
My Results
Improvements
Troy Sornson Handwriting Recognition Using Neural Networks
What’s the Point?
All about Digitizing written work
Machine Printed
UniformConstistent
Hand Written
Not UniformVaries widely between individualsNo ”Standard” way to do it
On-line Vs Off-line
Troy Sornson Handwriting Recognition Using Neural Networks
Methods for Handwriting Recognition
Usually Broken into 3 Steps:Preprocessing
Segmentation
Feature ExtractionClassification
Neural NetworksRule Based
Troy Sornson Handwriting Recognition Using Neural Networks
Preprocessing
Turn to Grayscale
Apply Gaussian Blur
Open the image
Binerize
Segmentation
Letters Vs WordsCursive Vs Hand Printed
Troy Sornson Handwriting Recognition Using Neural Networks
Feature Extraction
Really only limited by imagination
No ”Best” Feature, as long as features are unique
Some Popular MethodsZoning
Average all pixels in zoneAverage vertical/horizontal/diagonal lines through zones
Count ContoursHOG FeaturesFourier Transformation Coefficients
Troy Sornson Handwriting Recognition Using Neural Networks
Diagonal Zones
Troy Sornson Handwriting Recognition Using Neural Networks
Classification
Match the feature vectors to a letter/word
Neural Networks
Quick to set upRelatively easy to trainWill be covered next
Rule Based
Requires much more development timeHowever, no unknowns
Troy Sornson Handwriting Recognition Using Neural Networks
Artificial Neural Networks - With Pictures!
O = A
(n∑
i=0
XiWi + b
)
A(x) = tanh(x)
A(x) =1
1 + e−x
A(x) = x
A(x) = threshold(x)
Troy Sornson Handwriting Recognition Using Neural Networks
Activation function
tanh(x) 1
1 + e−x
Troy Sornson Handwriting Recognition Using Neural Networks
Network
Troy Sornson Handwriting Recognition Using Neural Networks
Backpropogation
After we feed our input forward, we need to adjust theweights to get a better result
Need to calculate the error of the weights and propogate itbackwards through the network
Troy Sornson Handwriting Recognition Using Neural Networks
Backpropogation Continued
i - Weight
j - Neuron
k - Layer
m - Number of neurons in above layer
Given p inputs, each with expected output t
E =
p∑i=0
||Oi − ti ||2
wijk = wijk−∆wijk
∆wijk = γOjδj
δj =∂A
∂j(x)(αj)
output layer αj = (Oj − tj)
all other layers αj =m∑
q=0
wi ,q,k+1δq,k+1
Troy Sornson Handwriting Recognition Using Neural Networks
My Project
Preprocessing
Resize all letters to 90x60 pixels
Feature Extraction
Create zones of 10x10 pixelsPerform Diagonal averaging
Classification Neural Networks
26 Neural Networks (one for each letter)54 inputs2 Hidden layers100 Neurons per Hidden LayerUse Sigmoid Function Throughout
Troy Sornson Handwriting Recognition Using Neural Networks
Input
Troy Sornson Handwriting Recognition Using Neural Networks
Preprocessed
Troy Sornson Handwriting Recognition Using Neural Networks
Results
35 characters total
Not all letters have been trained for yet
Missing D, E, I, J, K, U, V, WLetters that have been trained might be over trained
Use ? in place of unknown letters
T H ? B ? ? ? ? L O X ? ? M ? S O H ? R T H ? L ? Z Y ? ? G Q ? T C ?
T H E B R O W N F O X J U M P S O V E R T H E L A Z Y D O G Q U I C K
17 correct
15 unidentified
3 false positives
Just under %50 succes rate
Troy Sornson Handwriting Recognition Using Neural Networks
Future Plans
Use different activation function
Use HOG features
Handle page rotation
Handle shadows
Troy Sornson Handwriting Recognition Using Neural Networks
Questions
Questions?
Troy Sornson Handwriting Recognition Using Neural Networks