18.1问题描述和流程图

(1)图像文字识别是从给定的一张图片中识别文字。

(2)流程包括:

1.文字侦测

2.字符切分(现在不需要切分了)

3.字符分类

18.2滑动窗口

在行人检测中,滑动窗口是首先训练一个固定尺寸输入的判断是否有行人的网络,然后在一张图片中裁该尺寸的图片,送入到网络中;然后不断移动裁剪区,重复以上过程,知道裁剪到最后,这时按比例放大裁剪区,然后将裁剪到的图片缩放到网络的输入,如此循环。

首先滑动窗口同样用于文字识别,做字符与非字符区分,然后把字符区域适当扩展,然后合并重叠区域,按照高宽比进行过滤(认为长度大于高度),如下图所示:

然后进行文字的分割,通用训练一个模型,数据集如下:

分割出单个字符之后,利用神经网络、支持向量机或者逻辑回归训练一个分类器即可。

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

(1)从网上下载字体,然后随机添加跟着背景创造实例;

(2)利用已有数据进行旋转、扭曲、模糊处理等产生新数据;

有关获取更多数据的方法:

(1)人工数据合成;

(2)手动收集、标记数据;

(3)众包;

18.4上限分析:哪部分管道该接下去做

如下下面的流程中,本来正确率为72%,如果提供完全正确的文字检测作为文字分割的输入,发现系统正确率提升到了89%,说明要下功夫在文字检测上了。

下表是每一步如果完全正确,会带来多大的提升,如果提升越大,说明越要花功夫在这一步上。下表首先要花功夫在文字检测上,然后是文字识别,而文字分割已经做得很好了。

吴恩达《机器学习》课程总结(18)_照片OCR的更多相关文章

  1. ML:吴恩达 机器学习 课程笔记(Week1~2)

    吴恩达(Andrew Ng)机器学习课程:课程主页 由于博客编辑器有些不顺手,所有的课程笔记将全部以手写照片形式上传.有机会将在之后上传课程中各个ML算法实现的Octave版本. Linear Reg ...

  2. ML:吴恩达 机器学习 课程笔记(Week7~8)

    Support Vector Machines Unsupervised Learning Dimensionality Reduction

  3. ML:吴恩达 机器学习 课程笔记(Week5~6)

    Neural Networks: Learning Advice for Applying Machine Learning Machine Learning System Design

  4. ML:吴恩达 机器学习 课程笔记(Week9~10)

    Anomaly Detection Recommender Systems Large Scale Machine Learning

  5. ML:吴恩达 机器学习 课程笔记(Week3~4)

    Logistic Regression Regularization Neural Networks: Representation

  6. Coursera-吴恩达机器学习课程笔记-Week2

    参考资料: 吴恩达教授机器学习课程 机器学习课程中文笔记 Week2 一. 多变量线性回归(Linear Regression with Multiple Variables) 多变量就时当一个exa ...

  7. Coursera-吴恩达机器学习课程笔记-Week1

    参考资料: 吴恩达教授机器学习课程 机器学习课程中文笔记 Week 1 一. 引言 机器学习模型可分为监督学习Superviese learning(每个数据集给出了正确的值)和无监督学习Unsupe ...

  8. 吴恩达机器学习CS229课程笔记学习

    监督学习(supervised learning) 假设我们有一个数据集(dataset),给出居住面积和房价的关系如下: 我们以居住面积为横坐标,房价为纵坐标,组成数据点,如(2104, 400), ...

  9. Machine Learning——吴恩达机器学习笔记(酷

    [1] ML Introduction a. supervised learning & unsupervised learning 监督学习:从给定的训练数据集中学习出一个函数(模型参数), ...

随机推荐

  1. thinkphp empty标签

    empty标签用于判断某个变量是否为空,用法: 大理石平台检验标准 <empty name="name"> name为空值 </empty> 如果判断没有赋 ...

  2. 构造流量图+乱搞——cf990F

    /* 结论1:有解的充要条件是所有点权之和为0 结论2:删掉环上的一条边,只要将这个环上的其余边都减去这条边的边权,那么这个图仍是等价的 从原图网络中构造出一棵带权值的树即可,其他边权都设置为0 通过 ...

  3. Spring源码由浅入深系列一 简介

    概述: Spring是一个企业级的开源框架.它提供轻量级的依赖注入.面向切面编程.全方位的整合框架.下图是Spring框架的组成部分,各部分内容作了简单说明. 依赖注入:         依赖注入是S ...

  4. docker 可持续集成及日志管理及监控报警

  5. ArrayList 和linkedList 插入比较

    从学Java开始, 就一直大脑记着  arrayList 底层是数组 ,查询快, 插入慢, 有移动的动作.linkedList 底层链表, 插入快 查询慢,今天写了例子跑了跑, 果然. public ...

  6. NEERC 2015 Adjustment Office /// oj25993

    题目大意: 输入n,q: 矩阵大小为n*n 每个位置的值为该位置的行数+列数 接下来q行 “R m”表示输出第m行的总和并整行消去 “C m”表示输出第m列的总和并整列消去 Sample Input ...

  7. shell脚本练习01

    ######################################################################### # File Name: 4.5.sh # Auth ...

  8. C开发系列-数组

    C语言数组 数组:用来存储一组数据. 计算C语言的数组长度 int age1 = 12; int age2 = 15; int age3 = 10; int age4 = 13; int ages[] ...

  9. mac brew nginx php php-fpm xdebug

    /usr/local/opt/nginx/bin/nginx -v brew services restart nginx sudo /usr/local/sbin/php-fpm --fpm-con ...

  10. JS规则 多样化的我(变量赋值)我们使用"="号给变量存储内容,你可以把任何东西存储在变量里,如数值、字符串、布尔值等,

    多样化的我(变量赋值) 我们可以把变量看做一个盒子,盒子用来存放物品,那如何在变量中存储内容呢? 我们使用"="号给变量存储内容,看下面的语句: var mynum = 5 ; / ...