发明名称 采用新型密度聚类进行人脸识别的方法
摘要 本发明提出一种采用新型密度聚类进行人脸识别的方法,读取人脸图像,将图像矩阵转换为特征向量,用特征向量集f作为待聚类的数据集P的输入,计算P中每两个人脸特征向量点之间的距离,算出所有点的均值,在P中找到距离均值点最近的点作为密度中心点,计算所有点的密度,迭代寻找密度中心点,将最后的收敛点作为密度汇聚点,将密度汇聚点中是其自身,且密度值大于t的点作为局部密度中心点,对集合LPS中的所有点按最近邻近算法进行聚类,并标记类别标号,把其它所有非局部密度中心点p的类别初始化为-1,划归到与其汇聚中心点相同类别,剩下的类别标号为-1的点记为离群点,最后输出聚类结果,本发明具有准确度高,能识别复杂数据的优点,提高了人脸识别的准确度。
申请公布号 CN105631416A 申请公布日期 2016.06.01
申请号 CN201510987710.2 申请日期 2015.12.24
申请人 华侨大学 发明人 陈叶旺;汤盛宇
分类号 G06K9/00(2006.01)I;G06K9/62(2006.01)I 主分类号 G06K9/00(2006.01)I
代理机构 泉州市文华专利代理有限公司 35205 代理人 陈智海
主权项 一种采用新型密度聚类进行人脸识别的方法,其特征在于包括如下几个步骤:步骤1、读取人脸图像:所用人脸图像是大小为M×N的灰度图像,用每个像素作为一个特征点,读入K张人脸图像得到图像特征矩阵A<sub>i(M×N)</sub>,其中i=1,2,...,K;将图像特征矩阵A<sub>i(M×N)</sub>转换为特征向量f<sub>i(1×MN)</sub>,其中f<sub>i</sub>(1:N)=A<sub>i</sub>(1,1:N),f<sub>i</sub>(N+1:2N)=A<sub>i</sub>(2,1:N),依此类推,对特征向量f<sub>i</sub>的每个维度做0‑1归一化,即<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><msub><mi>f</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><msub><mi>f</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow><mo>-</mo><mi>min</mi><mrow><mo>(</mo><mrow><msub><mi>f</mi><mrow><mn>1</mn><mo>:</mo><mi>K</mi></mrow></msub><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow></mrow><mo>)</mo></mrow></mrow><mrow><mi>max</mi><mrow><mo>(</mo><mrow><msub><mi>f</mi><mrow><mn>1</mn><mo>:</mo><mi>K</mi></mrow></msub><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow></mrow><mo>)</mo></mrow><mo>-</mo><mi>min</mi><mrow><mo>(</mo><mrow><msub><mi>f</mi><mrow><mn>1</mn><mo>:</mo><mi>K</mi></mrow></msub><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow></mrow><mo>)</mo></mrow></mrow></mfrac><mo>,</mo></mrow>]]></math><img file="FDA0000889109780000011.GIF" wi="789" he="150" /></maths>其中j=1,2,…,MN,然后更新特征向量f<sub>i</sub>;步骤2、计算距离矩阵:用特征向量集f作为待聚类数据集P输入,其人脸特征向量点的数目记为N,待聚类数据集P中第i个人脸特征向量点记为p<sub>i</sub>,计算待聚类数据集P中每两个人脸特征向量点p<sub>i</sub>之间的距离,生成距离矩阵(d<sub>i,j</sub>)<sub>N×N</sub>,其中d<sub>i,j</sub>表示点p<sub>i</sub>到p<sub>j</sub>的距离;步骤3、找出所有人脸特征向量点p<sub>i</sub>的密度中心点:用r作为扫描半径对每个人脸特征向量点p<sub>i</sub>进行扫描,将待聚类数据集P中与p<sub>i</sub>的距离小于r的人脸特征向量点加入到p<sub>i</sub>的r‑Neighbor集合Nei<sub>i</sub>={p<sub>j</sub>|d<sub>i,j</sub>≤r}中,算出集合Nei<sub>i</sub>中所有人脸特征向量点p<sub>i</sub>的平均值<img file="FDA0000889109780000012.GIF" wi="367" he="142" />其中k为集合Nei<sub>i</sub>中人脸特征向量点的总个数,在待聚类数据集P中找到距离平均值Mean<sub>i</sub>最近的人脸特征向量点作为p<sub>i</sub>的密度中心点c<sub>i</sub>,即<img file="FDA0000889109780000021.GIF" wi="574" he="94" />其中||p‑mean<sub>i</sub>||<sub>2</sub>表示点p与mean<sub>i</sub>的几何距离;步骤4、计算人脸向量特征点p<sub>j</sub>的密度:将集合Nei<sub>i</sub>中元素的个数作为人脸特征向量点p<sub>i</sub>的密度值ρ<sub>i</sub>=size(Nei<sub>i</sub>),即<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><msub><mi>&rho;</mi><mrow><mi>i</mi><mo>,</mo><mi>r</mi></mrow></msub><mo>=</mo><munderover><mo>&Sigma;</mo><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><mi>l</mi><mrow><mo>(</mo><msub><mi>d</mi><mrow><mi>i</mi><mo>,</mo><mi>k</mi></mrow></msub><mo>&le;</mo><mi>r</mi><mo>)</mo></mrow><mo>,</mo></mrow>]]></math><img file="FDA0000889109780000022.GIF" wi="412" he="143" /></maths>其中<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><mi>l</mi><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo>=</mo><mfenced open = '{' close = ''><mtable><mtr><mtd><mrow><mn>1</mn><mo>,</mo></mrow></mtd><mtd><mrow><mi>x</mi><mi> </mi><mi>i</mi><mi>s</mi><mi> </mi><mi>t</mi><mi>r</mi><mi>u</mi><mi>e</mi></mrow></mtd></mtr><mtr><mtd><mrow><mn>0</mn><mo>,</mo></mrow></mtd><mtd><mrow><mi>e</mi><mi>l</mi><mi>s</mi><mi>e</mi></mrow></mtd></mtr></mtable></mfenced><mo>;</mo></mrow>]]></math><img file="FDA0000889109780000023.GIF" wi="406" he="157" /></maths>步骤5、找出所有人脸特征向量点p<sub>j</sub>的密度汇聚点:通过迭代计算寻找每个人脸特征向量点p<sub>j</sub>的局部密度中心点,直到最后收敛,收敛点称为该点的密度汇聚点:找到p<sub>i</sub>的密度中心点c<sub>i</sub>=p<sub>j</sub>,找到p<sub>j</sub>的密度中心点c<sub>j</sub>=p<sub>k</sub>,若p<sub>k</sub>的密度中心点仍然是c<sub>k</sub>=p<sub>k</sub>,则停止迭代,将p<sub>k</sub>作为p<sub>i</sub>、p<sub>j</sub>、p<sub>k</sub>的密度汇聚点,记作cp(i)=cp(j)=cp(k)=p<sub>k</sub>;步骤6、找出所有人脸特征向量点p<sub>j</sub>的局部密度峰值点:若人脸特征向量点p<sub>i</sub>的密度汇聚点是其自身,即cp(i)=p<sub>i</sub>,并且p<sub>i</sub>的密度值ρ<sub>i</sub>大于给定的密度阈值t,则将其加入到局部密度峰值点集合LPS中,记作LPS={p<sub>i</sub>|(cp(i)=p<sub>i</sub>)∧(ρ<sub>i</sub>≥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表示该人脸类别未识别。
地址 362000 福建省泉州市丰泽区城东华侨大学