提交 7b254a60 编写于 作者: L LDOUBLEV

fix comment

上级 eb047640
...@@ -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层。
![](../ppocr_v3/RSEFPN.png) ![](../ppocr_v3/RSEFPN.png)
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的网络结构如下图所示:
![](../ppocr_v3/LKPAN.png) ![](../ppocr_v3/LKPAN.png)
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. 消融实验
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册