STAR-Net¶
1. Introduction¶
Paper information:
STAR-Net: a spatial attention residue network for scene text recognition. Wei Liu, Chaofeng Chen, Kwan-Yee K. Wong, Zhizhong Su and Junyu Han. BMVC, pages 43.1-43.13, 2016
Refer to DTRB text Recognition Training and Evaluation Process . 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:
Models | Backbone Networks | Avg Accuracy | Configuration Files | Download Links |
---|---|---|---|---|
StarNet | Resnet34_vd | 84.44% | configs/rec/rec_r34_vd_tps_bilstm_ctc.yml | trained model |
StarNet | MobileNetV3 | 81.42% | configs/rec/rec_mv3_tps_bilstm_ctc.yml | trained model |
2. Environment¶
Please refer to Operating Environment Preparation to configure the PaddleOCR operating environment, and refer to Project Cloneto clone the project code.
3. Model Training / Evaluation / Prediction¶
Please refer to Text Recognition Training Tutorial. PaddleOCR modularizes the code, and training different recognition models only requires changing the configuration file. Take the backbone network based on Resnet34_vd as an example:
3.1 Training¶
After the data preparation is complete, the training can be started. The training command is as follows:
3.2 Evaluation¶
3.3 Prediction¶
4. Inference¶
4.1 Python Inference¶
First, convert the model saved during the STAR-Net text recognition training process into an inference model. Take the model trained on the MJSynth and SynthText text recognition datasets based on the Resnet34_vd backbone network as an example Model download address , which can be converted using the following command:
STAR-Net text recognition model inference, you can execute the following commands:
The inference results are as follows:
Attention Since the above model refers to the DTRB text recognition training and evaluation process, it is different from the ultra-lightweight Chinese recognition model training in two aspects:
-
The image resolutions used during training are different. The image resolutions used for training the above models are [3, 32, 100], while for Chinese model training, in order to ensure the recognition effect of long texts, the image resolutions used during training are [ 3, 32, 320]. The default shape parameter of the predictive inference program is the image resolution used for training Chinese, i.e. [3, 32, 320]. Therefore, when inferring the above English model here, it is necessary to set the shape of the recognized image through the parameter rec_image_shape.
-
Character list, the experiment in the DTRB paper is only for 26 lowercase English letters and 10 numbers, a total of 36 characters. All uppercase and lowercase characters are converted to lowercase characters, and characters not listed above are ignored and considered spaces. Therefore, there is no input character dictionary here, but a dictionary is generated by the following command. Therefore, the parameter rec_char_dict_path needs to be set during inference, which is specified as an English dictionary "./ppocr/utils/ic15_dict.txt".
4.2 C++ Inference¶
After preparing the inference model, refer to the cpp infer tutorial to operate.
4.3 Serving¶
After preparing the inference model, refer to the pdserving tutorial for Serving deployment, including two modes: Python Serving and C++ Serving.
4.4 More¶
The STAR-Net model also supports the following inference deployment methods:
- Paddle2ONNX Inference: After preparing the inference model, refer to the paddle2onnx tutorial.
5. FAQ¶
Citation¶
@inproceedings{liu2016star,
title={STAR-Net: a spatial attention residue network for scene text recognition.},
author={Liu, Wei and Chen, Chaofeng and Wong, Kwan-Yee K and Su, Zhizhong and Han, Junyu},
booktitle={BMVC},
volume={2},
pages={7},
year={2016}
}