OCR文字识别软件系统(含PyQT界面和源码,附下载链接和部署教程)

文章介绍了OCR技术的基本原理,包括文本检测和识别两个主要步骤,重点阐述了深度学习在文本检测中的应用,如基于目标检测和分割的方法。同时,文章提到了PaddleOCR软件系统,它支持中英德韩日五种语言,特别强调了PP-OCR模型的高精度和轻量化设计,适用于移动端部署。
摘要由CSDN通过智能技术生成

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1、前言

OCR (Optical Character Recognition,光学字符识别)是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程;即,针对印刷体字符,采用光学的方式将纸质文档中的文字转换成为黑白点阵的图像文件,并通过识别软件将图像中的文字转换成文本格式,供文字处理软件进一步编辑加工的技术。如何除错或利用辅助信息提高识别正确率,是OCR最重要的课题,ICR(Intelligent Character Recognition)的名词也因此而产生。衡量一个OCR系统性能好坏的主要指标有:拒识率、误识率、识别速度、用户界面的友好性,产品的稳定性,易用性及可行性等。
在这里插入图片描述

本系统实现了支持中英德韩日五种文字的OCR软件系统,并提供了源码和部署使用教程,见下边链接。整套系统界面部分基于PyQT5进行搭建,底层文字检测和识别部分基于国产软件PaddleOCR,可以进行票据、证件、书本、字幕等进行文字检测和识别,本系统还提供了粘贴板功能,方便用户在识别后直接粘贴出来。

2、实现原理

OCR 文字识别一般包括两个部分,文本检测和文本识别;文本检测首先利用检测算法检测到图像中的文本行;然后检测到的文本行用识别算法去识别到具体文字。

2.1 检测模型

文本检测就是要定位图像中的文字区域,然后通常以边界框的形式将单词或文本行标记出来。传统的文字检测算法多是通过手工提取特征的方式,特点是速度快,简单场景效果好,但是面对自然场景,效果会大打折扣。当前多是采用深度学习方法来做。

基于深度学习的文本检测算法可以大致分为以下几类:

  • 基于目标检测的方法;一般是预测得到文本框后,通过 NMS 筛选得到最终文本框,多是四点文本框,对弯曲文本场景效果不理想。典型算法为 EAST、Text Box 等方法。
  • 基于分割的方法;将文本行当成分割目标,然后通过分割结果构建外接文本框,可以处理弯曲文本,对于文本交叉场景问题效果不理想。典型算法为 DB、PSENet 等方法。
  • 混合目标检测和分割的方法;

2.2 识别模型

OCR 识别算法的输入数据一般是文本行,背景信息不多,文字占据主要部分,识别算法目前可以分为两类算法:

  • 基于 CTC 的方法;即识别算法的文字预测模块是基于 CTC 的,常用的算法组合为 CNN+RNN+CTC。目前也有一些算法尝试在网络中加入 transformer 模块等等。
  • 基于 Attention 的方法;即识别算法的文字预测模块是基于 Attention 的,常用算法组合是CNN+RNN+Attention。

2.3 PP-OCR模型

PaddleOCR 中集成了很多 OCR 算法,文本检测算法有 DB、EAST、SAST 等等,文本识别算法有 CRNN、RARE、StarNet、Rosetta、SRN 等算法。

其中 PaddleOCR 针对中英文自然场景通用 OCR,推出了 PP-OCR 系列模型,PP-OCR 模型由DB+CRNN 算法组成,利用海量中文数据训练加上模型调优方法,在中文场景上具备较高的文本检测识别能力。并且 PaddleOCR 推出了高精度超轻量 PP-OCRv2 模型,检测模型仅 3M,识别模型仅 8.5M,利用 PaddleSlim 的模型量化方法,可以在保持精度不降低的情况下,将检测模型压缩到 0.8M,识别压缩到 3M,更加适用于移动端部署场景。

模型下载列表 中给出了不同类型的模型,包括推理模型、训练模型、预训练模型与 slim 模型,推理模型(paddle.jit.save保存的模型) 一般是模型训练,把模型结构和模型参数保存在文件中的固化模型,多用于预测部署场景。 训练过程中保存的模型是 checkpoints 模型,保存的只有模型的参数,多用于恢复训练等。 与 checkpoints 模型相比,inference 模型会额外保存模型的结构信息,在预测部署、加速推理上性能优越,灵活方便,适合于实际系统集成。模型区别如下
在这里插入图片描述
各个模型的关系如下所示
在这里插入图片描述

3、使用步骤

运行main.py启动软件,

  1. 打开图片
  2. 选择语言模型(默认ch中文)
  3. 选择文本检测+识别
  4. 点击开始按钮
  5. 检测完的文本区域会自动画框,并在右侧识别结果列表中显示。

4、安装部署

以下两种安装部署步骤都可以
(1)pip install -r requirements
建议使用镜像源会比较快
(2)下载链接里边提供了anaconda 的环境,直接下载放到本机anaconda路径下边的envs文件夹
运行conda env list 可以看到有一个环境为ocr
运行conda activate ocr进行环境激活

参考链接:https://zhuanlan.zhihu.com/p/630081304

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值