吴恩达《机器学习》第十八章:图片文字识别OCR

 

十八、应用实例:图片文字识别OCR

18.1 问题描述和流程图

在这里插入图片描述

18.2 滑动窗口

本节问题

  • 如何在图片中检测到文字?

人像识别
矩形框;
在这里插入图片描述
正负样本,分类,监督学习;
在这里插入图片描述
1、选中图片左上角矩形框;
2、传入分类器,检测y0 or y1,返回;
3、矩形框右移(事先设定的步长),重复判断;
4、移到最右边后下移,重复;
5、移到末尾后,第二遍,增大窗口,重复;

OCR识别
在这里插入图片描述
正负样本训练;
在这里插入图片描述
一小块一小块的检测;
放大算子:把白色区域扩大;
忽略奇怪的矩形(比如瘦高的,交叉的);
在这里插入图片描述
字符切割;训练分类器;
在这里插入图片描述
OCR流水线文字识别:
在这里插入图片描述

18.3 获取大量数据和人工数据

本节问题

  • 如何获得大量数据?

人工合成数据的两种方式:

  • 从零生成;
  • 已有小部分训练集,通过某种方式扩展;

在这里插入图片描述
灰度图像;
利用字体库;
将字母换个字体形式然后贴到别的背景中;
这基本从零开始生产;

第二种方法:一个样本扩展成多个样本
在这里插入图片描述
在这里插入图片描述
失真合成数据,保证失真是合理的;
在这里插入图片描述
在这里插入图片描述
首先要确保分类器偏差较低,才大量合成人工数据;
最好画个学习曲线,便于观察分析;

18.4 上限分析:下一步工作

在设计完一个机器学习系统后,我们需要对整体以及各个模块进行分析;

比如这里的OCR文本识别:
在这里插入图片描述
       ~~~~~~       刚刚设计出系统,72%的准确率,我们开始采用控制变量法对各个模块逐个分析;
       ~~~~~~       首先文本检测模块,对每个文本区域都设立正确的文本检测结果(仿真出100%正确检测图片中的文本信息),此时第一个模块正确率将达到100%,这时候我们再测试整体的正确率,为89%;

以同样的方式处理第二个模块:
在这里插入图片描述
准确率提高到90%;
继续处理第三个模块:
在这里插入图片描述
这样我们就能知道各个模块的提升空间有多大,针对性地改善;
这里明显第一个模块:文本检测模块最有潜力改善,所以我们应花费更多的精力在第1、3两个模块;

例如这个人脸识别:
在这里插入图片描述
在这里插入图片描述
不要花费大量时间去做一些没有意义的事情;
把时间都用在最有价值的事情上;
上限分析的必要性;

 

posted @ 2020-11-27 10:50  Luweir  阅读(274)  评论(0编辑  收藏  举报