机器学习11:应用之图片字符识别

本文介绍了从图片中识别文字信息的流程,包括滑动窗口技术用于行人和文本检测,字符分割,以及单个字符的识别。通过人工合成训练样本解决样本获取问题,并进行了上限分析,揭示文本检测是对系统准确度提升最显著的步骤。

问题简介及解决流程

在这里插入图片描述

  1. 问题如上图,如何从图片中识别出若干文字信息。

  2. 解决流程:

    1. 文本检测(将有文字的部分整块截图)

    在这里插入图片描述
    2. 字符分割(将截图分割成单个字符的图)
    在这里插入图片描述
    3. 识别分割出来的图中的字符
    在这里插入图片描述

以上三个流程可分别安排团队成员(1-5个)进行处理

滑动窗口

行人检测

在这里插入图片描述

  1. 先指定一定的长宽比(如8236或8240等)
  2. 筛选该长宽比下的正样本(y=1)和负样本(y=0) :
    在这里插入图片描述
  3. 在要检测的图片上,按该长宽比下的窗口以一定的步长进行滑动,每滑动一步选取一部分图案进行检测:
    在这里插入图片描述

PS:如果横着滑,滑完第一行后,要滑到下一行时,需要注意的是,也是按步长滑动下降到1+b行(如果b为步长)

文本检测

在这里插入图片描述

  1. 同理,准备正样本和负样本:
    在这里插入图片描述
  2. 选取一定长宽比的窗口在图片上滑动检测
    在这里插入图片描述

如左图,以上白色区域便是检测到文本的区域;可以通过区域扩展(expansion),使文本变成如右下图的整块

字符分割

  1. 按照截图到的文字区域中单个字符的长宽,选择一定长宽比来选择正样本和负样本:
    在这里插入图片描述
  2. 用与上一步的长宽比同等尺寸的窗口在截图到的文字区域中滑动,检测分割线

识别单个字符

  • 按正常使用逻辑回归识别即可
    在这里插入图片描述

  • 但是存在如何获取大量训练样本的问题,可以人工合成关于字符的训练集(不同字体、艺术字、旋转、缩放、扭曲、模糊化、随机背景等)

    1. 左边是真实数据,右边是理想数据
      在这里插入图片描述
    2. 可以给左边的样本加上随机背景变成右边
      在这里插入图片描述
    3. 扭曲
      在这里插入图片描述
  • 同理,以上训练集扩展方法也可以应用于声音检测:

在这里插入图片描述

如上图,第一个声音是原始声音,第二个是模拟了通信差的情景,第三个是加上了人群声,第四个是加上了机器声

  • 注意的是:
    1. 不要仅仅加上随机/无意义的噪声就作为新样本,这样的样本帮助不大:
      在这里插入图片描述
    2. 在扩展训练集之前确定拥有低偏差高方差(通过学习曲线判断)的假设函数(分类器),比如一直增加隐藏层或特征数量直到拥有低偏差分类器
    3. 思考如果要获得10倍的数据需要花多长时间。(途径包括人工合成、自己收集和标记、自己掏钱从众包中获取(如亚马逊劳务众包平台“Amazon MechanicalTurk”))

上限分析

分析机器学习系统整个流程中,哪个步骤对准确度最有帮助,以免在不重要的步骤中花费过多精力。

在这里插入图片描述

可见,上图中,文本检测能够提高17%的准确度,对系统最有帮助。

  • 如果得到以上准确度的呢? 依次将每个步骤,用人工的方式去处理(也就是效果达到极致),观察模型准确率的变化,找到变化最大的步骤。

  • 其他上限分析的应用例子(人脸识别):
    在这里插入图片描述

在这里插入图片描述

由上图可见,面部检测的步骤是最重要的,应把精力重点放在改进面部检测。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值