《PP-OCRv1》论文精读:PaddleOCR是目前SOTA级别的OCR开源技术(截止2024年10月)

在这里插入图片描述

  1. PP-OCR: A Practical Ultra Lightweight OCR System论文地址
  2. PP-OCRv2: Bag of Tricks for Ultra Lightweight OCR System论文地址
  3. PP-OCRv3: More Attempts for the Improvement of Ultra Lightweight OCR System论文地址
  4. PaddleOCR Github OCR工具库 43.5K个star
  • PP-OCRv1由百度发表于2020年9月,截止2024年10月份,引用数是197。是PP-OCR系列的第一篇论文。
  • PP-OCRv2由百度发表于2021年9月,截止2024年10月份,引用数是59。是PP-OCR系列的第二篇论文。
  • PP-OCRv3由百度发表于2022年6月,截止2024年10月份,引用数是83。是PP-OCR系列的第三篇论文。
  • PP-OCRv4由百度发表于2023年9月,截止2024年10月份,代码已发布,论文还没发布。

文章目录

1. PaddleOCR工具包

基于PaddlePaddle框架的优秀的多语言光学字符识别(OCR)工具包,就是从这篇论文起家的,这篇论文是第一个版本,截止2024年10月份,已经更新到PP-OCRv4了(v4代码已发布,论文还没出来)。下面是这个工具包的介绍:

  1. Awesome multilingual OCR toolkits:

    • 这指的是一个非常棒的、支持多种语言的OCR工具包。OCR技术用于将图片中的文字转换为机器可读的文本。
  2. based on PaddlePaddle:

    • 表示这个工具包是基于PaddlePaddle框架开发的。PaddlePaddle是由百度开发的一个开源深度学习平台。
  3. practical ultra lightweight OCR system:

    • 这个系统是实用的,并且非常轻量级,意味着它占用的资源很少,可以容易地部署在不同的环境中。
  4. support 80+ languages recognition:

    • 这个工具包能够支持80种以上的语言的文字识别功能。
  5. provide data annotation and synthesis tools:

    • 它提供了数据标注工具和合成工具,这有助于用户准备训练数据。
  6. support training and deployment among server, mobile, embedded and IoT devices:

    • 指的是这个工具包支持在服务器、移动设备、嵌入式系统以及物联网(IoT)设备上进行模型训练和部署。

2. 论文摘要

论文摘要描述了一个名为PP-OCR的超轻量级光学字符识别(OCR)系统的研究。下面逐步解释摘要的意思:

  1. 应用背景

    • OCR技术已经被广泛应用于多个场景中,如办公自动化(OA)系统、工厂自动化、在线教育、地图制作等。
  2. 存在挑战

    • 尽管如此,由于文本外观的多样性以及对计算效率的需求,OCR仍然是一个具有挑战性的任务。
  3. 研究贡献

    • 在本文中,研究人员提出了一种实用的超轻量级OCR系统,称为PP-OCR。
    • 整个PP-OCR模型的大小仅为3.5M,用于识别6622个汉字;而识别63个字母数字符号时模型大小为2.8M。
  4. 实现方法

    • 研究人员介绍了一系列策略来增强模型能力或减少模型大小。
    • 还提供了基于真实数据的消融实验结果。
  5. 数据集与模型

    • 发布了多个预训练模型用于中文和英文识别,包括使用97K张图像训练的文字检测器、使用600K张图像训练的方向分类器,以及使用17.9M张图像训练的文字识别器。
  6. 多语言支持

    • 提出的PP-OCR也在其他几种语言的文字识别任务上进行了验证,包括法语、韩语、日语和德语。
  7. 开源与代码共享

    • 所有上述提到的模型都是开源的,并且代码可以在GitHub仓库中找到,地址是https://github.com/PaddlePaddle/PaddleOCR。

3. 实验结果-Accuracy=0.65

3.1. 实验设置

3.1.1. 用什么数据集?

如表1所示,为了实现一个实用的OCR系统,我们构建了一个大规模的汉英识别数据集作为实验数据集。

在这里插入图片描述

对于text detection,有97k张训练图像和500张验证图像。在训练图像中,有68K张图像是真实的场景图像,它们来自于一些公共数据集和百度图像搜索。使用的公共数据集包括LSVT(发布于2019)、RCTW-17(发布于2017)、MTWI 2018(发布于2018)、CASIA-10K(发布于2018)、SROIE(发布于2019)、MLT 2019(发布于2019)、BDI(发布于2011)、MSRA-TD500(发布于2012)和CCPD 2019(发布于2018)。百度图像搜索中的训练图像大多是文档文本图像。剩下的29K合成图像主要关注长文本、多方向文本和表格文本的场景。所有的验证图像都来自于真实的场景。

对于direction classification,有600k的训练图像和310K验证图像。在训练图像中,有100K张图像是真实的场景图像,它们来自于公共数据集(LSVT,RCTW-17,MTWI 2018)。它们是水平的文本,是从修正和裁剪图像的Ground Truth得来的。剩下的500K合成图像主要集中在反向文本上。我们使用垂直字体来合成一些文本图像,然后水平地旋转它们。所有的验证图像都来自于真实的场景。

对于text recognition,有17.9M的训练图像和18.7K的验证图像。在训练图像中,有190万张图像是真实的场景图像,它们来自于一些公共数据集和百度图像搜索。所使用的公共数据集包括LSVT、RCTW-17、MTWI 2018和CCPD 2019。剩下的16M合成图像主要关注不同背景、平移、旋转、透视变换、线干扰、噪声、垂直文本等场景。合成图像的语料库来自于真实的场景图像。所有的验证图像也都来自于真实的场景。

为了快速进行消融实验并选择合适的策略,我们从真实场景训练图像中选择4k个图像用于text detection,从真实场景训练图像中选择300k图像用于text recognition。

此外,我们还收集了300张不同真实应用场景的图像,以评估整个OCR系统,包括合同、车牌、工牌、火车票、测试表、表格、证书、街景图像、名片、数字仪表等。图3和图4显示了测试集的一些图像。

在这里插入图片描述

此外,为了验证PP-OCR对于其他语言的应用,我们还收集了一些用于字母数字符号识别、法语识别、韩语识别、日语识别和德语识别的语料库。然后合成带方向文本的图像以进行text recognition。一些用于字母数字符号识别的图像来自公共数据集,ST(发布于2016年)和SRN(发布于2020年)。表2显示了这些统计数据。由于用于text detection的MLT 2019包括了多语言图像,因此用于汉英识别的文本检测器也可以支持多语言文本检测。由于数据有限,我们还没有找到合适的数据来训练多语言的 direction classification。

用于text detection 和text recognition的数据合成工具从text_render(论文2018)中进行了修改。

3.1.2. 用什么训练参数?

我们使用Adam优化器对所有模型进行训练,并采用余弦学习率衰减作为学习率调度。不同任务的初始学习率、批处理大小和Epoch见表4。当我们得到训练好的模型时,可以使用FPGM修剪器和PACT的QAT模型进一步减小模型规模。FPGM修剪器和PACT量化的训练过程与之前相似。

在这里插入图片描述

在推理期间,我们使用HMean来评估text detector的性能。精度是评估direction classifier o或 text recognizer的性能的指标。F-score用于评估OCR系统的性能。为了计算F-score分数,一个正确的文本识别结果应该是准确的位置和相同的文本。G

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值