2021SC@SDUSC
目录
一、前情回顾和背景介绍
1.1 PP-OCR字符识别策略评述
1.2 PP-OCRv2背景
1.3PP-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字符识别装置采用的9个策略。
轻型主干,采用Mobiqrdg3 large x0.5,比较精度和效率; 数据增强,基本数据授权(BDA )和TIA ) Luoetal.2020 ); 分析特征图、适应多语言识别、对特征图进行下采样步幅修正,以降低余弦学习率,有效提高模型的文本识别能力; 归一化参数、权重衰减避免过拟合; 学习率预热使用同样有效的全连接层将序列特征编码为预测字符,减小模型尺寸的轻型头部; 预训练模型跳过在像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中找到。
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中的附加策略。
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的轻量级主干网,它是从Mobiqrdg1 (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的损失。
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所示。与Mobiqrdg3 相比,由于Mobiqrdg1的结构使得在Intel CPU上启用
MKLDNN时更容易优化推理速度,因此网络基于Mobiqrdg1 (Howard et al. 2017) ).为了让Mobi qrdg1有更强的特征提取能力,我们对其网络结构做了一些改动。改进策略将从以下四个方面进行说明。
通过这四项更改,模型在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. 的框架,过程有两个网络:学生网络和教师网络。它们具有完全相同的网络结构,但具有不同的初始化权重。目标是对于相同的输入图像,两个网络可以得到相同的输出,不仅对于预测结
果,对于特征图也是如此。
总损失函数由三部分组成:
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-OCR所以只讲一下PP-OCRv2在文本识别模型中使用的策略部分。