第十一周-ORC系统

2024-01-02 17:32
文章标签 系统 第十一 orc

本文主要是介绍第十一周-ORC系统,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1图像ORC

1.1问题描述

在这一段介绍一种 机器学习的应用实例 照片OCR技术。 我想介绍这部分内容的原因 主要有以下三个 , 
1. 第一 展示 一个复杂的机器学习系统 是如何被组合起来的 
2. 第二 介绍一下 机器学习流水线(machine learning pipeline)的有关概念, 以及在决定下一步做什么时, 如何分配资源。 
3. 最后,通过介绍照片OCR问题 的机会来告诉你, 机器学习的诸多 有意思的想法和理念 。其中之一是如何将机器学习 应用到计算机视觉问题中, 第二是有关 人工数据合成(artificial data synthesis)的概念。

OCR技术 -主要解决的问题是让计算机 读出照片中拍到的文字信息。

image

OCR pipeline的意思主要是把一个ML系统分割为几个连续的部分,如下图:

image

如果你有一个工程师的团队 在完成同样类似的任务, 那么通常你可以让 不同的人来完成 不同的模块 ,所以我可以假设 文字检测这个模块 需要大概1到5个人 ,字符分割部分 需要另外1到5个人 ,字母识别部分 还需要另外1到5个人。

在复杂的机器学习系统中 流水线的概念 已经渗透到各种应用中

1.2 滑动窗(sliding windows)

为了更好地介绍 图像的检测 ,我们从一个简单一点的例子开始, 我们先看这个探测行人的例子:

在行人检测中 你希望照一张相片 然后找出图像中 出现的行人。

image

这个问题似乎 比文字检测的问题更简单, 原因是 大部分的 行人都比较相似, 因此可以使用一个固定宽高比的 矩形来分离出你希望找到的行人。

image

我们要做的是 首先对这个图像取一小块长方形, 比如这是一个 82×36的图像块, 我们将这个图像块 ,通过我们训练得到的分类器 来确定 这个图像块中是不是有行人。 如果没问题的话, 我们的分类器 应该报告这个图像块 y=0 因为没有行人 。

做完这以后 , 我们再向右滑动一点窗口 然后同样地 把图像块传入分类器, 你每次滑动窗口的 大小是一个参数 ,通常被称为 步长(step size) 。这样一个滑动的过程就叫做:滑动窗(sliding windows)。


接下来我们转向 文字识别的例子 ,让我们来看看 对于照片 OCR 流水线中 要检测出文字 需要怎样的步骤 。 
1. 第一步通过滑动窗在图像中找出有字母的部分,然后把他变白方便下一步提取。

image

  1. 分割字母,使用滑动窗在上一部提取的像素中提取分割的部分。

image

image —–> image 
3. 第三步,字母分类。

image

分类哪个字母或哪26个字符A到Z。

1.3获取大量的图片

Getting Lots of Data and Artificial Data获取大量数据和人工合成数据。

要想获得一个比较高效的 机器学习系统, 其中一种最可靠的办法是 选择一个低偏差的学习算法 ,然后用一个巨大的训练集来训练它 。但你从哪儿得到那么多的训练数据呢? 其实在机器学习中 有一个很棒的想法 叫做“人工数据合成”(artificial data synthesis) 。 就是说用一个小的训练集 将它扩充为一个 大的训练集 ,这节课中 我们将对这两种方法进行介绍 。

为了介绍人工数据合成的概念 让我们还是用之前用过的 照片OCR流水线中 的字母识别问题, 我们输入一个图像数据 然后想识别出是什么字母 。

如果你想要获得 更多的训练样本 ,其中一种方法是你可以 采集同一个字符的不同种字体 , 
然后将这些字符 加上不同的随机背景。 比如你可以取这个字母C, 然后把它粘贴到一个随机背景前面 。

image

因此通过使用合成的数据 ,你实际上已经获得了 无限的训练样本, 这就是人工数据合成 。

idea2: take an existing example and and introducing distortions通过引入扭曲合成数据 
image

注意:网格线覆盖图像只是为了说明的目的。

image
如果您面临机器学习问题,通常值得做两件事情: 
其中一个就是头脑清楚,通过学习曲线,可以得到更多的数据。 
其次,假设情况如此,请问:要获得十倍的创造数据将需要多少时间,但有时候,您可能会感到惊讶,原因可能是几天,几周甚至几天 ,这可以是一个很好的方式来给你的学习算法在性能上有巨大的提升。

1.4分析

Ceiling Analysis:What Part of the Pipeline to Work on Next 上限分析-接下来工作重心应放在pipeline哪个部分。

上限分析的想法:通过经历这样的分析,你试图找出什么是上升的潜力,改善这些组件的每一个,或者如果这些组件中的一个变得绝对完美,那么你可能获得多少 
对该系统的性能提出了一个上限。

image

首先写出总的项目精度为72%;然后手工把某一个模块设置为“全对”,看模型提升了多少,提升的多说明这个工作有用;提升的少,说明在这里做工作没什么太大意义

另外一个例子:Another more complex ceiling analysis example人脸识别。 
image

看每一个小块的提升对总的精度提升的大小。 
image

这篇关于第十一周-ORC系统的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/563168

相关文章

linux重启命令有哪些? 7个实用的Linux系统重启命令汇总

《linux重启命令有哪些?7个实用的Linux系统重启命令汇总》Linux系统提供了多种重启命令,常用的包括shutdown-r、reboot、init6等,不同命令适用于不同场景,本文将详细... 在管理和维护 linux 服务器时,完成系统更新、故障排查或日常维护后,重启系统往往是必不可少的步骤。本文

Mac系统下卸载JAVA和JDK的步骤

《Mac系统下卸载JAVA和JDK的步骤》JDK是Java语言的软件开发工具包,它提供了开发和运行Java应用程序所需的工具、库和资源,:本文主要介绍Mac系统下卸载JAVA和JDK的相关资料,需... 目录1. 卸载系统自带的 Java 版本检查当前 Java 版本通过命令卸载系统 Java2. 卸载自定

基于Python实现一个简单的题库与在线考试系统

《基于Python实现一个简单的题库与在线考试系统》在当今信息化教育时代,在线学习与考试系统已成为教育技术领域的重要组成部分,本文就来介绍一下如何使用Python和PyQt5框架开发一个名为白泽题库系... 目录概述功能特点界面展示系统架构设计类结构图Excel题库填写格式模板题库题目填写格式表核心数据结构

Linux系统中的firewall-offline-cmd详解(收藏版)

《Linux系统中的firewall-offline-cmd详解(收藏版)》firewall-offline-cmd是firewalld的一个命令行工具,专门设计用于在没有运行firewalld服务的... 目录主要用途基本语法选项1. 状态管理2. 区域管理3. 服务管理4. 端口管理5. ICMP 阻断

Windows 系统下 Nginx 的配置步骤详解

《Windows系统下Nginx的配置步骤详解》Nginx是一款功能强大的软件,在互联网领域有广泛应用,简单来说,它就像一个聪明的交通指挥员,能让网站运行得更高效、更稳定,:本文主要介绍W... 目录一、为什么要用 Nginx二、Windows 系统下 Nginx 的配置步骤1. 下载 Nginx2. 解压

如何确定哪些软件是Mac系统自带的? Mac系统内置应用查看技巧

《如何确定哪些软件是Mac系统自带的?Mac系统内置应用查看技巧》如何确定哪些软件是Mac系统自带的?mac系统中有很多自带的应用,想要看看哪些是系统自带,该怎么查看呢?下面我们就来看看Mac系统内... 在MAC电脑上,可以使用以下方法来确定哪些软件是系统自带的:1.应用程序文件夹打开应用程序文件夹

windows系统上如何进行maven安装和配置方式

《windows系统上如何进行maven安装和配置方式》:本文主要介绍windows系统上如何进行maven安装和配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不... 目录1. Maven 简介2. maven的下载与安装2.1 下载 Maven2.2 Maven安装2.

使用Python实现Windows系统垃圾清理

《使用Python实现Windows系统垃圾清理》Windows自带的磁盘清理工具功能有限,无法深度清理各类垃圾文件,所以本文为大家介绍了如何使用Python+PyQt5开发一个Windows系统垃圾... 目录一、开发背景与工具概述1.1 为什么需要专业清理工具1.2 工具设计理念二、工具核心功能解析2.

Linux系统之stress-ng测压工具的使用

《Linux系统之stress-ng测压工具的使用》:本文主要介绍Linux系统之stress-ng测压工具的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、理论1.stress工具简介与安装2.语法及参数3.具体安装二、实验1.运行8 cpu, 4 fo

ubuntu20.0.4系统中安装Anaconda的超详细图文教程

《ubuntu20.0.4系统中安装Anaconda的超详细图文教程》:本文主要介绍了在Ubuntu系统中如何下载和安装Anaconda,提供了两种方法,详细内容请阅读本文,希望能对你有所帮助... 本文介绍了在Ubuntu系统中如何下载和安装Anaconda。提供了两种方法,包括通过网页手动下载和使用wg