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
7b254a60
Commit
7b254a60
authored
May 02, 2022
by
LDOUBLEV
Browse files
fix comment
parent
eb047640
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
12 additions
and
12 deletions
+12
-12
doc/doc_ch/PP-OCRv3_introduction.md
doc/doc_ch/PP-OCRv3_introduction.md
+12
-12
No files found.
doc/doc_ch/PP-OCRv3_introduction.md
View file @
7b254a60
...
@@ -34,29 +34,29 @@ PP-OCRv2从骨干网络选择和调整、预测头部的设计、数据增强、
...
@@ -34,29 +34,29 @@ PP-OCRv2从骨干网络选择和调整、预测头部的设计、数据增强、
### PP-OCRv3文本检测模型优化策略
### PP-OCRv3文本检测模型优化策略
PP-OCRv3
在
PP-OCRv2的
基础上进一步升级
。
PP-OCRv3
采用
PP-OCRv2的
[
CML
](
https://arxiv.org/pdf/2109.03144.pdf
)
蒸馏策略,在蒸馏的student模型、teacher模型精度提升,CML蒸馏策略上分别做了优化。下面简要介绍PPOCRv3的文本检测优化策略
。
PP-OCRv3文本检测从网络结构、蒸馏训练策略两个方向做了进一步优化:
-
首先,在蒸馏student模型精度提升方面,针对模型召回能力低的问题,提出了RSEFPN的FPN结构用于提升student模型精度;
1.
网络结构改进:提出两种改进后的FPN网络结构,RSEFPN,LKPAN,分别从channel attention、更大感受野的角度优化FPN结构。
*RSEFPN简要介绍:*
RSEFPN的网络结构如下图所示,RSEFPN在PPOCRv2的FPN基础上,将FPN中的卷积层更换为了channel attention结构的RSEConv层。


PPOCRv2检测模型的FPN结构由纯卷积和上采样层构成,不包含BN层,激活函数等模块。PPOCRv3对PPOCRv2检测模型中的FPN结构进行改进,借鉴channel attention的思想,将FPN中的卷积层换为带残差结构的RSEBlock,其网络结构如上图所示;SEBlock起到channel attention的作用;另外,考虑到PPOCR文本检测模型FPN网络的通道数较小(channel=96),channel atttion可能抑制掉某些包含重要特征的channel;因此,PPOCRv3引入了残差结构。实验表明引入残差结构相比只引入SEBlock有2.7%的精度提升。RSEFPN将base
检测模型的精度hmean从81.3%提升到84.5%。
RSEFPN将PPOCR
检测模型的精度hmean从81.3%提升到84.5%。
模型大小从3M变为3.6M。
*LKPAN简要介绍:*
-
然后,在蒸馏的teacher模型精度提升方面,提出了LKPAN结构替换PPOCRv2的FPN结构,并且使用ResNet50作为Backbone,更大的模型带来更多的精度提升。最终teacher的模型指标hmean达到了86.0%。
LKPAN的网络结构如下图所示:


LKPAN是一个具有更大感受野的轻量级PAN结构。其网络结构如上图所示。 LKPAN对输入的特征首先使用
`1*1`
conv统一特征的通道, 在LKPAN的path augmentation中,使用kernel size为
`9*9`
的深度可分离卷积。更大的kernelsize意味着更大的感受野,更容易检测大字体的文字以及极端长宽比的文字。使用深度可分离卷积可以显著降低模型的参数量。LKPAN将base检测模型的精度hmean从81.3%提升到84.9%。
LKPAN是一个具有更大感受野的轻量级PAN结构。在在LKPAN的path augmentation中,使用kernel size为
`9*9`
的卷积;更大的kernel size意味着更大的感受野,更容易检测大字体的文字以及极端长宽比的文字。LKPAN将base检测模型的精度hmean从81.3%提升到84.9%。
*注:LKPAN相比RSEFPN有更多的精度提升,但是考虑到模型大小和预测速度等因素,在student模型中使用RSEFPN。*
2.
CML蒸馏训练策略调整:PPOCRv3文本检测模型训练中,仍采用
[
CML
](
https://arxiv.org/pdf/2109.03144.pdf
)
的蒸馏策略。首先,在蒸馏teacher模型选择上,使用ResNet50作为teacher的Backbone,使用LKPAN作为FPN部分,最终使用
[
DML
](
https://arxiv.org/abs/1706.00384
)
蒸馏策略训练得到更高精度的teacher模型。然后,在CML蒸馏训练时,随训练epoch数增加,线性降低teacher模型和student模型之间损失函数的比例,loss比例计算公式如下:
-
最后,调整CML蒸馏训练策略调整:为了进一步提升蒸馏模型的精度,对teacher模型使用
[
DML
](
https://arxiv.org/abs/1706.00384
)
蒸馏策略进一步提升teacher模型的精度,更好的指导student模型的训练。
```
α = 1 – (epoch/total_epoch)*0.4
```
最后,在蒸馏时,考虑到模型大小及预测速度,采用RSEFPN作为蒸馏student模型的FPN结构。优化后的CML蒸馏将PPOCRv2的精度hmean从83.3%提升到84.4%,同时模型的召回能力显著提升。
采用上述策略,PPOCRv3相比PPOCRv2,hmean指标从83.3%提升到85.4%;预测速度从平均117ms/image变为124ms/image。
3.
消融实验
3.
消融实验
...
...
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