1.一种采用新型密度聚类进行人脸识别的方法,其特征在于包括如下几个步骤:步骤1、读取人脸图像:
所用人脸图像是大小为M×N的灰度图像,用每个像素作为一个特征点,读入K张人脸图像得到图像特征矩阵Ai(M×N),其中i=1,2,...,K;将图像特征矩阵Ai(M×N)转换为特征向量fi(1×MN),其中fi(1:N)=Ai(1,1:N),fi((N+1):2N)=Ai(2,(1:N)),依此类推,对特征向量fi的每个维度做0-1归一化,即 其中j=1,2,…,MN,然后更新特征向量fi;
步骤2、计算距离矩阵:
用特征向量集f作为待聚类数据集P输入,其人脸特征向量点的数目记为s,待聚类数据集P中第i个人脸特征向量点记为pi,计算待聚类数据集P中每两个人脸特征向量点pi之间的距离,生成距离矩阵(di,j)s×s,其中di,j表示点pi到pj的距离;
步骤3、找出所有人脸特征向量点pi的密度中心点:
用r作为扫描半径对每个人脸特征向量点pi进行扫描,将待聚类数据集P中与pi的距离小于r的人脸特征向量点加入到pi的r-Neighbor集合Neii={pj|di,j≤r}中,算出集合Neii中所有人脸特征向量点pi的平均值 其中k为集合Neii中人脸特征向量点的总个数,在待聚类数据集P中找到距离平均值Meani最近的人脸特征向量点作为pi的密度中心点ci,即 其中||p-meani||2表示点p与meani的几何距离;
步骤4、计算人脸向量特征点pj的密度:
将集合Neii中元素的个数作为人脸特征向量点pi的密度值ρi=size(Neii),即其中步骤5、找出所有人脸特征向量点pj的密度汇聚点:
通过迭代计算寻找每个人脸特征向量点pj的局部密度中心点,直到最后收敛,收敛点称为该点的密度汇聚点:找到pi的密度中心点ci=pj,找到pj的密度中心点cj=pk,若pk的密度中心点仍然是ck=pk,则停止迭代,将pk作为pi、pj、pk的密度汇聚点,记作cp(i)=cp(j)=cp(k)=pk;
步骤6、找出所有人脸特征向量点pj的局部密度峰值点:
若人脸特征向量点pi的密度汇聚点是其自身,即cp(i)=pi,并且pi的密度值ρi大于给定的密度阈值t,则将其加入到局部密度峰值点集合LPS中,记作LPS={pi|(cp(i)=pi)∧(ρi≥t)}步骤7、对局部密度峰值点集合LPS中的所有人脸特征向量点pi按最近邻近算法进行聚类,每个类别就是一个密度核心,将局部密度峰值点集合LPS中每个局部密度中心点lp的类别记为cl(lp);
步骤8、把其它所有非局部密度峰值点p的类别初始化为-1,再划归到与其汇聚中心点相同类别,即cl(p)=cl(cp(p)),把cl(p)=-1的点记为离群点;
步骤9、输出聚类结果cl(p):
cl(p)表示该人脸的类别,若cl(p1)=cl(p2),表示p1与p2所代表的两张人脸图像是同一人,若cl(p)=-1表示该人脸类别未识别。