HOG+LBP特征學習


最近在學習iDT方面的論文,里面提到了HOG、HOF、MBH特征算子。慢慢學習,記錄下來,以便日后查看

首先,今天學習的是HOG+LBP特征

1.HOG(方向梯度直方圖)廣泛用於計算機視覺領域和圖像處理中的特征提取,它具有良好的不變性。

1)主要思想:

  一副圖片的邊緣或輪廓,具有較大的梯度變化,因此,計算像素的梯度來描述邊緣或輪廓信息也就順其自然

2)具體實現方法:

  針對一副圖片,多個像素(比如6*6)組成一個單元(cell),多個單元(比如2*2)組成一個塊(block),將多個block提取到的特征進行聯接得到的即是一副圖片最后的HOG特征。

3)提高性能

  在block層面對局部直方圖進行歸一化,方法:先計算各直方圖在這個塊(block)中的密度,根據這個密度對塊(block)中的單元(cell)進行歸一化

  能夠對光照變化和陰影獲得更好的效果

4)優點

  HOG是在圖像的局部單元(cell)上進行操作,因此它對圖像的幾何以及光學的形變具有良好的不變性。其次,在粗的空域抽樣、精細的方向抽樣以及較強的局部光學歸一化等條件下,只要行人大體上能夠保持直立的姿勢,可以容許行人有一些細微的肢體動作,這些細微的動作可以被忽略而不影響檢測效果。因此HOG特征是特別適合於做圖像中的人體檢測的。

 

提取HOG特征的過程:

1)將RGB圖像轉化為灰度圖像

2)利用Gamma對灰度圖像進行歸一化,降低光照的影響

3)對圖片每個像素計算梯度

4)划分cell(如6*6像素/cell)

5)統計每個cell的梯度直方圖,即可形成每個cell的descriptor

6)將每幾個cell組成一個block(例如3*3個cell/block),一個block內所有cell的特征descriptor串聯起來便得到該block的HOG特征descriptor。

7)將圖像內的所有block的HOG特征descriptor串聯起來就可以得到該image(你要檢測的目標)的HOG特征descriptor了。這個就是最終的可供分類使用的特征向量了

 

 

2.LBP特征

LBP(Local Binary Pattern,局部二值模式)是一種用來描述圖像局部紋理特征的算子;它具有旋轉不變性和灰度不變性等顯著的優點

1、LBP特征的描述

原始的LBP算子定義為在3*3的窗口內,以窗口中心像素為閾值,將相鄰的8個像素的灰度值與其進行比較,若周圍像素值大於中心像素值,則該像素點的位置被標記為1,否則為0。這樣,3*3鄰域內的8個點經比較可產生8位二進制數(通常轉換為十進制數即LBP碼,共256種),即得到該窗口中心像素點的LBP值,並用這個值來反映該區域的紋理信息。如下圖所示:

LBP的改進版本:

原始的LBP提出后,研究人員不斷對其提出了各種改進和優化。

(1)圓形LBP算子:

基本的 LBP算子的最大缺陷在於它只覆蓋了一個固定半徑范圍內的小區域,這顯然不能滿足不同尺寸和頻率紋理的需要。為了適應不同尺度的紋理特征,並達到灰度和旋轉不變性的要求,Ojala等對 LBP 算子進行了改進,將 3×3鄰域擴展到任意鄰域,並用圓形鄰域代替了正方形鄰域,改進后的 LBP 算子允許在半徑為 R 的圓形鄰域內有任意多個像素點。從而得到了諸如半徑為R的圓形區域內含有P個采樣點的LBP算子;

(2)LBP旋轉不變模式

從 LBP 的定義可以看出,LBP 算子是灰度不變的,但卻不是旋轉不變的。圖像的旋轉就會得到不同的 LBP值。

Maenpaa等人又將 LBP算子進行了擴展,提出了具有旋轉不變性的 LBP 算子,即不斷旋轉圓形鄰域得到一系列初始定義的 LBP值,取其最小值作為該鄰域的 LBP 值。

圖 2.5 給出了求取旋轉不變的 LBP 的過程示意圖,圖中算子下方的數字表示該算子對應的 LBP值,圖中所示的 8 種 LBP模式,經過旋轉不變的處理,最終得到的具有旋轉不變性的 LBP值為 15。也就是說,圖中的 8種 LBP 模式對應的旋轉不變的 LBP模式都是00001111。

(3)LBP等價模式

一個LBP算子可以產生不同的二進制模式,對於半徑為R的圓形區域內含有P個采樣點的LBP算子將會產生P2種模式。很顯然,隨着鄰域集內采樣點數的增加,二進制模式的種類是急劇增加的。例如:5×5鄰域內20個采樣點,有220=1,048,576種二進制模式。如此多的二值模式無論對於紋理的提取還是對於紋理的識別、分類及信息的存取都是不利的。同時,過多的模式種類對於紋理的表達是不利的。例如,將LBP算子用於紋理分類或人臉識別時,常采用LBP模式的統計直方圖來表達圖像的信息,而較多的模式種類將使得數據量過大,且直方圖過於稀疏。因此,需要對原始的LBP模式進行降維,使得數據量減少的情況下能最好的代表圖像的信息。

為了解決二進制模式過多的問題,提高統計性,Ojala提出了采用一種“等價模式”(Uniform Pattern)來對LBP算子的模式種類進行降維。Ojala等認為,在實際圖像中,絕大多數LBP模式最多只包含兩次從1到0或從0到1的跳變。因此,Ojala將“等價模式”定義為:當某個LBP所對應的循環二進制數從0到1或從1到0最多有兩次跳變時,該LBP所對應的二進制就稱為一個等價模式類。如00000000(0次跳變),00000111(只含一次從0到1的跳變),10001111(先由1跳到0,再由0跳到1,共兩次跳變)都是等價模式類。除等價模式類以外的模式都歸為另一類,稱為混合模式類,例如10010111(共四次跳變)(這是我的個人理解,不知道對不對)。

通過這樣的改進,二進制模式的種類大大減少,而不會丟失任何信息。模式數量由原來的2P種減少為 P ( P-1)+2種,其中P表示鄰域集內的采樣點數。對於3×3鄰域內8個采樣點來說,二進制模式由原始的256種減少為58種,這使得特征向量的維數更少,並且可以減少高頻噪聲帶來的影響。

參考自https://www.cnblogs.com/zhehan54/p/6723956.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM