FaceRecognition, 用 PCA LDA和LPP实现人脸识别

分享于 

5分钟阅读

GitHub

  繁體 雙語
Implement face recognition using PCA, LDA and LPP
  • 源代码名称:FaceRecognition
  • 源代码网址:http://www.github.com/wihoho/FaceRecognition
  • FaceRecognition源代码文档
  • FaceRecognition源代码下载
  • Git URL:
    git://www.github.com/wihoho/FaceRecognition.git
    Git Clone代码到本地:
    git clone http://www.github.com/wihoho/FaceRecognition
    Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/wihoho/FaceRecognition
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    

    简介 Build Status

    方案在人脸识别中成功地实现了 PCA。LDA和 LPP。 通过培训数据训练,利用相应的方法,找到了特征空间"个人信息"。特征空间"Fisherfaces"和特征空间"laplacianfaces"。 在本文后面,W 被用来表示获得的特征空间。 一旦得到W,训练面就被投影到由W 定义的子空间来构造 FaceDB。 当需要识别未知面时,该测试面首先投射到子空间W。 然后,程序在FaceDB中查找投影数据的最近邻。 finally,类标签根据邻居的大多数投票分配给测试面。 这种分类算法被称为k 近邻。

    below 图显示了各自的特征空间:

    设计

    由于 Markdown的限制,我为你的参考提供了文档

    演示文稿:幻灯片格式。

    用法

    由于许多人问我这个项目,我决定将这个项目改为 Maven 项目并释放 Maven 依赖关系。 为了使用这个库,第一步是添加 below 依赖项。

    
    <dependency>
    
    
     <groupId>com.github.wihoho</groupId>
    
    
     <artifactId>face-recognition</artifactId>
    
    
     <version>1.0</version>
    
    
    </dependency>
    
    
    
    

    之后,你可以将 com.github.wihoho.TrainerTest 作为 below 在API的用法上的使用。

    
    //Build a trainer
    
    
    Trainer trainer = Trainer.builder()
    
    
    . metric(new CosineDissimilarity())
    
    
    . featureType(FeatureType.PCA)
    
    
    . numberOfComponents(3)
    
    
    . k(1)
    
    
    . build();
    
    
    
    ...
    
    
    
    //add training data
    
    
    trainer.add(convertToMatrix(john1),"john");
    
    
    trainer.add(convertToMatrix(john2),"john");
    
    
    trainer.add(convertToMatrix(john3),"john");
    
    
    
    trainer.add(convertToMatrix(smith1),"smith");
    
    
    trainer.add(convertToMatrix(smith2),"smith");
    
    
    trainer.add(convertToMatrix(smith3),"smith");
    
    
    
    //train
    
    
    trainer.train();
    
    
    
    //recognize
    
    
    assertEquals("john", trainer.recognize(convertToMatrix(john4)));
    
    
    assertEquals("smith", trainer.recognize(convertToMatrix(smith4)));
    
    
    
    

    联系人

    我可以在任何表单中打开协作。 请用 below 电子邮件联系我。

    确认

    [1] Delac,K,Grgic,M,& Grgic,S。 ( 2005 ) 在on数据集中,主要对比分析和分析。 国际成像系统和技术杂志 15 ( 5 ),252 -260.
    [2] Turk,M。&,Pentland。 ( 1991 ) 识别特征。认知neuroscience杂志,3 ( 1 ),71.
    [3] Belhumeur,P。N。Hespanha,J。 P。& Kriegman,D。 J。( 1997 )。用户身份 vs Fisherfaces: 基于类特定线性投影的。 Pattern 分析和机器智能,IEEE交易,19 ( 7 ),711 -720.
    [4],X,Yan,Niyogi,,H,H,H,H,H。 J。( 2005 )。使用laplacianfaces进行人脸识别。 Pattern 分析和机器智能,IEEE交易,27 ( 3 ),328 -340.
    [5] bytefish,awesome项目,https://github.com/bytefish/facerec.git
    面向面的[6] 数据库, http://www.cl.cam.ac.uk/research/dtg/attarchive/facedatabase.html。

    许可证

    MIT许可证

    版权所有 © 2016 wihoho wihoho@gmail.com

    若要在取得该软件副本时免费授予任何人,如有下列条件的软件,请免费授予该软件的副本,并与相关的文档文件("软件") 进行许可,包括不受限制的权利,包括以下条件:

    上述版权声明和本许可声明须包括在所有的副本或实质性部分的软件。

    软件是"是",没有任何保证,表示或者隐含,包括但不限于销售,适合特定用途和 NONINFRINGEMENT。 作者或者版权持有人在合同。侵权或者它的他与软件或者它的他用户交易的行为。


    IMP  LDA  PCA  面部辨认  
    相关文章