LBP(Local Binary Patterns,局部二值模式)是提取局部特征作为判别依据的。LBP方法显著的优点是对光照不敏感,但是依然没有解决姿态和表情的问题。不过相比于特征脸方法,LBP的识别率已经有了很大的提升。在[1]的文章里,有些人脸库的识别率已经达到了98%+。

1、LBP特征提取

最初的LBP是定义在像素3x3邻域内的,以邻域中心像素为阈值,将相邻的8个像素的灰度值与其进行比较,若周围像素值大于中心像素值,则该像素点的位置被标记为1,否则为0。这样,3x3邻域内的8个点经比较可产生8位二进制数(通常转换为十进制数即LBP码,共256种),即得到该邻域中心像素点的LBP值,并用这个值来反映该区域的纹理信息。如下图所示:

用比较正式的公式来定义的话:

其中代表3x3邻域的中心元素,它的像素值为ic,ip代表邻域内其他像素的值。s(x)是符号函数,定义如下:

LBP的改进版本

(1)圆形LBP算子

基本的 LBP算子的最大缺陷在于它只覆盖了一个固定半径范围内的小区域,这显然不能满足不同尺寸和频率纹理的需要。为了适应不同尺度的纹理特征,并达到灰度和旋转不变性的要求,Ojala等对 LBP 算子进行了改进,将 3×3邻域扩展到任意邻域,并用圆形邻域代替了正方形邻域,改进后的 LBP 算子允许在半径为 R 的圆形邻域内有任意多个像素点。从而得到了诸如半径为R的圆形区域内含有P个采样点的LBP算子。比如下图定了一个5x5的邻域:

上图内有八个黑色的采样点,每个采样点的值可以通过下式计算:

其中为邻域中心点,为某个采样点。通过上式可以计算任意个采样点的坐标,但是计算得到的坐标未必完全是整数,所以可以通过双线性插值来得到该采样点的像素值:

(2)LBP等价模式

一个LBP算子可以产生不同的二进制模式,对于半径为R的圆形区域内含有P个采样点的LBP算子将会产生2^P种模式。很显然,随着邻域集内采样点数的增加,二进制模式的种类是急剧增加的。例如:5×5邻域内20个采样点,有220=1,048,576种二进制模式。如此多的二值模式无论对于纹理的提取还是对于纹理的识别、分类及信息的存取都是不利的。同时,过多的模式种类对于纹理的表达是不利的。例如,将LBP算子用于纹理分类或人脸识别时,常采用LBP模式的统计直方图来表达图像的信息,而较多的模式种类将使得数据量过大,且直方图过于稀疏。因此,需要对原始的LBP模式进行降维,使得数据量减少的情况下能最好的代表图像的信息。

为了解决二进制模式过多的问题,提高统计性,Ojala提出了采用一种“等价模式”(Uniform Pattern)来对LBP算子的模式种类进行降维。Ojala等认为,在实际图像中,绝大多数LBP模式最多只包含两次从1到0或从0到1的跳变。因此,Ojala将“等价模式”定义为:当某个LBP所对应的循环二进制数从0到1或从1到0最多有两次跳变时,该LBP所对应的二进制就称为一个等价模式类。如00000000(0次跳变),00000111(只含一次从0到1的跳变),10001111(先由1跳到0,再由0跳到1,共两次跳变)都是等价模式类。除等价模式类以外的模式都归为另一类,称为混合模式类,例如10010111(共四次跳变)。比如下图给出了几种等价模式的示意图。

通过这样的改进,二进制模式的种类大大减少,而不会丢失任何信息。模式数量由原来的2P种减少为 P ( P-1)+2种,其中P表示邻域集内的采样点数。对于3×3邻域内8个采样点来说,二进制模式由原始的256种减少为58种,这使得特征向量的维数更少,并且可以减少高频噪声带来的影响。这几段摘自[2]。

通过上述方法,每个像素都会根据邻域信息得到一个LBP值,如果以图像的形式显示出来可以得到下图,明显LBP对光照有较强的鲁棒性。

2、LBP特征匹配

如果将以上得到的LBP值直接用于人脸识别,其实和不提取LBP特征没什么区别,会造成计算量准确率等一系列问题。文献[1]中,将一副人脸图像分为7x7的子区域(如下图),并在子区域内根据LBP值统计其直方图,以直方图作为其判别特征。这样做的好处是在一定范围内避免图像没完全对准的情况,同时也对LBP特征做了降维处理。

对于得到的直方图特征,有多种方法可以判别其相似性,假设已知人脸直方图为Mi​,待匹配人脸直方图为Si,那么可以通过:

(1)直方图交叉核方法

该方法的介绍在博文:Histogram intersection(直方图交叉核,Pyramid Match Kernel)

(2)卡方统计方法

该方法的介绍在博文:卡方检验(Chi square statistic)

参考文献:

[1]Timo Ahonen, Abdenour Hadid:Face Recognition with Local Binary Patterns

[2]目标检测的图像特征提取之(二)LBP特征
————————————————
版权声明:本文为CSDN博主「兔死机」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/smartempire/article/details/23249517

人脸识别经典算法二:LBP方法相关推荐

  1. python人脸识别特征脸法_人脸识别经典算法一 特征脸方法(Eigenface)

    这篇文章是撸主要介绍人脸识别经典方法的第一篇,后续会有其他方法更新.特征脸方法基本是将人脸识别推向真正可用的第一种方法,了解一下还是很有必要的.特征脸用到的理论基础PCA在另一篇博客里:特征脸(Eig ...

  2. python人脸识别特征脸法_人脸识别经典算法:特征脸方法(Eigenface)

    特征脸方法基本是将人脸识别推向真正可用的第一种方法,了解一下还是很有必要的.特征脸用到的理论基础PCA在之前的文章中已经讲过了.直接上特征脸方法的步骤: 步骤一:获取包含M张人脸图像的集合S.在我们的 ...

  3. 人脸识别经典算法:特征脸方法(Eigenface)

    https://www.toutiao.com/a6698955075127083527/ 这个算法需要数学知识特别好的人才会看得懂吧! 步骤一:获取包含M张人脸图像的集合S.在我们的例子里有25张人 ...

  4. 人脸识别系列算法原理

    目录 1.Eigenfaces(特征脸)算法 基本思想 Eigenfaces算法过程 2.FisherFace算法 基本思想 Fisherface算法流程 3.LBPH(Local Binary Pa ...

  5. 人脸识别经典算法一:特征脸方法(Eigenface)

    这篇文章是撸主要介绍人脸识别经典方法的第一篇,后续会有其他方法更新.特征脸方法基本是将人脸识别推向真正可用的第一种方法,了解一下还是很有必要的.特征脸用到的理论基础PCA在另一篇博客里:特征脸(Eig ...

  6. 人脸识别(8)----人脸识别主要算法原理

    人脸识别主要算法原理   [嵌牛导读]:人脸识别,是基于人的脸部特征信息进行身份识别的一种生物识别技术.用摄像机或摄像头采集含有人脸的图像或视频流,并自动在图像中检测和跟踪人脸,进而对检测到的人脸进行 ...

  7. 人脸识别主要算法原理和公司

    人脸识别主要算法原理和公司 机器视觉与识别|字号 订阅 主流的人脸识别技术基本上可以归结为三类,即:基于几何特征的方法.基于模板的方法和基于模型的方法. 1. 基于几何特征的方法是最早.最传统的方法, ...

  8. 人脸识别的算法基本原理

    人脸识别不管是在手机还是别的什么地方都无疑是一种比较火的解锁方式,看了一篇关于这个算法的文章,写的挺好的,转载一下,共享,感谢原博主辛苦的创作,致敬! 人脸识别主要算法原理 主流的人脸识别技术基本上可 ...

  9. 【CV秋季划】人脸识别经典难题介绍,抗遮挡,跨年龄,异质源,少样本等

    本次给大家带来的是有三AI-CV秋季划-人脸算法组的人脸识别下期的内容,如果你还不知道有三AI-CV秋季划-人脸算法组是什么,可以看下面的视频和图文. [CV秋季划]人脸算法那么多,如何循序渐进地学习 ...

最新文章

  1. 第十一周总结CoreIDRAW
  2. php5.3安装memcache,Windows下的Memcache安装 附php5.3的扩展
  3. Hacker(22)----解除系统中的密码
  4. 大学python搜题app_2021年中国大学MOOC的APP用Python玩转数据答案搜题公众号
  5. 机器学习分类与性能度量
  6. canpro脚本_canpro协议分析平台
  7. HDMI设计9--Video Mixer IP
  8. 金士顿U盘被写保护的解决方法(量产)
  9. IDC发布最新中国AI云服务市场报告,百度智能云排名第一
  10. 浏览器+js实现超强的搜索访问功能
  11. 网易vip邮箱和TOM VIP邮箱的作用有什么不同?
  12. Android 查询局域网内所有ip和mac地址
  13. 【Azure 应用服务】NodeJS Express + MSAL 应用实现AAD集成登录并部署在App Service Linux环境中的实现步骤
  14. android 局域网 发现,局域网内android设备发现及通讯
  15. KJ分析法(亲和图)的应用实例及知识分享
  16. Java实现导出Excel
  17. 如何自己租GPU服务器(阿里云)跑pytorch代码
  18. 2、多效果、太极图、党徽和五角星、时钟、animation、文本溢出显示省略号、Flex布局、Flex容器、链接状态、选择器、清除浮动、table表格合并、点击事件、半包围效
  19. QT显示中文 连接上文
  20. IDF2012媒体日:全新云计算解决方案

热门文章

  1. RPKM vs. FPKM vs. TPM
  2. 对某游戏功能实现的逆向分析及实现变态功能
  3. 微博营销实战4——网络舆论的监控与应对
  4. 微信小程序中:使用三目运算设置样式
  5. Linux - 使用dlsym()的RTLD_NEXT来实现库函数拦截
  6. 注意:18种会致流产或让宝宝变傻的食物
  7. 湖南大学21夏训练四20.恺撒Caesar密码
  8. 吉林大学计算机动画与游戏导师,吉林大学计算机导师
  9. 探讨国外网站设计动用的成本,网页设计师必看
  10. MySQL问题记录(Linux)