近日接觸到旋轉不變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...