OCR目前的发展现状综述

2023-11-19

本文目的是为了总结OCR各类技术的发展,从搜集资料到整理,可以看出OCR技术目前的一个大致发展趋势。目前还处于随时添加状态,敬请期待!

【更新时间】2019年9月26日

【很好的参考资料】这个GitHub收集了文本检测、文本识别、端到端的论文以及部分开源代码,很好的学习资料!

 

1  OCR的应用场景

目前OCR的应用场景主要分为以下三个方面:

1、自然场景下多形态文本检测与识别

2、手写体文本检测与识别

3、文档的文本检测与识别(版面分析等)

 

2  OCR目前的技术综述以及文献

2.1  文本检测

1、CTPN(基于Faster RCNN):目前比较成熟的文本检测框架,精确度较好。但是检测时间较长,有很大的优化空间。

【文献】Detecting Text in Natural Image with Connectionist Text Proposal Network

2、TextBoxes、TextBoxes++(基于SSD):调整Anchor长宽比,适用于文字细长的特点,但针对小文本会有漏检。

【文献】TextBoxes: A Fast Text Detector with a Single Deep Neural Network

               TextBoxes++: A Single-Shot Oriented Scene Text Detector

3、SegLink(CTPN+SSD):通常用于自然场景下,检测多角度文本。

【文献】Detecting Oriented Text in Natural Images by Linking Segments

4、DMPNet:采用非矩形四边形选定Anchor进行检测,通过Monte-Carlo方法计算标注区域于矩形候选框和旋转候选框的重合度后重新计算顶点坐标,得到非矩形四边形的顶点坐标。适用于自然场景下文本检测。

【文献】Deep Matching Prior Network: Toward Tighter Multi-oriented Text Detection

5、YOLO:文本检测时间短,精确度较好。但针对小目标效果一般,容易造成大范围漏检。

【文献】YOLOv3: An Incremental Improvement

6、EAST:采取FCN思路,做特征提取和特征融合,局部感知NMS阶段完成检测。网络的简洁使得检测准确率和速度都有进一步提升。(针对自然场景下使用较多)

【文献】EAST: An Efficient and Accurate Scene Text Detector

7、Pixel-Anchor:针对Anchor数量多引起文本出现的丢失问题、Pixel感受野不足引起长文本丢失情况,结合两者各自的优点,对于长行的中文检测场景有较好的适应性。网络结构可以分为两部分,其中pixel-based的方法为对EAST的改进,anchor-based的方法为对SSD的改进。前者主要为了检测中等的文本,后者主要为了检测长行和较小的文本。

【文献】Pixel-Anchor: A Fast Oriented Scene Text Detector with Combined Networks

8、IncepText:针对大尺度、长宽比及方向变化问题,借鉴GoogLeNet中的inception模块来解决这些问题。在inception结构中通过不同尺寸的卷积核设计达到检测不同大小和宽高比的文字,同时引入deformable卷积层操作和deformable PSROI pooling层提升任意方向文字的检测效果。

【文献】IncepText: A New Inception-Text Module with Deformable PSROI Pooling for Multi-Oriented Scene Text Detection

2.2  文本识别

1、CNN+RNN+CTC(如CRNN):使用目前最为广泛的一种文本识别框架。需要自己构建字词库(包含常用字、各类字符等)。

【文献】An End-to-End Trainable Neural Network for Image-based Sequence Recognition and Its Application to Scene Text Recognition

【讲解及优化】https://blog.csdn.net/qq_14845119/article/details/78934334

2、CNN(如Densenet)+CTC:资料不多,效果一般,泛化能力较差。没有加入了RNN的效果好。

【文献】暂未找到,可参考GitHub

3、Tesserocr(Tesseract):使用比较广泛的一种开源识别框架,支持多语言多平台。Tesseract在识别清晰的标准中文字体效果还行,稍微复杂的情况就很糟糕(多字体等),而且花费的时间也很多。

【文献】暂未找到,可参考GitHub

4、RARE:主要用于识别变形的文本图像效果好,用于自然场景下文本识别。

【文献】Robust Scene Text Recognition with Automatic Rectification

5、FOTS(EAST+CRNN):端到端OCR模型,检测和识别任务共享卷积特征层,既节省了计算时间,也比两阶段训练方式学习到更多图像特征。引入了旋转感兴趣区域(RoIRotate), 可以从卷积特征图中产生出定向的文本区域,从而支持倾斜文本的识别。

【文献】FOTS: Fast Oriented Text Spotting with a Unified Network

【讲解】https://blog.csdn.net/qq_14845119/article/details/84635847

6、ASTER:模型主要分为两个部分,一个是矫正模型,一个是识别模型。文本矫正模型,不需要任何矫正标注信息,对弯曲文本、透视文本有着很好的矫正效果。识别模型中的CNN使用了ResNet的结构,最后的解码部分使用的是Sequence2Sequence机制来进行解码,不同于CRNN的CTCLoss。

【文献】ASTER: An Attentional Scene Text Recognizer with Flexible Rectification

 

3  最新比赛进展

说道OCR的比赛,最著名的当属ICDAR了,即文档分析与识别国际会议(International Conference on Document Analysis and Recognition,ICDAR)。目前是每两年举办一次,2019年举办了一次比赛(ICDAR 2019),共分为以下六个赛道:

(1)Scene Text Visual Question Answering(ST-VQA,场景文本识别并回答问题)

(2)Multi-lingual scene text detection and recognition(MLT,多语言场景文本检测和识别

(3)Large-scale Street View Text with Partial Labeling(LSVT,部分标签的大型街景文本识别

(4)Arbitrary-Shaped Text(ArT,任意形状文本识别)

(5)Scanned Receipts OCR and Information Extraction(SROIE,扫描收据OCR和信息提取

(6)Reading Chinese Text on Signboard(ReCTS,在商家招牌上识别中文)

目前有几个赛道的比赛结果已出,而每一个赛道中又会有不同的子任务。例如SROIE中,会有文本检测、文本识别、关键信息提取三个子任务。

从比赛结果中,我们可以得出各个参赛队伍使用哪一种先进的方法去提升自己的模型的分数。

比赛网址:https://rrc.cvc.uab.es/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

OCR目前的发展现状综述 的相关文章

  • 用通俗易懂的方式讲解:使用 LlamaIndex 和 Eleasticsearch 进行大模型 RAG 检索增强生成

    检索增强生成 Retrieval Augmented Generation RAG 是一种结合了检索 Retrieval 和生成 Generation 的技术 它有效地解决了大语言模型 LLM 的一些问题 比如幻觉 知识限制等 随着 RAG
  • 如何减小tesseract生成的PDF的大小?

    我的 网络 应用程序的设置如下 我获取用户上传的 PDF 文件 对它们运行 OCR 并向他们显示 OCRed PDF 由于一切都在线 因此最小化生成的 PDF 文件的大小是减少用户加载和等待时间的关键 我从用户那里收到的文件是sample
  • 当我使用 pytesser 运行 tesseract 时,如何隐藏控制台窗口

    我是Python新手 我正在从事 OCR 项目 我在 Windows 7 上使用 Python 2 7 12 我已在路径 C Program Files x86 Tesseract OCR 中安装了 tesseract 我在这里找到了 py
  • 识别图像中的 visio 形状

    在提供 SCADA 解决方案时 我们经常会获得结构化控制图 如下所示的 visio 类似流程图 中指定的最终用户规范 这些规范通常以 PDF 格式或图像形式提交 为了在 C 中访问这些 我希望使用 OpenCV 库之一 我正在研究模板识别
  • 目录:资产/tessdata

    我从 github 下载了 OCR 文本识别器 我的问题是 我想在不在线的情况下启动我的应用程序 但每次我在手机上安装 apk 时 它都会开始下载英语和 tesseract OCR 引擎 我找到了一个在线指南 其中说我必须在资产文件夹中创建
  • emgucv:C# 中的 pan 卡不正确的倾斜检测

    我有三个泛卡图像 用于使用 emgucv 和 c 测试图像的倾斜 顶部的第一张图像检测到 180 度工作正常 中间的第二张图像检测到的 90 度应检测为 180 度 第三张图像检测到 180 度应检测为 90 度 我想在这里分享的一个观察结
  • 如何使用 PHP 在网站上实现 OCR? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 使用 python 和 opencv 检测图像中的文本区域

    我想使用 python 2 7 和 opencv 2 4 9 检测图像的文本区域 并在其周围画一个矩形区域 就像下面的示例图片所示 我对图像处理很陌生 所以任何想法如何做到这一点将不胜感激 有多种方法可以检测图像中的文本 我建议看看这个问题
  • Windows 7 OCR API

    我一直在审查 Office 2007 MODI OCR 的替代品 OneNote 2010 解决方案的质量 结果低于 2007 我注意到 一旦您安装了可选 tiff 过滤器 http technet microsoft com en us
  • c# OCR无法识别数字(tesseract 2)

    I m trying to extract digits from the following 它失败了 我得到了 作为回报 我正在使用 google 的 tesseract 2 使用 C 开源 c 包装器 现在我想知道 这个图像是否太糟糕
  • 在Python中从pdf中提取印地语编写的文本[重复]

    这个问题在这里已经有答案了 我想从 pdf 文档中提取印地文输入的文本 我已附上示例页面的图像 https i stack imgur com UkT86 jpg我正在处理 我尝试使用 pdfminer 从中获取文本 但文本是乱码 可能是由
  • tesseract (v3.03) 输出为 PDF [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 为什么会返回这个错误呢 root amd 3700 2gb ocr test tesseract l dan pdf png out pd
  • 裁剪图像后,如何找到新的边界框坐标?

    这是我得到的收据图像 我使用 matplotlib 绘制了它 x1 y1 x2 y2 x3 y3 x4 y4 bbox coords 650 850 1040 850 1040 930 650 930 image cv2 imread IM
  • 使用 Tesseract OCR 和 python 进行数字识别

    我使用 Tesseract 和 python 读取数字 从能量计 除了数字 1 之外 一切都运行良好 Tesseract 无法读取 1 数字 This is the picture I send to tesseract tesseract
  • TensorFlow:训练时参数不更新

    我正在使用 TensorFlow 实现分类模型 我面临的问题是 当我运行训练步骤时 我的权重和误差没有更新 结果 我的网络不断返回相同的结果 我根据以下内容开发了我的模型MNIST 示例 https www tensorflow org v
  • 提高 pytesseract 从图像中正确识别文本的能力

    我正在尝试使用读取验证码pytesseract模块 大多数时候它都能提供准确的文本 但并非总是如此 这是读取图像 操作图像以及从图像中提取文本的代码 import cv2 import numpy as np import pytesser
  • 训练 tesseract 与 iPhone 一起使用

    我正在尝试在我的 iPhone 应用程序中使用 tesseract 2 04 只想检测数字 我在这里所做的首先是使用这篇文章交叉编译 tesseract 以生成 lib 文件http robertcarlsen net 2009 07 15
  • 在 R 中使用深度网络和 MNIST 数据读取手写数字第 3 部分

    我尝试编写一个基于深度网络的程序来读取手写数字 我在 Youtube 上找到了一个代码 https www youtube com watch v 5bso 5X7Zu4 https www youtube com watch v 5bso
  • 如何在 Ubuntu/Linux 发行版中安装 Tesseract-OCR 3.03?

    我和一个朋友有兴趣为 CV 项目训练 tesseract OCR 引擎 我们尝试使用一些包装器 例如 PyTesser 和 pyocr 但结果目前不如我们需要的那么准确 因此 我们希望尝试训练超立方体以更好地实现我们的目的 即识别食品标签上
  • 无法将 Tesseract OCR 模块添加到 Android Studio

    我按照此处找到的分步指南进行操作 https www codeproject com Articles 840623 Android Character Recognition https www codeproject com Artic

随机推荐

  • 文献管理软件工具讲解-------阿冬专栏!!!

    一 Endnote Mendeley Zotero NoteExpress 和 NoteFirst 这些文献管理软件从功能上各有特色 网上的评论文章也不少 我自己的的使用体验 如下 A 功能方面 在导入中文文献数据的准确性上 Endnote
  • Python手册

    前言 Python编程语言可以很好地协调一些看起来似乎很明显的矛盾 Python编程语言格式优雅并注重实效 简单而且功能强大 非常高层但是并不妨碍用户对底层的比特 bit 和字节 Byte 的处理 Python编程语言适合于编程新手 对Py
  • Oracle中的子程序和程序包

    存储过程的语法 CREATE OR REPLACE PROCEDURE
  • 华为机试题107-求解立方根

    描述 计算一个浮点数的立方根 不使用库函数 保留一位小数 数据范围 val 20 输入描述 待求解参数 为double类型 一个实数 输出描述 输出参数的立方根 保留一位小数 示例1 输入 19 9 输出 2 7 示例2 输入 2 7 输出
  • 《2022数字藏品研究报告》首发,读懂NFT中西方价值捕获的分化之路

    NFT作为 柯林斯词典 2021年度热词榜第一 很多人愿意称2021年为NFT元年 在过去几年里 我们见证了NFT从早期Myspace里的Pepe圈内文化发展成为风靡全球的潮流风向标 无论是在音乐圈 游戏圈或者摄影圈 如果你想成为行业的弄潮
  • 【Makefile】Makefile的使用

    Makefile的使用 一 Makefile简单介绍 二 Makefile的核心规则 三 Makefile的语法 syntax 1 通配符 patten 2 假象目标 phony 3 变量 variable 四 Makefile函数 1 函
  • IDEA项目中Maven仓库爆红

    很久没看项目 突然有一天打开发现maven仓库爆红 把仓库删了重新下载东西也没有变化 后来发现主要原因在pom xml中http maven apache org POM 4 0 0爆红 现在已经改了 提示URL无效 于是在settings
  • 搞清CSS样式中background-position(背景图片定位)

    昨天看一个网页的时候 看到一句 background url images top2 jpg no repeat 50 9px 其中50 代表的意义等同于left 容器 container 的宽度 背景图片的宽度 left百分比 超出的部分
  • Vue使用高德地图报 INVALID_USER_SCODE 错误

    项目场景 通过地点名称搜索并更新地图位置没有反应 搜索功能失效 问题描述 输入地点后点击搜索报错 原因分析 自2021年12月02日升级 升级之后所申请的 key 必须配备安全密钥 jscode 一起使用 解决方案 通过在高德开放平台创建并
  • Linux stat 命令及示例

    介绍 该stat命令打印有关文件和文件系统的详细信息 该工具提供有关所有者是谁 修改日期 访问权限 大小 类型等信息 该实用程序对于故障排除 在更改文件之前获取有关文件的信息以及例行文件和系统管理任务至关重要 本文stat通过实际示例解释了
  • 跨平台游戏引擎 Axmol-2.0.0 正式发布

    下载 https github com axmolengine axmol releases tag v2 0 0 更新日志 添加实验性的 WebAssembly 构建支持 WebGL 2 0 由 nowasm 贡献 已知问题 WebGL
  • C++:压缩算法1.0

    题目描述 某压缩算法的基本思想是用一个数值和一个字符代替具有相同值的连续字符 例如 输入字符串 RRRRRGGBBBBBBC 压缩后为 5R2G6B1C 请编写程序实现上述功能 输入 输入共一行 一串待压缩的字符 输出 输出共一行 压缩后的
  • uniapp实现猜数字小游戏

    一个uniapp的样例 超级简单 效果图在最后 外观 首先定义文字区块 用来告诉玩家现在改干什么以及猜的数字是猜大了还是猜小了
  • C++ STL迭代器相关

    map 迭代器 以下代码在编译时出错 提示c map报错 map set iterators incompatible map
  • 客户端无法连接腾讯云服务器Redis

    一 问题 使用Redis Desktop Manager 昨天可以连接上Redis服务器 今天却不可以 二 解决方案 1 确保IP地址 端口号 输入密码正确 1 1 redis conf 文件中port 1 2 redis conf文件中r
  • mysql执行计划固定_Oracle固定SQL的执行计划(一)---SQL Profile

    我们都希望对于所有在Oracle数据库中执行的SQL CBO都能产生出正确的执行计划 但实际情况却并非如此 由于各种各样的原因 比如目标SQL所涉及的对象的统计信息的不准确 或者CBO内部一些成本计算公式的先天缺陷等 导致有时CBO产生效率
  • Java使用for循环和while循环分别实现实现任意一个正整数逆序输出

    使用for循环将任意位数的正整数逆序 import java util Scanner public class ForNiXuTest public static void main String args System out prin
  • LSTM时间序列预测代码超通俗解释(MATLAB)

    数据在评论区 可以查看这一篇博客有更好的代码和可视化 多序列 http t csdn cn a4pM0 单序列 https blog csdn net m0 62526778 article details 128996795 clc cl
  • 微信小程序 picker选择器 表单验证 源码

    微信小程序表单验证 这是自己写的 比较low 下篇附上公司大佬的源码 嘿嘿 所在城市带选择城市的功能 比较懒笨 附上的代码是完整的 把接口数据换成自己的就可以用了 样式需要自己调 请在评论区夸我 附上要用的API的路径 https deve
  • OCR目前的发展现状综述

    本文目的是为了总结OCR各类技术的发展 从搜集资料到整理 可以看出OCR技术目前的一个大致发展趋势 目前还处于随时添加状态 敬请期待 更新时间 2019年9月26日 很好的参考资料 这个GitHub收集了文本检测 文本识别 端到端的论文以及