未验证 提交 c2492759 编写于 作者: D dyning 提交者: GitHub

Merge pull request #1441 from weisy11/dygraph

rename style_text_rec -> style_text
## Style Text Rec ## Style Text
### 目录 ### 目录
- [工具简介](#工具简介) - [一、工具简介](# 一、工具简介)
- [环境配置](#环境配置) - [二、环境配置](# 二、环境配置)
- [快速上手](#快速上手) - [三、快速上手](# 三、快速上手)
- [高级使用](#高级使用) - [四、应用示例](# 四、应用示例)
- [应用示例](#应用示例)
### 工具简介 ### 一、工具简介
<div align="center"> <div align="center">
<img src="doc/images/3.png" width="800"> <img src="doc/images/3.png" width="800">
</div> </div>
...@@ -23,13 +22,13 @@ Style-Text数据合成工具是基于百度自研的文本编辑算法《Editing ...@@ -23,13 +22,13 @@ Style-Text数据合成工具是基于百度自研的文本编辑算法《Editing
<img src="doc/images/2.png" width="1000"> <img src="doc/images/2.png" width="1000">
</div> </div>
### 环境配置 ### 二、环境配置
1. 参考[快速安装](../doc/doc_ch/installation.md),安装PaddleOCR。 1. 参考[快速安装](../doc/doc_ch/installation.md),安装PaddleOCR。
2. 进入`style_text_rec`目录,下载模型,并解压: 2. 进入`StyleText`目录,下载模型,并解压:
```bash ```bash
cd style_text_rec cd StyleText
wget https://paddleocr.bj.bcebos.com/dygraph_v2.0/style_text/style_text_models.zip wget https://paddleocr.bj.bcebos.com/dygraph_v2.0/style_text/style_text_models.zip
unzip style_text_models.zip unzip style_text_models.zip
``` ```
...@@ -47,7 +46,9 @@ fusion_generator: ...@@ -47,7 +46,9 @@ fusion_generator:
pretrain: style_text_models/fusion_generator pretrain: style_text_models/fusion_generator
``` ```
### 快速上手 ### 三、快速上手
#### 合成单张图
1. 运行tools/synth_image,生成示例图片: 1. 运行tools/synth_image,生成示例图片:
...@@ -55,7 +56,7 @@ fusion_generator: ...@@ -55,7 +56,7 @@ fusion_generator:
python3 -m tools.synth_image -c configs/config.yml python3 -m tools.synth_image -c configs/config.yml
``` ```
1. 运行后,会生成`fake_busion.jpg`,即为最终结果。 2. 运行后,会生成`fake_busion.jpg`,即为最终结果。
<div align="center"> <div align="center">
<img src="doc/images/4.jpg" width="300"> <img src="doc/images/4.jpg" width="300">
</div> </div>
...@@ -63,17 +64,17 @@ python3 -m tools.synth_image -c configs/config.yml ...@@ -63,17 +64,17 @@ python3 -m tools.synth_image -c configs/config.yml
* `fake_bg.jpg`:为风格参考图去掉文字后的背景; * `fake_bg.jpg`:为风格参考图去掉文字后的背景;
* `fake_text.jpg`:是用提供的字符串,仿照风格参考图中文字的风格,生成在灰色背景上的文字图片。 * `fake_text.jpg`:是用提供的字符串,仿照风格参考图中文字的风格,生成在灰色背景上的文字图片。
2. 如果您想尝试其他风格图像和文字的效果,可以添加style_image,text_corpus和language参数: 3. 如果您想尝试其他风格图像和文字的效果,可以添加style_image,text_corpus和language参数:
```python ```python
python3 -m tools.synth_image -c configs/config.yml --style_image examples/style_images/2.jpg --text_corpus PaddleOCR --language en python3 -m tools.synth_image -c configs/config.yml --style_image examples/style_images/2.jpg --text_corpus PaddleOCR --language en
``` ```
* 注意:语言选项和语料相对应,目前我们支持英文、简体中文和韩语。 * 注意:语言选项和语料相对应,目前我们支持英文、简体中文和韩语。
3.`tools/synth_image.py`中,我们还提供了一个`batch_synth_images`方法,可以两两组合语料和图片,批量生成一批数据。 4.`tools/synth_image.py`中,我们还提供了一个`batch_synth_images`方法,可以两两组合语料和图片,批量生成一批数据。
### 高级使用 #### 批量合成
在开始合成数据前,需要准备一些素材。 在开始合成数据前,需要准备一些素材。
首先,需要风格图片作为合成图片的参考依据,这些数据可以是用作训练OCR识别模型的数据集。本例中使用带有标注文件的数据集作为风格图片. 首先,需要风格图片作为合成图片的参考依据,这些数据可以是用作训练OCR识别模型的数据集。本例中使用带有标注文件的数据集作为风格图片.
...@@ -88,7 +89,7 @@ python3 -m tools.synth_image -c configs/config.yml --style_image examples/style_ ...@@ -88,7 +89,7 @@ python3 -m tools.synth_image -c configs/config.yml --style_image examples/style_
* `language`:语料的语种; * `language`:语料的语种;
* `corpus_file`: 语料文件路径。 * `corpus_file`: 语料文件路径。
我们提供了一批[样例图](https://paddleocr.bj.bcebos.com/dygraph_v2.0/style_text/chkoen_5w.tar)供您试用,下面给出了一些示例: 我们提供了一批中英韩5w通用数据供您试用 ([下载地址](https://paddleocr.bj.bcebos.com/dygraph_v2.0/style_text/chkoen_5w.tar),下面给出了一些示例:
<div align="center"> <div align="center">
<img src="doc/images/5.png" width="800"> <img src="doc/images/5.png" width="800">
</div> </div>
...@@ -106,21 +107,22 @@ python3 -m tools.synth_image -c configs/config.yml --style_image examples/style_ ...@@ -106,21 +107,22 @@ python3 -m tools.synth_image -c configs/config.yml --style_image examples/style_
``` ```
### 应用示例 ### 四、应用示例
在完成上述操作后,即可得到用于OCR识别的合成数据集,下面给出了一些数据集生成的示例: 在完成上述操作后,即可得到用于OCR识别的合成数据集。在实用场景中,我们经常遇到数据量不足的情况,这时可以使用已有数据作为style_input,合成数据。
下面给出了一些数据集生成的示例:
<div align="center"> <div align="center">
<img src="doc/images/6.png" width="800"> <img src="doc/images/6.png" width="800">
</div> </div>
请您参考[OCR识别文档](https://github.com/PaddlePaddle/PaddleOCR/blob/dygraph/doc/doc_ch/recognition.md#%E5%90%AF%E5%8A%A8%E8%AE%AD%E7%BB%83),完成训练。
下面展示了一些使用合成数据训练的效果 在添加这些合成数据进行训练后,识别模型的效果得到了显著提升,如下表所示
| 场景 | 字符 | 原始数据 | 测试数据 | 只使用原始数据的识别准确率 | 新增合成数据 | 使用合成数据识别准确率 | 指标提升 | | 场景 | 字符 | 原始数据 | 测试数据 | 只使用原始数据的识别准确率 | 新增合成数据 | 使用合成数据识别准确率 | 指标提升 |
| -------- | ---------- | -------- | -------- | -------------------------- | ------------ | ---------------------- | -------- | | -------- | ---------- | -------- | -------- | -------------------------- | ------------ | ---------------------- | -------- |
| 金属表面 | 英文和数字 | 2203 | 650 | 0.5938 | 20000 | 0.7546 | 16% | | 金属表面 | 英文和数字 | 2203 | 650 | 0.5938 | 20000 | 0.7546 | 16% |
| 随机背景 | 韩语 | 5631 | 1230 | 0.3012 | 100000 | 0.5057 | 20% | | 随机背景 | 韩语 | 5631 | 1230 | 0.3012 | 100000 | 0.5057 | 20% |
识别模型的训练方法您可以参考[OCR识别文档](../doc/doc_ch/recognition.md)
### 项目结构 ### 项目结构
``` ```
style_text_rec style_text_rec
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册