Local binary pattern (LBP),在机器视觉领域,是非常重要的一种特征。LBP可以有效地处理光照变化,在纹理分析,纹理识别方面被广泛应用。

LBP 的算法非常简单,简单来说,就是对图像中的某一像素点的灰度值与其邻域的像素点的灰度值做比较,如下图所示:

如果邻域像素值比该点大,则赋为1,反之,则赋为0,这样从左上角开始,可以形成一个bit chain,然后将该 bit chain 转换为一个十进制的数,用表达式可以表达如下:

LBPP,R(xc,yc)=∑P=0P−1s(iP−ic)2P

其中,s 表示一个阈值函数,满足如下关系:

s(x)=1,x≥0

,

s(x)=0,x<0

通过这种转换,可以将一个像素点与邻域的差值关系用一个数表示,因为LBP 记录的是像素点与邻域像素的差值关系,所以光照变化引起像素值的同增同减不会改变LBP的大小,特别是在局部的区域,我们可以认为光照对图像造成的像素值变化是单向的,所以LBP可以很好的保存图像中像素值的差值关系。可以进一步将LBP 做直方图统计,这个直方图可以用来作为纹理分析的特征算子。

我们可以看到,R 表示邻域的半径,P 表示邻域像素的个数,或者bit chain 的长度,如果邻域的半径为1,则邻域的像素个数为8, bit chain 的长度为8,如果邻域半径为2,则邻域的像素个数为16,bit chain 的长度为16,邻域半径为3, 邻域的像素个数为24,bit chain 长度为24,如下图所示:

我们考虑最简单的R=1,P=8 的情况,LBP 映射成一个0-255之间的某一数值,如果用直方图表示,需要一个256维的数组在存储这个直方图。为了缩小存储空间,有人提出了 uniform pattern 的编码方式,根据一个 bit chain 中 0,1之间的转换次数定义了uniform pattern。如果一个 bit chain 中,0,1 之间的转换次数不超过两次,那么这个bit chain 就是 uniform pattern, 比如,00000000 转换次数为0, 00001111 转换次数为1, 00011100 转换次数为2, 01101100 转换次数为4, 01101010 转换次数为6,那些转换次数不超过两次的pattern 都属于uniform pattern,可以证明,绝大多数的binary pattern 都是uniform pattern,通过这种定义,对于 8 bit 的 LBP, 可以从256 维降到 59维,减少了90%。

LBP 的 code 可以在下面的网站上下载:

http://www.cse.oulu.fi/CMV/Downloads/LBPMatlab

参考文献

[1] D. Huang, C. Shan, M. Ardabilian, Y. Wang, and L. Chen, “Local Binary Patterns and Its Application to Facial Image Analysis A Survey,” Systems, Man, and Cybernetics, Part C: Applications and Reviews, IEEE Transactions on, vol. 41, pp. 765-981, 2011.

[2] T. Ojala, M. Pietikainen, and T. Maenpaa, “Multiresolution gray-scale and rotation invariant texture classification with local binary patterns,” Pattern Analysis and Machine Intelligence, IEEE Transactions on, vol. 24, pp. 971-987, 2002.

机器视觉 Local Binary Pattern (LBP)的更多相关文章

  1. 局部二值模式(Local Binary Patterns)纹理灰度与旋转不变性

    Multiresolution Gray Scale and Rotation Invariant Texture Classification with Local Binary Patterns, ...

  2. Local Binary Convolutional Neural Networks ---卷积深度网络移植到嵌入式设备上?

    前言:今天他给大家带来一篇发表在CVPR 2017上的文章. 原文:LBCNN 原文代码:https://github.com/juefeix/lbcnn.torch 本文主要内容:把局部二值与卷积神 ...

  3. 【C++版】Face Alignment at 3000 FPS by Regressing Local Binary Features源码下载

    下载地址: 本帖隐藏的内容 <ignore_js_op> face-alignment-in-3000fps-master.zip (794.42 KB, 下载次数: 1076) 该源码采 ...

  4. OpenCV——LBP(Local Binary Patterns)特征检测

    #include <opencv2/opencv.hpp> #include <iostream> #include "math.h" using name ...

  5. LBP(Local Binary Patterns)局部二进制模式

    1. LBP 用于人脸识别 为了预测每个像素属于哪个脸部器官(眼睛.鼻子.嘴.头发),通常的作法是在该像素周围取一个小的区域,提取纹理特征(例如局部二值模式),再基于该特征利用支持向量机等浅层模型分类 ...

  6. Machine Learning 学习笔记

    点击标题可转到相关博客. 博客专栏:机器学习 PDF 文档下载地址:Machine Learning 学习笔记 机器学习 scikit-learn 图谱 人脸表情识别常用的几个数据库 机器学习 F1- ...

  7. 行人检测4(LBP特征)

    参考原文: http://blog.csdn.net/zouxy09/article/details/7929531 http://www.cnblogs.com/dwdxdy/archive/201 ...

  8. .NET平台开源项目速览(13)机器学习组件Accord.NET框架功能介绍

    Accord.NET Framework是在AForge.NET项目的基础上封装和进一步开发而来.因为AForge.NET更注重与一些底层和广度,而Accord.NET Framework更注重与机器 ...

  9. 42028: Assignment 1 – Autumn 2019

    42028: Assignment 1 – Autumn 2019 Page 1 of 4Faculty of Engineering and Information TechnologySchool ...

随机推荐

  1. window.opener

    window.opener 实际上就是通过window.open打开的窗体的父窗体. 比如在父窗体parentForm里面 通过 window.open("subForm.html" ...

  2. Leetcode Array 1 twoSum

    Given an array of integers, return indices of the two numbers such that they add up to a specific ta ...

  3. SOCKIT 在make时出现(target pattern contains no % stop)???

    Make错误(***target pattern contains no % stop) 1.   问题描述 在按照SoC_SW_Lab_13.0.pdf操作时候出现了下列图片的错误 2.   Bsp ...

  4. 说说我的web前端之路,分享些前端的好书(转)

    WEB前端研发工程师,在国内算是一个朝阳职业,这个领域没有学校的正规教育,大多数人都是靠自己自学成才.本文主要介绍自己从事web开发以来(从大二至今)看过的书籍和自己的成长过程,目的是给想了解Java ...

  5. JVM中垃圾收集选项

    最初并发垃圾收集被引入的时候,激活并发垃圾收集的命令选项是: -XX:+UseParallelGC 增强的并行收集和Java 6一起发布,通过一个新的命令行选项: -XX:+UseParallelOl ...

  6. p2p webrtc服务器搭建系列1: 房间,信令,coturn打洞服务器

    中继(relay) 在RTCPeeConnection中,使用ICE框架来保证RTCPeerConnection能实现NAT穿越 ICE,全名叫交互式连接建立(Interactive Connecti ...

  7. python opener代理

    链接:http://www.jb51.net/article/46495.htm https://www.cnblogs.com/cunyusup/p/7341829.html

  8. IntelliJ IDEA打可执行jar包

    <plugins> <plugin> <artifactId>maven-assembly-plugin</artifactId> <config ...

  9. 【BZOJ1853/2393】[Scoi2010]幸运数字/Cirno的完美算数教室 DFS+容斥

    [BZOJ1853][Scoi2010]幸运数字 Description 在中国,很多人都把6和8视为是幸运数字!lxhgww也这样认为,于是他定义自己的“幸运号码”是十进制表示中只包含数字6和8的那 ...

  10. 九度OJ 1037:Powerful Calculator(强大的计算器) (大整数运算)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:1821 解决:528 题目描述: Today, facing the rapid development of business, SJTU ...