参数介绍
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。
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¶
该部分为相关推理引擎的配置文件,大家可按需配置。该部分后面可能会增删部分关键字,如果有需求,可以在文档下面评论区指出。
该部分的详细使用,请参见:如何使用不同推理引擎?
各个推理引擎的API:
- ONNXRuntime Python API 参见:Python API
- OpenVINO Python API 参见:OpenVINO Python API
- PaddlePaddle API 参见:API 文档
- PyTorch API 参见:PyTorch documentation
以下三部分前4个参数基本类似,对应关系如下表,具体请参见模型列表文档:
| YAML 参数 | 对应枚举类 | 可用枚举值(示例) | 导入方式 | 备注 |
|---|---|---|---|---|
engine_type |
EngineType |
ONNXRUNTIME(onnxruntime)OPENVINO(openvino)PADDLE(paddle)TORCH(torch) |
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和multi3个值。ch可以识别中文和中英文混合文本检测。en支持英文文字检测。multi支持多语言文本检测。默认为ch。
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。