人脸识别中常用的几种分类器

在人脸识别中有几种常用的分类器,一是最邻近分类器;二是线性分类器

(1)最邻近分类器

最近邻分类器是模式识别领域中最常用的分类方法之一,其直观简单,在通常的应用环境中非常有效。因此在人脸识别问题中有着广泛的应用。最邻近方法是这样定义的:

假设训练样本(X,Y)={xi,yi | i=1,2,...n},这里xi 代表第i个样本的特征向量,yi是该样本的类别标签。对于一个新的待分类样本xi,最邻近分类器预测该样本的标签的方法是,寻找与xi距离度量最近的训练样本,然后把该训练样本的标签作为待测试样本xi的标签yi' ,即:

这里d(xi, xi) 代表样本xi 与样本xi 之间的距离度量。

最邻近的算法非常直观,也容易被实现,他通过距离测试样本最近的训练样本的标签来预测当前测试样本的类别,可以适用于任何分布的数据,而且已有文献证明,在样本足够多的情况下,最邻近分类的错误率是比较理想的。

距离度量有很多种,一般采用的室欧氏距离。除此之外还有相关度,卡方,直方图交,Bhattacharyya距离(又名巴氏距离)。

1)欧氏距离  :是一个通常采用的距离定义,它是在m维空间中两个点之间的真实距离。距离值越小,代表两个直方图距离越近,越相似,反之中则代表距离越远。

2)相关度

两直方图之间的相关度定义如下

N等于直方图中bin的个数,对于相关度而言,数值越大越匹配。完全匹配的数值为1,完全不匹配的是-1,值为0则表示无关联,两个直方图是随机组合。

3)卡方Chi-Square

对于卡方而言,匹配度越高,距离越小,则卡方值越低,相反,匹配值越低,距离越大,卡方值越高。完全匹配值为0,完全不匹配的值为无限值。

4)直方图交

对于直方图交,值越大越匹配,距离越小,越低分表示越不匹配。如果两个直方图都被归一化,那么完全匹配的值为1,完全不匹配的值为0.

5)Bhattacharyya 距离

Bhattacharyya 距离又被称之为巴氏距离。巴氏距离可用来对两组特征直方图的相关性进行测量,其常用来作为分类器算法。

定义如下:

对于巴氏距离数值越小表示越匹配,距离越近,而数值越大表示越不匹配,距离越远。两个直方图完全匹配值为0,完全不匹配值为1.

(2)线性分类器

线性分类器(一定意义上,也可以叫做感知机) 是最简单也很有效的分类器形式.在一个线性分类器中,可以看到SVM形成的思路,并接触很多SVM的核心概念.用一个二维空间里仅有两类样本的分类问题来举个小例子。如图所示

C1和C2是要区分的两个类别,在二维平面中它们的样本如上图所示。中间的直线就是一个分类函数,它可以将两类样本完全分开。一般的,如果一个线性函数能够将样本完全正确的分开,就称这些数据是线性可分的,否则称为非线性可分的。

LDA:

线性判别式分析(Linear Discriminant Analysis, LDA),也叫做Fisher线性判别(Fisher Linear Discriminant ,FLD),是模式识别的经典算法,它是在1996年由Belhumeur引入模式识别和人工智能领域的。性鉴别分析的基本思想是将高维的模式样本投影到最佳鉴别矢量空间,以达到抽取分类信息和压缩特征空间维数的效果,投影后保证模式样本在新的子空间有最大的类间距离和最小的类内距离,即模式在该空间中有最佳的可分离性。因此,它是一种有效的特征抽取方法。使用这种方法能够使投影后模式样本的类间散布矩阵最大,并且同时类内散布矩阵最小。就是说,它能够保证投影后模式样本在新的空间中有最小的类内距离和最大的类间距离,即模式在该空间中有最佳的可分离性。

二. 原理简述:

LDA的原理是,将带上标签的数据(点),通过投影的方法投影到维度更低的空间中,使得投影后的点形成按类别区分的情形,即相同类别的点,在投影后的空间中距离较近,不同类别的点,在投影后的空间中距离较远。

要说明LDA,首先得弄明白线性分类器(Linear Classifier):因为LDA是一种线性分类器。对于K-分类的一个分类问题,会有K个线性函数:

当满足条件:对于所有的j,都有Yk > Yj,的时候,我们就说x属于类别k。对于每一个分类,都会用一个公式去计算一个得分值,所有公式的结果中得分最高的那个类别,就是所属的分类了。

上式实际上就是一种投影,是将一个高维的点投影到一条高维的直线上,LDA最求的目标是,给出一个标注了类别的数据集,投影到了一条直线之后,能够使得点尽量的按类别区分开,当k=2即二分类问题的时候,如下图所示:

红色的方形的点为0类的原始点、蓝色的方形点为1类的原始点,经过原点的那条线就是投影的直线,从图上可以清楚的看到,红色的点和蓝色的点被原点明显的分开了,这个数据只是随便画的,如果在高维的情况下,看起来会更好一点。下面我来推导一下二分类LDA问题的公式:

假设用来区分二分类的直线(投影函数)为:

LDA分类的一个目标是使得不同类别之间的距离越远越好,同一类别之中的距离越近越好,所以我们需要定义几个关键的值。

类别i的原始中心点为:(Di表示属于类别i的点)

类别i投影后的中心点为:

衡量类别i投影后,类别点之间的分散程度(方差)为:

最终我们可以得到一个下面的公式,表示LDA投影到w后的损失函数:

我们分类的目标是,使得类别内的点距离越近越好(集中),类别间的点越远越好。分母表示每一个类别内的方差之和,方差越大表示一个类别内的点越分散,分子为两个类别各自的中心点的距离的平方,我们最大化J(w)就可以求出最优的w了。想要求出最优的w,可以使用拉格朗日乘子法,但是现在我们得到的J(w)里面,w是不能被单独提出来的,我们就得想办法将w单独提出来。

我们定义一个投影前的各类别分散程度的矩阵,这个矩阵的意思是,如果某一个输入点集Di里面的点距离这个分类的中心点mi越近,则Si里面元素的值就越小,如果分类的点都紧紧地围绕着mi,则Si里面的元素值越更接近0.

带入Si,将J(w)分母化为:

同样的将J(w)分子化为:

这样损失函数可以化成下面的形式,我们的目标是求取它的最大值:

这样就可以用拉格朗日乘子法了,但是还有一个问题,如果分子、分母是都可以取任意值的,那就会使得有无穷解,我们将分母限制为长度为1(这是用拉格朗日乘子法一个很重要的技巧),并作为拉格朗日乘子法的限制条件,带入得到:

求导公式如下:

这样的式子就是一个求特征值的问题了。

对于N(N>2)分类的问题,我就直接写出下面的结论了:

又因为w=[w1,w2...wd],所以得到:

把损失函数分解可知,我们要求的是:

最佳投影矩阵的列向量即为的d个最大的特征值所对应的特征向量(矩阵的特征向量),且最优投影轴的个数d<=c-1(c表示类的个数).

这里想多谈谈特征值,特征值在纯数学、量子力学、固体力学、计算机等等领域都有广泛的应用,特征值表示的是矩阵的性质,当我们取到矩阵的前N个最大的特征值的时候,我们可以说提取到的矩阵主要的成分(这个和之后的PCA相关,但是不是完全一样的概念)。在机器学习领域,不少的地方都要用到特征值的计算,比如说图像识别、pagerank、LDA、还有之后将会提到的PCA等等。

Fisher线性判别是PCA LDA。

转载于:https://www.cnblogs.com/amengduo/p/9586494.html

人脸识别中常用的几种分类器相关推荐

  1. CV之FRec之ME/LF:人脸识别中常用的模型评估指标/损失函数(Triplet Loss、Center Loss)简介、使用方法之详细攻略

    CV之FRec之ME/LF:人脸识别中常用的模型评估指标/损失函数(Triplet Loss.Center Loss)简介.使用方法之详细攻略 目录 T1.Triplet Loss 1.英文原文解释 ...

  2. 人脸识别中的rank-n

    人脸识别中的rank-n 代表的意思 原创这个昵称唯一 最后发布于2017-09-02 11:05:13 阅读数 2247  收藏 展开 Rank-1 看一些论文总是在结果中看到rank-1,等等,但 ...

  3. 人脸识别中的活体检测算法

    人脸识别中的活体检测算法综述 1. 什么是活体检测? 判断捕捉到的人脸是真实人脸,还是伪造的人脸攻击(如:彩色纸张打印人脸图,电子设备屏幕中的人脸数字图像 以及 面具 等) 2. 为什么需要活体检测? ...

  4. 计算机视觉子方向,计算机视觉方向简介 | 人脸识别中的活体检测算法综述

    原标题:计算机视觉方向简介 | 人脸识别中的活体检测算法综述 本文转载自"SIGAI人工智能学习与实践平台"(ID:SIGAICN) 导言 1. 什么是活体检测? 判断捕捉到的人脸 ...

  5. 人脸识别中Softmax-based Loss的演化史

    点击我爱计算机视觉标星,更快获取CVML新技术 近期,人脸识别研究领域的主要进展之一集中在了 Softmax Loss 的改进之上:在本文中,旷视研究院(上海)(MEGVII Research Sha ...

  6. 人脸识别中的全脸/半脸/中脸

    人脸识别中的一个常用概念是全脸/中脸/半脸 下面讲一下区别 目前DeepFaceLab拥有三种不同类型的脸部模式,H64和H128是半脸(half face)模型,DF LIAEF128 Quick9 ...

  7. [转]人脸识别中的活体检测

    https://zhuanlan.zhihu.com/p/25401788 早在指纹识别应用中就有针对于活体手指的检测技术,即使机器只对真人活体指纹产生识别反应,对其他一切物质不作识别,用于指纹识别产 ...

  8. 人脸识别中的深度学习

    深度学习在人脸识别中的应用 人脸识别的过程包括: 人脸检测 人脸对齐 特征提取(在数学上,实质上是:空间变换) 特征度量 其中,特征提取与度量,是人脸识别问题中的关键问题,也是相关研究的难点之一. 传 ...

  9. yii2 模型中set_Day184:人脸识别中open-set与close-set

    人脸识别 可以简单的分为如下两类: face verification:人脸验证时将人脸分类到某个ID,比如给定两张人脸,判断是否是同一个人(ID) face identification:给定一张人 ...

最新文章

  1. 从玉农业谋定塞外-丰收节交易会·林裕豪:巴彦淖尔深圳签约
  2. 设置图的位置_消防泵房内设备、管网、阀门的设置及系统图
  3. 有关于java的final修饰符
  4. glyphicon halflings regular ttf 报错
  5. 利用Javascript的“函数重载”实现自定义Alert样式
  6. 计算机视觉深度学习实战三:频域分析及其变换
  7. hadoop日常维护之问题解决01
  8. 三对角矩阵行优先压缩存储---加法、减法、乘法、转置、秩、行列式值、伴随矩阵、逆
  9. 红米note5linux刷机包__最新最全的红米Note5ROM刷机包下载、刷机教程_红米Note5论坛_移动叔叔...
  10. vue引入,两种组件库vant,vue-ydui变量冲突问题
  11. 2020德勤面试开始了吗_刚刚去德勤面试,我只说了三个字就被录取了!
  12. CocosCreator Effect (Shader) - 反九宫格就(Sliced)补偿
  13. 批量生成图片的数据增强常用的脚本
  14. 乌镇·Conflux CTO伍鸣:让公链的“不可能三角”成为可能
  15. 《软件工程》实验个人报告,实验三:软件系统设计1;滁州学院课程
  16. 怎么将计算机图标放到桌面,win10怎么把计算机图标放到桌面
  17. Centos7虚拟机下安装配置Tomcat
  18. 解决Linux 系统,出现不在sudoers 文件中,此事将被报告的问题
  19. 20190823考试反思
  20. Altium Designer 生成 BOM(Bill of Material)

热门文章

  1. Oracle location,oracle秘境探索之11g tablespace prellocation
  2. linux定时执行任务命令,crontab(linux下定时执行任务命令)
  3. AcWing 145.超市(二叉堆)
  4. Python爬虫之(九)数据提取-XPath
  5. Map ,Reduce
  6. VS不能设置断点可能的一个原因
  7. bzoj 3527 [Zjoi2014]力——FFT
  8. MATLAB 线性运算之图像相加去噪
  9. 尚学堂科技_王勇_JAVA视频教程_Hibernate
  10. 杜拉拉升职记(1和2)