OCR论文综述(含文字识别、文本检测、端到端和数据集合)

article/2025/8/19 18:06:17

OCR综述概览

主要分为四个部分
文字识别、文本检测、端到端文字识别和数据集的介绍

1. 文字识别

指标为f1-score

Conf.

Net

Title

SVT

IIIT5K

ICDAR13

TPAMI2015CRNN

An end-to-end trainable neural network for image-based sequence

recognition and its application to scene text recognition

0.8080.7820.867
CVPR2016RARERobust scene text recognition with automatic rectification0.8190.8190.886
ICCV2017FANFocusing Attention: Towards Accurate Text Recognition in Natural Images0.8590.8740.933
TPAMI2018ASTERASTER: An Attentional Scene Text Recognizer with Flexible Rectification0.9360.9340.918
PR2019MORANMORAN: A Multi-Object Rectified Attention Network for Scene Text Recognition0.8830.912

0.924

CVPR2020SRNTowards Accurate Scene Text Recognition With Semantic Reasoning Networks0.9150.9480.955

1、CRNN

  • 首先CNN提取图像卷积特征
  • 然后LSTM进一步提取图像卷积特征中的序列特征
  • 最后引入CTC解决训练时字符无法对齐的问题

在这里插入图片描述
2、RARE

RARE是一个深度神经网络,包括一个空间变换网络Spatial Transformer Network (STN)和一个序列识别网络Sequence Recognition Network (SRN)

两个网络同时用BP算法进行训练。网络结构如下:
在这里插入图片描述

提出了一个新颖且对不规则文本具有鲁棒性的场景文字识别方法;
采用了基于注意力模型(attention-based)的STN框架。传统的STN只在普通的卷积神经网络中测试;
在SRN编码器中使用循环卷积结构。

3、FAN

  • 提出注意力漂移的概念,解释了现有注意力方法在复杂/低质量自然图像上性能较差的原因。
  • 开发了一种 FAN新方法来解决注意力漂移问题,这种方法在大多数现有方法都有的注意力模块之外,还引入了一个全新的模块——聚焦网络(FN),该网络可以使 AN偏离的注意力重新聚焦在目标区域上。
  • 采用强大的基于 ResNet 的卷积神经网络,以丰富场景文本图像的深度表征。
  • 在多个基准上实施大量实验,展示了我们的方法与现有方法相比的性能优越性。

在这里插入图片描述
4、ASTER

本文方法主要解决不规则排列文字的文字识别问题,论文为RARE的改进版
在这里插入图片描述
在这里插入图片描述

5、MORAN

面向不规则及通用场景文本。MORAN由矫正子网络MORN和识别子网络ASRN组成,在矫正子网络MORN中设计了一种新颖的像素级弱监督学习机制来进行不规则文本的形状纠正,以降低不规则文本的识别难度。矫正子网络和识别子网络可端到端联合训练,也不需要字符位置或像素级分割等监督信息,使得网络的训练大大简化。
在这里插入图片描述

  • 修正网络MORN采用弱监督的方式进行
  • 提出了fractional pickup方法进一步提升attention的灵敏度
  • 提出了curriculum learning strategy用于网络整体训练

6、SRN

由四部分组成:基础网络Backbone、并行的视觉特征提取模块(PVAM)、全局语义推理模块(GSRM) 和视觉语义融合的解码器(VSFD)
在这里插入图片描述

2. 文本检测

指标为f1-score

Conf.NetTitleICDAR13ICDAR15CTW1500

ECCV2016

CTPN

Detecting Text in Natural Image with Connectionist Text Proposal Network0.82150.60850.569

CVPR2017

SegLink

Detecting Oriented Text in Natural Images by Linking Segments0.8530.75


CVPR2017

EAST

EAST: An Efficient and Accurate Scene Text Detector
0.80720.604

arXiv2018

PSENet

Shape Robust Text Detection with Progressive Scale Expansion Network
0.87210.822

AAAI2019

DBNet

Real-time Scene Text Detection with Differentiable Binarization
0.8470.834

CVPR2021

FCENet

Fourier Contour Embedding for Arbitrary-Shaped Text Detection


0.8620.855
1、CTPN

只能检测水平文本,通过Faster RCNN+LSTM预测固定宽度的文本候选框,在后处理部分再将这些小文本段连接起来,得到文本行。

  • 将文本检测任务转化为一连串小尺度文本框的检测;
  • 引入RNN提升文本检测效果;
  • Side-refinement(边界优化)提升文本框边界预测精准度。

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

2、 SegLink

  • 与CTPN思想类似,都是先找出文本行的一部分,然后再连接所有的部分,组成一个完整的文本行;
  • 在SSD基础上加入了旋转角度的学习;
  • 在小部分文本框之前用连接线(相邻框的中点连线)来表示属不属于同一个文本框,也是用网络来学习;
  • 使用融合规则将各个阶段的框信息和线信息进行融合,组成文本行。

在这里插入图片描述

3、 EAST

  • 提出了一个由两阶段组成的场景文本检测方法:全卷积网络阶段和NMS阶段。
  • 该pipeline可灵活生成word level或linelevel上文本框的预测,预测的几何形状可为旋转框或水平框。
  • 算法在准确性和速度上优于最先进的方法。

在这里插入图片描述

4、PSENet

主干 resnet

  • 是一个基于像素分割的方法,能够精确地定位任意形状的文本实例;
  • 提出了渐进式扩展算法,即使两个文本实例离得很近也可以分开,从而保证文本实例的准确位置;
    从最小尺度的kernels开始扩展,最小的kernels可以把紧靠的文本实例分开;逐渐扩展到更大的kernels;直到扩展到最大的kernels,组成最终的结果。

在这里插入图片描述
5、DBNet

传统的基于分割的文本检测的后处理方法比较复杂,提出差分二值化

  • 在基准数据集上有良好的表现,其中包括水平、多个方向、弯曲的文本。
  • 比之前的方法要快很多,因为DB可以提供健壮的二值化图,从而大大简化了后处理过程。
  • 使用轻量级的backbone(ResNet18)也有很好的表现。
  • DB模块在推理过程中可以去除,因此不占用额外的内存和时间的消耗。

在这里插入图片描述
6、FCENet

着重于对任意形状文本包围框的表示方法建模,提出了可以精确地逼近任何封闭曲线的傅里叶轮廓嵌入方法和针对此文本框表达方法设计的FCENet。

该算法在高度弯曲文本上具有优异的检测性能,且具有良好的泛化能力。在没有额外数据集参与预训练的情况下,在CTW1500、Total-Text上的检测效果达到了SOTA。

在这里插入图片描述

3. 端到端文字识别

  • 由于检测和识别是高度相关的,因此将检测和识别统一到一个模型里面,就使得图像的feature可以被共享利用。
  • 检测和识别这两种任务可以是互补的,更好的检测结果可以提升识别的准确率,识别的信息也可以被用来精修检测的结果。
Conf.NetTitleICDAR13ICDAR15
ICCV2017
Towards End-to-end Text Spotting with Convolution Recurrent Neural Network0.8459
CVPR2018FOTSFOTS: Fast Oriented Text Spotting with a Unified Network0.84770.6533
ECCV2018Mask TextSpotterMask TextSpotter: An End-to-End Trainable Neural Network for Spotting Text with Arbitrary Shapes0.8650.624
ICCV2019CharNetConvolutional Character Networks
0.7108
ECCV2020Mask TextSpotterV3Mask TextSpotter v3: Segmentation Proposal Network for Robust Scene Text Spotting
0.742
1、

在这里插入图片描述
a.end-to-end方式训练出来的模型可以学习到更丰富的图像特征,并且这种特征可以被两种不同任务所共享,可以有效的节省时间。
b.论文中提出了一种全新的region feature抽取方法。这种feature抽取方法可以很好的兼容文本bbox原始长宽比以及避免图像的扭曲,而且ROI pooling可以生成具有不同长度的feature maps。
c.提出了一种类似课程学习策略的方法用一种逐渐增加图像复杂性的数据集来训练模型。

2、FOTS
在这里插入图片描述

  • End-to-end框架的解决了角度文本端到端识别的问题;
  • RoI Rotate模块的运用,桥接了detection和recogniton
  • 模型小、速度快、效果好

3、Mask TextSpotter

Mask TextSpotter利用简单且平滑的端到端学习过程,通过语义分割获得精确的文本检测和识别。此外,它在处理不规则形状的文本实例(例如,弯曲文本)方面优于之前的方法。
在这里插入图片描述
识别部分只能识别26个字母+10个数字

4、CharNet

整个网络分为两个大的分支,上面的分支用来进行字符检测和识别(整体);下面的分支用来检测字符中的每一个文本(单个文字或字符)。
在这里插入图片描述

5、Mask TextSpotterV3
在这里插入图片描述

4. 数据集

数据集数据语言 大小简要介绍标注格式下载地址
ICDAR_2013语言: 英文 train:229 test:233

水平文本

x1 y1 x2 y2 text下载链接.
ICDAR_2015语言: 英文 train:1000 test:500

倾斜文本

x1,y1,x2,y2,x3,y3,x4,y4,text下载链接.
ICDAR2017-MLT语言: 混合 train:7200 test:1800

多语言文本

x1,y1,x2,y2,x3,y3,x4,y4,text下载链接. 提取码: z9ey
ICDAR2017-RCTW语言: 混合 train:8034 test:4229

主要是中文

x1,y1,x2,y2,x3,y3,x4,y4,<识别难易程度>,text下载链接
天池比赛2018语言: 混合 train:10000 test:10000

合成图像,产品描述,网络广告

复杂排版,密集的小文本或多语言文本,水印等

x1,y1,x2,y2,x3,y3,x4,y4,text检测。 识别
ICDAR2019-MLT语言: 混合 train:10000 test:10000

水平文本

每个连续的1000个图像包含一种主要语言的文本

x1,y1,x2,y2,x3,y3,x4,y4,语言类别,text下载链接. 提取码: xofo
ICDAR2019-LSVT语言: 混合 train:30000 test:20000

中文街景图像

json格式标签下载链接
ICDAR2019-ReCTS语言: 混合 train:20000 test:5000

餐厅招牌上的中文文本

json格式标签下载链接
ICDAR2019-ArT语言: 混合 train:5603 test:4563

包含水平、多方向和弯曲等多种形状的文本

json格式标签下载链接
Synth800k语言: 英文 80k

每个文本实例均使用文本字符串、字级和字符级边界框进行注释

基于字符标注下载链接
360万中文数据集语言: 中文 360k

每个样本固定10个字符,字符随机截取自语料库中的句子

每张图片由10个字符构成下载链接. 提取码:lu7m
中文街景数据集CTW语言:中文 32285

包含平面文本,凸起文本,城市文本,农村文本,

低亮度文本,远处文本,部分遮挡文本

基于字符标注的中文街景图片下载链接
百度中文场景文字识别语言: 混合 29万

由街景图片中的文字行区域(如店铺标牌、地标等)截取出来而形成

图像经过一些预处理:将文字区域利用仿射变化,等比映射为一张高为48像素的图片


下载链接
MSRA-TD500语言: 中英文 Training:300 Test:200
  • 多方向文本检测

  • 大部分文本都在引导牌上

.gt格式标签下载链接
Total-Text语言: 英文 Training:1255 Test:300

弯曲文本


下载链接

http://chatgpt.dhexx.cn/article/C9lEN9Lo.shtml

相关文章

医学诊断报告生成论文综述

摘要 由Image/Video Captioning、VQA等图像理解任务的不断往前发展&#xff0c;以及目前智能医疗的兴起&#xff0c;有些学者自然而然地想到图像理解是否可以应用到医学领域&#xff0c;因此根据CT、核磁等图像自动生成诊断报告(病例)&#xff0c;这个任务被提了出来。 2018年…

目标检测论文综述(三)One-Stage(YOLO系列)

一、CNN based One-Stage Detectors 所有论文综述均保持如下格式&#xff1a; 1、一页PPT内容总结一篇论文 2、标题格式一致&#xff1a;出处 年份 《标题》 3、内容格式一致&#xff1a;针对XX问题&#xff1b;提出了XX方法&#xff1b;本文证明了XXX 4、把握核心创新点&…

【半监督论文综述】A survey on semi-supervised learning

下载 半监督学习 1. 半监督学习1.1 三个假设1.1.1 平滑假设1.1.2 低密度假设1.1.3 流形假设1.1.4 聚类假设 1.2. 评估半监督学习算法 2. 半监督学习算法分类2.1 Inductive methods2.1.1. Wrapper methods2.1.1.1 Self-training2.1.1.2 Co-Training2.1.1.2.1 Multi-view co-tra…

综述类论文怎么写?

综述类论文的关键点在于必须要有一个明确有效的叙述结构。严格来说&#xff0c;这类文章并没有固定的结构安排要求&#xff0c;但一个科学有效的叙述结构不仅会让作者的表达逻辑更为清晰和条理&#xff0c;还能帮助读者减少阅读困难&#xff0c;提高阅读效率&#xff0c;对论述…

视频理解论文综述

A Comprehensive Study of Deep Video Action Recognition TSN网络是一个很经典的网络&#xff0c;如果不知道的自己查... 基于TSN的改进论文分了三大类&#xff1a; 其他资料&#xff1a; Temporal Segment Network TSN提出的背景是当时业界做动作识别都是用 Two-stream …

毕业论文第一步--如何快速写出让人眼前一亮的文献综述论文(citspace)

一、文献综述是什么&#xff1f; 文献综述简称综述&#xff0c;是对某一领域&#xff0c;某一专业或某一方面的课题、问题或研究专题搜集大量相关资料&#xff0c;然后通过阅读、分析、提炼、整理当前课题、问题或研究专题的最新进展、学术见解或建议&#xff0c;对其做出综合性…

论文综述是写什么?

各位客官&#xff0c;走过路过不要错过&#xff0c;现在的你可能是一名刚步入大学的论文新手&#xff0c;也可能是一名刚上大四的学生&#xff0c;正准备开始写毕业论文。那么这篇文章我来给大家讲讲论文的综述是究竟是要写什么&#xff0c;为什么说文献综述奠定了一篇论文的优…

Matlab初始化太慢及相应的设置方法

前几天装的MATLAB2017&#xff0c;但是初始化太慢的问题一直没解决&#xff0c;如下&#xff1a; 等4-5分钟才就绪&#xff0c;真的很浪费时间&#xff0c;然后百度别人的解决方案&#xff0c;看到网上很多是文字描述&#xff0c;实践的截图都没几个&#xff08;本人喜欢图文解…

matlab四维插值程序,matlab练习程序(向量插值)

有两个向量,我们想从起始向量平滑的过度到终止向量,那么中间的向量就可以通过插值的方式得到。 这在图形学中图形旋转或者机器人中物体姿态旋转都可以用到。 有三种方法:Lerp,NLerp和SLerp。 Lerp为线性插值,公式如下: NLerp为线性插值后归一化,公式如下: SLerp为球面插…

MATLAB程序设计

文章目录 1 程序基础2 数据类型和运算2.1 常量和变量2.2 数值数据2.3 字符数据2.4 逻辑数据类型2.5 日期和时间2.6 单元数组和结构体 3 数组与矩阵3.1创建数组3.2 数组运算3.3 数组处理函数3.3.1 zero/ones函数3.3.2 size/length函数3.3.3 max/min函数3.3.4 isempty函数3.3.5 u…

matlab-m脚本调用simulink无法运行的原因(本身设置了初始化函数

matlab-m脚本调用simulink无法运行的原因&#xff08;本身设置了初始化函数&#xff09; 最近从MATLAB中调用simulink模块老是不成功一直提示如下错误&#xff1a; 该错误的意思是&#xff0c;在运行PosControl这个模块之前&#xff0c;它本身还会运行自己设置的初始化函数In…

Isight与MATLAB联合仿真时出现:无法定位或初始化类(unsupported major minor version 52.0)

文章目录 一、报错页面二、解决方法三、仿真示例四、运行注意事项 一、报错页面 Isight 调用MATLAB的时候&#xff0c;MATLAB页面报错&#xff0c;出现如下页面&#xff1a; 二、解决方法 解决方法如下&#xff1a; 双击malab组件 1.选择options 2.Drive Matlab with Jav…

VS2019调用Matlab2019b生成的dll时初始化异常

VS2019调用matlab动态链接库遇到的问题 在Visual Studio中使用C调用Matlab程序VS与MATLAB版本选择VS与MATLAB混编的环境配置初始化异常的解决0xc0000005处理Debug错误&#xff1a;xsd_binder::MalformedDocumentError 在Visual Studio中使用C调用Matlab程序 我目前在写一个用V…

MATLAB一直显示“正忙”或“初始化”

解决方案 1 MATLAB 在启动时&#xff0c;一直停留在“正在初始化”的状态&#xff0c;有可能是因为 MATLAB 一直在找着本机的许可证。 有可能是设置了 LM_LICENSE_FILE 的环境变量。这个变量告诉 MATLAB 或者其他应用程序去哪里查找许可证文件。如果您有一个网络许可证&#xf…

C++和MATLAB混合编程——初始化mwArray失败解决方法!

首先&#xff0c;按这样设置&#xff0c; [填坑]VS2017与MATLAB2016b混合编程&#xff08;生成dll方式&#xff09;_清凉简装的博客-CSDN博客_matlab生成dllMATLAB 生成 dll 前的工作1、配置MATLAB环境控制面板->所有控制面板项->系统->高级系统设置->高级->环…

MATLAB打开后一直在初始化,或者初始化很慢问题

问题描述&#xff1a;遇到MATLAB启动较慢&#xff0c;进入主界面后&#xff0c;一直停留在“正在初始化”的状态。浪费很多时间。这种问题大多是因为MATLAB软件在启动时寻找本机的许可证或者是设置了 LM_LICENSE_FILE 的环境变量。这个变量告诉 MATLAB 或者其他应用程序去哪里查…

解决MATLAB一直初始化,加速MATLAB

之前&#xff0c;在做课设时&#xff0c;遇到MATLAB启动较慢&#xff0c;进入主界面后&#xff0c;一直停留在“正在初始化”的状态。浪费很多时间。逛了逛MATLAB中文社区&#xff0c;发现这种问题大多是因为MATLAB软件在启动时寻找本机的许可证或者是设置了 LM_LICENSE_FILE 的…

QT和matlab混合编程以及maltab程序化初始化失败

一. 内容简介 需要用QT调用matlab代码完成计算&#xff0c;并获取计算结果。 二. 软件环境 2.1QT 5.14.1 新版QT6.4,&#xff0c;6.5在线安装经常失败&#xff0c;而5.9版本又无法编译64位程序&#xff0c;所以就采用5.14.1这个用的比较多也比较稳定的一个版本。 QT编译器…

Matlab R2018a初始化问题

前几天装的MATLAB2018&#xff08;我装在C盘&#xff0c;用的是在线安装&#xff0c;自己下的License破解了&#xff09;&#xff0c;但是初始化问题一直没解决&#xff0c;下面显示我遇到的问题&#xff1a; 等4-5分钟才就绪&#xff0c;真的很浪费时间&#xff0c;然后百度别…

Matlab一直初始化进不去程序之一种解决办法

很多解决办法不行的时候你可以试试在设置里把区域改成中国 究其原因可能是因为破解版的是中国的&#xff0c;然后在联网使用matlab时IP认证不通过