• 吴恩达《机器学习》第十八章:图片文字识别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两个模块;

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

  • 相关阅读:
    一步一步配置 Dell OME 监控 Dell 服务器硬件报警
    比较详细的介绍zabbix监控tomcat
    Docker-03 docker 加速器--DaoCloud 1.0
    Docker-02 无人值守安装 docker
    Docker-01 无人值守升级 CentOS 6.x 系统内核到 3.10.x 长期支持版
    一个awk if 嵌套 if 的脚本
    CentOS 安装 JDK
    zTree默认勾选指定ID并执行事件
    数据库游标的使用
    js进度条实现
  • 原文地址:https://www.cnblogs.com/Luweir/p/14147207.html
Copyright © 2020-2023  润新知