一文理清OCR的前世今生

news2024/11/20 12:41:30

AI应用开发相关目录

本专栏包括AI应用开发相关内容分享,包括不限于AI算法部署实施细节、AI应用后端分析服务相关概念及开发技巧、AI应用后端应用服务相关概念及开发技巧、AI应用前端实现路径及开发技巧
适用于具备一定算法及Python使用基础的人群

  1. AI应用开发流程概述
  2. Visual Studio Code及Remote Development插件远程开发
  3. git开源项目的一些问题及镜像解决办法
  4. python实现UDP报文通信
  5. python实现日志生成及定期清理
  6. Linux终端命令Screen常见用法
  7. python实现redis数据存储
  8. python字符串转字典
  9. python实现文本向量化及文本相似度计算
  10. python对MySQL数据的常见使用
  11. 一文总结python的异常数据处理示例
  12. 基于selenium和bs4的通用数据采集技术(附代码)
  13. 基于python的知识图谱技术
  14. 一文理清python学习路径
  15. Linux、Git、Docker常用指令
  16. linux和windows系统下的python环境迁移
  17. linux下python服务定时(自)启动
  18. windows下基于python语言的TTS开发
  19. python opencv实现图像分割
  20. python使用API实现word文档翻译
  21. yolo-world:”目标检测届大模型“
  22. 爬虫进阶:多线程爬虫
  23. python使用modbustcp协议与PLC进行简单通信
  24. ChatTTS:开源语音合成项目
  25. sqlite性能考量及使用(附可视化操作软件)
  26. 拓扑数据的关键点识别算法
  27. python脚本将视频抽帧为图像数据集
  28. 图文RAG组件:360LayoutAnalysis中文论文及研报图像分析
  29. Ubuntu服务器的GitLab部署
  30. 无痛接入图像生成风格迁移能力:GAN生成对抗网络
  31. 一文理清OCR的前世今生

文章目录

  • AI应用开发相关目录
  • 简介
  • 技术架构
  • 技术变迁
    • 阶段1:基于图像处理和统计机器学习的OCR
      • 该阶段下,OCR特点:
    • 阶段2:基于深度学习的OCR
      • 阶段2下的OCR特点:
    • 阶段3:基于多模态大模型的OCR


简介

什么是OCR?

计算机文字识别,光学字符识别,英文全称Optical Charater Recognition,简称OCR.

是利用光学技术和计算机技术把印刷在或者写在图纸上的文字以文本形式提取出来,并转换成一种计算机能够接受、人又可以理解的格式的技术。OCR技术是实现文字快速录入的一项关键技术。在信息社会时代,每天会产生大量的票据、表单、证件数据,这些数据要电子化,需要利用OCR技术进行提取录入。

简而言之,OCR其本质是一种信息提取手段,也是一种工作提效方法。

技术架构

在这里插入图片描述
图像预处理:这一步骤主要是对输入的图像进行优化,以便更好地进行文字检测和识别。预处理可能包括以下步骤:
二值化:将图像转换为黑白两种颜色,便于后续处理。
降噪:去除图像中的噪声,如随机点、划痕等。
校正:对图像进行倾斜校正,使其文字行水平或垂直。
归一化:统一图像的尺寸和分辨率,便于后续算法处理。
文字检测:这一步骤是在预处理后的图像中定位文字区域。文字检测的方法有很多,包括:
基于连通区域的方法:通过分析图像中的连通区域来寻找文字。
基于特征的方法:利用文字的笔画、角点等特征进行检测。
基于深度学习的方法:使用卷积神经网络(CNN)等深度学习模型进行文字区域的检测。
文字识别:在检测到文字区域之后,需要对区域内的文字进行识别。文字识别的方法主要有两种:
基于规则的方法:通过分析文字的笔画结构和排列规则进行识别。
基于深度学习的方法:使用循环神经网络(RNN)、卷积神经网络(CNN)或结合这两种网络的模型进行文字识别。
后处理:在文字识别之后,可能需要进行一些后处理步骤来提高识别结果的准确性。后处理可能包括:
校对:利用语言模型和规则对识别结果进行校对和纠正。
格式化:将识别出的文本按照原文的格式进行排版。
结构化:提取文本中的关键信息,如标题、段落、表格等,并进行结构化处理。

技术变迁

OCR技术主要包括图像预处理、文字检测、文字识别以及后处理等几个关键环节。
而OCR技术的历史变迁,也集中于此,其中文字检测和文字识别两个环境变化最为明显。
在这里插入图片描述

阶段1:基于图像处理和统计机器学习的OCR

在这里插入图片描述
该阶段中,预处理手段包括:
图像低照度处理、图像倾斜校正、文字倾斜校正、文字扭曲校正等等内容,其解决方法包括图像二值化、最小面积矩形轮廓查询、霍夫线变换、比例缩放等技术。
在这里插入图片描述

文字检测则可以通过投影法实现分割实现。
在这里插入图片描述
文字识别则可通过图像匹配。

该阶段下,OCR特点:

1.文字提取时,面对不同的需求,需要专门设计不同的算法加以解决。

2.文字提取时,要完成需求,提取步骤较多,步骤间耦合性强,整体算法鲁棒性差。

3.文字提取时,其效果较差,精度低。

4.文字提取后,结果需进行大量后处理,如结果的拼接、格式化等。

5.算法具备高度可解释性。

阶段2:基于深度学习的OCR

其中预处理可通过GAN等生成对抗网络进行图像清晰度复原等工作。
在这里插入图片描述
在这里插入图片描述
文字检测和文字识别通用可以通过深度学习算法进行实现,不再依赖简单的图像学和统计算法。
其中最具代表性的是百度飞桨平台推出的OCR模型。
在这里插入图片描述
其模型功能涵盖了文字检测、方向检测、内容提取三项。
此外,飞桨针对具体场景,如数码管、表单、表格等数据更是研究了数码管专项识别、版面识别、文本超分等内容。

阶段2下的OCR特点:

1.文字提取时,采用深度学习技术完成文字检测和识别,依赖神经网络完成对图像特征的提取。

2.文字提取时,其效果较强,精度较高,具备一定的鲁棒性。

3.文字提取后,结果需进行大量后处理,如结果的拼接、格式化等。

4.算法具备高度一定的解释性。

阶段3:基于多模态大模型的OCR

该阶段内容我曾在往期博客中多次提到,本次进行总结。

https://blog.csdn.net/qq_43128256/article/details/139685113
https://blog.csdn.net/qq_43128256/article/details/138574623
https://blog.csdn.net/qq_43128256/article/details/138163078
https://blog.csdn.net/qq_43128256/article/details/138337768

传统OCR采用深度学习模型通过文字检测、方向检测、文字识别的步骤完成文字的抽取工作,在应用落地上的困难,从效果上存在一定缺陷,本案例如右图所示,以PaddleOCR开源模型为例,总结表述如下:
在这里插入图片描述

1.检测能力不足,如上图圆圈信息未能识别。
2.识别精度不足,如上图橙框内容,为误识内容。
3.冗余信息较多,如上图蓝框内容,50%无意义内容。
4.结果分布紊乱,如上图黑框内容,各参数无有效区分,且掺入了误识内容;此外结果整体与无意义内容错落分布,可用性较差。
5.智能化水平低,如上图绿框内容,传统模式无语义理解和逻辑推理能力,对于“广东电网”的广字无补全能力。

在这里插入图片描述
大模型OCR方案的主要创新点包括:
(1)灵活的OCR赋能分治方案:在不同资源场景下,采用不同的赋能方式。资源受限时,采用传统识别模式配合通用大语言模型能力实现信息的智能提取;否则,利用多模态大模型将信息识别、内容分析、格式整合等步骤一站式完成。
(2)多类型图像的Agent识别策略:LLM的引入Agent策略,可使模型面向不同类型图像时可自主决定使用不同的工具进行处理,这种端到端优化但有定制化优点的策略,可在拓充OCR泛用性的同时保持系统性能。
(3)复杂图像的鲁棒性识别:面对复杂的图像,传统OCR识别能力不足,识别错误率高,识别结果分布杂乱。LLM能够理解复杂的语言结构和图像语义,为LLM进行知识注入可有效提高OCR在复杂场景下的识别准确率。
(4)碎片化结果的格式化整合:传统OCR的识别结果往往是结果碎片化的,可用性低。LLM通过上下文理解和语义分析可改善OCR的后处理流程,提高文本的连贯性和可用性。
(5)多语言和多字体支持:LLM在多语言和多字体上的训练和应用,为OCR技术提供了更广泛的语言和字体支持,有助于实现更广泛的应用场景,具备更强的实用性。
(6)交互式OCR:LLM的生成能力可以用于提供交互式OCR结果,提高用户体验。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1838097.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Vue2进阶——项目结构/小注意项

文章目录 一、文件解构二、render三、ref属性四、mixin配置项五、插件六、scoped七、浏览器的本地存储1、localStorage2、sessionStorage 八、$nextTick九、过渡与动画1、写法2、使用3、第三方动画 一、文件解构 public,favicon.ico,index.html,src,main.js这些文件名都不能改&…

iOS 18 终于更新了 iOS 隐藏 App 功能,这次是真的隐藏

如何锁定或隐藏 App 我们一起来看看 iOS 如何隐藏软件,下面是具体的操作步骤: iOS 隐藏 App 的第一步肯定是找到你想隐藏或锁定的应用程序,然后长按它的图标,在长按之后出现的选项中我们选择“需要 Face ID”。 然后在新弹出的选…

Red Hat Ansible Automation Platform架构

目录 示例架构:一、Ansible Automation Platform 实现流程详解1. 自动化控制器 (Automation Controller)2. 自动化网格 (Automation Mesh)3. 私有自动化中心 (Private Automation Hub)4. Event-Driven Ansible 控制器5. 数据存储 (PostgreSQL 数据库) 二、实现流程1…

各类存储器类型(RAM、ROM、FLASH、DRAM、SRAM)

1 计算机存储类型构成 在计算机中,各类存储器构成了计算机能高速高效运转程序的基石。 计算机的存储体系中,从速度慢到速度快对应着容量大到小,也就是说,速度越快容量越小;容量越大的,速度越慢。两者互相…

AI办公自动化:用通义千问批量翻译长篇英语TXT文档

在deepseek中输入提示词: 你是一个Python编程专家,现在要完成一个编写基于qwen-turbo模型API和dashscope库的程序脚本,具体步骤如下: 打开文件夹:F:\AI自媒体内容\待翻译; 获取里面所有TXT文档&#xff…

3D模型可视化引擎HOOPS Communicator与Visualize的统一化文件加载解决方案

在当今数字化时代,3D可视化技术已成为工程设计、建筑规划和游戏开发等多个领域的核心技术。Tech Soft 3D公司凭借其创新的HOOPS Communicator和HOOPS Visualize两款开发包,分别针对Web端和桌面端提供了强大的3D可视化解决方案。然而,由于两者…

【GUI软件】小红书蒲公英数据批量采集!高效筛选优质博主,助力品牌商

文章目录 一、背景介绍1.0 爬取目标1.1 演示视频1.2 软件说明 二、代码讲解2.0 关于接口2.1 爬虫采集模块2.2 cookie获取2.3 软件界面模块2.4 日志模块 三、获取采集软件 一、背景介绍 1.0 爬取目标 众所周知,蒲公英是小红书推出的优质创作者商业合作服务平台&…

Leangoo一站式敏捷研发协同平台,助力敏捷企业高效协同

在当今快速变化的市场环境中,企业对于研发效率和质量的要求日益提高。为了应对这一挑战,敏捷研发方法应运而生,并迅速成为众多企业的首选,然而,如何有效地实施敏捷研发,确保团队之间的高效协作和项目的顺利…

ThreeJS-截屏下载pdf或者图片时白屏

JS-页面截图下载为pdf 关于如何下载为 pdf 在上面的这篇文章中有写,大家可以看下,下载图片代码在最下面 这时我们发现 three 部分是空白的如下: 这就多少有点尴尬了,这时我们习惯性的看下后台报错 是不是发现了惊喜,…

配电室数据中心巡检3d可视化搭建的详细步骤

要搭建配电室巡检的3D可视化系统,可以按照以下步骤进行: 收集配电室数据: 首先,需要收集配电室的相关数据,包括配电室的布局、设备信息、传感器数据等。可以通过实地调查、测量和设备手册等方式获取数据。 创建3D模型…

专访毫末智行COO 侯军:自动驾驶,水深鱼才大

站在当下,回看自动驾驶赛道的各个玩家们,活下去的要不就是“家里有矿”,要不就是场景、技术降维,渐进式发展。但活的好的有一个共性,就是顺应需求,让技术落于产业实处。 作者|斗斗 出品|产业家 “我们认…

无线传感器网络技术原理及应用

第一章 简述无线传感器网络的概念及与传统无线网络的区别。 无线传感器网络的概念:无线传感器网络是由部署在监测区域内大量的廉价微型传感器节点组成,通过无线通信方式形成的一个多跳的自组织网络系统,其目的是协作地感知、采集和处理网络…

基于STM32和人工智能的智能楼宇安防系统

目录 引言环境准备智能楼宇安防系统基础代码实现:实现智能楼宇安防系统 4.1 数据采集模块4.2 数据处理与分析4.3 控制系统4.4 用户界面与数据可视化应用场景:智能楼宇安防管理与优化问题解决方案与优化收尾与总结 1. 引言 随着物联网和人工智能技术的…

FragPunk联机延迟高、联机闪退、无法组队的解决方法

FragPunk是一款最新的5V5射击游戏。游戏中,有超过70张的技能卡,每一张都拥有独特的功能,比如说生成草丛、让伤害可以传导到敌方队伍每个人身上、让手枪也能喷火、召唤死神等等,功能很丰富,这些卡让每轮战斗都充满了变化…

Python Django Vue3 在线商城网站 在线商城后台管理 案例源码

源码地址获取 演示视频 Python DjangoVue3 在线商城网站,商城管理后台系统案例源码 附带运行教程,开发工具,系统运行演示 技术栈:Django Vue3 开发工具:Pycharm 后端构建工具:Pip 前端构建工具:WebPack 运行环境:Windows Python版本:3.11 Nod…

2024年全球架构师峰会(ArchSummit深圳站)

前言 ArchSummit全球架构师峰会是极客邦科技旗下InfoQ中国团队推出的重点面向高端技术管理者、架构师的技术会议,54%参会者拥有8年以上工作经验。 ArchSummit聚焦业界强大的技术成果,秉承“实践第一、案例为主”的原则,展示先进技术在行业中的…

Prometheus常见exporter安装部署

Prometheus常见exporter安装部署 在稳定性环境的监控当中需要收集各种各样的数据,这样的数据收集是通过各种exporter进行的,在这里我们进行最常用稳定性数据的收集exporter安装部署介绍。 node_exporter安装部署 node_exporter主要监控服务器本身的一…

lib9-02 配置扩展 ACL

实验:配置扩展 ACL 1、实验目的 通过本实验可以掌握编号扩展 ACL 定义和应用的方法命名扩展 ACL 定义和应用的方法 2、实验拓扑 实验拓扑如下图所示。使用扩展 ACL 实现如下访问控制 拒绝 PC1 所在网段访问 Server1 的 Web 服务拒绝 PC2 所在网段访问 Server1 …

AI在创造还是毁掉音乐?

简介 最近一个月,轮番上线的音乐大模型,一举将素人生产音乐的门槛降到了最低,并掀起了音乐圈会不会被AI彻底颠覆的讨论。短暂的兴奋后,AI产品的版权归属于谁,创意产业要如何在AI的阴影下生长,都在被更多理…

学会python——制作一款天气查询工具(python实例七)

目录 1、认识Python 2、环境与工具 2.1 python环境 2.2 Visual Studio Code编译 3、天气查询工具 3.1 代码构思 3.2 代码示例 3.3 运行结果 4、总结 1、认识Python Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。 Python 的设计具有很强的…