采用新型密度聚类进行人脸识别的方法
【技术领域】
[0001] 本发明设及采用新型密度聚类进行人脸识别的方法。
【背景技术】
[0002] 近年来,人脸识别成为一项热口的计算机技术研究领域。人脸识别技术作为生物 识别技术的一种,它结合了图像处理、计算机图形学、模式识别等多个研究领域。聚类方法 是人脸识别技术的最重要组成部分之一。由于人脸图像数据通常复杂分布,常用的聚类方 法无法很好地识别出复杂的不规则形状分类。如何将准确、健壮、高效的聚类方法应用到人 脸识别中是目前急需解决的问题。
【发明内容】
[0003] 本发明的目的在于提出一种采用新型密度聚类进行人脸识别的方法,与其他的基 于质屯、的聚类方法相比,具有准确度高,能识别分布无序、非球形等复杂数据的优点,提高 了人脸识别的准确度。
[0004] 本发明一种采用新型密度聚类进行人脸识别的方法,包括如下几个步骤:
[0005] 步骤1、读取人脸图像:
[0006] 所用人脸图像是大小为MXN的灰度图像,用每个像素作为一个特征点,读入K张人 脸图像得到图像特征矩阵Ai(mxn),其中i = l,2, . . .,Κ;将图像特征矩阵Ai(mxn)转换为特征向 量 fi(ixMN),其中 fiα:N)=Aiα,l:N),fi(N+l:2N)=Ai(2,l:N),依此类推,对特征向量fi的 每个维度做0-1归一化,即
其中j = 1,2,…,MN,然后更 新特征向量fi;
[0007] 步骤2、计算距离矩阵:
[0008] 用特征向量集f作为待聚类数据集P输入,其人脸特征向量点的数目记为N,待聚类 数据集P中第i个人脸特征向量点记为Pi,计算待聚类数据集P中每两个人脸特征向量点Pi之 间的距离,生成距离矩阵(di,j)NXN,其中di,康示点Pi到pj的距离;
[0009] 步骤3、找出所有人脸特征向量点Pi的密度中屯、点:
[0010] 用r作为扫描半径对每个人脸特征向量点Pi进行扫描,将待聚类数据集P中与Pi的 距离小于r的人脸特征向量点加入到Pi的r-Nei曲bor集合化ii= {pj I di, j非忡,算出集合 化ii中所有人脸特征向量点Pi的平均值
,其中k为集合化ii中人脸特征向量 点的总个数,在待聚类数据集P中找到距离平均值Meani最近的人脸特征向量点作为Pi的密 度中屯、点Ci,即
'其中I |p-meani| h表示点P与mearii的几何距离;
[0011 ]步骤4、计算人脸向量特征点P j的密度:
[0012]将集合Neii中元素的个数作为人脸特征向量点Pi的密度值化= size(Neii),即
[0013] 步骤5、找出所有人脸特征向量点w的密度汇聚点:
[0014] 通过迭代计算寻找每个人脸特征向量点W的局部密度中屯、点,直到最后收敛,收 敛点称为该点的密度汇聚点:
[001引找到Pi的密度中屯、点Ci = pj,找到pj的密度中屯、点cj = pk,若Pk的密度中屯、点仍然 是Ck = pk,则停止迭代,将Pk作为Pi、Pj、Pk的密度汇聚点,记作cp(i)=cp( j)=cp化)=pk;
[0016] 步骤6、找出所有人脸特征向量点w的局部密度峰值点:
[0017] 若人脸特征向量点Pi的密度汇聚点是其自身,即cp(i)=pi,并且Pi的密度值Pi大 于给定的密度阔值t,则将其加入到局部密度峰值点集合LPS中,记作LPS={pi|(cp(i)=pi) 八(化含t)}
[0018] 步骤7、对局部密度峰值点集合WS中的所有人脸特征向量点pi按最近邻近算法进 行聚类,每个类别就是一个密度核屯、,将局部密度峰值点集合LPS中每个局部密度中屯、点Ip 的类别记为cl(lp);
[0019] 步骤8、把其它所有非局部密度峰值点P的类别初始化为-1,再划归到与其汇聚中 屯、点相同类别,即cl(p)=cl(cp(p)),把cl(p)=-l的点记为离群点;
[0020] 步骤9、输出聚类结果cl(p):
[0021] cl(p)表示该人脸的类别,若cl(pl)=cl(p2),表示pi与p2所代表的两张人脸图像 是同一人,若cl(p)=-l表示该人脸类别未识别。
[0022] 由于本发明通过寻找密度核屯、而非单一质屯、来进行聚类,一个类别的密度核屯、由 一些密度相对较高的松散联结在一起的汇聚点构成,其它数据点按一定结构聚焦在运些点 外围.因而可W克服了传统聚类算法难W识别非范数球形结构的数据,提高了人脸识别的 准确度。
【具体实施方式】
[0023] 本发明一种采用新型密度聚类进行人脸识别的方法,包括如下几个步骤:
[0024] 步骤1、读取人脸图像:
[0025] 所用人脸图像是大小为MXN的灰度图像,用每个像素作为一个特征点,读入K张人 脸图像得到图像特征矩阵Ai(mxn),其中i = l,2,...,K;为了方便计算,将图像特征矩阵 Ai(MXN)转换为特征向量fi(ixMN),其中fi(l :N) =Ai(l,1 :N),fi(N+l :2N) =Ai(2,1 :N),依此类 推,对特征向量fi的每个维度做0-1归一化,即:
,其中j = 1,2,…,MN,然后更新特征向量f i;
[00%] 步骤2、计算距离矩阵:
[0027]用特征向量集f作为待聚类数据集P输入,其人脸特征向量点的数目记为N,待聚类 数据集P中第i个人脸特征向量点记为Pi,计算待聚类数据集P中每两个人脸特征向量点Pi之 间的距离,生成距离矩阵(dij)NXN,其中di,康示点Pi到P撕距离;
[00%]步骤3、找出所有人脸特征向量点Pi的密度中屯、点:
[0029] 用r作为扫描半径对每个人脸特征向量点Pi进行扫描,W第i个人脸特征向量点Pi 为例,将P中与Pi的距离小于r的人脸特征向量点加入到Pi的r-Neig化or集合化ii={pj|dij
其中k为集合化ii 中人脸特征向量点的总个数,在待聚类数据集P中找到距离平均值Meam最近的人脸特征向 量点作为Pi的密度中屯、点ci,即
其中Mp-meani||2表示点P与 meam的几何距离;
[0030] 步骤4、计算人脸向量特征点W的密度:<