Best Practices for a Handwritten Text Recognition System
George Retsinas, Giorgos Sfikas, Basilis Gatos, Christophoros Nikou
TL;DR
Handwritten Text Recognition (HTR) remains challenging due to writer variability and ambiguity in sequence alignment. The authors propose a set of best-practice guidelines for a CNN+BiLSTM HTR system trained with the Connectionist Temporal Classification (CTC) loss, including (i) aspect-ratio-preserving preprocessing with padding, (ii) column-wise max-pooling flattening between CNN and the recurrent head, and (iii) an auxiliary CTC shortcut branch trained in parallel. They validate these choices on IAM and RIMES with both line- and word-level, lexicon-free decoding, reporting CER and WER improvements and ablations demonstrating each component's contribution. The results are competitive with state-of-the-art methods while maintaining a relatively simple architecture, and the authors provide open-source code to facilitate adoption.
Abstract
Handwritten text recognition has been developed rapidly in the recent years, following the rise of deep learning and its applications. Though deep learning methods provide notable boost in performance concerning text recognition, non-trivial deviation in performance can be detected even when small pre-processing or architectural/optimization elements are changed. This work follows a ``best practice'' rationale; highlight simple yet effective empirical practices that can further help training and provide well-performing handwritten text recognition systems. Specifically, we considered three basic aspects of a deep HTR system and we proposed simple yet effective solutions: 1) retain the aspect ratio of the images in the preprocessing step, 2) use max-pooling for converting the 3D feature map of CNN output into a sequence of features and 3) assist the training procedure via an additional CTC loss which acts as a shortcut on the max-pooled sequential features. Using these proposed simple modifications, one can attain close to state-of-the-art results, while considering a basic convolutional-recurrent (CNN+LSTM) architecture, for both IAM and RIMES datasets. Code is available at https://github.com/georgeretsi/HTR-best-practices/.
