美文网首页
Fisherfaces人脸识别---OpenCV-Python开

Fisherfaces人脸识别---OpenCV-Python开

作者: 极客学编程 | 来源:发表于2021-05-14 21:30 被阅读0次

Fisherfaces原理

PAC方法是EigenFaces人脸识别的核心,它找到了最大化数据总方差特征的线性组合。但是其具有明显的缺点,在操作过程中会损失许多人脸的特征信息。因此在某些特殊的情况下,如果损失的信息刚好是用于分类的关键信息,必然导致结果预测错误。

Fisherfaces采用LDA(Linear Discriminant Analysis,线性判别分析)实现人脸识别。线性判别分析最早由Fisher在1936年提出,是一种经典的线性学习方法,也被称为“Fisher判别分析法”。

其基本原理:在低维表示下,相同的类应该紧密地聚集在一起;不同的类别应该尽可能地分散开,并且它们之间的距离尽可能地远。简单的概括,线性判别分析就是尽力满足以下两个要求:

  1. 类别间的差别尽可能地大
  2. 类别内的差别尽可能地小

做线性判别分析时,首先将训练集样本集投影到一条直线A上,让投影后的点满足:

  1. 同类间的点尽可能地靠近
  2. 异类间的点尽可能地远离

做完投影后,将待测样本投影到直线A上,根据投影点的位置判定样本的类别,就完成了人脸识别。

Fisherfaces实现人脸识别

在OpenCV中,通过函数cv2.face.FisherFaceRecognizer_create()生成Fisherfaces识别器实例模型,然后应用cv2.face_FaceRecognizer.train()函数完成训练,最后用cv2.face_FaceRecognizer.predict()函数完成人脸识别。

因为Fisherfaces人脸识别步骤与LBPH、EigenFaces代码步骤一模一样,所以我们直接实战通过Fisherfaces实现人脸识别。具体代码如下所示:

images = []
images.append(cv2.imread("42_1.jpg", cv2.IMREAD_GRAYSCALE))
images.append(cv2.imread("42_2.jpg", cv2.IMREAD_GRAYSCALE))
labels = [0, 1]
recognizer = cv2.face.FisherFaceRecognizer_create()
recognizer.train(images, np.array(labels))
predict_image = cv2.imread('42_4.jpg', cv2.IMREAD_GRAYSCALE)
label, confidence = recognizer.predict(predict_image)
if label == 0:
    print("匹配的人脸为尼根")
elif label == 1:
    print("匹配的人脸为瑞克")
print("confidence=", confidence)

运行之后,控制台输出如下:


1.png

通过Fisherfaces进行人脸识别,其confidence返回值也在0到20000之间,只要低于5000,都被认为是相当可靠的识别结果。这里,0就是完全匹配。

训练图像:


42_1.jpg 42_2.jpg

测试图像:


42_4.jpg

相关文章

  • Fisherfaces人脸识别---OpenCV-Python开

    Fisherfaces原理 PAC方法是EigenFaces人脸识别的核心,它找到了最大化数据总方差特征的线性组合...

  • 关于人脸识别

    opencv的三个人脸识别器EigenFaces Face Recognizer,FisherFaces Face...

  • OpenCV-Python 人脸识别

    原图片 识别的图片 实现代码 其他 图片源自网络,侵删。 代码参考自https://my.oschina.net/...

  • 人脸识别技术 通识

    人脸识别技术 通识 1 人脸识别概要 2 人脸识别工作原理 3 人脸识别技术分类 4 人脸识别技术优缺点 5 人脸...

  • 都在说人脸识别有Bug,是真的吗?

    “人脸识别破解”“反人脸识别技术”“人脸识别漏洞”“人脸识别失误”“尽量不要用人脸识别”….网上N多这样的信息铺天...

  • EigenFaces人脸识别---OpenCV-Python开发

    EigenFaces原理 EigenFaces通常也被称为特征脸,它使用主成分分析(Principal Compo...

  • 2020-06-09

    云卡通人脸识别系统含盖:动态人脸识别门禁管理系统、动态人脸识别消费系统、动态人脸识别考勤系统。其中动态人脸识别消费...

  • 冒牌

    刚要拿起门卡开楼道里的门,“门以开,人脸识别成功”!乖乖!我啥时候办人脸识别了?门禁卡是女儿休息时办的,我本人不在...

  • 人脸识别闸机安装知识

    随着人脸识别技术的成熟,人脸识别闸机越来越受欢迎,在选型上也丰富多样。人脸识别闸机包含人脸识别摆闸、人脸识别翼闸、...

  • 2020-07-28

    一、人脸识别系统具有广泛的应用:包括人脸识别出入管理系统、人脸识别门禁考勤系统、人面识别消费管理系统、人脸识别通道...

网友评论

      本文标题:Fisherfaces人脸识别---OpenCV-Python开

      本文链接:https://www.haomeiwen.com/subject/dpkelltx.html