Update FAQ.md
This commit is contained in:
parent
a2bbcd048f
commit
34a068623f
|
@ -11,18 +11,18 @@
|
||||||
|
|
||||||
* [近期更新(2021.6.22)](#近期更新)
|
* [近期更新(2021.6.22)](#近期更新)
|
||||||
* [【精选】OCR精选10个问题](#OCR精选10个问题)
|
* [【精选】OCR精选10个问题](#OCR精选10个问题)
|
||||||
* [【理论篇】OCR通用50个问题](#OCR通用问题)
|
* [【理论篇】OCR通用51个问题](#OCR通用问题)
|
||||||
* [基础知识16题](#基础知识)
|
* [基础知识16题](#基础知识)
|
||||||
* [数据集10题](#数据集2)
|
* [数据集10题](#数据集2)
|
||||||
* [模型训练调优24题](#模型训练调优2)
|
* [模型训练调优25题](#模型训练调优2)
|
||||||
* [【实战篇】PaddleOCR实战183个问题](#PaddleOCR实战问题)
|
* [【实战篇】PaddleOCR实战187个问题](#PaddleOCR实战问题)
|
||||||
* [使用咨询77题](#使用咨询)
|
* [使用咨询80题](#使用咨询)
|
||||||
* [数据集19题](#数据集3)
|
* [数据集19题](#数据集3)
|
||||||
* [模型训练调优39题](#模型训练调优3)
|
* [模型训练调优39题](#模型训练调优3)
|
||||||
* [预测部署48题](#预测部署3)
|
* [预测部署49题](#预测部署3)
|
||||||
|
|
||||||
<a name="近期更新"></a>
|
<a name="近期更新"></a>
|
||||||
## 近期更新(2021.6.22)
|
## 近期更新(2021.6.29)
|
||||||
|
|
||||||
#### Q2.3.25: 图像正常识别出来的文字是OK的,旋转90度后识别出来的结果就比较差,有什么方法可以优化?
|
#### Q2.3.25: 图像正常识别出来的文字是OK的,旋转90度后识别出来的结果就比较差,有什么方法可以优化?
|
||||||
A: 整图旋转90之后效果变差是有可能的,因为目前PPOCR默认输入的图片是正向的; 可以自己训练一个整图的方向分类器,放在预测的最前端(可以参照现有方向分类器的方式),或者可以基于规则做一些预处理,比如判断长宽等等。
|
A: 整图旋转90之后效果变差是有可能的,因为目前PPOCR默认输入的图片是正向的; 可以自己训练一个整图的方向分类器,放在预测的最前端(可以参照现有方向分类器的方式),或者可以基于规则做一些预处理,比如判断长宽等等。
|
||||||
|
@ -31,19 +31,19 @@ A: 整图旋转90之后效果变差是有可能的,因为目前PPOCR默认输
|
||||||
**A**: 在线demo目前只支持中英文, 多语言的都需要通过whl包自行处理
|
**A**: 在线demo目前只支持中英文, 多语言的都需要通过whl包自行处理
|
||||||
|
|
||||||
#### Q3.1.79: 某个类别的样本比较少,通过增加训练的迭代次数或者是epoch,变相增加小样本的数目,这样能缓解这个问题么?
|
#### Q3.1.79: 某个类别的样本比较少,通过增加训练的迭代次数或者是epoch,变相增加小样本的数目,这样能缓解这个问题么?
|
||||||
**A**: 尽量保证类别均衡, 某些类别样本少,可以通过补充合成数据的方式处理;实验证明训练集中出现频次较少的字符,识别效果会很差,增加迭代次数不能改变频率低的问题。
|
**A**: 尽量保证类别均衡, 某些类别样本少,可以通过补充合成数据的方式处理;实验证明训练集中出现频次较少的字符,识别效果会比较差,增加迭代次数不能改变样本量少的问题。
|
||||||
|
|
||||||
#### Q3.1.80: 想把简历上的文字识别出来后,能够把关系一一对应起来,比如姓名和它后面的名字组成一对,籍贯、邮箱、学历等等都和各自的内容关联起来,这个应该如何处理,PPOCR目前支持吗?
|
#### Q3.1.80: 想把简历上的文字识别出来后,能够把关系一一对应起来,比如姓名和它后面的名字组成一对,籍贯、邮箱、学历等等都和各自的内容关联起来,这个应该如何处理,PPOCR目前支持吗?
|
||||||
**A**: 这样的需求在企业应用中确实比较常见,但往往都是个性化的需求,没有非常规整统一的处理方式。常见的处理方式有如下两种:
|
**A**: 这样的需求在企业应用中确实比较常见,但往往都是个性化的需求,没有非常规整统一的处理方式。常见的处理方式有如下两种:
|
||||||
1. 对于单一版式、或者版式差异不大的应用场景,可以基于识别场景的一些先验信息,将识别内容进行配对; 比如运用表单结构信息:常见表单"姓名"关键字的后面,往往紧跟的就是名字信息
|
1. 对于单一版式、或者版式差异不大的应用场景,可以基于识别场景的一些先验信息,将识别内容进行配对; 比如运用表单结构信息:常见表单"姓名"关键字的后面,往往紧跟的就是名字信息
|
||||||
2. 对于版式多样,或者无固定版式的场景, 需要借助于NLP中的NER技术,给识别内容中的某些字段,赋予key值
|
2. 对于版式多样,或者无固定版式的场景, 需要借助于NLP中的NER技术,给识别内容中的某些字段,赋予key值
|
||||||
由于这部分需求和业务场景强相关,难以用一个统一的模型去处理,目前PPOCR暂不支持。 如果需要用到NER技术,可以参照Paddle团队的另一个开源套件: https://github.com/PaddlePaddle/ERNIE, 其提供的预训练模型ERNIE, 可以帮助提升NER任务的准确率。
|
由于这部分需求和业务场景强相关,难以用一个统一的模型去处理,目前PPOCR暂不支持。 如果需要用到NER技术,可以参照Paddle团队的另一个开源套件: https://github.com/PaddlePaddle/ERNIE, 其提供的预训练模型ERNIE, 可以帮助提升NER任务的准确率。
|
||||||
|
|
||||||
#### Q3.4.49: 同一个模型,c++部署和python部署方式,出来的结果不一致,如何定位?
|
#### Q3.4.49: 同一个模型,c++部署和python部署方式,出来的结果不一致,如何定位?
|
||||||
**A**:有如下几个Debug经验:
|
**A**:有如下几个Debug经验:
|
||||||
1) 优先对一下几个阈值参数是否一致;
|
1 优先对一下几个阈值参数是否一致;
|
||||||
2) 排查一下c++代码和python代码的预处理和后处理方式是否一致;
|
2 排查一下c++代码和python代码的预处理和后处理方式是否一致;
|
||||||
3) 用python在模型输入输出各保存一下二进制文件,排除inference的差异性
|
3 用python在模型输入输出各保存一下二进制文件,排除inference的差异性
|
||||||
|
|
||||||
<a name="OCR精选10个问题"></a>
|
<a name="OCR精选10个问题"></a>
|
||||||
## 【精选】OCR精选10个问题
|
## 【精选】OCR精选10个问题
|
||||||
|
@ -1299,7 +1299,7 @@ nvidia-smi --lock-gpu-clocks=1590 -i 0
|
||||||
|
|
||||||
#### Q3.4.49: 同一个模型,c++部署和python部署方式,出来的结果不一致,如何定位?
|
#### Q3.4.49: 同一个模型,c++部署和python部署方式,出来的结果不一致,如何定位?
|
||||||
**A**:有如下几个Debug经验:
|
**A**:有如下几个Debug经验:
|
||||||
1) 优先对一下几个阈值参数是否一致;
|
1 优先对一下几个阈值参数是否一致;
|
||||||
2) 排查一下c++代码和python代码的预处理和后处理方式是否一致;
|
2 排查一下c++代码和python代码的预处理和后处理方式是否一致;
|
||||||
3) 用python在模型输入输出各保存一下二进制文件,排除inference的差异性
|
3 用python在模型输入输出各保存一下二进制文件,排除inference的差异性
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue