updata faq
This commit is contained in:
parent
401506396e
commit
7731fab9a0
|
@ -4,8 +4,8 @@
|
|||
PaddleOCR旨在打造一套丰富、领先、且实用的OCR工具库,助力使用者训练出更好的模型,并应用落地。
|
||||
|
||||
**近期更新**
|
||||
- 2020.11.30 [FAQ](./doc/doc_ch/FAQ.md)新增5个高频问题,共计119个常见问题及解答,并且计划以后每周一都会更新,欢迎大家持续关注。
|
||||
- 2020.11.25 更新半自动标注工具[PPOCRLabel](./PPOCRLabel/README.md),辅助开发者高效完成标注任务,输出格式与PP-OCR训练任务完美衔接。
|
||||
- 2020.11.16 [FAQ](./doc/doc_ch/FAQ.md)新增5个高频问题,共计109个常见问题及解答,并且计划以后每周一都会更新,欢迎大家持续关注。
|
||||
- 2020.9.22 更新PP-OCR技术文章,https://arxiv.org/abs/2009.09941
|
||||
- 2020.9.19 更新超轻量压缩ppocr_mobile_slim系列模型,整体模型3.5M(详见[PP-OCR Pipeline](#PP-OCR)),适合在移动端部署使用。[模型下载](#模型下载)
|
||||
- 2020.9.17 更新超轻量ppocr_mobile系列和通用ppocr_server系列中英文ocr模型,媲美商业效果。[模型下载](#模型下载)
|
||||
|
@ -100,8 +100,8 @@ PaddleOCR旨在打造一套丰富、领先、且实用的OCR工具库,助力
|
|||
- [效果展示](#效果展示)
|
||||
- FAQ
|
||||
- [【精选】OCR精选10个问题](./doc/doc_ch/FAQ.md)
|
||||
- [【理论篇】OCR通用27个问题](./doc/doc_ch/FAQ.md)
|
||||
- [【实战篇】PaddleOCR实战72个问题](./doc/doc_ch/FAQ.md)
|
||||
- [【理论篇】OCR通用29个问题](./doc/doc_ch/FAQ.md)
|
||||
- [【实战篇】PaddleOCR实战80个问题](./doc/doc_ch/FAQ.md)
|
||||
- [技术交流群](#欢迎加入PaddleOCR技术交流群)
|
||||
- [参考文献](./doc/doc_ch/reference.md)
|
||||
- [许可证书](#许可证书)
|
||||
|
|
|
@ -9,47 +9,42 @@
|
|||
|
||||
## PaddleOCR常见问题汇总(持续更新)
|
||||
|
||||
* [近期更新(2020.11.16)](#近期更新)
|
||||
* [近期更新(2020.11.30)](#近期更新)
|
||||
* [【精选】OCR精选10个问题](#OCR精选10个问题)
|
||||
* [【理论篇】OCR通用27个问题](#OCR通用问题)
|
||||
* [【理论篇】OCR通用29个问题](#OCR通用问题)
|
||||
* [基础知识7题](#基础知识)
|
||||
* [数据集5题](#数据集)
|
||||
* [模型训练调优7题](#模型训练调优)
|
||||
* [预测部署8题](#预测部署)
|
||||
* [【实战篇】PaddleOCR实战72个问题](#PaddleOCR实战问题)
|
||||
* [数据集7题](#数据集2)
|
||||
* [模型训练调优7题](#模型训练调优2)
|
||||
* [预测部署8题](#预测部署2)
|
||||
* [【实战篇】PaddleOCR实战80个问题](#PaddleOCR实战问题)
|
||||
* [使用咨询20题](#使用咨询)
|
||||
* [数据集14题](#数据集)
|
||||
* [模型训练调优21题](#模型训练调优)
|
||||
* [预测部署21题](#预测部署)
|
||||
* [数据集17题](#数据集3)
|
||||
* [模型训练调优21题](#模型训练调优3)
|
||||
* [预测部署22题](#预测部署3)
|
||||
|
||||
|
||||
<a name="近期更新"></a>
|
||||
## 近期更新(2020.11.23)
|
||||
## 近期更新(2020.11.30)
|
||||
|
||||
#### Q3.2.11:有哪些标注工具可以标注OCR数据集?
|
||||
#### Q3.2.15: 文本标注工具PPOCRLabel有什么特色?
|
||||
|
||||
**A**:您可以参考:https://github.com/PaddlePaddle/PaddleOCR/blob/develop/doc/doc_en/data_annotation_en.md。
|
||||
我们计划推出高效标注OCR数据的标注工具,请您持续关注PaddleOCR的近期更新。
|
||||
**A**: PPOCRLabel是一个半自动文本标注工具,它使用基于PPOCR的中英文OCR模型,预先预测文本检测和识别结果,然后用户对上述结果进行校验和修正就行,大大提高用户的标注效率。同时导出的标注结果直接适配PPOCR训练所需要的数据格式,
|
||||
|
||||
#### Q3.2.12:一些特殊场景的数据识别效果差,但是数据量很少,不够用来finetune怎么办?
|
||||
#### Q3.2.16: 文本标注工具PPOCRLabel,可以更换模型吗?
|
||||
|
||||
**A**:您可以合成一些接近使用场景的数据用于训练。
|
||||
我们计划推出基于特定场景的文本数据合成工具,请您持续关注PaddleOCR的近期更新。
|
||||
**A**: PPOCRLabel中OCR部署方式采用的基于pip安装whl包快速推理,可以参考相关文档更换模型路径,进行特定任务的标注适配。基于pip安装whl包快速推理的文档如下,https://github.com/PaddlePaddle/PaddleOCR/blob/develop/doc/doc_ch/whl.md。
|
||||
|
||||
#### Q3.2.13:特殊字符(例如一些标点符号)识别效果不好怎么办?
|
||||
#### Q3.2.17: 文本标注工具PPOCRLabel支持的运行环境有哪些?
|
||||
|
||||
**A**:首先请您确认要识别的特殊字符是否在字典中。
|
||||
如果字符在已经字典中但效果依然不好,可能是由于识别数据较少导致的,您可以增加相应数据finetune模型。
|
||||
**A**: PPOCRLabel可运行于Linux、Windows、MacOS等多种系统。操作步骤可以参考文档,https://github.com/PaddlePaddle/PaddleOCR/blob/develop/PPOCRLabel/README.md
|
||||
|
||||
#### Q3.2.14:PaddleOCR可以识别灰度图吗?
|
||||
#### Q2.2.6: 当训练数据量少时,如何获取更多的数据?
|
||||
|
||||
**A**:PaddleOCR的模型均为三通道输入。如果您想使用灰度图作为输入,建议直接用3通道的模式读入灰度图,
|
||||
或者将单通道图像转换为三通道图像再识别。例如,opencv的cvtColor函数就可以将灰度图转换为RGB三通道模式。
|
||||
**A**: 当训练数据量少时,可以尝试以下三种方式获取更多的数据:(1)人工采集更多的训练数据,最直接也是最有效的方式。(2)基于PIL和opencv基本图像处理或者变换。例如PIL中ImageFont, Image, ImageDraw三个模块将文字写到背景中,opencv的旋转仿射变换,高斯滤波等。(3)利用数据生成算法合成数据,例如pix2pix等算法。
|
||||
|
||||
#### Q3.1.20:PaddleOCR与百度的其他OCR产品有什么区别?
|
||||
#### Q2.2.7: 论文《Editing Text in the Wild》中文本合成方法SRNet有什么特点?
|
||||
|
||||
**A**:PaddleOCR主要聚焦通用ocr,如果有垂类需求,您可以用PaddleOCR+垂类数据自己训练;
|
||||
如果缺少带标注的数据,或者不想投入研发成本,建议直接调用开放的API,开放的API覆盖了目前比较常见的一些垂类。
|
||||
**A**: SRNet是借鉴GAN中图像到图像转换、风格迁移的想法合成文本数据。不同于通用GAN的方法只选择一个分支,SRNet将文本合成任务分解为三个简单的子模块,提升合成数据的效果。这三个子模块为不带背景的文本风格迁移模块、背景抽取模块和融合模块。PaddleOCR计划将在2020年12月中旬开源基于SRNet的实用模型。
|
||||
|
||||
|
||||
<a name="OCR精选10个问题"></a>
|
||||
|
@ -141,6 +136,8 @@
|
|||
|
||||
<a name="OCR通用问题"></a>
|
||||
## 【理论篇】OCR通用问题
|
||||
|
||||
<a name="基础知识"></a>
|
||||
### 基础知识
|
||||
|
||||
#### Q2.1.1:CRNN能否识别两行的文字?还是说必须一行?
|
||||
|
@ -169,6 +166,7 @@
|
|||
|
||||
**A**:处理字符的时候,把多字符的当作一个字就行,字典中每行是一个字。
|
||||
|
||||
<a name="数据集2"></a>
|
||||
### 数据集
|
||||
|
||||
#### Q2.2.1:支持空格的模型,标注数据的时候是不是要标注空格?中间几个空格都要标注出来么?
|
||||
|
@ -191,7 +189,15 @@
|
|||
|
||||
**A**:使用基于分割的方法,如DB,检测密集文本行时,最好收集一批数据进行训练,并且在训练时,并将生成二值图像的shrink_ratio参数调小一些。
|
||||
|
||||
#### Q2.2.6: 当训练数据量少时,如何获取更多的数据?
|
||||
|
||||
**A**: 当训练数据量少时,可以尝试以下三种方式获取更多的数据:(1)人工采集更多的训练数据,最直接也是最有效的方式。(2)基于PIL和opencv基本图像处理或者变换。例如PIL中ImageFont, Image, ImageDraw三个模块将文字写到背景中,opencv的旋转仿射变换,高斯滤波等。(3)利用数据生成算法合成数据,例如pix2pix等算法。
|
||||
|
||||
#### Q2.2.7: 论文《Editing Text in the Wild》中文本合成方法SRNet有什么特点?
|
||||
|
||||
**A**: SRNet是借鉴GAN中图像到图像转换、风格迁移的想法合成文本数据。不同于通用GAN的方法只选择一个分支,SRNet将文本合成任务分解为三个简单的子模块,提升合成数据的效果。这三个子模块为不带背景的文本风格迁移模块、背景抽取模块和融合模块。PaddleOCR计划将在2020年12月中旬开源基于SRNet的实用模型。
|
||||
|
||||
<a name="模型训练调优2"></a>
|
||||
### 模型训练调优
|
||||
|
||||
#### Q2.3.1:如何更换文本检测/识别的backbone?
|
||||
|
@ -233,6 +239,7 @@
|
|||
|
||||
(2)调大系统的[l2 dcay值](https://github.com/PaddlePaddle/PaddleOCR/blob/a501603d54ff5513fc4fc760319472e59da25424/configs/rec/ch_ppocr_v1.1/rec_chinese_lite_train_v1.1.yml#L47)
|
||||
|
||||
<a name="预测部署2"></a>
|
||||
### 预测部署
|
||||
|
||||
#### Q2.4.1:请问对于图片中的密集文字,有什么好的处理办法吗?
|
||||
|
@ -280,6 +287,7 @@
|
|||
<a name="PaddleOCR实战问题"></a>
|
||||
## 【实战篇】PaddleOCR实战问题
|
||||
|
||||
<a name="使用咨询"></a>
|
||||
### 使用咨询
|
||||
|
||||
#### Q3.1.1:OSError: [WinError 126] 找不到指定的模块。mac pro python 3.4 shapely import 问题
|
||||
|
@ -377,7 +385,7 @@
|
|||
**A**:PaddleOCR主要聚焦通用ocr,如果有垂类需求,您可以用PaddleOCR+垂类数据自己训练;
|
||||
如果缺少带标注的数据,或者不想投入研发成本,建议直接调用开放的API,开放的API覆盖了目前比较常见的一些垂类。
|
||||
|
||||
|
||||
<a name="数据集3"></a>
|
||||
### 数据集
|
||||
|
||||
#### Q3.2.1:如何制作PaddleOCR支持的数据格式
|
||||
|
@ -456,7 +464,19 @@
|
|||
**A**:PaddleOCR的模型均为三通道输入。如果您想使用灰度图作为输入,建议直接用3通道的模式读入灰度图,
|
||||
或者将单通道图像转换为三通道图像再识别。例如,opencv的cvtColor函数就可以将灰度图转换为RGB三通道模式。
|
||||
|
||||
#### Q3.2.15: 文本标注工具PPOCRLabel有什么特色?
|
||||
|
||||
**A**: PPOCRLabel是一个半自动文本标注工具,它使用基于PPOCR的中英文OCR模型,预先预测文本检测和识别结果,然后用户对上述结果进行校验和修正就行,大大提高用户的标注效率。同时导出的标注结果直接适配PPOCR训练所需要的数据格式,
|
||||
|
||||
#### Q3.2.16: 文本标注工具PPOCRLabel,可以更换模型吗?
|
||||
|
||||
**A**: PPOCRLabel中OCR部署方式采用的基于pip安装whl包快速推理,可以参考相关文档更换模型路径,进行特定任务的标注适配。基于pip安装whl包快速推理的文档如下,https://github.com/PaddlePaddle/PaddleOCR/blob/develop/doc/doc_ch/whl.md。
|
||||
|
||||
#### Q3.2.17: 文本标注工具PPOCRLabel支持的运行环境有哪些?
|
||||
|
||||
**A**: PPOCRLabel可运行于Linux、Windows、MacOS等多种系统。操作步骤可以参考文档,https://github.com/PaddlePaddle/PaddleOCR/blob/develop/PPOCRLabel/README.md
|
||||
|
||||
<a name="模型训练调优3"></a>
|
||||
### 模型训练调优
|
||||
|
||||
#### Q3.3.1:文本长度超过25,应该怎么处理?
|
||||
|
@ -574,7 +594,7 @@ return paddle.reader.multiprocess_reader(readers, False, queue_size=320)
|
|||
|
||||
(3)在训练的时候,文本长度超过25的训练图像都会被丢弃,因此需要看下真正参与训练的图像有多少,太少的话也容易过拟合。
|
||||
|
||||
|
||||
<a name="预测部署3"></a>
|
||||
### 预测部署
|
||||
|
||||
#### Q3.4.1:如何pip安装opt模型转换工具?
|
||||
|
|
Loading…
Reference in New Issue