机器学习,就是通过让机器学习的方式,来达到实现某种功能的过程。它都有哪些使用场景呢?比如人脸检测,行人识别,车辆检测,安防监控等。
机器学习=训练样本+特征+分类器。深度学习由海量的训练样本加上人工神经网络组成。共同点在于二者对于机器学习来说它需要一个明确的特征来进行提取,而对于深度学习来说它的样本更多一些。
举一个例子,如何区分IOS和Android系统?在机器学习,那么可以通过特征提取。它们的特征有一个非常明显的,IOS它是三个字母,Android它是七个字母。那么这种字母的差别就是一种特征。而我们如何使用深度学习来实现这个过程?那么我们就需要在神经网络搭建的时候,自己训练特征,特征在训练的时候,那么它有可能会把三个单词抽取出来,比如说IOS和Android,那么单词个数的差别,这种特征抽取出来。也有可能把手机的样子抽取出来,也有可能把手机的价格抽取出来,也有可能把当前的操作系统的不同抽取出来。所以深度学习在最后实现这个目标检测和分类的过程中,我们并不知道它实现的是什么样的特征,并不知道它把什么样的特征抽取出来作为我们最终的判决。而机器学习的过程中,特征非常明显。
Haar特征是一个做人脸检测经常使用的。
而Hog特征是我们做行人检测、车辆检测或者是物体检测经常使用到的。所以它们二者是特征。特征既然有了,那么如何区分这个特征呢?IOS和Android这两个系统单词的个数。单词的个数我们可以通过这样一个number来判决。而这个number判决的过程就相当于我们的分类器。
所以这里的Adaboost分类器以及SVM分类器完成的就是这样一个功能。它完成的就是特征提取完之后如何进行判决。
在机器学习章节,我们大致可以把知识分成三个主要的部分。第一部分:样本准备。第一部分我们要学习如何制作样本。第二部分:获取机器学习的特征。第三部分利用分类器对特征进行分类。所以是分类器的学习。
先来看第一部分,如何获取样本呢?样本的获取可以通过网络,公司内部或者自己搜集。自己搜集样本需要准备成千上万张图片。如果一张张的准备,那么比较的耗时,基本上也是不可能的。所以在这里我们为大家介绍如何通过视频来获取我们的样本数据。我们拍摄一段视频,将视频分解成单张的图像。因为视频在一秒钟之内可以展示多张图像。
第二部分,机器学习的特征。要进行机器学习,那么必须要有待检测目标的特征。一种是Haar特征。
另一种是Hog特征。它们两个分别在不同的场景下,有两个非常典型的应用。Haar特征,主要运用于人脸识别上。Haar特征在人脸识别上的概率非常的高,已经完全可以达到商用的标准。
Hog特征主要用在行人检测上。
Haar特征是由一系列的模板组成。这一系列的模板有基础类型、核心类型、以及ALL所有的类型。通过这些模板我们就可以对Haar特征进行计算。下面是Haar特征的具体计算公式。以当前Haar特征左上角的x2模板为例,我们把这个模板放到我们整个图片上的任意一个位置。
当前的特征=白色部分的像素之和-黑色部分覆盖的像素之和。所以Haar特征的计算还是比较的简单。由此它派生出来两个新的公式。第三个公式它等于四个指针进行加减乘除,并且和我们的权重最后相乘。这三个过程实际上描述的都是同一个Haar特征,只不过它是用三种不同的表达式来给大家展示。我们在后面的课程中会为大家详细地推导这样几个公式。
Haar特征的遍历过程。我们同样想使用这个Haar特征进行人脸识别。我们并不知道当前的人脸在我们图像中到什么位置,因此它需要一个Haar特征的遍历。当前的遍历就是从上到下,从左到右,把图像上的每一个像素全都滑光一次。有的时候人脸可能离图像比较近,或者是离我们图像比较远,这样就造成了人脸的大小不一致。我们可以将当前的模板进行缩放,缩放完之后同样可以进行从上到下,从左到右的滑动,这是Haar特征的遍历过程。
因为正是有了这样一个遍历,所以Haar特征的运算量非常的大。国外有专家提出了一种积分图的方式,利用积分图可以进行特征的快速计算。我们以后会为大家介绍积分图的原理以及如何进行快速计算。
特征我们已经有了,接下来就可以利用分类器来判决这个特征。
样本我们已经有了,比如说我们的人脸。
在Haar和Adaboost组合实现人脸识别之后,Hog+SVM组合实现小狮子识别。在小狮子识别,我们将使用的是SVM支持向量机。
Hog特征相比于之前的Haar特征它要复杂很多。它由一系列的窗体(左边的蓝色的矩形框),以及红色的block模块,绿色的sale模块组成。同时我们要计算在每一个sale中每一个像素它的梯度。梯度我们还要计算它的辐射和方向。根据辐射和方向然后进行直方图的统计,最后得到了我们的Hog特征。
Hog进行梯度计算的时候同样也有一个模板。
我们要检验当前通过分类器我们设置的特征是否有效。
# 1 样本 2 特征 3 分类器 4 预测 检验# haar+adaboost -》face# haar 模板 adaboost 三级 (强分类器 弱分类器 node)# hog 模板 svm 小狮子识别