概念

1.机器学习:训练样本,特征,分类器。最需要的是特征。

2.深度学习:海量的训练数据,神经网络。最需要的是样本多一些。

特征

Hear特征一般是人脸检测用到的

Hog特征一般是物体检测用到的

分类器

特征提取完成之后如何判决,这就是我们的分类器

区别

区分ios和安卓系统?

机器学习可以进行特征提取,ios 三个字母,Android 七个字母。这就是一种特征上的差别

单词的个数(特征) num判决(分类器) 这就可以是一个简单的分类器。

深度学习: 神经网络训练自己抽取特征,有可能把更多特征抽取出来。

我们并不知道深度学习的神经网络抽取了什么样的特征(可能是logo,可能是外观),进行最终判别。

机器学习的过程

样本准备:比如视频获取样本。

获取机器学习的特征

用分类器对于机器学习的特征进行分类

Hear特征

Haar特征主要用于人脸识别上,它在人脸识别上的概率非常的高,已经可以达到商用。

Hear特征是有一系列模板构成,有基础类型,核心类型,所有类型,通过这些模板就可以对Hear特征进行计算

Hear特征公式(三个公式一样):

Haar特征遍历:

我们并不知道人脸位于我们图像的哪个位置,所以我们需要使用haar特征进行遍历

另外如果模板不合适,我们自己可以进行调整。

正是由于遍历导致,Hear特征的运算量非常的大,所以外国人想出了一个办法---积分图

运用积分图,我们可以很快的进行运算。

Adabooat分类器

在我们有了特征之后就该使用分类器进行分类,或者说判决。

最后haar特征 + Adaboost 实现人脸识别

haar 由一系列模板组成,adboost分类器分为三级(强分类器,弱分类器,node节点)

Hog特征

Hog由一系列的窗体组成: 蓝色矩形框,红色block模块,绿色的cell模块。我们要计算cell模块中每一个像素的梯度。我们还要计算它的浮值和方向。

根据浮值与方向进行直方图的统计最后得到hog特征。

hog在进行梯度计算的时候同样有一个模板,加上SVM,实现小狮子识别。

机器学习的最后一步,预测或检验特征是否有效。

opencv-机器学习章节介绍的更多相关文章

  1. OpenCV 编程简单介绍(矩阵/图像/视频的基本读写操作)

    PS. 因为csdn博客文章长度有限制,本文有部分内容被截掉了.在OpenCV中文站点的wiki上有可读性更好.而且是完整的版本号,欢迎浏览. OpenCV Wiki :<OpenCV 编程简单 ...

  2. Embedded Linux Primer----嵌入式Linux基础教程--章节介绍

    章节介绍 第一章,“导引”,简要介绍了Linux被迅速应用在嵌入式环境的驱动因素,介绍了与嵌入式Linux相关的几个重要的标准和组织. 第二章,“第一个嵌入式经历”,介绍了与后几章所构建的嵌入式Lin ...

  3. Java机器学习软件介绍

    Java机器学习软件介绍 编写程序是最好的学习机器学习的方法.你可以从头开始编写算法,但是如果你要取得更多的进展,建议你采用现有的开源库.在这篇文章中你会发现有关Java中机器学习的主要平台和开放源码 ...

  4. OpenCV基础知识介绍

    1.图像与矩阵 一般来说,图像是一个标准的矩形,有着宽度(width)和高度(height).而矩阵有着行(row)和列(column),矩阵的操作在数学和计算机中的处理都很常见且成熟,于是很自然的就 ...

  5. OpenCV库文件介绍

    以前都是直接用opencv,都没有仔细研究过,这次把库文件都介绍一下. 1.build和source 当我们安装完opencv中,你会发现在opencv文件夹中有两个文件夹,build和source, ...

  6. OpenCV机器学习库函数--SVM

    svm分类算法在opencv3中有了很大的变动,取消了CvSVMParams这个类,因此在参数设定上会有些改变. opencv中的svm分类代码,来源于libsvm. #include "o ...

  7. [opencv]opencv主要组件介绍

    [calib3d]--其实就是就是Calibration(校准)加3D这两个词的组合缩写.这个模块主要是相机校准和三维重建相关的内容.基本的多视角几何算法,单个立体摄像头标定,物体姿态估计,立体相似性 ...

  8. OpenCV支持向量机(SVM)介绍

    支持向量机(SVM)介绍 目标 本文档尝试解答如下问题: 如何使用OpenCV函数 CvSVM::train 训练一个SVM分类器, 以及用 CvSVM::predict 测试训练结果. 什么是支持向 ...

  9. Google TensorFlow 机器学习框架介绍和使用

    TensorFlow是什么? TensorFlow是Google开源的第二代用于数字计算(numerical computation)的软件库.它是基于数据流图的处理框架,图中的节点表示数学运算(ma ...

  10. Opencv模块功能介绍

    本文为原创作品,转载请注明出处 欢迎关注我的博客:http://blog.csdn.net/hit2015spring和http://www.cnblogs.com/xujianqing/   站在巨 ...

随机推荐

  1. PDM中列举所有含取值范围、正则表达式约束的字段

    Option   Explicit ValidationMode   =   True InteractiveMode =   im_Batch Dim   mdl   '当前model '获取当前活 ...

  2. ajax补充FormData

    一.回顾上节知识点 1.什么是json字符串? 轻量级的数据交换格式 2.定时器:关于setTimeout setTimeout(foo,3000)  # 3000表示3秒,foo表示一个函数,3秒后 ...

  3. Mysql数据库服务器配置文件/etc/my.cnf的详细配置

    以下是 Mysql数 据库服务器配置文件 /etc/my.cnf的详细配置.应用场合是 InnoDB引擎, 4核 CPU, 32位SUSE.   [client] port        = 3306 ...

  4. jsp与struts的区别

    JSP通常用于MVC的View层,Struts1,Struts2用于MVC的Control层. JSP用来展示页面信息,使用servlet API封装而成,代替servlet中response向客户端 ...

  5. LNMP 1.4 nginx启动脚本和配置文件

    编写Nginx启动脚本,写入下面这段,授权755 vim /etc/init.d/nginx #!/bin/bash # chkconfig: - # description: http servic ...

  6. DAY8-python之网络编程

    一.客户端/服务器架构 1.硬件C/S架构(打印机) 2.软件C/S架构 互联网中处处是C/S架构 如黄色网站是服务端,你的浏览器是客户端(B/S架构也是C/S架构的一种) 腾讯作为服务端为你提供视频 ...

  7. os.path.join合并 os.path.dirname返回上一级目录 os.path.exists(path) os.stat('path/filename')获取文件/目录信息

    import os str1 = "grsdgfd" str2 = "wddf" str3 = "gddgs" # print(str1 + ...

  8. ActiveMQ (一) 介绍与安装

    ActiveMQ是消息中间件的一种 ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线.ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provide ...

  9. 关于contentprovider的几个问题

    说说ContentProvider与Android数据存储的关系? contentprovider是程序之间共享数据的唯一方式,android中没有公共数据区域的说法,每个进程启动都是不同的用户,与P ...

  10. [poj3348]Cows

    题目大意:求凸包面积. 解题关键:模板题,叉积求面积. 这里的cmp函数需要调试一下,虽然也对,与普通的思考方式不同. #include<cstdio> #include<cstri ...