RNN-Based Handwriting Recognition

Google has added handwriting recognition to Gboard for Android. Gboard is Google’s keyboard for mobile devices. In 2015 we launched Google Handwriting Input, which enabled users to handwrite text on their Android mobile device. In our initial launch, we managed to support 82 languages from French to Gaelic, Chinese to Malayalam.

The starting point for any online handwriting recognizer are the touch points. We convert the sequence of points into a sequence of cubic Bézier curves to use as inputs to a recurrent neural network (RNN) that is trained to accurately identify the character being written.

Each curve is represented by a polynomial defined by start and end-points as well as two additional control points, determining the shape of the curve. We use an iterative procedure which minimizes the squared distances (in x, y and time) between the normalized input coordinates and the curve to find a sequence of cubic Bézier curves that represent the input accurately.

Handwriting3

RNN-Based Handwriting Recognition in Gboard