Handwriting Recognition Using Neural Networks - Inside...

19
Handwriting Recognition Using Neural Networks Troy Sornson April 22, 2014 Troy Sornson Handwriting Recognition Using Neural Networks

Transcript of Handwriting Recognition Using Neural Networks - Inside...

Page 1: Handwriting Recognition Using Neural Networks - Inside …inside.mines.edu/~whoff/courses/EENG512/projects/2014/Sornson... · Overview of Presentation The Point of the Project Methods

Handwriting Recognition Using Neural Networks

Troy Sornson

April 22, 2014

Troy Sornson Handwriting Recognition Using Neural Networks

Page 2: Handwriting Recognition Using Neural Networks - Inside …inside.mines.edu/~whoff/courses/EENG512/projects/2014/Sornson... · Overview of Presentation The Point of the Project Methods

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

Page 3: Handwriting Recognition Using Neural Networks - Inside …inside.mines.edu/~whoff/courses/EENG512/projects/2014/Sornson... · Overview of Presentation The Point of the Project Methods

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

Page 4: Handwriting Recognition Using Neural Networks - Inside …inside.mines.edu/~whoff/courses/EENG512/projects/2014/Sornson... · Overview of Presentation The Point of the Project Methods

Methods for Handwriting Recognition

Usually Broken into 3 Steps:Preprocessing

Segmentation

Feature ExtractionClassification

Neural NetworksRule Based

Troy Sornson Handwriting Recognition Using Neural Networks

Page 5: Handwriting Recognition Using Neural Networks - Inside …inside.mines.edu/~whoff/courses/EENG512/projects/2014/Sornson... · Overview of Presentation The Point of the Project Methods

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

Page 6: Handwriting Recognition Using Neural Networks - Inside …inside.mines.edu/~whoff/courses/EENG512/projects/2014/Sornson... · Overview of Presentation The Point of the Project Methods

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

Page 7: Handwriting Recognition Using Neural Networks - Inside …inside.mines.edu/~whoff/courses/EENG512/projects/2014/Sornson... · Overview of Presentation The Point of the Project Methods

Diagonal Zones

Troy Sornson Handwriting Recognition Using Neural Networks

Page 8: Handwriting Recognition Using Neural Networks - Inside …inside.mines.edu/~whoff/courses/EENG512/projects/2014/Sornson... · Overview of Presentation The Point of the Project Methods

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

Page 9: Handwriting Recognition Using Neural Networks - Inside …inside.mines.edu/~whoff/courses/EENG512/projects/2014/Sornson... · Overview of Presentation The Point of the Project Methods

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

Page 10: Handwriting Recognition Using Neural Networks - Inside …inside.mines.edu/~whoff/courses/EENG512/projects/2014/Sornson... · Overview of Presentation The Point of the Project Methods

Activation function

tanh(x) 1

1 + e−x

Troy Sornson Handwriting Recognition Using Neural Networks

Page 11: Handwriting Recognition Using Neural Networks - Inside …inside.mines.edu/~whoff/courses/EENG512/projects/2014/Sornson... · Overview of Presentation The Point of the Project Methods

Network

Troy Sornson Handwriting Recognition Using Neural Networks

Page 12: Handwriting Recognition Using Neural Networks - Inside …inside.mines.edu/~whoff/courses/EENG512/projects/2014/Sornson... · Overview of Presentation The Point of the Project Methods

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

Page 13: Handwriting Recognition Using Neural Networks - Inside …inside.mines.edu/~whoff/courses/EENG512/projects/2014/Sornson... · Overview of Presentation The Point of the Project Methods

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

Page 14: Handwriting Recognition Using Neural Networks - Inside …inside.mines.edu/~whoff/courses/EENG512/projects/2014/Sornson... · Overview of Presentation The Point of the Project Methods

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

Page 15: Handwriting Recognition Using Neural Networks - Inside …inside.mines.edu/~whoff/courses/EENG512/projects/2014/Sornson... · Overview of Presentation The Point of the Project Methods

Input

Troy Sornson Handwriting Recognition Using Neural Networks

Page 16: Handwriting Recognition Using Neural Networks - Inside …inside.mines.edu/~whoff/courses/EENG512/projects/2014/Sornson... · Overview of Presentation The Point of the Project Methods

Preprocessed

Troy Sornson Handwriting Recognition Using Neural Networks

Page 17: Handwriting Recognition Using Neural Networks - Inside …inside.mines.edu/~whoff/courses/EENG512/projects/2014/Sornson... · Overview of Presentation The Point of the Project Methods

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

Page 18: Handwriting Recognition Using Neural Networks - Inside …inside.mines.edu/~whoff/courses/EENG512/projects/2014/Sornson... · Overview of Presentation The Point of the Project Methods

Future Plans

Use different activation function

Use HOG features

Handle page rotation

Handle shadows

Troy Sornson Handwriting Recognition Using Neural Networks

Page 19: Handwriting Recognition Using Neural Networks - Inside …inside.mines.edu/~whoff/courses/EENG512/projects/2014/Sornson... · Overview of Presentation The Point of the Project Methods

Questions

Questions?

Troy Sornson Handwriting Recognition Using Neural Networks