人脸识别经典算法实现(二)——Fisher线性判别分析

第二种人脸识别的经典算法是Fsiher算法,也称之为线性判别分析,我最先看到这个算法是在周志华老师的《机器学习》中,没想到在人脸识别上也有应用。

这个算法的思路和PCA差不太多,都是着眼于图像全局考虑,PCA考虑的是如何确定一组正交基可以使数据降维,线性判别分析则是考虑如何确定一组投影向量可以让数据集在投影钟尽可能大的相互区分。直观上看,区分为非就是类与类之间的差别应该更大,而类内的数据应该更加聚合。这两个指标需要在数学上定义一定的指标来衡量,从而求解出最好的投影向量。

继续做搬运工。。。。

http://blog.csdn.net/smartempire/article/details/23377385,这篇博客LDA的理论和实现讲得非常透彻了,一篇就够了!看完这篇博客你就会发现LDA的理论推导确实有些复杂,涉及的数学知识也比较多,但是它落地不难,因为你可以不看中间的推导过程,直接抓住他最后的公式编码,这不影响你做出最后结果。

程序中因为涉及到了类内的均值向量的计算,因此在组织数据的时候与PCA有不同。

代码如下:

#encoding=utf-8
import numpy as np
import cv2
import os

class FisherFace(object):
    def __init__(self,threshold,k,dsize):
        self.threshold = threshold # 阈值,暂未使用
        self.k = k         # 指定投影w的个数
        self.dsize = dsize # 统一尺寸大小

    def loadImg(self,fileName,dsize):
   
  • 5
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值