Add descriptions of parameters in each section of OCR

This commit is contained in:
SWHL committed 2022-07-07 09:36:28 +08:00
1 parent 706343c8ec
commit d366adac54
1 file changed
+49 -12
+49 -12
View File
@@ -4,6 +4,18 @@
<a href=""><img src="https://img.shields.io/badge/OS-Linux%2C%20Win%2C%20Mac-pink.svg"></a>
</p>
<details>
<summary>目录</summary>
- [Python版RapidOCR](#python版rapidocr)
- [简介和说明](#简介和说明)
- [使用步骤](#使用步骤)
- [`config.yaml`中常用参数介绍](#configyaml中常用参数介绍)
- [onnxruntime-gpu版推理配置](#onnxruntime-gpu版推理配置)
</details>
### 简介和说明
- **各个版本的ONNX模型下载地址:**[百度网盘](https://pan.baidu.com/s/1PTcgXG2zEgQU6A_A3kGJ3Q?pwd=jhai) | [Google Drive](https://drive.google.com/drive/folders/1x_a9KpCo_1blxH1xFOfgKVkw1HYRVywY?usp=sharing)
- 所有常用的参数配置都在`config.yaml`下,一目了然,更加便捷
- 每个独立的模块下均有独立的`config.yaml`配置文件,可以单独使用
@@ -27,6 +39,7 @@
```
- 值得说明的是,基于openvino推理部分中`ch_ppocr_v2_cls`部分仍然是基于onnxruntime的,原因是openvino有bug,详情见[openvino/issue](https://github.com/openvinotoolkit/openvino/issues/11501)
### 使用步骤
1. 下载当前下的`rapidocr_onnxruntime`/`rapidocr_openvino`目录到本地
2. 下载链接下的`resources`目录(包含模型和显示的字体文件)
@@ -128,20 +141,44 @@
```
### [`config.yaml`](./config.yaml)中常用参数介绍
- `Global`部分
| 参数名称 | 取值范围 | 默认值 | 作用 |
|------------: | :----------: | :-----: | :----------------------------------------------|
| `text_score` | [0, 1] | 0.5 | 文本识别结果置信度,值越大,把握越大 |
| `use_angle_cls` | `bool` | `true` | 是否使用文本行的方向分类 |
| `print_verbose` | `bool` | `true` | 是否打印各个部分耗时信息 |
| `min_height` | `int` | 30 | 图像最小高度(单位是像素)<br/>低于这个值,会跳过文本检测阶段,直接进行后续识别 |
|所在模块| 参数名称 | 取值范围 | 默认值 | 作用 |
|:---:| :------------: | :----------: | :-----: | :----------------------------------------------:|
|Global| `text_score` | [0, 1] | 0.5 | 文本识别结果置信度,值越大,把握越大 |
|Global| `use_angle_cls` | `bool` | `true` | 是否使用文本行的方向分类 |
|Global| `print_verbose` | `bool` | `true` | 是否打印各个部分耗时信息 |
|Global| `min_heigh` | `int` | 30 | 图像最小高度(单位是像素),低于这个值,会跳过文本检测阶段,直接进行后续识别 |
||||||
|Det| `box_thresh` | [0, 1] | 0.5 | 文本检测所得框是否保留的阈值,值越大,召回率越低 |
|Det| `unclip_ratio` | [1.6, 2.0] | 1.6 | 控制文本检测框的大小,值越大,检测框整体越大 |
|Det/Cls/Rec| `use_cuda` | | `false` | 是否使用CUDA,加速推理 |
- `min_height`这个参数是用来卡那些只有一行文本的图像,例如下图,这类图像不会进入文本检测模块,直接进入后续过程即可。
- `min_height`是用来过滤只有一行文本的图像(如下图),这类图像不会进入文本检测模块,直接进入后续过程。
![](./test_images/single_line_text.jpg)
![](./test_images/single_line_text.jpg)
- `Det`部分
| 参数名称 | 取值范围 | 默认值 | 作用 |
| ------------: | :----------: | :-----: | :----------------------------------------------|
| `use_cuda` | `bool` | `false` | 是否使用CUDA,加速推理 |
|`limit_side_len`| - | 736 | 限制图像边的长度的像素值 |
|`limit_type`| `[min, max]` | `min` | 限制图像的最小边长度还是最大边为`limit_side_len` <br/> 示例解释:当`limit_type=min`和`limit_side_len=736`时,图像最小边小于736时,<br/>会将图像最小边拉伸到736,另一边则按图像原始比例等比缩放。 |
| `thresh` | [0, 1] | 0.3 | 图像中文字部分和背景部分分割阈值<br/>值越大,文字部分会越小 |
| `box_thresh` | [0, 1] | 0.5 | 文本检测所得框是否保留的阈值,值越大,召回率越低 |
|`max_candidates`| - | 1000 | 图像中最大可检测到的文本框数目,一般够用|
| `unclip_ratio` | [1.6, 2.0] | 1.6 | 控制文本检测框的大小,值越大,检测框整体越大 |
|`use_dilation`| `bool` | `true` | 是否使用形态学中的膨胀操作,一般采用默认值即可 |
- `Cls`部分
| 参数名称 | 取值范围 | 默认值 | 作用 |
| ------------: | :----------: | :-----: | :----------------------------------------------|
|`cls_img_shape`| - |`[3, 48, 192]`| 输入方向分类模型的图像Shape(CHW) |
|`cls_batch_num`| - | 6 | 批次推理的batch大小,一般采用默认值即可,太大并没有明显提速,效果还可能会差 |
|`cls_thresh`|`[0, 1]`|0.9| 方向分类结果的置信度|
|`label_list`| - | [0, 180] | 方向分类的标签,0°或者180°,**该参数不能动** |
- `Rec`部分
| 参数名称 | 取值范围 | 默认值 | 作用 |
| ------------: | :----------: | :-----: | :----------------------------------------------|
|`rec_img_shape`| - |`[3, 32, 320]`| 输入文本识别模型的图像Shape(CHW) |
|`rec_batch_num`| - | 6 | 批次推理的batch大小,一般采用默认值即可,太大并没有明显提速,效果还可能会差 |
|`keys_path`| - | - | 文本识别模型推理所使用字典文件,始识别哪种类型文本而定(中英、日文等) |
### onnxruntime-gpu版推理配置