LBP特征提取算法

LBP特征提取算法
预览:

[原 ]LBP特征提取算法

2013-5-9阅读 1039 评论 1

本文的 PDF 版本,以及涉及到的所有文献和代码可以到下列地址下载:

1、 PDF 版本以及文献:http://download.csdn.net/detail/ty101/5349816

2、原作者的 MATLAB 代码:http://download.csdn.net/detail/ty101/5349894 LBP 一种用来描述图像纹理特征的算子, 该算子由芬兰奥卢大学的 T.Ojala 等人 在 1996年提出 [1],在 2002年时, Timo Ojala等人在 PAMI 上又发表了一篇关 于 LBP 的文章 [2],该文章非常清楚的阐述了 多分辨率 、 灰度尺度不变 和 旋转不 变、等价模式 的改进的 LBP 特征。 LBP 的核心思想就是:以中心像素的灰度值作 为阈值, 与他的领域相比较得到相对应的二进制码来表示局部纹理特征。 呃, 这 句话实在有些拗口 -_-#还是举例吧, 下面我们从最简单的入手, 一步一步讲解整 个 LBP 特征(整个 LBP 特征提取流程请看文章最后的 appendix )。

l 初级的 LBP 计算方法(先撇开 多分辨率、灰度尺度不变、旋转不变 ^_^) 假设我们有一个 3*3的窗口,窗口内的值代表每个像素的灰度值,如下所示:

可以看到中心像素点的灰度值为 6,我们将这个中心像素点的灰度值与它周围 8领域的像素值大小做比较,也就是说我们将 7、 9、 8、 7、 1、 2、 5、 6这 8个数 字分别与 6做比较, 大于 6, 我们则把右边相应的方格置为 1, 小于 6则置为 0。 之后我们就得右边的窗口, 我们按逆时针方向把这些 1和 0连起来就得到了所谓 的 LBP 模式:11110001(注意是二进制的),然后将这个数转换为 10进制,也 就是 241。

Tips:扩展后的 LBP 中的窗口形状

上面所说的版本是 Timo Ojala在 1996年提出的,在 2002年的时候 Timo Ojala在 PAMI 上的文章对上述算法进行了拓展。拓展后的算法可以设置邻域和半径的 属性, 用 P 来表示邻域像素点个数, 用 R 来表示半径, 上面我们描述的初级版本 就是

P=8,R=1.0的版本(不考虑插值,后面会详细描述 )。下图描述了 P , R 取 不同值时的情形:

第1页/共6页 下一页>尾页