当前位置:   article > 正文

基于LBP分类的人脸识别_lbp实现人脸识别

lbp实现人脸识别


一、基本概念

对于二类分类问题,这些训练数据包括正样本和负样本,其中正样本代表属于该类别的实例,而负样本代表不属于该类型的反例。
机器学习的第一步是要找到一种模型,可以用简洁又有差异性的方式准确地反映每幅图像的内容。
换言之,机器学习方法,和图像特征是相互独立的。机器学习,是模型的训练方法,而特征,是训练的原始素材。也可以说,分类特征和分类方法;

二、opencv中的人脸识别结构

它们都是通用类cv::face::FaceRecognizer的子类。本节选用cv::face::LBPHFaceRecognizer类
cv::face::LBPHFaceRecognizer类,因为它基于一种简单但通常很有效的分类方法——最邻近分类法。而且它使用的图像模型基于局部二值模式(local binary pattern, LBP)特征。

三、LBP分类特征

LBP特征,采用相对独立的方法描述图像模式。它是一种局部模式,把每个像素转换为一个二进制数模型,表示邻近位置的图像强度模式。为此需要应用一个简单的规则:将一个局部像素与它的每个邻近像素进行比较,如果它的值大于邻近像素,就把对应的位设为0,否则设为1。最简单也是最常用的做法是将每个像素与它的8个邻近像素做比较,得到8位模式
说简单点,是9宫格的中心位置,与8邻域做大小比较,从而将中心位置像素点转换为8位2进制串。8邻域是最简单的比较方法。8位2进制数,可表示0到256;
在这里插入图片描述
对网格上的每个区块构建直方图。最后,把这些直方图的箱子数组合成一个大的向量,得到全局图像模型:对于8×8的网格,计算256-箱子直方图(每个像素已被转换至0到256的范围),得到16384维的向量。由此,图像转为了高维向量。
如果输入点与最近的参考点之间的距离太远,就说明它其实并不属于任何类别,那么“距离太远”的判断标准是什么?这由cv::face::LBPHFaceRecognizer的create方法的第四个参数决定。这里使用到的,就是最邻近分类法。

二、使用步骤

在这里插入图片描述
以上是使用步骤。
在这里插入图片描述

优劣

显然,这种方法的原理很简单,并且如果不同的类别在描述空间中生成各自独立的“点云”,它的效果就非常好。另外,它只是从最近的邻域中读取分类结果,因而可以处理多个类别,这也是它的一个优势。它的主要缺点是计算量较大——要从这么大的空间中(参考点的数量还可能很多)找出最近的点,需要耗费很长时间。此外,保存这些参考点也要耗费较大的存储空间。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/黑客灵魂/article/detail/906809
推荐阅读
  

闽ICP备14008679号