软件工程应用与实践(二):Paddle OCR的框架与技术初识

2021SC@SDUSC

目录

一、Paddle OCR的介绍

1.1 OCR的发展与面临的困难 

1.2 PaddleOCR的推出 

二、PP-OCR的框架

2.1 文字检测器

2.2 方向分类器

2.3 文字识别器

三、PP-OCR各模型的策略具体实现

3.1 文本检测器模型

3.2 方向分类器模型

3.3 文字识别器模型 (主要介绍本人负责部分)


一、Paddle OCR的介绍

1.1 OCR的发展与面临的困难 

       OCR (Optical Character Recognition) 是一种以自动识别图像中的文本为目标的技术,其研究历史悠久,应用范围广泛,如文件电子化、身份认证、数字金融系统、车牌识别等。此外,在工厂中,通过自动提取产品的文本信息,可以更方便地管理产品。学生的线下作业或试卷可以通OCR 系统电子化,使师生之间的交流更加高效。OCR 还可以用于标记街景图像的兴趣点 (POI),提高 地图制作效率。丰富的应用场景赋予了 OCR 技术巨大的 商业价值,同时也带来了很多挑战。
      图像中的文本大致可分为两类:场景文本和文档文本 场景文本是指如图所示的自然场景中的文本,它通常会因为一 些因素而发生巨大的变化,如视角缩放、弯曲、混乱、字体、多语言、模糊、光照等。文档文本在实际应用中更常见。它也有高密度、长文本等问题需要解决。同时,文档图像文本识别往往需要 对结果进行结构化,这就带来了一个新的困难任务。
      在实际应用中,需要处理的图像通常是大量的,这使得高计算效率成为设计 OCR 系统的重要标准。 优先选择 CPU 而不是 GPU。
    在成本方面,特别是OCR 系统需要在许多场景下的嵌入式设备上运行,比如手机,这就需要考虑模型的大小,而权衡模型大小和性能是困难的。

1.2 PaddleOCR的推出 

      Paddle Paddle提出一种实用的超轻量级 OCR 系统,命名为 PP- OCR,该系统由文本检测、检测框校正和文本识别三部分组成。
       PP-OCR算法被开发者广泛应用,短短半年时间, 累计Star数量已超过15k ,频频登上Github Trending和Paperswithcode 日榜月榜第一, 称它为 OCR方向目前最火的repo 绝对不为过。
       其具有多方面的优势:
  • 在 PaddleOCR 识别中,会依次完成三种任务:检测、方向分类及文本识别;
  • 关于预训练权重,PaddleOCR 官网根据提供权重文件大小分为两类:轻量型和服务器部署;
  • 支持多语言识别,目前能够支持 80 多种语言;
  • 提供有丰富的 OCR 领域相关工具供我们使用,方便我们制作自己的数据集、用于训练;





二、PP-OCR的框架

软件工程应用与实践(二):Paddle OCR的框架与技术初识_第1张图片

2.1 文字检测器

      文本检测的目的是定位图像中的文本区域
       PP- OCR 中,我们使用可微分二值化 (DB) (Liao et al. 2020) 作为基于简单分割网络的文本检测器。DB 的简单后处理使得它非常高效。为了进一步提高其有效性和效率,采用了以下六种策略: 轻主干、轻头部、去除 SE 模块、余弦学习率衰 减、学习率预热和 FPGM 剪枝。最后,将文本检测器的模型尺寸减小到 1.4M

2.2 方向分类器

      检测框修复识别检测到的文本前,需要将文本框转换为水平矩形框进行后续的文本识别。
      由于检测帧由四个点组成,因此易于通过几何变换实现。 然而,矫正后的盒子可能会被反转。因此,需要一个分类器来确定文本的方向。如果确定一个方框是反向的,则需要进一步翻转。训练文本方向分类器是一项简单的图像分 类任务。我们采用以下四种策略来增强模型能力和缩小模型尺寸: 轻骨干网、数据增强、输入分辨率和 PACT 量化。最后,文本方向分类器模型大小为 500KB。

2.3 文字识别器

       在 PP-OCR 中,我们使用 CRNN (Shi, Bai, and Yao 2016) 作 为文本识别器,它在文本识别中被广泛应用和实用。
       CRNN融合了特征提取和序列建模。它采用了连接时态分类(CTC)的损失,避免了预测与标注不一致的问题。为了增强文本识别器的模型能力和缩小模型大小,采用了以下 9 种策略 :轻主干、数据增强、余弦学习速率衰减、特征图解析、 正则化参数、学习率预热、轻头部、预训练模型和 PACT 量化。文本识别器中、英文识别器模型尺寸仅为 1.6M ,字母、数字、符号识别器模型尺寸仅为 900KB





三、PP-OCR各模型的策略具体实现





3.1 文本检测器模型

       介绍增强文本检测器的模型能力或减少模型大小的 7 种策略。
  • 轻骨架,选用采用 MobileNetV3 large x0.5 来权衡精度和效率;
  • 轻头部,FPN (Lin et al.2017)架构;
  • 去SE,去除 SE 块后,模型尺寸从 4.1M 减小到 2.5M,但精度不受影响;
  • 余弦学习率衰减,学习率学习速度的超参数,学习率越低,损失值变化越慢;
  • 学习率预热,有助于提高图像分类的准确率;
  • FPGM,使用 FPGM (He etal. 2019b)在原始模型中寻找不重要的子网络;





3.2 方向分类器模型

       介绍增强方向分类器的模型能力或减少模型大小的 7 种策略。

  • 轻骨架,选用采用 MobileNetV3 large x0.5 来权衡精度和效率;
  • 数据增强,加 入 了 BDA 和RandAugment;
  • 加入分辨率,当一幅归一化图像的输入分辨率增加时,精度也会提高;
  • PACT量化,使神经网络模型具有更低的延迟、更小的体积和更低的计算功耗;

3.3 文字识别器模型 (主要介绍本人负责部分)

       介绍增强文字识别器的模型能力或减少模型大小的 9 种策略。

  • 轻主干,选用采用 MobileNetV3 large x0.5 来权衡精度和效率;
  • 数据增强,BDA (Base Dataaugmented)和TIA (Luo et al. 2020);
  • 余弦学习率衰减,有效提高模型的文本识别能力;
  • 特征图辨析,适应多语言识别,进行向下采样 feature map的步幅修改;
  • 正则化参数,权值衰减避免过拟合;
  • 学习率预热,同样有效;
  • 轻头部,采用全连接层将序列特征编码为预测字符,减小模型大小;
  • 预训练模型,是在 ImageNet 这样的大数据集上训练的,可以达到更快的收敛和更好的精度;
  • PACT量化,略过 LSTM 层;

学习率模型:软件工程应用与实践(二):Paddle OCR的框架与技术初识_第2张图片


TLA算法软件工程应用与实践(二):Paddle OCR的框架与技术初识_第3张图片 





 

你可能感兴趣的:(paddle,python)