diff --git a/README.md b/README.md index 19b84877..9b03b756 100644 --- a/README.md +++ b/README.md @@ -118,7 +118,7 @@ For a new language request, please refer to [Guideline for new language_requests - [Table Recognition](./ppstructure/table/README.md) - Academic Circles - [Two-stage Algorithm](./doc/doc_en/algorithm_overview_en.md) - - [PGNet Algorithm](./doc/doc_en/algorithm_overview_en.md) + - [PGNet Algorithm](./doc/doc_en/pgnet_en.md) - [Python Inference](./doc/doc_en/inference_en.md) - [Use PaddleOCR Architecture to Add New Algorithms](./doc/doc_en/add_new_algorithm_en.md) - Data Annotation and Synthesis diff --git a/README_ch.md b/README_ch.md index f58bd3c7..243d730c 100755 --- a/README_ch.md +++ b/README_ch.md @@ -108,16 +108,16 @@ PaddleOCR旨在打造一套丰富、领先、且实用的OCR工具库,助力 - [PP-Structure信息提取](./ppstructure/README_ch.md) - [版面分析](./ppstructure/layout/README_ch.md) - [表格识别](./ppstructure/table/README_ch.md) -- 数据标注与合成 - - [半自动标注工具PPOCRLabel](./PPOCRLabel/README_ch.md) - - [数据合成工具Style-Text](./StyleText/README_ch.md) - - [其它数据标注工具](./doc/doc_ch/data_annotation.md) - - [其它数据合成工具](./doc/doc_ch/data_synthesis.md) - OCR学术圈 - [两阶段算法](./doc/doc_ch/algorithm_overview.md) - [端到端PGNet算法](./doc/doc_ch/pgnet.md) - [基于Python脚本预测引擎推理](./doc/doc_ch/inference.md) - [使用PaddleOCR架构添加新算法](./doc/doc_ch/add_new_algorithm.md) +- 数据标注与合成 + - [半自动标注工具PPOCRLabel](./PPOCRLabel/README_ch.md) + - [数据合成工具Style-Text](./StyleText/README_ch.md) + - [其它数据标注工具](./doc/doc_ch/data_annotation.md) + - [其它数据合成工具](./doc/doc_ch/data_synthesis.md) - 数据集 - [通用中英文OCR数据集](./doc/doc_ch/datasets.md) - [手写中文OCR数据集](./doc/doc_ch/handwritten_datasets.md) diff --git a/doc/doc_ch/training.md b/doc/doc_ch/training.md index c0dddd33..8dc94546 100644 --- a/doc/doc_ch/training.md +++ b/doc/doc_ch/training.md @@ -4,7 +4,7 @@ 同时会简单介绍PaddleOCR模型训练数据的组成部分,以及如何在垂类场景中准备数据finetune模型。 -- [1.配置文件](#配置文件) +- [1.配置文件说明](#配置文件) - [2. 基本概念](#基本概念) * [2.1 学习率](#学习率) * [2.2 正则化](#正则化) @@ -30,7 +30,7 @@ PaddleOCR模型使用配置文件管理网络训练、评估的参数。在配 模型训练过程中需要手动调整一些超参数,帮助模型以最小的代价获得最优指标。不同的数据量可能需要不同的超参,当您希望在自己的数据上finetune或对模型效果调优时,有以下几个参数调整策略可供参考: -### 1.1 学习率 +### 2.1 学习率 学习率是训练神经网络的重要超参数之一,它代表在每一次迭代中梯度向损失函数最优解移动的步长。 在PaddleOCR中提供了多种学习率更新策略,可以通过配置文件修改,例如: @@ -49,7 +49,7 @@ Piecewise 代表分段常数衰减,在不同的学习阶段指定不同的学 warmup_epoch 代表在前5个epoch中,学习率将逐渐从0增加到base_lr。全部策略可以参考代码[learning_rate.py](../../ppocr/optimizer/learning_rate.py) 。 -### 1.2 正则化 +### 2.2 正则化 正则化可以有效的避免算法过拟合,PaddleOCR中提供了L1、L2正则方法,L1 和 L2 正则化是最常用的正则化方法。L1 正则化向目标函数添加正则化项,以减少参数的绝对值总和;而 L2 正则化中,添加正则化项的目的在于减少参数平方的总和。配置方法如下: @@ -62,7 +62,7 @@ Optimizer: ``` -### 1.3 评估指标 +### 2.3 评估指标 (1)检测阶段:先按照检测框和标注框的IOU评估,IOU大于某个阈值判断为检测准确。这里检测框和标注框不同于一般的通用目标检测框,是采用多边形进行表示。检测准确率:正确的检测框个数在全部检测框的占比,主要是判断检测指标。检测召回率:正确的检测框个数在全部标注框的占比,主要是判断漏检的指标。 @@ -72,10 +72,10 @@ Optimizer: -## 2. 数据与垂类场景 +## 3. 数据与垂类场景 -### 2.1 训练数据 +### 3.1 训练数据 目前开源的模型,数据集和量级如下: - 检测: @@ -90,13 +90,14 @@ Optimizer: 其中,公开数据集都是开源的,用户可自行搜索下载,也可参考[中文数据集](./datasets.md),合成数据暂不开源,用户可使用开源合成工具自行合成,可参考的合成工具包括[text_renderer](https://github.com/Sanster/text_renderer) 、[SynthText](https://github.com/ankush-me/SynthText) 、[TextRecognitionDataGenerator](https://github.com/Belval/TextRecognitionDataGenerator) 等。 -### 2.2 垂类场景 +### 3.2 垂类场景 PaddleOCR主要聚焦通用OCR,如果有垂类需求,您可以用PaddleOCR+垂类数据自己训练; 如果缺少带标注的数据,或者不想投入研发成本,建议直接调用开放的API,开放的API覆盖了目前比较常见的一些垂类。 -### 2.3 自己构建数据集 + +### 3.3 自己构建数据集 在构建数据集时有几个经验可供参考: @@ -114,7 +115,7 @@ PaddleOCR主要聚焦通用OCR,如果有垂类需求,您可以用PaddleOCR+ -## 3. 常见问题 +## 4. 常见问题 **Q**:训练CRNN识别时,如何选择合适的网络输入shape?