Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
精巧构思
PaddleOCR
提交
4a1549d6
P
PaddleOCR
项目概览
精巧构思
/
PaddleOCR
与 Fork 源项目一致
Fork自
PaddlePaddle / PaddleOCR
通知
2
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
PaddleOCR
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
4a1549d6
编写于
9月 06, 2021
作者:
L
LDOUBLEV
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update link
上级
131a99b7
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
13 addition
and
13 deletion
+13
-13
doc/doc_ch/detection.md
doc/doc_ch/detection.md
+9
-9
doc/doc_ch/models_and_config.md
doc/doc_ch/models_and_config.md
+4
-4
未找到文件。
doc/doc_ch/detection.md
浏览文件 @
4a1549d6
...
...
@@ -12,12 +12,12 @@
-
[
2. FAQ
](
#2-faq
)
<a
name=
"1"
></a>
<a
name=
"1
-----
"
></a>
# 1. 文字检测
本节以icdar2015数据集为例,介绍PaddleOCR中检测模型训练、评估、测试的使用方式。
<a
name=
"11"
></a>
<a
name=
"11
-----
"
></a>
## 1.1 数据准备
icdar2015数据集可以从
[
官网
](
https://rrc.cvc.uab.es/?ch=4&com=downloads
)
下载到,首次下载需注册。
...
...
@@ -64,7 +64,7 @@ json.dumps编码前的图像标注信息是包含多个字典的list,字典中
如果您想在其他数据集上训练,可以按照上述形式构建标注文件。
<a
name=
"12"
></a>
<a
name=
"12
--------
"
></a>
## 1.2 下载预训练模型
首先下载模型backbone的pretrain model,PaddleOCR的检测模型目前支持两种backbone,分别是MobileNetV3、ResNet_vd系列,
...
...
@@ -82,7 +82,7 @@ wget -P ./pretrain_models/ https://paddle-imagenet-models-name.bj.bcebos.com/dyg
wget
-P
./pretrain_models/ https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/ResNet50_vd_ssld_pretrained.pdparams
```
<a
name=
"13"
></a>
<a
name=
"13
-----
"
></a>
## 1.3 启动训练
*如果您安装的是cpu版本,请将配置文件中的 `use_gpu` 字段修改为false*
...
...
@@ -105,7 +105,7 @@ python3 -m paddle.distributed.launch --gpus '0,1,2,3' tools/train.py -c configs/
python3 tools/train.py
-c
configs/det/det_mv3_db.yml
-o
Optimizer.base_lr
=
0.0001
```
<a
name=
"14"
></a>
<a
name=
"14
-----
"
></a>
## 1.4 断点训练
如果训练程序中断,如果希望加载训练中断的模型从而恢复训练,可以通过指定Global.checkpoints指定要加载的模型路径:
...
...
@@ -115,7 +115,7 @@ python3 tools/train.py -c configs/det/det_mv3_db.yml -o Global.checkpoints=./you
**注意**
:
`Global.checkpoints`
的优先级高于
`Global.pretrain_weights`
的优先级,即同时指定两个参数时,优先加载
`Global.checkpoints`
指定的模型,如果
`Global.checkpoints`
指定的模型路径有误,会加载
`Global.pretrain_weights`
指定的模型。
<a
name=
"15"
></a>
<a
name=
"15
---backbone---
"
></a>
## 1.5 更换Backbone 训练
PaddleOCR将网络划分为四部分,分别在
[
ppocr/modeling
](
../../ppocr/modeling
)
下。 进入网络的数据将按照顺序(transforms->backbones->
...
...
@@ -163,7 +163,7 @@ args1: args1
**注意**
:如果要更换网络的其他模块,可以参考
[
文档
](
./add_new_algorithm.md
)
。
<a
name=
"16"
></a>
<a
name=
"16
-----
"
></a>
## 1.6 指标评估
PaddleOCR计算三个OCR检测相关的指标,分别是:Precision、Recall、Hmean(F-Score)。
...
...
@@ -176,7 +176,7 @@ python3 tools/eval.py -c configs/det/det_mv3_db.yml -o Global.checkpoints="{pat
*
注:
`box_thresh`
、
`unclip_ratio`
是DB后处理所需要的参数,在评估EAST模型时不需要设置
<a
name=
"17"
></a>
<a
name=
"17
-------
"
></a>
## 1.7 测试检测效果
测试单张图像的检测效果
...
...
@@ -194,7 +194,7 @@ python3 tools/infer_det.py -c configs/det/det_mv3_db.yml -o Global.infer_img="./
python3 tools/infer_det.py
-c
configs/det/det_mv3_db.yml
-o
Global.infer_img
=
"./doc/imgs_en/"
Global.pretrained_model
=
"./output/det_db/best_accuracy"
```
<a
name=
"
#
18--inference----"
></a>
<a
name=
"18--inference----"
></a>
## 1.8 转inference模型测试
inference 模型(
`paddle.jit.save`
保存的模型)
...
...
doc/doc_ch/models_and_config.md
浏览文件 @
4a1549d6
...
...
@@ -5,7 +5,7 @@
*
[
1.2 OCR 识别模型基本概念
](
#12-ocr---------
)
*
[
1.3 PP-OCR模型
](
#13-pp-ocr--
)
<a
name=
"11-ocr-----"
></a>
# 1. OCR 简要介绍
本节简要介绍OCR检测模型、识别模型的基本概念,并介绍PaddleOCR的PP-OCR模型。
...
...
@@ -13,7 +13,7 @@ OCR(Optical Character Recognition,光学字符识别)目前是文字识别
OCR文字识别一般包括两个部分,文本检测和文本识别;文本检测首先利用检测算法检测到图像中的文本行;然后检测到的文本行用识别算法去识别到具体文字。
<a
name=
"11-ocr---------"
></a>
## 1.1 OCR 检测模型基本概念
文本检测就是要定位图像中的文字区域,然后通常以边界框的形式将单词或文本行标记出来。传统的文字检测算法多是通过手工提取特征的方式,特点是速度快,简单场景效果好,但是面对自然场景,效果会大打折扣。当前多是采用深度学习方法来做。
...
...
@@ -23,14 +23,14 @@ OCR文字识别一般包括两个部分,文本检测和文本识别;文本
2.
基于分割的方法;将文本行当成分割目标,然后通过分割结果构建外接文本框,可以处理弯曲文本,对于文本交叉场景问题效果不理想。典型算法为DB、PSENet等方法。
3.
混合目标检测和分割的方法;
<a
name=
"12-ocr---------"
></a>
## 1.2 OCR 识别模型基本概念
OCR识别算法的输入数据一般是文本行,背景信息不多,文字占据主要部分,识别算法目前可以分为两类算法:
1.
基于CTC的方法;即识别算法的文字预测模块是基于CTC的,常用的算法组合为CNN+RNN+CTC。目前也有一些算法尝试在网络中加入transformer模块等等。
2.
基于Attention的方法;即识别算法的文字预测模块是基于Attention的,常用算法组合是CNN+RNN+Attention。
<a
name=
"13-pp-ocr--"
></a>
## 1.3 PP-OCR模型
PaddleOCR 中集成了很多OCR算法,文本检测算法有DB、EAST、SAST等等,文本识别算法有CRNN、RARE、StarNet、Rosetta、SRN等算法。
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录