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

本文涉及的产品
企业资质识别,企业资质识别 200次/月
自定义KV模板,自定义KV模板 500次/账号
票据凭证识别,票据凭证识别 200次/月
简介: 深度学习的端到端文本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

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

目录
相关文章
|
3月前
|
机器学习/深度学习 自然语言处理 计算机视觉
深度学习之文本引导的图像编辑
基于深度学习的文本引导的图像编辑(Text-Guided Image Editing)是一种通过自然语言文本指令对图像进行编辑或修改的技术。
57 8
|
4月前
|
机器学习/深度学习 存储 文字识别
OCR -- 文本识别 -- 实践篇
OCR -- 文本识别 -- 实践篇
48 1
|
5月前
|
机器学习/深度学习 数据采集 自然语言处理
深度学习之文本检索
文本检索(Text Retrieval)是指在大量文本数据中,根据用户的查询文本找到相关文档。基于深度学习的方法通过提取文本的高层次语义特征,实现了高效和准确的文本检索。
56 3
|
5月前
|
机器学习/深度学习 自然语言处理 TensorFlow
使用Python实现深度学习模型:文本生成与自然语言处理
【7月更文挑战第14天】 使用Python实现深度学习模型:文本生成与自然语言处理
126 12
|
5月前
|
机器学习/深度学习 文字识别 自然语言处理
深度学习之环绕文字识别
基于深度学习的环绕文字识别(Curved Text Recognition)是一项挑战性任务,旨在从图像中准确地检测和识别弯曲、旋转或非规则排列的文字。这种技术在自然场景文本识别、文档处理和增强现实应用中具有重要意义。
65 2
|
4月前
|
机器学习/深度学习 文字识别 自然语言处理
OCR -- 文本识别 -- 理论篇
OCR -- 文本识别 -- 理论篇
78 0
|
4月前
|
数据采集 机器学习/深度学习 文字识别
OCR -- 文本检测 - 训练DB文字检测模型
OCR -- 文本检测 - 训练DB文字检测模型
79 0
|
4月前
|
文字识别 算法 固态存储
OCR -- 文本检测
OCR -- 文本检测
39 0
|
5月前
|
文字识别 新能源
文本,文字识别14,身份证和车牌识别接口
文本,文字识别14,身份证和车牌识别接口
|
5月前
|
文字识别
文本,文字识别13,参数校验,实现参数校验,使用@Valid注解
文本,文字识别13,参数校验,实现参数校验,使用@Valid注解

热门文章

最新文章

  • 1
    【Python】已解决:Python正确安装文字识别库EasyOCR
    502
  • 2
    提升爬虫OCR识别率:解决嘈杂验证码问题
    142
  • 3
    文本,文字识别14,身份证和车牌识别接口
    30
  • 4
    文本,文字识别13,参数校验,实现参数校验,使用@Valid注解
    27
  • 5
    文本,文字识别12,接口返回值和异常封装,一个好的接口,应该包括,错误码,提示信息,返回的数据,应该知道出错,错在哪里,抛出业务异常应该怎样解决?出现业务异常的时候,抛出业务异常,全局异常处理
    38
  • 6
    文本,文识11,解析OCR结果,paddOCR返回的数据,接口返回的数据有code,data,OCR返回是JSON的数据,得到JSON数据先安装依赖,Base64转换工具网站在21.14
    103
  • 7
    文本,文识10,springBoot提供RestTemplate以调用Flask OCR接口,调用flask实现ocr接口,用paddleocr进行图片识别云服务技术,单个paddleocr接口有影响
    93
  • 8
    文本,文识08图片保存()上,最方便在于整体生成代码,serivce及实体类,base64编码保存图片文件,调用flask实现内部ocr接口,通过paddleocr识别,解析结果,base64转图片
    45
  • 9
    文本,文字识别07,SpringBoot服务开发-入参和返回值,编写接口的时候,要注意识别的文字返回的是多行,因此必须是List集合,Bean层,及实体类的搭建
    49
  • 10
    文本,文字识别,Flask实现内部接口开发,OCR外部接口的开发,如何开发一个识别接口,通过post调用,参数是图片的路径,内部调用,直接传图片路径就行
    66
  • 下一篇
    无影云桌面