使用Python,OpenCV与本地二进制模式(LBP)进行人脸识别
在深度学习和暹罗网络之前,面部识别算法依赖于特征提取和机器学习。
这篇博客将介绍如何使用本地二进制模式(Local Binary Patterns LBP),OpenCV和CV2.Face.LbphFacerEgnizer_Create进行人脸识别功能。
1. 效果图
2. 原理及步骤
2.1 原理
首先是应用CALTECH FACES数据集,这是评估面部识别算法的基准数据集。
然后审查了Ahonen等人介绍的LBPS面部识别算法。这种方法非常简单且有效。整个算法基本上由三个步骤组成:
- 将每个输入图像的面部划分为7×7等大小的单元格;
- 从每个单元中提取局部二进制模式。根据如何辨别每个细胞用于人脸识别来度量它们,最后连接7×7 = 49直方图以形成最终特征向量;
- 使用具有k = 1的的K-NN分类器和x^2距离度量来执行面部识别。
在Caltech面对数据集上训练脸部识别器,