旋轉不變LBP的36種模式

2021-10-01 21:45:03 字數 1002 閱讀 9241

近日接觸到旋轉不變lbp,剛開始以為有256種模式,但是慢慢發現並沒有這麼多種模式,比如10000000(128)和00000010(2)他們的旋轉不變lbp模式都是一樣的,最後都為00000001(1),因此我在這裡討論一下旋轉不變lbp一共有多少種模式。

用python實現一下旋轉不變lbp的種類,**思路如下

1、把0-255這256個數字依次移位計算最小值

2、建立乙個陣列用來存放數字,如果這個數字不在陣列中,就加入陣列,如果在陣列中,就pass掉。同時建立乙個計數器,用來計算一共有多少種模式。

程式如下:

import numpy as np

def circular_shift_left (a):

bit = ''.format(a)

c =

for i in range(8):

bin_value = bit[i:] + bit[:i]

int_value = int(bin_value,2)

return np.min(c)

if __name__=='__main__':

count = 0 #計數

mode= # 模式

for i in range(256):

a = circular_shift_left(i)

if a in mode:

pass

else:

count+=1 #

print(mode,count)

執行結果為: 

[0, 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 37, 39, 43, 45, 47, 51, 53, 55, 59, 61, 63, 85, 87, 91, 95, 111, 119, 127, 255] 36

可以發現,結果並不是256維的,而是36維的,也就是說旋轉不變lbp一共有36種模式。 

關於LBP特徵等價模式個數的解釋

參考部落格 為了解決二進位制模式過多的問題,提高統計性,ojala提出了採用一種 等價模式 uniform pattern 來對lbp運算元的模式種類進行降維。ojala等認為,在實際影象中,絕大多數lbp模式最多隻包含兩次從1到0或從0到1的跳變。因此,ojala將 等價模式 定義為 當某個lbp...

特徵提取之旋轉不變性和尺度不變性的通俗理解

特徵匹配 feature match 是計算機視覺中很多應用的基礎,比如說影象配準,攝像機跟蹤,三維重建,物體識別,人臉識別,所以花一些時間去深入理解這個概念是不為過的。本文希望通過一種通俗易懂的方式來闡述特徵匹配這個過程,以及在過程中遇到的一些問題。首先我通過幾張來指出什麼是特徵匹配,以及特徵匹配...

卷積神經網路的旋轉不變性理解

卷積神經網路本身的設計對旋轉不變性沒有進行專門的考慮,只不過max pooling可以稍微補償一下這個功能,只是角度變化太大,可能會作用不大,但因為max pooling並不是為此而設計的,所以總體上說cnn提取旋轉不變的特徵能力是比較弱的。group equivariant convolution...