Handwriting recognition with Mathematica

enter image description here

enter image description here


This topic got some updates since 2016 :-) I will give a short review of resources.


Top recent: Wolfram Technology Conference (WTC) 2020

At the Wolfram Technology Conference (WTC) 2020 (currently in progress) Mikayel Egibyan from Wolfram image processing team just gave a talk on this topic exactly with approaches based on the modern machine learning and neural networks. Video will be available later at WTC site but here is the talk presentation on Wolfram Community:

Handwritten Recognition and Analysis

https://community.wolfram.com/groups/-/m/t/2091085

In the talk the following covered:

  • History of OCR and Analysis
  • Text Recognition Techniques
  • Existing Architectures for Handwritten Text Recognition
  • Techniques to Analyze Handwritten Text
  • The Importance of the Loss Function
  • Building and Training a Toy Network
  • Applications: Handwritten Recognition
  • Applications: Handwritten Verification
  • Applications: Handwritten Identification

William J Turkel FREE Book: Digital Research Methods with Mathematica

William J Turkel in his FREE Book "Digital Research Methods with Mathematica" (notebooks and screencasts) in Lesson 21 Section 3 very nicely discusses some starter topics for Handwriting recognition:

  • https://williamjturkel.net/digital-research-methods-with-mathematica
  • https://youtu.be/4peeyWlMDdc

(BTW William also gave a cool talk at WTC 2020 "Text and Image Mining for Historical Research")

Other relevant resources and experiments:

  • Classifying Japanese characters from the Edo period by Marco Thiel

  • Character Analysis by Daniel Shin

  • Handwriting Recognition Using Neural Networks by Luis Fernando Cantu Diaz de Leon

Wolfram Neural Net Repository

I recommend checking from time to time with Wolfram Neural Net Repository

https://resources.wolframcloud.com/NeuralNetRepository

First of all, a net of direct relevance can appear there as new nets are getting added constantly. But also it is a good source for various available net architectures you can explore and modify. For instance, both basic nets - LeNet and CapsNet - for handwritten digit are there, but also many more others:

  • https://resources.wolframcloud.com/NeuralNetRepository/resources/CapsNet-Trained-on-MNIST-Data

  • https://resources.wolframcloud.com/NeuralNetRepository/resources/LeNet-Trained-on-MNIST-Data