首页 理论教育 基于LBP算法的人脸检测与识别

基于LBP算法的人脸检测与识别

时间:2023-11-23 理论教育 版权反馈
【摘要】:使用SVM 分类方式对人脸信息进行训练,创建人脸识别器,和直接的欧氏距离计算相比,SVM 算法可以挖掘出与人脸识别有关的核心特征数据,进而提高人脸识别的精确度。

基于LBP算法的人脸检测与识别

8.3.1.1 基本LBP 算法

在对纹理进行描述时,局部二值模式(local binary pattern,LBP)也是不错的方法[154]。在最近10 年里,LBP 方法也在持续地发展和演变,而且在纹理分类[155]、纹理分割[70]以及人脸图像剖析中使用得非常多[156-158]

最早提到的算子是在一个像素点附近选择3×3 个像素点,并将最中间像素点的值当成参照物,将其他点的值和这个值做比较,假设另外像素点的值比这个值大,则这个像素点的位置记为 1,反之就记为0。对比之后,就会在这几个点上产生一个八位的二进制数,把这个二进制数字串叫做中心像素点的LBP 值。将全部像素点的LBP 值连接在一起就构成了整个图像的LBP 特征,图8-7 表示的是计算一个点附近的LBP 示意图[159]

图8-7 LBP 示意图

LBP 用式(8-1)来计算:

式中,xc, yc表示3×3 个像素区域的中心元素位置,其像素值是ic,其附近像素值为ip。其中,s(x)是一个符号函数,可用式(8-2)来计算。

(www.xing528.com)

8.3.1.2 基于支持向量机(SVM)的人脸识别

在机器学习领域,SVM 算法使用得比较多,它是一种有监督的学习,一般在模式识别回归分析及分类中使用[160]。这种算法是二类分类方法,其主要观点是找出特征空间中导致两种样本距离最大的那个平面,SVM 模型能够将其转变为对一个凸二次规划问题进行求解。使用SVM 分类方式对人脸信息进行训练,创建人脸识别器,和直接的欧氏距离计算相比,SVM 算法可以挖掘出与人脸识别有关的核心特征数据,进而提高人脸识别的精确度。在通过人脸定位并创建局部LBP 的人脸模型以后,人脸面部所包含的LBP 特征信息是68 组,把这些LBP特征信息联系在一起,就可以获得人脸模型特征向量。收集训练集中全部图片的人脸模型特征向量,构成训练矩阵,再按照SVM 算法训练就可以获取SVM 人脸识别器。其过程如图8-8 所示。另外,本书使用的SVM 算法选择线性核函数来处置线性不可分问题,并且训练停止条件为达到设定的最大迭代次数100,或迭代偏差小于1e-6 等。

图8-8 SVM 人脸识别过程图

在ORL 人脸数据库中,运用其中的两幅图进行检测,而将其余的图像当成训练数据。在这个算法中,其邻域包含8 个像素,在每组训练样本中,其图片数量是不同的,分别训练改进之后的算法和原有算法的辨识器。人脸数量和辨识率测试结果如图8-9 所示。对比图8-9 和本书的改进算法结果图8-2,可以看出,如果训练的人脸数量较少,本书的改进算法、SVM-LBP算法和传统算法的辨识率相近;如果训练的人脸数量增多,辨识率会得到提升,其中PSO-LDA 算法的辨识率为95%,SVM-LBP 算法的辨识率最大为98%,主要是SVM 算法的特点表现出来了,若使用传统算法,辨别的精准度只有89%。因此,当能够满足人脸识别算法要求的训练样本足够多时,可以实现比较高的辨别率;而如果当人脸样本不够多时,辨识率也会降低到传统算法级别。另外,此实验也展现了SVM 分类的好处。本书提出的算法在分类上使用欧氏距离作为标准,可以为下一步工作明确方向。

图8-9 训练样本数量与识别率关系图

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈