深度学习的端到端文本OCR:使用EAST从自然场景图片中提取文本(一)

简介: 深度学习的端到端文本OCR:使用EAST从自然场景图片中提取文本(一)

我们生活在这样一个时代:任何一个组织或公司要想扩大规模并保持相关性,就必须改变他们对技术的看法,并迅速适应不断变化的环境。我们已经知道谷歌是如何实现图书数字化的。或者Google earth是如何使用NLP来识别地址的。或者怎样才能阅读数字文档中的文本,如发票、法律文书等。

image.png

但它到底是如何工作的呢?

这篇文章是关于在自然场景图像中进行文本识别的光学字符识别(OCR)。我们将了解为什么这是一个棘手的问题,用于解决的方法,以及随之而来的代码。


But Why Really?

在这个数字化的时代,存储、编辑、索引和查找数字文档中的信息比花几个小时滚动打印/手写/打印的文档要容易得多。

此外,在一个相当大的非数字文档中查找内容不仅耗时;在手动滚动文本时,我们也可能会错过信息。对我们来说幸运的是,电脑每天都在做一些人类认为只有自己能做的事情,而且通常表现得比我们更好。

从图像中提取文本有许多应用。其中一些应用程序是护照识别、自动车牌识别、将手写文本转换为数字文本、将打印文本转换为数字文本等。


挑战

在讨论我们需要如何理解OCR面临的挑战之前,我们先来看看OCR。

在2012年深度学习热潮之前,就已经有很多OCR实现了。虽然人们普遍认为OCR是一个已解决的问题,但OCR仍然是一个具有挑战性的问题,尤其是在无约束环境下拍摄文本图像时。

我谈论的是复杂的背景、噪音、不同的字体以及图像中的几何畸变。正是在这种情况下,机器学习OCR工具才会大放异彩。

OCR问题中出现的挑战主要是由于手头的OCR任务的属性。我们通常可以把这些任务分为两类:

结构化文本——类型化文档中的文本。在一个标准的背景,适当的行,标准的字体和大多数密集的文本。

image.png

非结构化文本——自然场景中任意位置的文本。文本稀疏,没有合适的行结构,复杂的背景,在图像中的随机位置,没有标准的字体。

image.png


许多早期的技术解决了结构化文本的OCR问题。但是这些技术不适用于自然场景,因为自然场景是稀疏的,并且具有与结构化数据不同的属性。

在本文中,我们将更多地关注非结构化文本,这是一个需要解决的更复杂的问题。正如我们所知,在深度学习的世界里,没有一个解决方案可以适用于所有人。我们将看到解决手头任务的多种方法,并将通过其中一种方法进行工作。

用于非结构化OCR任务的数据集

有很多英文的数据集,但是很难找到其他语言的数据集。不同的数据集提供了不同的任务需要解决。下面是一些通常用于机器学习OCR问题的数据集示例。

SVHN数据集

街景门牌号数据集包含73257用于训练,26032用于测试,531131作为额外的训练数据。数据集包括10个标签,它们是数字0-9。数据集与MNIST不同,因为SVHN具有不同背景下的门牌号图像。数据集在每个数字周围都有包围框,而不是像MNIST中那样有几个数字图像。

场景文本数据集

该数据集包含3000张不同设置(室内和室外)和光照条件(阴影、光线和夜晚)的图像,文本为韩文和英文。有些图像还包含数字。

Devanagri字符数据集

这个数据集为我们提供了来自25个不同的本地作者在Devanagari脚本中获得的36个字符类的1800个样本。还有很多类似的例子,例如汉字,验证码,手写单词。

阅读文本

任何典型的机器学习OCR管道都遵循以下步骤:

image.png

预处理

  • 从图像中去除噪声
  • 从图像中删除复杂的背景
  • 处理图像中不同的亮度情况

image.png

这些是在计算机视觉任务中预处理图像的标准方法。在本博客中,我们不会关注预处理步骤。

目录
相关文章
|
1月前
|
存储 文字识别 算法
文字识别OCR常见问题之图片超过40M不返回结果如何解决
文字识别OCR(Optical Character Recognition)技术能够将图片或者扫描件中的文字转换为电子文本。以下是阿里云OCR技术使用中的一些常见问题以及相应的解答。
51 2
|
1月前
|
机器学习/深度学习 文字识别 自然语言处理
Python图片格式转换与文字识别:技术与实践
Python图片格式转换与文字识别:技术与实践
48 0
|
3月前
|
机器学习/深度学习 人工智能 文字识别
通用场景OCR文本识别任务-baseline学习(PaddleOCR)
通用场景OCR文本识别任务-baseline学习(PaddleOCR)
73 0
|
9月前
|
机器学习/深度学习 算法
m基于OFDM+QPSK和DNN深度学习信道估计的无线图像传输matlab仿真,输出误码率曲线,并用实际图片进行测试
m基于OFDM+QPSK和DNN深度学习信道估计的无线图像传输matlab仿真,输出误码率曲线,并用实际图片进行测试
295 0
|
4月前
|
文字识别 JavaScript API
Vue实现:Ctrl+V粘贴文字图片截图,调用第三方API文字识别OCR内容并进行内容分割识别填充。
Vue实现:Ctrl+V粘贴文字图片截图,调用第三方API文字识别OCR内容并进行内容分割识别填充。
Vue实现:Ctrl+V粘贴文字图片截图,调用第三方API文字识别OCR内容并进行内容分割识别填充。
|
4月前
|
机器学习/深度学习 自然语言处理 人机交互
语音识别技术的发展与未来趋势:深度学习、端到端建模与多模态融合
语音识别技术的发展与未来趋势:深度学习、端到端建模与多模态融合
167 0
语音识别技术的发展与未来趋势:深度学习、端到端建模与多模态融合
|
8月前
|
文字识别 JavaScript Java
百度OCR识别图片文字,解决image format error错误
百度OCR识别图片文字,解决image format error错误
96 0
|
9月前
|
机器学习/深度学习 文字识别 达摩院
ModelScope DIY 多种场景文字识别(1)
ModelScope DIY 多种场景文字识别
|
9月前
|
机器学习/深度学习 人工智能 文字识别
ModelScope DIY 多种场景文字识别(2)
ModelScope DIY 多种场景文字识别
|
9月前
|
人工智能 文字识别 API
C# 10分钟完成百度图片提取文字(文字识别)——入门篇
C# 10分钟完成百度图片提取文字(文字识别)——入门篇