吴恩达机器学习——第19章 照片OCR

1、简介

OCR全称是照片光学字符识别,目的是从图片中识别出文字。文本介绍从图片中解析文字的步骤及原理。

通过OCR过程的介绍,让大家认识到一个复杂的机器学习问题是如何实现的。

2、照片识别

2.1 步骤

从照片中识别文字,可以分为以下的步骤:

  1. 找到图片中的文字区域。
  2. 从文字区域中找出字符。
  3. 使用分类器,把字符组合成文字。
  4. 可选步骤:对文字进行拼写检查,自动更正错误的文字。

2.2 滑动窗口分类器

照片识别文字比较复杂,先看一个简单的例子:行人检测。相对于照片中识别文字,行文检测问题中,行人的长宽比率是保持不变的:
在这里插入图片描述
滑动窗口分类器的原理是:

  1. 首先定义一个固定大小的窗口。
  2. 从图像的左上角开始,每次移动一个很小的距离,不断移动图像,直到图像覆盖了整个图片。
  3. 判断每个窗口中图片是否是人像。
  4. 改变窗口的大小,重复第2、第3步。
  5. 最终就能找到图片中所有的人像。
    在这里插入图片描述

2.3 OCR检测

2.3.1 找到图片中的文字区域

在这里插入图片描述

  • 同样使用滑动窗口的方式,标识出文字区域(白色标识),非文字区域使用黑色表示;
  • 然后把白色区域进行扩大,增大方式是如果某个点周围50个像素内是白色的,则把这50个像素都涂成白色的;
  • 观察白色区域,去掉不合理的图形。

这样得到图片上文字所在的区域。

2.3.2 从文字区域中找出字符

在这里插入图片描述
这一步是对包含文字的区域进行切分,从而获取到单个字符。

  • 首先使用一个固定大小的滑动窗口从左往右移动。
  • 判断每次窗口范围内的图片是否包含文字的分隔符。如果包含分隔符则进行分割。
  • 不断移动窗口,就能把整个图形切分成一个个的字符。

2.3.3 使用分类器,把字符组合成文字

这步操作有两个步骤:计算字符图片与字符的对应关系,字符组合成文字。

计算字符图片与字符的对应关系,可以使用监督学习训练模型,这样就能确定图片与字符的对应关系。
在这里插入图片描述
然后通过分词插件把字符组合为文字。

3、获取大量数据

在低偏差、高方差的情况下,大量的样本有助于提升机器学习的效果,下面介绍几种获取大量样本的方法:

  • 从0开始生成:照片识别文字的例子中的第三步,把字符图片识别为字符,就可以使用不同的字体配以不同的背景,生成大量的新样本。
  • 扩张数据:对文字进行不同角度的拉升,可以增大样本的数量;在声音样本中,可以增加一些背景噪音等等。
  • 收集数据,添加标签。

4、天花板分析

天花板分析的目的是找到机器学习算法中最有优化价值的模块去进行优化。

基本原理是计算哪个模块的优化,对模型整体准确度的提升最高。

如下所示:overall sytem的准确度为72%;

  1. 首先假设text detection的准确率为100%,把正确结果传递给后面的步骤,得出这个模型的准确度为89%。
  2. 假设character segmentation的准确率为100%,把正确结果传递给后面的步骤,得出这个模型的准确度为90%。
  3. 假设character recognition的准确率为100%,把正确结果传递给后面的步骤,得出这个模型的准确度为100%。

可以看出,第一步的优化能提升17%的准确度;在第一步的基础上,第二步的优化只能提升1%的准确度。所以把主要精力放在优化第一步上比较合适。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值