TextScanner: Reading Characters in Order for Robust Scene Text Recognition
This addresses robust text recognition in varied scenes (e.g., horizontal, oriented, curved text) for computer vision applications, representing an incremental improvement over existing methods.
The paper tackles the problem of attention drift in RNN-attention methods and spurious/missed characters in segmentation-based methods for scene text recognition by proposing TextScanner, which combines semantic segmentation with RNN context modeling and parallel prediction, achieving state-of-the-art results on benchmark datasets and improved performance on difficult text like Chinese transcripts.
Driven by deep learning and the large volume of data, scene text recognition has evolved rapidly in recent years. Formerly, RNN-attention based methods have dominated this field, but suffer from the problem of \textit{attention drift} in certain situations. Lately, semantic segmentation based algorithms have proven effective at recognizing text of different forms (horizontal, oriented and curved). However, these methods may produce spurious characters or miss genuine characters, as they rely heavily on a thresholding procedure operated on segmentation maps. To tackle these challenges, we propose in this paper an alternative approach, called TextScanner, for scene text recognition. TextScanner bears three characteristics: (1) Basically, it belongs to the semantic segmentation family, as it generates pixel-wise, multi-channel segmentation maps for character class, position and order; (2) Meanwhile, akin to RNN-attention based methods, it also adopts RNN for context modeling; (3) Moreover, it performs paralleled prediction for character position and class, and ensures that characters are transcripted in correct order. The experiments on standard benchmark datasets demonstrate that TextScanner outperforms the state-of-the-art methods. Moreover, TextScanner shows its superiority in recognizing more difficult text such Chinese transcripts and aligning with target characters.