使用Python,OpenCV,本地二进制模式(LBP)进行人脸识别

262 篇文章 95 订阅
236 篇文章 43 订阅

使用Python,OpenCV与本地二进制模式(LBP)进行人脸识别

在深度学习和暹罗网络之前,面部识别算法依赖于特征提取和机器学习。

这篇博客将介绍如何使用本地二进制模式(Local Binary Patterns LBP),OpenCV和CV2.Face.LbphFacerEgnizer_Create进行人脸识别功能。

1. 效果图

2. 原理及步骤

2.1 原理

首先是应用CALTECH FACES数据集,这是评估面部识别算法的基准数据集。
然后审查了Ahonen等人介绍的LBPS面部识别算法。这种方法非常简单且有效。整个算法基本上由三个步骤组成:

  1. 将每个输入图像的面部划分为7×7等大小的单元格;
  2. 从每个单元中提取局部二进制模式。根据如何辨别每个细胞用于人脸识别来度量它们,最后连接7×7 = 49直方图以形成最终特征向量;
  3. 使用具有k = 1的的K-NN分类器和x^2距离度量来执行面部识别。

在Caltech面对数据集上训练脸部识别器,可获得98%的准确性。

2.2 步骤

  1. 给定数据集中的面部,算法的第一步是将面部划分为7×7等大小的单元。

  2. 然后,对于这些单元中的每一个,计算局部二进制模式直方图。

    根据定义,直方图抛出关于模式如何彼此定向的空间信息。然而,通过计算每个小区域的直方图,我们实际上能够编码诸如眼睛,鼻子,嘴巴等的空间信息水平。该空间编码还允许我们以不同方式从每个细胞的直方图中给出不同的加权值,表明更明显的面部特征的差异。

    可以看到原始的面部图

  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序媛一枚~

您的鼓励是我创作的最大动力。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值