這篇博文的內容主要來自研討課周嫻同學的課件,在此表示感謝。
LBP(Local Binary Pattern):局部二值模式。由Timo Ojala等人在1996年提出,用于紋理特征的提取。
一. 基本算法
- 對推按個中的所有點,以該點為中心,取
3*3的鄰域窗口; - 將8-鄰域像素值與中心點像素值比較,大于或等于中心像素的標記為1,否則標記為0;
- 將周圍0-1序列,以一定的順序排列,成為一個8位二進制數,轉化為十進制數;
- 這個十進制整數就是表征這個窗口的LBP值,并用這個值來反映該區(qū)域的紋理信息。

當然,這里的8-鄰域只是一種情況,為了使用不同尺度的紋理特征,研究者對LBP算子進行了改進,將3*3鄰域擴展到任意鄰域,并用圓形鄰域代替了正方形鄰域,半徑R可以是小數,對于沒有落到整數位置的點,根據軌道內離其最近的兩個整數位置像素灰度值,利用雙線性插值的方法計算它的灰度值。
該算法存在的問題:
- 對旋轉敏感;
- 對于P個采樣點的LBP算子會產生
2^P中模式,模式太多!
解決:
二. 改進的LBP算子
1.LBP旋轉不變模式
研究者對LBP算子進行擴展提出了具有旋轉不變的LBP算子,即不斷旋轉圓形鄰域得到一系列初始定義的LBP值,取其最小值作為該鄰域的LBP值。公式表示如下:

2. LBP等價模式
前文說了,含有P個采樣點的LBP算子會產生2^P中模式,為了給LBP算子的模式種類進行降維,Ojala提出一種“等價模式”(Uniform Parttern)。
Ojala等認為,在實際圖像中,絕大多數LBP模式最多只包含兩次從1到0或從0到1的跳變。因此,Ojala將“等價模式”定義為:當某個LBP所對應的循環(huán)二進制數從0到1或從1到0最多有兩次跳變時,該LBP所對應的二進制就稱為一個等價模式類。
如00000000(0次跳變),00000111(只含一次從0到1的跳
變),10001111(先由1跳到0,再由0跳到1,共兩次跳變)
都是等價模式類。除等價模式類以外的模式都歸為另一類,稱為混合模式類。
通過這樣的改進,二進制模式的種類大大減少,而且不會丟失任何信息。模式數量由原來的2^P種減少為P(P-1)+2,P表示鄰域內的采樣點數。對于3*3鄰域內8個采樣點來說,二進制模式由原始的256種減少為58種,這樣使得特征向量的維數更少。
3. LBP旋轉不變的等價模式
LBP算子的旋轉不變模式還可以與等價模式聯合起來,將等
價模式類進行旋轉得到旋轉不變的等價模式,這使得可能的模式種類由2^P類減少為P+1類。所有的非等價模式被歸為第P+1類,如公式所示:

三. LBP算子的優(yōu)缺點
優(yōu)點:
- 一定程度上,LBP算子消除了光照變化的問題
- ? LBP算子具有旋轉不變性
- LBP紋理特征維度低,計算速度快
缺點:
- 當光照變化不均勻時,各像素間的大小關系被破壞,對應的LBP算子也就發(fā)生了變化。
- 通過引入旋轉不變的定義,使LBP算子更具魯棒性。但這也使LBP算
四. LBP特征向量提取步驟
(1)將檢測窗口劃分為16*16的小區(qū)域(cell);
(2)對于每個cell中的每一個像素,將鄰域內像素的灰度
值與其進行比較,得到該像素點的LBP值
(3)然后計算每個cell的直方圖,即每個數字(假定是十進制數LBP值出現的頻率);然后對該直方圖進行歸一化處理。
(4)最后將得到的每個cell的統(tǒng)計直方圖進行連接成為一個特征向量,也就是整幅圖的LBP紋理特征向量了。
然后便可利用機器學習算法進行分類了。
