如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
算法分析(草稿)LBP算法分析(草稿)LBP是一种简单,有效的纹理分类的特征提取算法。主要的论文是"Multiresolutiongray-scaleandrotationinvarianttextureclassificationwithlocalbinarypatterns",pami,vol24,no.7,July2002。LBP就是"localbinarypattern"的缩写。从纹理分类的角度看,图像上某个像素点的纹理特征,大多数情况下,是指这个点和它周围点的关系。也就是说,这个点和它的邻域内的点的关系。从哪个角度对这种关系提取特征,就形成了不同种类的特征。有了特征,就能根据特征对纹理进行分类。LBP构造了一种衡量一个像素点和它周围像素点的关系。从原来上来说,它的步骤是这样的:公式(1)T=t(g_c,g_0,...,g_(P-1))这个是latex的写法,跟论文上的公式(1)是一样的,用过latex的都知道:)假设图像是灰度图,那么,图像上的像素值在[0,255]的区间内。假设我们要计算某个点(x_0,y_0)的LBP特征,就是像素(x_0,y_0)的灰度值,g_cg_0,g_1,...,g_(P-1)就是(x_0,y_0)周围的若干个像素的灰度值。这些点是符合分布的呢?按照论文的图1,是分布成圆形,以P等分这个圆。如果图像亮度发生变化,比如说,在很亮的情况拍照的纹理,和很暗的情况拍照的纹理,尽管纹理相似,亮度不同。我们需要灰度不变的特征,也就说,要让计算出的特征值,在亮或暗拍照的情况下是一样的。那么,公式(1)可以改造成公式(2):T=t(g_c,g_0-g_c,g_1-g_c,...,g_(P-1)-g_c)这个公式和公式(1)是等价的,毫无疑问。进一步的,g_c其实仅表示拍照时候的亮度,我们也可以把它简化掉,这样公式(2)可以改造成公式(3):T=t(g_0-g_c,g_1-g_c,...,g_(P-1)-g_c)考虑到实际性能,公式(3)还可以进一步改写成只有0和1的特征,公式(5):T=t(s(g_0-g_c),s(g_1-g_c),...,s(g_(P-1)-g_c))如果x>=0,s(x)=1,其他情况,s(x)=0。这样,T就只剩下0和1了,这也就是lbp的binary的由来。如果T是一串0和1组成的特征,那么它就可以表示成一个整数,这个0和1组成的串,就是整数的二进制码。于是,我们得到了公式(7):LBP_(P,R)=sum_(P=0)^(P-1)s(g_p-g_c)*2^p也就是说,不同的P和不同的R,根据T的二进制串,就能算出一个整数值。如果图像旋转了,那么,纹理特征就旋转了,此时,得到的二进制串也就是是旋转了,得到的LBP的值就变化了。为了让LBP特征是旋转不变的,算法需要进一步改造。假设,我们在公式(5)中得到的二进制特征是:10010000,那么,将这个二进制特征,按照顺时针方向旋转,可以把它转成00001001的形式,这样得到的LBP的值是最小的。无论图像怎么旋转,对点提取的二进制特征点的最小值是不变的。按照这种思路,就得到了公式(8):LBP_(P,R)^(ri)=min{ROR(LBP_(P,R),i)|i=0,1,...,P-1}这样,LBP特征是旋转不变的了。当P=8的时候,能产生的不同的二进制特征数量是2^8个,经过上述处理之后,只有36个旋转不变特征。作者认为经过上述步骤得到的LBP特征的区分性不够好。为了,将上述的36个最小二进制特征,在进一步分类,在这36个特征里,9个uniform特征出现的频率特别高,有时候会到90%。因此,将上述的特征再改造成公式(9):LBP_(P,R)^(riu2)=sum_(P=0)^(P-1)s(g_P-g_c)ifU(LBP_(P,R))<=2LBP_(P,R)^(riu2)=P+1ifU(LBP_(P,R))>2函数U(x)的含义是:如果位置i和位置i-1是不同的,那么就是U值就是1,如果相同,就是0,U对于所有的i,都这么处理,就得到了U(x)。比如说,x=000000,那么U(x)=0;x=10000000,那么U(x)=1;x=01000000,那么U(x)=1。一次类推。只有U(x)<=2的pattern才是uniformpattern。最终的纹理特征,就是LBP数的直方图。举例来说,假设有一副图a.jpg,不考虑边缘,有效的分辨率100*200。那么,要计算它的lbp特征,选定参数,就是对它上面的R=1,P=8,那么,对它上面的每个点,就计算LBP_(P,R)^(riu2),它是一个整数。也就是说,每个点,在给定的R和P下,只有这个一个整数。那么这20,00