PaddleOCR/doc/doc_en/algorithm_overview_en.md

6.2 KiB
Raw Blame History

Algorithm introduction

[TOC]

1. Text Detection Algorithm

PaddleOCR open source text detection algorithms list:

On the ICDAR2015 dataset, the text detection result is as follows:

Model Backbone precision recall Hmean Download link
EAST ResNet50_vd 88.18% 85.51% 86.82% Download link
EAST MobileNetV3 81.67% 79.83% 80.74% Download link
DB ResNet50_vd 83.79% 80.65% 82.19% Download link
DB MobileNetV3 75.92% 73.18% 74.53% Download link
SAST ResNet50_vd 92.18% 82.96% 87.33% Download link

On Total-Text dataset, the text detection result is as follows:

Model Backbone precision recall Hmean Download link
SAST ResNet50_vd 88.74% 79.80% 84.03% Download link

Note Additional data, like icdar2013, icdar2017, COCO-Text, ArT, was added to the model training of SAST. Download English public dataset in organized format used by PaddleOCR from Baidu Drive (download code: 2bpi).

For use of LSVT street view dataset with a total of 3w training datathe related configuration and pre-trained models for text detection task are as follows:

Model Backbone Configuration file Pre-trained model
ultra-lightweight OCR model MobileNetV3 det_mv3_db.yml Download link
General OCR model ResNet50_vd det_r50_vd_db.yml Download link
  • Note: For the training and evaluation of the above DB model, post-processing parameters box_thresh=0.6 and unclip_ratio=1.5 need to be set. If using different datasets and different models for training, these two parameters can be adjusted for better result.

For the training guide and use of PaddleOCR text detection algorithms, please refer to the document Text detection model training/evaluation/prediction

2. Text Recognition Algorithm

PaddleOCR open-source text recognition algorithms list:

Refer to DTRB, the training and evaluation result of these above text recognition (using MJSynth and SynthText for training, evaluate on IIIT, SVT, IC03, IC13, IC15, SVTP, CUTE) is as follow:

Model Backbone Avg Accuracy Module combination Download link
Rosetta Resnet34_vd 80.24% rec_r34_vd_none_none_ctc Download link
Rosetta MobileNetV3 78.16% rec_mv3_none_none_ctc Download link
CRNN Resnet34_vd 82.20% rec_r34_vd_none_bilstm_ctc Download link
CRNN MobileNetV3 79.37% rec_mv3_none_bilstm_ctc Download link
STAR-Net Resnet34_vd 83.93% rec_r34_vd_tps_bilstm_ctc Download link
STAR-Net MobileNetV3 81.56% rec_mv3_tps_bilstm_ctc Download link
RARE Resnet34_vd 84.90% rec_r34_vd_tps_bilstm_attn Download link
RARE MobileNetV3 83.32% rec_mv3_tps_bilstm_attn Download link
SRN Resnet50_vd_fpn 88.33% rec_r50fpn_vd_none_srn Download link

Note SRN model uses data expansion method to expand the two training sets mentioned above, and the expanded data can be downloaded from Baidu Drive (download code: y3ry).

The average accuracy of the two-stage training in the original paper is 89.74%, and that of one stage training in paddleocr is 88.33%. Both pre-trained weights can be downloaded here.

We use LSVT dataset and cropout 30w training data from original photos by using position groundtruth and make some calibration needed. In addition, based on the LSVT corpus, 500w synthetic data is generated to train the model. The related configuration and pre-trained models are as follows:

Model Backbone Configuration file Pre-trained model
ultra-lightweight OCR model MobileNetV3 rec_chinese_lite_train.yml Download link
General OCR model Resnet34_vd rec_chinese_common_train.yml Download link

Please refer to the document for training guide and use of PaddleOCR text recognition algorithms Text recognition model training/evaluation/prediction