基于最大最小距离的人脸识别
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Neighbor Search with Global Geometry:A Minimax Message Passing
Algorithm
基于全局数据集合结构的近邻搜索:极大极小信息传递算法
人脸识别简介:
人脸识别技术是基于人的脸部特征,对输入的人脸图象或者视频流 . 首先判断其是否存在人脸 , 如果存在人脸,则进一步的给出每个脸的位置、大小和各个主要面部器官的位置信息。并依据这些信息,进一步提取每个人脸中所蕴涵的身份特征,并将其与已知的人脸进行对比,从而识别每个人脸的身份。
广义的人脸识别实际包括构建人脸识别系统的一系列相关技术,包括人脸图像采集、人脸定位、人脸识别预处理、身份确认以及身份查找等;而狭义的人脸识别特指通过人脸进行身份确认或者身份查找的技术或系统。
人脸识别技术中被广泛采用的区域特征分析算法,它融合了计算机图像处理技术与生物统计学原理于一体,利用计算机图像处理技术从视频中提取人像特征点,利用生物统计学的原理进行分析建立数学模型,即人脸特征模板。利用已建成的人脸特征模板与被测者的人的面像进行特征分析,根据分析的结果来给出一个相似值。通过这个值即可确定是否为同一人。
基本算法:1.基于人脸特征点的识别算法(Feature-based recognition algorithms )。 2.基于整幅人脸图像的识别算法(Appearance-based recognition algorithms )。 3.基于模板的识别算法(Template-based recognition algorithms )。
4.利用神经网络进行识别的算法(Recognition algorithms using neural network )。
5.利用线性回归进行识别的算法。
6.利用稀疏表示进行识别的算法。
我的课题是利用最小最大距离进行人脸识别的算法( Neighbor with Global Geometry :A Minimax Message Passing Algorithm )
核心算法:
1. k-Nearest Neighbor algorithm (k 邻近算法)
K 最近邻(k-Nearest Neighbor ,KNN)分类算法,是一个理论上比较成熟的方法,也是最简单的机器学习算法之一。该方法的思路是:如果一个样本在特征空间中的k 个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。KNN 算法中,所选择的邻居都是已经正确分类的对象。该方法在定类决策上只依据最邻近的一个或者几个样本的类别来决定待分样本所属的类别。 KNN 方法虽然从原理上也依赖于极限定理,但在类别决策时,只与极少量的相邻样本有关。由于KNN 方法主要靠周围有限的邻近的样本,而不是靠判别类域的方法来确定所属类别的,因此对于类域的交叉或重叠较多的待分样本集来说,KNN 方法较其他方法更为适合。
具体来说就是在N 个已知样本中,找出X 的k 个近邻。设这N 个样本中,来自1w 类的样本有1N 个,来自2w 类的有2N 个,…,来自c w 类的有c N 个,若12,,...,c k k k 分别是k 个近邻中属于12,...,c w w w 类
的样本数,则我们可以定义判别函数为:
(),1,2,...,i i g x k i c ==
决策规则为:若 ()max j i i g x k =
则决策j x w ∈。
上图中,绿色圆要被决定赋予哪个类,是红色三角形还是蓝色四方形?如果K=3,由于红色三角形所占比例为2/3,绿色圆将被赋予红色三角形那个类,如果K=5,由于蓝色四方形比例为3/5,因此绿色圆被赋予蓝色四方形类。
2. minimum spanning tree (最小生成树)
在一给定的无向图 G = (V, E) 中,(u, v) 代表连接顶点 u 与顶点 v 的边(即 ),而 w(u, v) 代表此边的权重,若存在 T 为 E 的子集(即 )且为无循环图,使得 w(T) 最小,则此 T 为 G 的最小生成树。
许多应用问题都是一个求无向连通图的最小生成树问题。例如:在设计电子线路时,常常要把数个元件的引脚连接在一起,使其电位相同。要是n 个引脚互相连通,可以使用n-1条连接线,每条连接线连接两个引脚。在各种连接方案中,通常希望找出连接线最小的接法。
可以把这一接线问题模型化为一个无向连通图G=(V,E ),其中V 是引脚集合,E 是每对引脚
之间可能互联的集合。对图中每一条边
,都有一个权值 , 表示 u 和 v 的代价(需要接线数目)。我们希望找出一个无回路的子集 ,
它连接了所有的顶点,且其权值之和:
为最小。因为T 无回路且连接所有的顶点,所以它必然是一棵树,称为生成树(spanning tree ),因为它“生成”了图G 。把确定树T 的问题称为最小生成树。
3. 欧氏距离
欧几里得度量定义欧几里得空间中,点 x = (x1,...,xn) 和 y = (y1,...,yn) 之间的距离为:
(u,v)E ∈(,)w u v T E ⊆(,)()(,)u v T
w T w u v ∈=∑
向量的自然长度,即该点到原点的距离为
.
它是一个纯数值。在欧几里得度量下,两点之间直线最短。
欧氏距离变换在数字图像处理中的应用范围很广泛,尤其对于图像的骨架提取,是一个很好的参照。
论文分析:
对于人脸识别来讲,我们需要将人脸的正面图片转换成为矩阵,通过数字矩阵来表征人脸,每张人脸图片都是一个1024*1的矩阵,在不同的光照和位置的环境下,每个人一共有10张不同的图片,即1024*10矩阵。一共40个人,则会有一个1024*400矩阵。我们要做的工作就是给定一个这40个中的一个人的人脸数据,对人脸数据进行鉴别分类,最后确定这张人脸是哪个人。
具体来讲,我们都会用kNN算法进行分类,用欧氏距离计算出测试样本到训练样本的距离,并对最近的距离进行排列,对k取值,例如取5,那么分析前5个中哪一类占比重大,如果一类有3个,那么将把测试样本归入1类中。
但是,利用欧氏距离进行kNN分类存在问题,尤其是在基于全局数据几何结构的邻近搜索中,见下图:
对于(a)图来讲,用欧式距离结果是正确的,可以把黑星分类正确,但是对于(b)图来讲,用欧式距离会把黑星分类给蓝色的叉号一类,造成分类错误。对于(c)图,绿线以上的黑点会分类到红圈中,绿线以下的黑点会分类到蓝叉中。由此会发现欧式距离来对具有几何结构的数据进行分类会造成严重的误差。然而,欧式距离更适用于具有球形分布结构的数据,人脸数据一般不满足这一条件,最大最小距离(minimax distance)基于数据的流型结构,是一种更适合人脸的度量方法。
下面介绍用构造最小生成树来计算距离然后进行分类。用最小生成树得到一棵权值之和最小的树,由最小生成树的性质可知,从一个点到任何一个端点的路径是唯一的,那么我们定义每一个训练样本点a到测试样本点b的距离d为:d等于从a到b路径上所有点的两点之间的最大值。然后记录下来这个距离,那么每个训练样本到测试样本点的距离都计算并保存起来,为了达到更加精确减小误