我们知道8bit的LBP的特征维数为2^8=256,向量维数非常高,所以希望通过降维减少计算量。这里的统一化模式(Uniform pattern)就是一种降维方式。
首先了解一下什么是转变,这里讲的转变就是从0到1,或从1到0的跳变。例如:10000000——只包含一次转变,10000001——包含两次转变,10100000——包含三次转变。
统一化模式有的是有也叫等价模式,也有叫一致模式的。它是指256种8bit的编码中转变数不超过2的编码,共有58种。
本文主要列举出58中情况:
- 0个转变(2个):
00000000
- 1个转变(7×2=14个):
00111111
00011111
00001111
00000111
00000011
00000001
- 2个转变(6×2+5×2+4×2+3×2+2×2+1×2=42个)
01000000
00100000
00010000
00001000
00000100
00000010
5×2:
01100000
00110000
00011000
00001100
00000110
4×2:
01110000
00111000
00011100
00001110
3×2:
01111000
00111100
00011110
2×2:
01111100
00111110
1×2:
01111110
值得注意的是,上面×'2'中的2表示有两种情况,即原码个反码两种,这样变得到了58种统一化的编码,比原来256种减少了很多。
如果用P表示编码的比特位数,这种统一化后的编码个数可以用公式P(P-1)+2得到。
该公式从上面的例子可以看出,2+8×(8-1)=2+8×(8-1)/2*2=2+(7+6+5+4+3+2+1)*2,可以看成等差数列求和中的高斯求和公式。
推荐阅读
- 颜色共生矩阵Color co-occurrence matrix (CCM)
- 图像检索|在图像检索任务下,使用VGG16的全连接层fc7计算holidays数据集的mAP
- 论文笔记 | SSA-CNN: Semantic Self-Attention CNN for Pedestrian Detection