2021SC@SDUSC
框架解读(文字检测)
文字检测:使用可微分二值化(DB)作为基于简单分割网络的文本检测器。轻主干、轻头部、去除SE模块、余弦学习率衰减、学习率预热和FPGM剪枝。最后,将文本检测器的模型尺寸减小到1.4M。
轻主干
主干的大小是文本检测器模型大小的主要影响因素。因此,在构建超轻模型时,应该选择轻骨架。随着图像分类技术的发展,MobileNetV1、MobileNetV2、MobileNetV3和ShuffleNetV2系列经常被用作轻量级骨干。每个系列都有不同的规模。由于PaddleClas在CPU上的推断时间和20多种骨架的准确性,当预测时间相同时,MobileNetV3可以达到更高的精度。在比例的选择上,我们采用MobileNetV3 large x0.5来权衡精度和效率。顺便提一下,PaddleClas共提供了多达24个系列的图像分类网络结构和训练配置,122个模型的预训练权值及其评价指标,如ResNet, ResNet vd, SERes- NeXt, Res2Net, Res2Net vd, DPN, DenseNet, EfficientNet, Xception, HRNet等。
轻头部
文本检测器的头部类似于目标检测中的FPN 架构,融合不同尺度的特征图,提高小文本区域检测的效果。为了方便合并不同分辨率的feature map,通常使用1 × 1卷积将feature map缩减到相同数量的通道(我们使用内部通道)概率图和阈值图由卷积融合的特征图生成,卷积也与上述内部通道相关联。因此,内部通道对模型尺寸有很大的影响。当内部通道由256减小到96时,模型尺寸由7M减小到4.1M,但精度略有下降。
可微分二值化(DB)是什么?
二值化
二值图像即为每个像素只有两个可能值的数字图像。
其将大于某个临界灰度值的像素灰度设为灰度极大值,小于这个值的为灰度极小值,从而实现二值化。
Binary模块是二值化后的图像。
这是一般情况下的二值化函数,这是不可微分的,因此它在训练阶段无法随着分割网络被优化。
可微分的二值化
这一近似二值化函数虽与标准的二值化函数类似,但是可微分的,因此训练时可随着分割网络一起优化。带有自适应阈值的可微分二值化不仅有助于把文字区域与背景区分开,而且还能把相近的实例分离开来。
[外链图片转
什么是SE?
SE是squeeze-and-excitation的缩写。SE块明确地模拟通道之间的相互依赖关系,并自适应地重新校准通道特征响应。由于SE块可以明显提高视觉任务的准确性,所以MobileNetV3的搜索空间中包含了SE块,并且大量SE块都在MobileNetV3架构中。然而,当输入分辨率较大时,如640 × 640,很难用SE块估计通道特征响应。精度提高有限,但时间成本很高。去除SE块后,模型尺寸从4.1M减小到2.5M,但精度不受影响。
什么是剪枝?
剪枝是提高神经网络模型推理效率的另一种方法。为了避免模型修剪导致的模型性能下降,我们使用FPGM (He et al. 2019b)在原始模型中寻找不重要的子网络。FPGM以几何中值为准则,将卷积层中的每个滤波器视为欧几里得空间中的一个点。然后计算这些点的几何中值,并去除具有相似值的滤波器,如图9所示。每一层的压缩比对于模型的剪枝也很重要。对每一层进行统一的修剪通常会导致显著的性能下降。在PP-OCR中,根据(Li et al. 2016)的方法计算每一层的修剪灵敏度,然后用来评估每一层的冗余度。
什么是余弦学习率衰减?
余弦学习率衰减学习率是控制学习速度的超参数。学习率越低,损失值变化越慢。虽然使用较低的学习率可以确保不会错过任何局部最小值,但这也意味着收敛速度较慢。在训练的早期,权值处于随机初始化状态,因此我们可以设置较大的学习率,以更快地收敛。在训练的后期,由于权值接近最优值,所以应该使用较小的学习率。余弦学习速率衰减已成为首选的学习采用速率降低策略提高模型精度。在整个训练过程中,余弦学习速率衰减保持较大的学习速率,因此其收敛速度较慢,但最终收敛精度较好。
|