A Hybrid Model for End to End Online Handwriting Recognition (CNN-BLSTM-CTC)
A Tensorflow implementation of a CNN-BLSTM-CTC architecture used for Online Handwriting Recognition. This work is accepted under the title “A Hybrid Model for End to End Online Handwriting Recognition” in the 14th IAPR International Conference on Document Analysis and Recognition, 2017.
Requirements
- Python 2.7
- Tensorflow 0.12
- H5Py
Usage Instruction
- Install virtualenv for Python 2.7 (optional but highly recommended)
- Install Tensorflow 0.12 using pip. Instructions can be found here.
- Install h5py using pip.
- Run CNN-BLSTM-CTC.py with argument New. This will create a network with randomly initialized weight variables.
Network Description
The network consists of CNN layers followed by BLSTM layers. The loss is computed using CTC loss model. Follow the diagram
Dataset Description
For demonstration of model a simple dataset ICBOHR-04_Gist_feat is given in HDF5 format. This contains extracted features of only 540 samples of online handwritten Bangla words. No separate test file is given. Executing the same model for training with this dataset results a 91.5034% accuracy measured as per edit distance after 500 epochs.
The implementaion is mostly inspired from the work of @igormq as given here.