Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
wangsen
paddle_dbnet
Commits
7be78486
Commit
7be78486
authored
May 06, 2022
by
LDOUBLEV
Browse files
update
parent
66b39e0e
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
22 additions
and
18 deletions
+22
-18
doc/doc_ch/PP-OCRv3_introduction.md
doc/doc_ch/PP-OCRv3_introduction.md
+22
-18
doc/ppocr_v3/LKPAN.png
doc/ppocr_v3/LKPAN.png
+0
-0
doc/ppocr_v3/teacher_dml.png
doc/ppocr_v3/teacher_dml.png
+0
-0
No files found.
doc/doc_ch/PP-OCRv3_introduction.md
View file @
7be78486
...
@@ -23,31 +23,30 @@ PP-OCRv3系统pipeline如下:
...
@@ -23,31 +23,30 @@ PP-OCRv3系统pipeline如下:
<a
name=
"2"
></a>
<a
name=
"2"
></a>
## 2. 检测优化
## 2. 检测优化
PP-OCRv3采用PP-OCRv2的
[
CML
](
https://arxiv.org/pdf/2109.03144.pdf
)
蒸馏策略,CML蒸馏包含一个
蒸馏
教师模型和两个
蒸馏
学生模型,在训练过程中,教师模型不参与训练,学生模型受到来自标签和教师模型的监督,同时两个学生模型互相学习。相比较PP-OCRv2,PP-OCRv3在
蒸馏
教师模型、
蒸馏
学生模型的精度提升两个方面进一步优化。
PP-OCRv3采用PP-OCRv2的
[
CML
](
https://arxiv.org/pdf/2109.03144.pdf
)
蒸馏策略,CML蒸馏包含一个教师模型和两个学生模型,在训练过程中,教师模型不参与训练,学生模型受到来自标签和教师模型的监督,同时两个学生模型互相学习。相比较PP-OCRv2,PP-OCRv3在教师模型、学生模型的精度提升两个方面进一步优化。
PP-OCRv3 CML蒸馏训练框架图如下:
PP-OCRv3 CML蒸馏训练框架图如下:
<div
align=
"center"
>
<div
align=
"center"
>
<img
src=
".././ppocr_v3/ppocrv3_det_cml.png"
width=
"800"
>
<img
src=
".././ppocr_v3/ppocrv3_det_cml.png"
width=
"800"
>
</div>
</div>
-
在蒸馏的教师模型精度提升方面,提出了LK-PAN结构替换PP-OCRv2的FPN结构提升模型的召回,并且使用ResNet50作为Backbone。另外,对教师模型使用
[
DML
](
https://arxiv.org/abs/1706.00384
)
蒸馏策略进一步提升教师模型的精度。最终教师模型指标相比ppocr_server从83.2%提升到了86.0%。
-
在教师模型精度提升方面,提出了LK-PAN结构替换PP-OCRv2的FPN结构提升模型的召回,并且使用ResNet50作为Backbone。
另外,使用Deep Mutual Learning(
[
DML
](
https://arxiv.org/abs/1706.00384
)
)蒸馏策略进一步提升教师模型的精度,DML是一种自蒸馏策略,区别于传统的教师模型监督学生模型的蒸馏方法。DML是多个学生模型以协作的方式互相监督。加上DML自蒸馏后,教师模型Hmean进一步提升到86.0%。
教师模型自蒸馏训练的pipeline如下:
LK-PAN(Large Kernel PAN)是一个具有更大感受野的轻量级
[
PAN
](
https://arxiv.org/pdf/1803.01534.pdf
)
结构。在LK-PAN的path augmentation中,使用卷积核为
`9*9`
的卷积;更大的卷积核意味着更大的感受野,更容易检测大字体的文字以及极端长宽比的文字。LK-PAN将ppocr_server检测模型的精度hmean从83.2%提升到85.0%。
<div
align=
"center"
>
<div
align=
"center"
>
<img
src=
"../ppocr_v3/
teacher_dml
.png"
width=
"
8
00"
>
<img
src=
"../ppocr_v3/
LKPAN
.png"
width=
"
10
00"
>
</div>
</div>
LK-PAN(Large Kernel PAN)是一个具有更大感受野的轻量级
[
PAN
](
https://arxiv.org/pdf/1803.01534.pdf
)
结构。在LK-PAN的path augmentation中,使用卷积核为
`9*9`
的卷积;更大的卷积核意味着更大的感受野,更容易检测大字体的文字以及极端长宽比的文字。LKPAN将ppocr_server检测模型的精度hmean从83.2%提升到85.0%,加上DML自蒸馏后,hmean进一步提升到86。0%。
蒸馏教师模型的消融试验如下:
教师模型DML训练的pipeline如下:
|序号|策略|模型大小|hmean|Intel Gold 6148CPU+mkldnn预测耗时|
|-|-|-|-|-|
<div
align=
"center"
>
|0|ppocr_server|49M|83.2%|171ms|
<img
src=
"../ppocr_v3/teacher_dml.png"
width=
"800"
>
|1|+ LK-PAN|124M|85.0%|396ms|
</div>
|2|+ DML|124M|86.0%|396ms|
-
在
蒸馏
学生模型精度提升方面,使用
h
mean
86%的模型作为CML
中
的教师模型,精度更高的
蒸馏
教师模型可以给学生模型更好的监督信息。另外,提出了基于残差结构的通道注意力模块RSE-FPN(Residual Squeeze-and-Excitation FPN),用于提升学生模型精度和召回。
-
在学生模型精度提升方面,使用
H
mean
指标为
86%的模型作为CML的教师模型,精度更高的教师模型可以给学生模型更好的监督信息。另外,提出了基于残差结构的通道注意力模块RSE-FPN(Residual Squeeze-and-Excitation FPN),用于提升学生模型精度和召回。
RSE-FPN的网络结构如下图所示,RSE-FPN在PP-OCRv2的FPN基础上,将FPN中的卷积层更换为了通道注意力结构的RSEConv层。
RSE-FPN的网络结构如下图所示,RSE-FPN在PP-OCRv2的FPN基础上,将FPN中的卷积层更换为了通道注意力结构的RSEConv层。
...
@@ -55,14 +54,19 @@ RSE-FPN的网络结构如下图所示,RSE-FPN在PP-OCRv2的FPN基础上,将F
...
@@ -55,14 +54,19 @@ RSE-FPN的网络结构如下图所示,RSE-FPN在PP-OCRv2的FPN基础上,将F
<img
src=
".././ppocr_v3/RSEFPN.png"
width=
"1000"
>
<img
src=
".././ppocr_v3/RSEFPN.png"
width=
"1000"
>
</div>
</div>
PP-OCRv2的FPN通道数仅为96和24,如果直接用SEblock代替FPN中卷积会导致某些通道的特征被抑制,进而导致精度下降,RSEConv引入残差结构可以防止训练中包含重要特征的通道被抑制。RSE-FPN将PP-OCR检测模型的精度
h
mean从81.3%提升到84.5%。模型大小从3M变为3.6M。CPU预测速度从平均117ms/image变为124ms/image。
PP-OCRv2的FPN通道数仅为96和24,如果直接用SEblock代替FPN中卷积会导致某些通道的特征被抑制,进而导致精度下降,RSEConv引入残差结构可以防止训练中包含重要特征的通道被抑制
,使精度提升
。RSE-FPN将PP-OCR检测模型的精度
H
mean从81.3%提升到84.5%。模型大小从3M变为3.6M。CPU预测速度从平均117ms/image变为124ms/image。
蒸馏学生模型的
消融
试
验如下:
消融
实
验如下:
|序号|策略|模型大小|hmean|
Intel Gold 6148CPU+
mkldnn
预测耗时
|
|序号|策略|模型大小|hmean|
速度(cpu +
mkldnn
)
|
|-|-|-|-|-|
|-|-|-|-|-|
|0|PP-OCRv2|3M|81.3%|117ms|
|0|PP-OCRv2|3M|83.2%|117ms|
|1|+ teacher(dml)|3M|84.3%|117ms|
|1|PP-OCR server|49M|83.2%|171ms|
|2|+ RSE-FPN|3.6M|85.4%|124ms|
|2|teacher1:DB-R50-LK-PAN|124M|85.0%|396ms|
|3|teacher2:DB-R50-LK-PAN-DML|124M|86.0%|396ms|
|4|DB-MV3-CML(teacher2)|3M|84.3%|117ms|
|5|DB-MV3-RSE-FPN-CML(teacher2)|3.6M|85.4%|124ms|
注: CPU速度测试硬件是Intel Gold 6148,paddlepaddle版本是2.2.2,速度耗时为305张图的平均预测时间,预测时开启MKLDNN加速。
<a
name=
"3"
></a>
<a
name=
"3"
></a>
...
...
doc/ppocr_v3/LKPAN.png
0 → 100644
View file @
7be78486
92.5 KB
doc/ppocr_v3/teacher_dml.png
View replaced file @
66b39e0e
View file @
7be78486
378 KB
|
W:
|
H:
228 KB
|
W:
|
H:
2-up
Swipe
Onion skin
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment