图像处理--LBP特征描述算子-人脸检测

简介

LBP指局部二值模式(Local Binary Pattern),是一种用来描述图像局部特征的算子,具有灰度不变性和旋转不变性等显著优点。LBP常应用于人脸识别和目标检测中,在OpenCV中有使用LBP特征进行人脸识别的接口,也有用LBP特征训练目标检测分类器的方法,OpenCV实现了LBP特征的计算,但没有提供一个单独的计算LBP特征的接口。也就是说OpenCV中使用了LBP算法,但是没有提供函数接口。

算法原理

LBP原理

LBP特征用图像的局部领域的联合分布 T T T 来描述图像的纹理特征,特征函数的定义如下:
在这里插入图片描述
  定义灰度级不变LBP为:

L B P P , R = ∑ p = 0 P − 1 s ( g p − g c ) 2 p (2-5) L B P_{P, R}=\sum_{p=0}^{P-1} s\left(g_{p}-g_{c}\right) 2^{p}\tag{2-5} LBPP,R=p=0P1s(gpgc)2p(2-5)

即二进制编码公式。
  其中 P ( P > 1 ) P(P >1) P(P>1)为局部邻域中像素个数, g c g_c gc 表示相应局部邻域的中心像素的灰度值, g p g_p gp 表示以中心像素圆心,以R为半径的圆上的像素的灰度值。
  也就是说,假设原始的LBP算子定义在像素 3 ∗ 3 3*3 33的邻域内,以邻域中心像素为阈值,相邻的8个像素的灰度值与邻域中心的像素值进行比较,若周围像素大于中心像素值,则该像素点的位置被标记为1,否则为0。这样, 3 ∗ 3 3*3 33邻域内的8个点经过比较可产生8为二进制数,将这8位二进制数依次排列形成一个二进制数字,这个二进制数字就是中心像素的LBP值,LBP值共有28种可能,因此LBP值有256种可能。中心像素的LBP值反映了该像素周围区域的纹理信息。
注意:计算LBP特征的图像必须是灰度图,如果是彩色图,需要先转换成灰度图
LBP计算示意图

圆形LBP算子

为了适应不同尺度的纹理特征,并达到灰度级和旋转不变性的要求,Ojala等对 LBP算子进行了改进,将 3×3邻域扩展到任意邻域,并用圆形邻域代替了正方形邻域,改进后的 LBP算子允许在半径为 R的圆形邻域内有任意多个像素点。从而得到了诸如半径为R的圆形区域内含有P个采样点的LBP算子,表示为 L B P P R LBP^{R}_P LBPPR
圆形LBP算子

人脸检测流程

人脸检测过程采用多尺度滑窗搜索方式,每个尺度通过一定步长截取大小为20x20的窗口,然后将窗口放到分类器中进行是不是人脸的判决,如果是人脸则该窗口通过所有分类器;反之,会在某一级分类器被排除。
人脸检测流程
实现:
在这里插入图片描述
在这里插入图片描述
LBP曾广泛应用于人脸检测及人脸识别应用中,但在深度学习与卷积神将网络迅猛发展的今天,以LBP为特征的检测及识别算法并不具有竞争力,但是作为学习案例还是很有借鉴意义的。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: LBP(Local Binary Pattern)是一种用于纹理分析的特征提取算法,它在图像的局部区域内对像素值进行二值化处理,然后将二进制串作为该点的特征表示。LBP特征具有计算简单、不受光照变化影响等优点,因此在人脸识别等领域得到了广泛应用。 LBP-DBN-face-recognition是一个使用LBP特征提取算法和DBN(Deep Belief Network)网络实现人脸识别的项目。该项目使用MATLAB编写,同时在GitHub上开源,给出了ORL人脸数据集的测试结果。 如果你对人脸识别LBP特征提取算法以及DBN网络感兴趣,可以去GitHub上查看该项目的源代码和文档,深入了解其实现原理和具体应用。 ### 回答2: LBP(局部二值模式)是一种常用的人脸识别算法LBP特征提取算法通过将图像分成若干个小区域,然后对每个小区域中的像素进行二值编码,来提取人脸图像的特征。这个算法的优点是计算简单且鲁棒性较好。 而DBN(深度信念网络)是一种用于学习特征表示的神经网络模型。在人脸识别中,DBN可以通过学习不同层次的特征表示来实现对人脸图像的自动分类和识别。 该项目的GitHub链接:stuhard/LBP-DBN-face-recognition。这是一个使用LBP特征提取算法提取人脸特征,并结合DBN网络来实现人脸识别的项目。该项目基于MATLAB平台进行开发,并且使用了测试数据库ORL数据集来验证算法的性能。 通过使用这个项目,我们可以学习和了解LBP特征提取算法和DBN网络在人脸识别领域的应用。我们可以使用MATLAB来运行项目,并根据自己的需要,选择合适的人脸图像作为输入,进行人脸识别实验。同时,该项目也提供了ORL数据集作为测试数据库,用于评估算法的准确性和性能。 总之,该项目提供了一个基于LBP和DBN的人脸识别解决方案,可以用于学术研究或者实际应用中的人脸识别任务。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值