|
利用上周的sobel算子进行了图像纹理信息的提取,但是发现效果不是很好,因此这周在LFW上,查找了一些新方法来专门进行人脸的纹理信息的提取。
LFW:最具公信力的人脸检测资料库之一;图片来自:http://vis-www.cs.umass.edu/lfw/results.html

1.利用LPB进行纹理的提取:
参考论文:
LBP:指局部二值模式(Local Binary Patterns)。是一种非常有效的纹理描述算子,度量和提取图像局部的纹理信息,对光照具有不变性。LBP自1994年被提出之后,至今已经发展许多变形,核心算法就是:计算每个像素和周围像素间“相对”的关系。
基本的LBP算子的计算
1.对图像中的所有点,以改点为中心,取3*3的邻域窗口;
2.将8邻域像素值与中心点像素值进行比较,大于或者等于中心像素的标记为1 ,否则标记为0;
3.将周围0,1序列,以一定的顺序排列,成一个8位的无故号的二进制数,转化成整数;
4.这个整数就是表征这个窗口的LBP值。
但是这样的LBP有缺点:产生的二进制的种类很多()3*3的邻域有256种);不具有旋转不变性。
之后又提出了新的方法:
LBP等价模式:
Ojala提出了一种“等价模式”来对LBP进行降维。某个局部二进制模式所对应的循环二进制数从0->1或1->0,最多有两次跳变,该局部二进制模式所对应的二进制就成为一个等价模式。判断一个二进制模式是否为等价模式的最简单方法就是将LBP值与其循环移动一位后的值进行按位相与,计算得到的二进制数中1 的个数,若个数小于或者等于2 ,则是等价模式;否则不是。通过这种方法,模式种类减少成为了n*(n-1)+2种。大大降低了维度。
旋转不变的LBP算子
由于LBP的二进制模式是以一定方向、顺序进行编码的,所以当图像发生旋转时,按这种编码的话,LBP值会发生改变,因此是不具有旋转不变性的。
解决办法:不断旋转邻域得到一系列的LBP值,取其中最小值作为该邻域的LBP值。旋转的过程也是对二进制模式循环移位的过程。
|