IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 软件工程应用与实践(十):PP-OCRv2的简单介绍 -> 正文阅读

[人工智能]软件工程应用与实践(十):PP-OCRv2的简单介绍

2021SC@SDUSC

目录

一、前情回顾和背景介绍

1.1 PP-OCR文字识别策略回顾

1.2 PP-OCRv2的背景

1.3??PP-OCRv2的简介

二、PP-OCRv2策略介绍

2.1? 新增策略简介

2.1.1? 文本检测器新增策略

2.1.2? 文本识别器新增策略

2.2? 新增策略详解

2.2.1? 文本检测器

2.2.2? 文本识别器

三、PP-OCRv2的实验测试及结果

总结



一、前情回顾和背景介绍

1.1 PP-OCR文字识别策略回顾

? ? ? ? 策略的选用主要是用来增强模型能力和减少模型大小。下面是PP-OCR文字识别器所采用的九种策略:

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

1.2 PP-OCRv2的背景


? ? ? ? 光学字符识别(0CR) 系统已广泛应用于各种应用场景。设计0CR系统仍然是一项具有挑战性的任务。

? ? ? ? 在之前的工作中,我们提出了一种实用的超轻量级OCR系统(PP-OCR)来平衡精度和效率。为了提高PP- OCR的准确性并保持高效率,在本文中将介绍,根据Paddle Paddle官方文档提出的一种更鲁棒的OCR系统,即PP -OCRv2。

? ? ? ? PP -OCRv2引入了一系列技巧来训练更好的文本检测器和更好的文本识别器,其中包括协作互学习(CML)、 CopyPaste, 轻量级CPU 网络(PP-LCNet)、统一深度互学习(U-DML) 和增强CTCLoss 。
? ? ? ? 在真实数据上的实验表明,在相同的推理成本下,PP-0CRv2的精度比PP-0CR 高7%。 它也可以与使用ResNet系列作为主干的PP-OCR 的服务器模型相媲美。上述所有模型都是开源的,代码可在GitHub 存储库PaddleOCR中找到。

1.3??PP-OCRv2的简介


? ? ? ? OCR (Optical Character Recognition) ,如图1所示,经过近二十年来的深入研究,具有多种应用场景,如证件电子化、身份认证、数字金融系统、车牌识别等。在实际构建OCR系统时,不仅要考虑精度,还要考虑计算效率。

? ? ? ? 在之前,我们提出了-种实用的超轻量级0CR系统(PP-OCR) (Du et al. 2020) 来平衡精度和效率。它由文本检测、检测框校正和文本识别三部分组成。可微二值化(DB) (Liao et al. 2020a) 用于文本检测,CRNN (Shi, Bai, and Yao 2016) 用于文本识别。系统采用19种有效策略对模型进行优化和瘦身。为了提高PP-0CR的准确性并保持效率,在本文中,我们介绍一种更强大的OCR系统,即PP- -0CRv2。它引入了一系列技巧来训练更好的文本检测器和更好的文本识别器。图2说明了PP-0CRv2 的框架,大多数策略遵循PP-0CR,如绿框所示。这橙色框中的策略是PP- 0CRv2中的附加策略。

?

? ? ? ? ?
?

二、PP-OCRv2策略介绍

2.1? 新增策略简介

2.1.1? 文本检测器新增策略

? ? ? ? 在文本检测中,引入了协作互学习(CML) 和CopyPaste。CML.利用两个学生网络和一个教师网络来学习更强大的文本检测器。CopyPaste 是一种新颖的数据增强技巧,已被证明可有效提高对象检测和实例分割任务的性能(Ghiasi 等人,2021 年)。我们表明它也适用于文本检测任务。

2.1.2? 文本识别器新增策略

? ? ? ? 在文本识别方面,引入了轻量级CPU网络(PP-LCNet)(Cui et al. 2021)、 Unified-Deep Mutual Learning (U-DML) 和CenterLoss。PP-LCNet是-种新设计的基于Intel CPU的轻量级主干网,它是从MobileNetV1 (Howard et al. 2017)修改而来的。U-DML利用两个学生网络来学习更准确的文本识别器。CenterLoss 的作用是放松相似人物的失误。我们进行了一系列消融实验来验证上述策略的有效性。此外,图2中灰色框中的策略被证明在PP-OCR 中是有效的。但这些都没有在本文中得到验证。将来,我们将采用它们来加快PP- OCRv2 - tiny中的推理速度。

2.2? 新增策略详解

2.2.1? 文本检测器

Col laborative Mutual Learning (CML)

? ? ? ??PP-OCRv2提出了CML方法(Zhang et al. 2017) 来解决文本检测蒸馏的问题。

? ? ? ? 蒸馏有两个问题: 1. 如果teacher model的准确率接近student model,一般蒸馏方法带来的改进是有限的。2.如果teacher model的结构和student model的结构有很大的不同,一般的蒸馏方法带来的改进也很有限。
? ? ? ? 框架组成:是由多个分别命名为student model和teacher model的模型组成的超级网络,如图3所示。CML方法可以实现蒸馏后student model的准确率超过teacher model在文本检测中的准确率。
? ? ? ? 流程简介:在CML中,两个student model使用DML.方法相互学习(Zhang et al. 2017)。同时,有一个teacher model来指导两个student model的学习。teacher model使用ResNet18 作为主干,student model使用规模为0. 5的MobinenetV3 大型模型作为主干。
? ? ? ? 优化student model:CML旨在优化student model模型。teacher model的参数被冻结,只有student model以设计的损失进行训练。一般来说,student model的监督信息包含三个部分,包括groundtruth标签、另一个student model的后验熵和teacher model的输出。相应地,存在三个损失函数,包括groundtruth loss Ls时、student model的peer loss L和distill teacher model L的损失。

  • ? ? ? ? 地面实况损失,称为GTLoss, 是为了确保训练受到真实标签的监督。我们使用DB算法(Liao et al. 2020b)来训练子学生模型。因此,ground truth loss L是一个组合损失,由概率图lp的损失、二值图lb,的损失和阈值图lt的损失组成)遵循DB。GTLoss的公式如下,其中lp、lb和lt分别是二元交叉熵损失、Dice损失和L1损失。a、 β分别是默认值5和10的超参数。

  • ? ? ? ? 子学生模型参考DML 方法相互学习(Zhang et al.2017)。但与DML.不同的是,子学生模型在每次迭代中同时训练,以加快训练过程。KL散度用于计算学生模型之间的距离。学生模型之间的peer loss如下,

  • ? ? ? ? distill损失反映了教师模型对子学生模型的监督。教师模型可以为学生模型提供丰富的知识,这对于提高性能很重要。为了获得更好的知识,我们扩大了教师模型的响应概率图以增加对象区域。这个操作可以稍微提高教师模型的准确率。蒸馏损失如下,其中lp、lb和lt分别是二元交叉熵损失、Dice损失。y 是超参数默认为5。fm是核为矩阵[[1, 1], [1, 1]] 的扩张函数。

  • ? ? ? ? 最后,在训练PP- 0CR检测模型的CML方法中使用的损失函数如下:


CopyPaste

? ? ? ??CopyPaste是一种新颖的数据增强技巧,已被证明可有效提高对象检测和实例分割任务的性能(Ghiasi 等人,2021 年)。它可以合成文本实例来平衡训练集中正负样本的比例,这是传统的图像旋转、随机翻转和随机裁剪无法实现的。由于前景中的所有文本都是独立的,CopyPaste 将文本粘贴在随机选择的背景图像上而不会重叠。图4是CopyPaste的示例

?

?

2.2.2? 文本识别器

Lightweight CPU Network (PP-LCNet)


? ? ? ? 轻量级CPU网络(PP-LCNet) 为了在Intel CPU上获得更好的精度-速度权衡,我们设计了一个基于Intel CPU的轻量级主干网,在启用mkldnn 的情况下提供更快、更准确的OCR识别算法。整个网络的结构如图5所示。与MobileNetV3 相比,由于MobileNetV1的结构使得在Intel CPU上启用
MKLDNN时更容易优化推理速度,因此网络基于MobileNetV1 (Howard et al. 2017) ).为了让Mobi leNetV1有更强的特征提取能力,我们对其网络结构做了一些改动。改进策略将从以下四个方面进行说明。

  1. 更好的激活功能。为了增加Mobi leNetV1的拟合能力,我们替换了激活在原始ReLU的H-Swish网络中的函数,它可以带来准确度的显着提高,而推理时间仅略有增加。
  2. ?SE模块在适当的位置。SE (Hu, Shen, and Sun 2018)模块自提出以来已被大量网络使用。它是一种对网络通道进行加权以获得更好特征的好方法,被用于许多轻量级网络,例如MobileNetV3(Howard et al.2019)。但是,在Intel CPU上,SE模块增加了推理时间,因此我们无法将其用于整个网络。事实上,通过大量的实验,我们发现越靠近网络尾部,SE模块越有效。所以我们只需将SE模块添加到网络尾部附近的块中。这会导致更好的精度-速度平衡。SE模块中两层的激活函数分别是ReLU和H- Sigmoid。
  3. 更大的卷积核。卷积核的大小往往会影响网络的最终性能。在mixnet(Tan and Le 2019) 中,作者分析了不同大小的卷积核对网络性能的影响,最终在网络的同一层混合了不同大小的核。然而,这种混合会减慢模型的推理速度,因此我们尝试在推理时间增加尽可能少的情况下增加卷积核的大小。最后,我们将网络尾部卷积核的大小设置为5 5。
  4. GAP后更大尺寸的1xl 卷积层。在PPLCNet中,GAP后网络的输出维度很小,直接连接最终分类层会丢失特征的组合。为了赋予网络更强的拟合能力,我们将一个1280维大小的1x1 conv 连接到最终的GAP层,这将在不增加推理时间的情况下增加模型大小

? ? ? ? 通过这四项更改,模型在ImageNet上表现良好。

Unified-Deep Mutual Learning (U-DML)

? ? ? ? 统一深度互学习(U-DML) 深度互学习(Zhang et al.2017)是一种方法,其中两个student网络相互学习,知识提炼不需要具有预训练权重的更大的教师网络。

?

? ? ? ? 在DML 中,对于图像分类任务,损失函数包含两部分: (1) 学生网络和groundtruth之间的损失函数。(2) 学生网络输出软标签之间的Kullback-Leibler散度(KL-Div) 损失。
? ? ? ? Heo提出了OverHaul (Heo et al. 2019), 其中学生网络和教师网络之间的特征图距离用于蒸馏过程。对学生网络特征图进行变换以保持特征图对齐。为了避免太耗时的教师模型训练过程,在本文中,基于DML, 我们提出了U-DML, 其中特征图也在蒸馏过程中受到监督。图6显示了U-DML. 的框架,过程有两个网络:学生网络和教师网络。它们具有完全相同的网络结构,但具有不同的初始化权重。目标是对于相同的输入图像,两个网络可以得到相同的输出,不仅对于预测结
果,对于特征图也是如此。
? ? ? ? 总损失函数由三部分组成:

  • ?CTC损失。由于这两个网络是从头开始训练的,因此可以使用CTC 损失来进行网络的收敛

?

  • DMIL 损失。预计两个网络的最终输出分布是相同的,因此需要DMIL. loss来 保证两个网络之间分布的一致性

?

  • 特征损失。两个网络的架构是一样的,所以他们的特征图应该是一样的,特征损失可以用来约束两个网络的中间特征图距离

?

?

  • 最后,U-DML 训练过程的总损失如下所示:


Enhanced CTCLoss

? ? ? ??中文识别任务中存在很多相似的字符。它们在外观上的差异非常小,经常被误认。在PP-
OCRv2中,我们设计了一个增强型CTCLosS, 它结合了原始CTCLoss和CenterLoss (Wen et al. 2016)在度量学习中的思想。做了一些改进,使其适用于序列识别任务。

? ? ? ? 增强型CTCLoss 定义如下:



其中,xt是时间戳t的特征。cy是 yt类的中心。由于CRNN (Shi、 Bai和Yao 2016) 算法中特征和标签之间的错位,我们没有xt的明确标签yto 我们采用贪心解码策略得到yt,W是CTC头的参数:


?

三、PP-OCRv2的实验测试及结果

? ? ? ? 下次补充,这次先讲这么多。


总结

? ? ? ? 本篇文章介绍的大多是策略实现理论知识。不太容易理解,下篇文章讲一下PP-OCRv2利用上述增强算法的效率测试结果,利用表格更加直观感受。另外稍带一下代码讲解。因为PP-OCRv2本体还是PP-OCR所以只讲一下PP-OCRv2在文本识别模型中使用的策略部分。

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-12-06 15:15:13  更:2021-12-06 15:19:09 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 2:32:31-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码