文章目录

  • 十八、应用实例:图片文字识别OCR
    • 18.1 问题描述和流程图
    • 18.2 滑动窗口
    • 18.3 获取大量数据和人工数据
    • 18.4 上限分析:下一步工作

十八、应用实例:图片文字识别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两个模块;

例如这个人脸识别:


不要花费大量时间去做一些没有意义的事情;
把时间都用在最有价值的事情上;
上限分析的必要性;

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

  1. 吴恩达机器学习(十六)机器学习流水线、上限分析

    目录 0. 前言 1. 流水线 2. 上限分析(Ceiling analysis) 学习完吴恩达老师机器学习课程的照片OCR,简单的做个笔记.文中部分描述属于个人消化后的理解,仅供参考. 如果这篇文章 ...

  2. 吴恩达机器学习(十四)推荐系统(基于梯度下降的协同过滤算法)

    目录 0. 前言 1. 基于内容的推荐算法(Content-based recommendations) 2. 计算电影特征 3. 基于梯度下降的协同过滤算法(Collaborative filter ...

  3. 吴恩达机器学习(十二)主成分分析(降维、PCA)

    目录 0. 前言 1. 主成分分析(PCA) 2. 主成分分析PCA的流程 3. 低维空间维度的选择 4. 主成分分析使用方式 学习完吴恩达老师机器学习课程的降维,简单的做个笔记.文中部分描述属于个人 ...

  4. 吴恩达机器学习(十)支持向量机(SVM)

    目录 0. 前言 1. 代价函数(Cost Function) 2. 假设函数(Hypothesis) 3. 范数表示 4. 高斯核函数(Gaussian Kernel) 5. SVM实现多分类 6. ...

  5. 吴恩达机器学习(十二)—— 机器学习系统的设计

    吴恩达机器学习系列内容的学习目录→\rightarrow→吴恩达机器学习系列内容汇总. 1. 优先处理的工作:垃圾邮件分类例子 2. 误差分析 3. 偏斜类的误差度量 4. 查准率和查全率之间的权衡 ...

  6. 吴恩达机器学习(十五)—— 应用实例:图片文字识别

    应用实例:图片文字识别 1. 问题描述和流水线 2. 滑动窗口 3. 获取大量数据:人工数据合成 4. 上限分析:流水线的哪个模块最有改进价值   学习图片文字识别的应用实例要做的事情: 展示一个复杂 ...

  7. 吴恩达机器学习(十五)大规模机器学习(Batch、Stochastic、Mini-batch gradient descent、MapReduce)

    目录 0. 前言 1. Stochastic Gradient Descent 2. Mini-batch Gradient Descent 3. MapReduce 4. 在线学习(online l ...

  8. 西瓜书+实战+吴恩达机器学习(十四)无监督学习之聚类(k-means, LVQ, 高斯混合聚类, DBSCAN, AGNES)

    文章目录 0. 前言 1. 性能度量 1.1. 外部指标 1.2. 内部指标 2. 距离计算 3. k-means算法 4. 学习向量量化 5. 高斯混合聚类 6. 密度聚类 DBSCAN 7. 层次 ...

  9. 西瓜书+实战+吴恩达机器学习(十九)特征选择(过滤式选择、包裹式选择)

    文章目录 0. 前言 1. 过滤式选择 2. 包裹式选择 如果这篇文章对你有一点小小的帮助,请给个关注,点个赞喔,我会非常开心的~ 0. 前言 特征选择是一个很重要的数据预处理过程: 选择出重要的特征 ...

  10. 西瓜书+实战+吴恩达机器学习(十八)降维(主成分分析 PCA)

    文章目录 0. 前言 1. 主成分分析PCA 如果这篇文章对你有一点小小的帮助,请给个关注,点个赞喔,我会非常开心的~ 0. 前言 维数灾难:在高维情形下出现的数据样本稀疏.距离计算困难等问题. 缓解 ...

最新文章

  1. python进程线程处理模块_python程序中的线程操作 concurrent模块使用详解
  2. Hinton最新演讲透露下一代神经网络模型的构想 | SIGIR 2020
  3. python编程界面怎么打开-为Python程序添加图形化界面的教程
  4. 汇编语言--标志寄存器
  5. 如何使Putty会话颜色更美观
  6. sql server 保留小数,向上保留指定位数的小数,仅记录,勿看。
  7. 什么是域名服务器(DNS)
  8. 字符串相似度匹配算法python_算法字符串相似度得分/哈希
  9. 全面认识UML类图元素
  10. 20155207实验2 Windows口令破解
  11. 防刷新ajax视频教程,【赖国荣】Ajax基础与提升第7讲:ajax实现刷新内容实例讲解...
  12. 7.python的字符串处理常见方法——《深入python3》
  13. 2017年10月份计算机网络管理,2017年下半年网络管理员考试上午试题及答案
  14. 跨站脚本攻击(反射型xss)笔记(一)
  15. pytorch BCELoss()、KLDivLoss()的参数 及 “对于size_average、reduce、reduction参数的研究”
  16. 一篇文章搞懂数据仓库:元数据分类、元数据管理
  17. 为什么谐振时电抗为0_44kVA/44kV变频串联谐振耐压试验装置
  18. 数据分析-信用卡反欺诈模型
  19. 支持嵌入的手机号码识别sdk软件
  20. NOIP模拟赛 czy的后宫5

热门文章

  1. Redis命令行之Hash
  2. Java基础——TreeSet
  3. ORACLE RAC如何增加节点
  4. 心得2-类图、关联关系介绍.doc
  5. 安卓渗透测试工具——Drozer(安装和使用)
  6. OAuth2.0(基于django2.1.2实现版本)
  7. Java SSM框架之MyBatis3(六)MyBatis之参数传递
  8. switch case 遇到判断type分支的写法
  9. 关于前端的一些基础知识
  10. java数组初始化的三种方式