前言
人脸识别的算法总的可以分为两步,首先是特征提取的部分,然后是根据特征进行判断;
01 首先我们来看一下特征提取的部分
图像的特征包含有图像的颜色特征、纹理特征、形状特征和空间关系特征。
在算法中,特征就是某个区域的像素点经过某种四则运算后所得到的结果。这种结果可以是一个具体的值,可以是一个向量,
可以是一个矩阵亦或是一个多维的数组。
所以说,特征的本质其实就是像素运算的结果。
02 判别部分
假设我们已经通过某种方法得到了我们所需要的特征,那么接下来要做的就是利用这些特征来区分目标了。
这里我们采用阈值判决法,即如果这个特征的取值大于某个特定的阈值,那么我们便认为他属于这个目标。
我们如何得到这个特定的阈值呢?总不能都以0.5为界吧?
这就要借助到我们的机器学习部分的方法了,我们通过使用机器学习的算法来得到这个判决阈值。
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
这里我们要用到的特征是haar特征,那我们就来看一下什么是haar特征
Haar特征最先由Paul Viola等提出,后经过RainerLienhart等扩展引入45°倾斜特征,成为现在OpenCV所使用的的样子。
下图展示了目前OpenCV(2.4.11版本)所使用的共计14种Haar特征,包括5种Basic特征、3种Core特征和6种Titled(即45°旋转)特征。
拓展类型的原理与基本类型相同,只是在角度上或者是形状上稍有区别。
从图中可以看出,haar特征其实就是一些矩形区域,
在后续会对其进行放大的操作,但是同一个类型的矩形区域不管放大多少,其黑白面积比都不变。
Haar特征值反映了图像的灰度变化情况。例如:脸部的一些特征能由矩形特征简单的描述,如:眼睛要比脸颊颜色要深,鼻梁两侧比鼻梁颜色要深,嘴巴比周围颜色要深等。但矩形特征只对一些简单的图形结构,如边缘、线段较敏感,所以只能描述特定走向(水平、垂直、对角)的结构。
ok,现在我们明白了什么是haar特征,下面我们就来