RepSVTR is a mobile-side text recognition model based on SVTRv2. It won the first prize in the PaddleOCR Algorithm Model Challenge - Task 1: OCR End-to-End Recognition Task, with a 2.5% improvement in end-to-end recognition accuracy on Leaderboard B compared to PP-OCRv4, while maintaining similar inference speed. It supports text line recognition in general Chinese and English scenarios, but mainly focuses on Chinese. The key accuracy metrics are as follow:
Model
Recognition Avg Accuracy(%)
GPU Inference Time (ms)
[Normal Mode / High-Performance Mode]
CPU Inference Time (ms)
[Normal Mode / High-Performance Mode]
Model Storage Size (M)
ch_RepSVTR_rec
65.07
5.93 / 1.62
20.73 / 7.32
22.1 M
Note
: If any character (including punctuation) in a line is incorrect, the entire line is marked as wrong. This ensures higher accuracy in practical applications.
Quick Start
Installation
PaddlePaddle
Please refer to the following commands to install PaddlePaddle using pip:
# for CUDA11.8
python -m pip install paddlepaddle-gpu==3.0.0 -i https://www.paddlepaddle.org.cn/packages/stable/cu118/
# for CUDA12.6
python -m pip install paddlepaddle-gpu==3.0.0 -i https://www.paddlepaddle.org.cn/packages/stable/cu126/
# for CPU
python -m pip install paddlepaddle==3.0.0 -i https://www.paddlepaddle.org.cn/packages/stable/cpu/
You can also integrate the model inference of the text recognition module into your project. Before running the following code, please download the sample image to your local machine.
from paddleocr import TextRecognition
model = TextRecognition(model_name="ch_RepSVTR_rec")
output = model.predict(input="QmaPtftqwOgCtx0AIvU2z.png", batch_size=1)
for res in output:
res.print()
res.save_to_img(save_path="./output/")
res.save_to_json(save_path="./output/res.json")
After running, the obtained result is as follows:
{'res':{'input_path': '/root/.paddlex/predict_input/QmaPtftqwOgCtx0AIvU2z.png', 'page_index': None, 'rec_text': 'the number of model parameters and FLOPs get larger, it', 'rec_score':0.9997341632843018}}
The visualized image is as follows:
For details about usage command and descriptions of parameters, please refer to the
Document
.
Pipeline Usage
The ability of a single model is limited. But the pipeline consists of several models can provide more capacity to resolve difficult problems in real-world scenarios.
PP-OCR
The general OCR pipeline is used to solve text recognition tasks by extracting text information from images and outputting it in string format. And there are 5 modules in the pipeline:
If save_path is specified, the visualization results will be saved under
save_path
. The visualization output is shown below:
The command-line method is for quick experience. For project integration, also only a few codes are needed as well:
from paddleocr import PaddleOCR
ocr = PaddleOCR(
text_recognition_model_name="ch_RepSVTR_rec",
use_doc_orientation_classify=False, # Use use_doc_orientation_classify to enable/disable document orientation classification model
use_doc_unwarping=False, # Use use_doc_unwarping to enable/disable document unwarping module
use_textline_orientation=True, # Use use_textline_orientation to enable/disable textline orientation classification model
device="gpu:0", # Use device to specify GPU for model inference
)
result = ocr.predict("https://cdn-uploads.huggingface.co/production/uploads/681c1ecd9539bdde5ae1733c/818ebrVG4OtH3sjLR-NRI.png")
for res in result:
res.print()
res.save_to_img("output")
res.save_to_json("output")
The default model used in pipeline is
PP-OCRv5_server_rec
, so it is needed that specifing to
ch_RepSVTR_rec
by argument
text_recognition_model_name
. And you can also use the local model file by argument
text_recognition_model_dir
. For details about usage command and descriptions of parameters, please refer to the
Document
.
ch_RepSVTR_rec huggingface.co is an AI model on huggingface.co that provides ch_RepSVTR_rec's model effect (), which can be used instantly with this PaddlePaddle ch_RepSVTR_rec model. huggingface.co supports a free trial of the ch_RepSVTR_rec model, and also provides paid use of the ch_RepSVTR_rec. Support call ch_RepSVTR_rec model through api, including Node.js, Python, http.
ch_RepSVTR_rec huggingface.co is an online trial and call api platform, which integrates ch_RepSVTR_rec's modeling effects, including api services, and provides a free online trial of ch_RepSVTR_rec, you can try ch_RepSVTR_rec online for free by clicking the link below.
PaddlePaddle ch_RepSVTR_rec online free url in huggingface.co:
ch_RepSVTR_rec is an open source model from GitHub that offers a free installation service, and any user can find ch_RepSVTR_rec on GitHub to install. At the same time, huggingface.co provides the effect of ch_RepSVTR_rec install, users can directly use ch_RepSVTR_rec installed effect in huggingface.co for debugging and trial. It also supports api for free installation.