如何更换其他检测和识别模型?
本文详尽地给出了如何更换其他检测和识别模型的保姆级教程。
Note
建议用 rapidocr_onnxruntime>=1.3.x 版本来加载 PaddleOCR v3 / v4 版本训练所得模型。
引言¶
rapidocr 系列库中默认打包了轻量版的中英文检测和识别模型,这种配置可以覆盖到大部分场景。但是也总会有一些其他场景,要用到其他检测和识别模型。
这一点在设计时已经做了考虑,留出了接口,这个博客就是以如何更换 rapidocr_onnxruntime 的识别模型为 英文和数字的识别模型 为例做讲解,其他模型同理。
⚠️注意:使用其他模型的前提条件:使用的模型必须是 PaddleOCR 中文本检测 DBNet 系列、文本识别 CRNN 系列模型,这样才能保证前后处理代码可以复用,其他模型不能直接替换模型路径使用。
以下以使用 英文和数字识别模型 为例讲解。
1. 安装 rapidocr_onnxruntime¶
详细教程参考:link
2. 获得英文和数字的 ONNX 识别模型¶
Note
如果想用 RapidOCR 仓库推理其他模型,必须要用 PaddleOCRModelConvert 工具转换模型
转换模型时,字典会自动写入到 onnx 模型里,rapidocr_onnxruntime 推理时无须额外指定字典。
模型地址:
字典地址:
在线转换: 基于 PaddleOCRModelConvert 工具得到 en_PP-OCRv4_rec_infer.onnx 模型。
详细教程参见:link
3. 使用模型¶
Note
检测模型,对应模型路径参数为 det_model_path
识别模型,对应模型路径参数为 rec_model_path
详细说明参见:link
如果得到的识别模型,没有将字典文件写入到 ONNX 模型中,可以通过初始化 RapidOCR 类时,通过 rec_keys_path 来指定对应的字典文件。