ViTSTR¶
1. Introduction¶
Paper:
Vision Transformer for Fast and Efficient Scene Text Recognition Rowel Atienza ICDAR, 2021
Using MJSynth and SynthText two text recognition datasets for training, and evaluating on IIIT, SVT, IC03, IC13, IC15, SVTP, CUTE datasets, the algorithm reproduction effect is as follows:
Model | Backbone | config | Acc | Download link |
---|---|---|---|---|
ViTSTR | ViTSTR | rec_vitstr_none_ce.yml | 79.82% | trained model |
2. Environment¶
Please refer to "Environment Preparation" to configure the PaddleOCR environment, and refer to "Project Clone"to clone the project code.
3. Model Training / Evaluation / Prediction¶
Please refer to Text Recognition Tutorial. PaddleOCR modularizes the code, and training different recognition models only requires changing the configuration file.
Training¶
Specifically, after the data preparation is completed, the training can be started. The training command is as follows:
Evaluation¶
Prediction¶
4. Inference and Deployment¶
4.1 Python Inference¶
First, the model saved during the ViTSTR text recognition training process is converted into an inference model. ( Model download link) ), you can use the following command to convert:
Note:
- If you are training the model on your own dataset and have modified the dictionary file, please pay attention to modify the
character_dict_path
in the configuration file to the modified dictionary file. - If you modified the input size during training, please modify the
infer_shape
corresponding to ViTSTR in thetools/export_model.py
file.
After the conversion is successful, there are three files in the directory:
For ViTSTR text recognition model inference, the following commands can be executed:
After executing the command, the prediction result (recognized text and score) of the image above is printed to the screen, an example is as follows: The result is as follows:
4.2 C++ Inference¶
Not supported
4.3 Serving¶
Not supported
4.4 More¶
Not supported
5. FAQ¶
- In the
ViTSTR
paper, using pre-trained weights on ImageNet1k for initial training, we did not use pre-trained weights in training, and the final accuracy did not change or even improved.
Citation¶
@article{Atienza2021ViTSTR,
title = {Vision Transformer for Fast and Efficient Scene Text Recognition},
author = {Rowel Atienza},
booktitle = {ICDAR},
year = {2021},
url = {https://arxiv.org/abs/2105.08582}
}