应用实例:照片OCR(Application example:Photo OCR)

问题描述与.OCR.pipeline

照片光学字符识别:
在这里插入图片描述
OCR步骤:

①扫描图像一遍,找出文字信息区域。

②文字分离。

③字符识别(拼写校正)。
在这里插入图片描述
照片OCR流水线:工作分配。
在这里插入图片描述

滑动窗口

如何识别出我们想要在照片找到的东西?

这里我们需要滑动窗口分类器。

行人检测比文字检测更简单,因行人检测具有相似的长宽比,仅用一个具有固定长宽比的矩形就可以了,尽管不同行人距离摄像头距离也可能不同,所以这些矩形的高度根据不同行人的位置也会不一样,但是比例还是不变的。

对于文字检测而言,不同的位置,具有不同的比例。
在这里插入图片描述
行人检测的例子:

首先定好矩形的比例标准,然后收集包含整个行人的正样本和不含行人的负样本,最后训练学习算法。
在这里插入图片描述
尝试在下面图片中找到行人:

首先在图片中选取一个矩形块,然后在将矩形块中的图片块,传给分类器,最后从左到右,从上到下移动矩形块,再识别。

矩形块每次移动的距离是一个参数叫步长(滑动参数)。
在这里插入图片描述
接下来使用更大的矩形块。
在这里插入图片描述
找到图片中的行人。
在这里插入图片描述
文本检测的例子:
在这里插入图片描述
与行人检测相似,先训练学习算法(识别出文字区域)。
在这里插入图片描述
文字检测我们用一个固定比例的滑动窗口(只用一个固定大小的矩形)。

用白色表示分类器认为有文字的地方,而这些深浅不同的灰色对应的是分类器认为该处有文字的概率。

这样的话,我们会得到左下角图的结果,其中白色区域表示文本检测系统发现了文本和原图的坐标一致;然后将分类器的输出应用到一种叫放大算子的东西上,它所做的是取这里的图,它把每个白色方块都扩大。

从左下图构造右下图的方法:就是对于左图的每个像素,判断其一定范围内是否存在白色的像素,如果某个像素周围5到10个像素的范围内存在其他的白色像素,那么就在右图中把整个范围内的像素都变成白色。

最后在白色区域绘制边框,排除比例奇怪的矩形。
在这里插入图片描述
字符分割:

再次使用监督学习。
在这里插入图片描述
这就是OCR识别流水线的全部。
在这里插入图片描述

获取大量数据和人工数据

一个最可靠的得到高性能机器学习系统的方法是使用一个低偏差机器学习算法,并且使用庞大的训练集去训练它。

不过从哪里获取这么多训练数据呢?

人工数据合成主要有两种形式:

①自己创造数据,即从零开始创造新数据。

②我们已经有很小的标签训练集,然后以某种方式扩充训练集,就是将较小的训练集转化为一个较大的训练集。

为了引入人工数据合成,我们以字符识别为例:
在这里插入图片描述
用不同字体生成字符,然后将其粘贴到任意不同的背景中,然后可以应用一点模糊算子或者仿射变换(仿射的意思是进行等分,缩放和一些旋转操作)。
在这里插入图片描述
使用现有的样本生成数据。

如下进行人工拉伸得到新数据。
在这里插入图片描述
对于语音识别来说失真将会更加合理。
在这里插入图片描述
在引入失真合成数据时,如果你自己试图完成,那么你引入的失真应该具有代表性。

将随机无意义的噪音加入到数据中,并没有多大帮助。

总的来说,在应用时,考虑什么样的失真才有意义,生成的数据是可能在测试集中出现的。
在这里插入图片描述
在进行人工数据合成时,先确保你的分类器偏差较低,这样更多的数据才有作用,标准的做法是绘制一个学习曲线来确保。

如果你的分类器偏差太高,那么你可以尝试持续增加分类器的特征数量或者增加神经网络隐藏单元数量,直到偏差值降低,然后再花精力到生成大量的人工数据集上。

思考获得我当前拥有的数据的10倍数据量,需要花费多少努力?

获得更多数据的几个方法:

①人工数据合成

②自己收集数据或添加标签

③众包
在这里插入图片描述

天花板分析:下一步工作的.pipeline

如果解决某个机器学习问题,最好能把问题分成多个模块,然后做一下上限分析,这通常给你更可靠更好的方法,来为你决定该把劲儿往哪儿使,该提高那个模块的效果,这样我们就会非常确认把这个模块做好就能提高最后总体的性能。

以照片OCR工作流的例子讲解上限分析:

为了决定如何开发这个系统一个有效的方法是对学习系统使用一个数值评价量度。

我们假设以字符标准度(文字识别正确的比例)作为这个量度。

下面是各个模块的量度,模块之间度量差为上升空间。
在这里插入图片描述
下面为人脸识别展示上限分析的例子:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值