PCA(主分量分析)在人脸识别中的应用

来源:互联网 发布:类似evisu的潮牌 知乎 编辑:程序博客网 时间:2024/05/10 01:28
最近一直在写人脸识别的代码,暂时先把今天的收获写一下,很快的把前几天的学习和编码收获添加进来。

目前我用的人脸识别的方法是PCA(主分量分析)这是一个很古老的算法(据说是1991年提出来的,有待考证)。该算法有以下优缺点
1)对光线的影响不是很大。与实验结果吻合,在实验时,曾经在关闭所有灯的情况下测试也可以识别出来。
2)受姿势的影响较大,只能达到50%(该结果是根据一个论文上得来的),与我们的实验结果相近。
3)论文上说 受离镜头的远近影响更大,只能识别1/3,但是我们通过一个简单的预处理步骤,把所有的人脸放大到相同的大小,这样的识别率便会比较高。
缺点么,好象识别率需要进一步验证,用于实际中不是很稳定,(当然,使用OrL库来识别时,识别率可以达到95%左右)。
现在进一步需要完善的是,
1)针对于目前应用于实际中的识别率较低,原因可能是出于检测时不太精确,虽然也采取了一种很粗糙的方法(把框住的人脸矩形往里面缩小,使得到的人脸图片近似于ORL库中的图片),相信该方法可以在一定程度上提高识别率。
2)目前所用的特征系数,是把每个人的每张图片的系数分解出来以后,在作一个平均,这种方法虽好,但是不能表示各个不同表情,各个姿势的人,下一步的工作是每个人的每幅图片都保存一个分解系数,识别时依次检索。这样待识别的人脸有可能不近似于这个人的平均脸,但极相似于该人的某一张图片,这样检索效果可能有部分提高),另外此种方法也有弊,待识别的人脸可能近似于另外一个人的某张图片。

下面要写一个关于这方面的论文:
提纲大概如下:
1)PCA算法把高维的信息转化为低维。(对于多个人,维数是否真的会降低?例如48*48的是48^2*48^2维,而对于50个人则是50*50维,维数确实有很大的降低,但是对于2304个人呢?则维数马上又上去了!!!)
2)类内和类间 的差别。在训练集中每个人可能有多个照片,这时如何处理便是一个很大的问题,一种方法就是把求出来的分解系数进行平均,另外一种方法就像前面所说的需要完善的第二个方面。
3)人脸训练出来的数据要进行归一化,在识别之前也要进行归一化。
4)人脸识别的距离判断是欧氏距离,需要进一步的完善。如果有可能的话可以试一试其他方法,诸如SVM(支持向量机)贝叶斯分类器等等。
5)人脸识别的来源是人脸检测的延续,所以需要进一步研究人脸检测的东西,使框下来的人脸大小适中,并且包含主要信息。
原创粉丝点击