参数介绍
config.yaml 的生成¶
default_rapidocr.yaml 常用参数介绍¶
Global¶
该部分为全局配置。
text_score (float): 文本识别结果置信度,值越大,把握越大。取值范围:[0, 1], 默认值是 0.5。
use_det (bool): 是否使用文本检测。默认为 True。
use_cls (bool): 是否使用文本行方向分类。默认为 True。
use_rec (bool): 是否使用文本行识别。默认为 True。
⚠️注意:如果配置文件和调用时候同时声明
use_det | use_cls | use_rec这三个参数,调用时参数会覆盖配置文件参数。
min_height (int) : 图像最小高度(单位是像素),低于这个值,会跳过文本检测阶段,直接进行后续识别。默认值为 30。 min_height 是用来过滤只有一行文本的图像(如下图),这类图像不会进入文本检测模块,直接进入后续过程。

width_height_ratio (float): 如果输入图像的宽高比大于 width_height_ratio,则会跳过文本检测,直接进行后续识别,取值为-1 时:不用这个参数. 默认值为 8。
max_side_len (int): 如果输入图像的最大边大于 max_side_len,则会按宽高比,将最大边缩放到 max_side_len。默认为 2000px。
min_side_len (int): 如果输入图像的最小边小于 min_side_len,则会按宽高比,将最小边缩放到 min_side_len。默认为 30px。
return_word_box (bool): 是否返回文字的单字坐标。默认为 False。
在
rapidocr>=2.1.0中,纯中文、中英文混合返回单字坐标,纯英文返回单词坐标。在
rapidocr<=2.0.7中,纯中文、中英文混合和纯英文均返回单字坐标。在
rapidocr_onnxruntime>=1.4.1中,汉字返回单字坐标,英语返回单字母坐标。在
rapidocr_onnxruntime==1.4.0中,汉字会返回单字坐标,英语返回单词坐标。
return_single_char_box (bool): 文本内容只有英文和数字情况下,是否返回单字坐标。默认为 False。
在
rapidocr>=3.1.0中添加该参数,该参数只有在return_word_box=True时,才能生效。
font_path (str): 字体文件路径。如不提供,程序会自动下载预置的字体文件模型到本地。默认为 null。
log_level (str): 日志级别设置。可选择的有 debug / info / warning / error / critical,默认为 info,会打印加载模型等日志。如果设置 critical,则不会打印任何日志。
在
rapidocr>=3.4.0中,才添加此参数。
EngineConfig¶
Note
下面显示的为最新版本配置。如果遇到某些字段未找到等问题。请切换为对应版本的当前文档查看。
该部分为相关推理引擎的配置文件,大家可按需配置。该部分后面可能会增删部分关键字,如果有需求,可以在文档下面评论区指出。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 | |
该部分的详细使用,请参见:如何使用不同推理引擎?
各个推理引擎的 API:
- ONNX Runtime Python API 参见:Python API
- OpenVINO Python API 参见:OpenVINO Python API
- PaddlePaddle API 参见:API 文档
- PyTorch API 参见:PyTorch documentation
- MNN API 参见:MNN
- TensorRT API 参见:TensorRT Python API
以下三部分前 4 个参数基本类似,对应关系如下表,具体请参见 模型列表 文档:
| YAML 参数 | 对应枚举类 | 可用枚举值(示例) | 导入方式 | 备注 |
|---|---|---|---|---|
engine_type |
EngineType |
ONNXRUNTIME(onnxruntime)OPENVINO(openvino)PADDLE(paddle)TORCH(torch)MNN (mnn)(rapidocr>=3.6.0)TENSORRT(tensorrt)(rapidocr>=3.7.0) |
from rapidocr import EngineType |
推理引擎类型 |
lang_type |
LangDetLangClsLangRec |
检测(Det):CH/EN/MULTI分类(Cls): CH识别(Rec): CH/CH_DOC/EN/ARABIC/... |
from rapidocr import LangDetfrom rapidocr import LangCls from rapidocr import LangRec |
根据 OCR 处理阶段选择不同枚举值 |
model_type |
ModelType |
MOBILE(mobile)SERVER(server) |
from rapidocr import ModelType |
模型大小与性能级别 |
ocr_version |
OCRVersion |
PPOCRV4(PP-OCRv4)PPOCRV5(PP-OCRv5) |
from rapidocr import OCRVersion |
模型版本 |
Det¶
engine_type (str): 选定推理引擎。支持 onnxruntime, openvino, paddle 和 torch 四个值。默认为 onnxruntime。
lang_type (str): 支持检测的语种类型。这里指的是 LangDet,具体支持 ch, en 和 multi 3 个值。 ch 可以识别中文和中英文混合文本检测。 en 支持英文文字检测。 multi 支持多语言文本检测。默认为 ch。详细参见:docs
model_type (str): 模型量级选择,支持 mobile(轻量型)和 server(服务型)。默认为 mobile。
ocr_version (str): OCR 版本的选择,支持 PP-OCRv4 和 PP-OCRv5,默认为 PP-OCRv4。
model_path (str): 文本检测模型路径,仅限于基于 PaddleOCR 训练所得 DBNet 文本检测模型。默认值为 null。
model_dir (str): 模型存放路径或目录。如果是 PaddlePaddle,该参数则对应模型存在目录。其余推理引擎请使用 model_path 参数。
limit_side_len (float): 限制图像边的长度的像素值。默认值为 736。
limit_type (str): 限制图像的最小边长度还是最大边为 limit_side_len。 示例解释:当 limit_type=min 和 limit_side_len=736 时,图像最小边小于 736 时,会将图像最小边拉伸到 736,另一边则按图像原始比例等比缩放。 取值范围为:[min, max],默认值为 min。
thresh (float): 图像中文字部分和背景部分分割阈值。值越大,文字部分会越小。取值范围:[0, 1],默认值为 0.3。
box_thresh (float): 文本检测所得框是否保留的阈值,值越大,召回率越低。取值范围:[0, 1],默认值为 0.5。
max_candidates (int): 最大候选框数目。默认是 1000。
unclip_ratio (float): 控制文本检测框的大小,值越大,检测框整体越大。取值范围:[1.6, 2.0],默认值为 1.6。
use_dilation (bool): 是否使用膨胀。默认为 true。该参数用于将检测到的文本区域做形态学的膨胀处理。
score_mode (str): 计算文本框得分的方式。取值范围为:[slow, fast],默认值为 fast。
Cls¶
engine_type (str): 同 Det 部分介绍。
lang_type (str): 支持检测的语种类型。这里指的是 LangCls,目前只有一种选项:ch。默认为 ch。
model_type (str): 同 Det 部分介绍。
ocr_version (str): 同 Det 部分介绍。
model_path (str): 文本行方向分类模型路径,仅限于 PaddleOCR 训练所得二分类分类模型。默认值为 None。
model_dir (str): 占位参数,暂时无效。
cls_image_shape (List[int]): 输入方向分类模型的图像 Shape(CHW)。默认值为 [3, 48, 192]。
cls_batch_num (int): 批次推理的 batch 大小,一般采用默认值即可,太大并没有明显提速,效果还可能会差。默认值为 6。
cls_thresh (float): 方向分类结果的置信度。取值范围:[0, 1],默认值为 0.9。
label_list (List[str]): 方向分类的标签,0°或者 180°,该参数不能动 。默认值为 ["0", "180"]。
Rec¶
engine_type (str): 同 Det 部分介绍。
lang_type (str): 支持检测的语种类型。这里指的是 LangRec,具体支持的语种参见:model_list.
model_type (str): 同 Det 部分介绍。
ocr_version (str): 同 Det 部分介绍。
model_path (str): 文本识别模型路径,仅限于 PaddleOCR 训练文本识别模型。默认值为 None。
model_dir (str): 模型存放路径或目录。如果是 PaddlePaddle,该参数则对应模型存在目录。其余推理引擎请使用 model_path 参数。
rec_keys_path (str): 文本识别模型对应的字典文件,默认为 None。
rec_img_shape (List[int]): 输入文本识别模型的图像 Shape(CHW)。默认值为 [3, 48, 320]。
rec_batch_num (int): 批次推理的 batch 大小,一般采用默认值即可,太大并没有明显提速,效果还可能会差。默认值为 6。