利用上週的sobel算子進行了圖像紋理信息的提取,但是發現效果不是很好,因此這周在LFW上,查找了一些新方法來專門進行人臉的紋理信息的提取。
LFW:最具公信力的人臉檢測資料庫之一;圖片來自:http://vis-www.cs.umass.edu/lfw/results.html
1.利用LPB進行紋理的提取:
參考論文:
An HOG-LBP human detector with partial occlusion handling
基本的LBP算子的計算
1.對圖像中的所有點,以改點爲中心,取3*3的鄰域窗口;
2.將8鄰域像素值與中心點像素值進行比較,大於或者等於中心像素的標記爲1 ,否則標記爲0;
3.將周圍0,1序列,以一定的順序排列,成一個8位的無故號的二進制數,轉化成整數;
4.這個整數就是表徵這個窗口的LBP值。
但是這樣的LBP有缺點:產生的二進制的種類很多()3*3的鄰域有256種);不具有旋轉不變性。
之後又提出了新的方法:
LBP等價模式:
Ojala提出了一種“等價模式”來對LBP進行降維。某個局部二進制模式所對應的循環二進制數從0->1或1->0,最多有兩次跳變,該局部二進制模式所對應的二進制就成爲一個等價模式。判斷一個二進制模式是否爲等價模式的最簡單方法就是將LBP值與其循環移動一位後的值進行按位相與,計算得到的二進制數中1 的個數,若個數小於或者等於2 ,則是等價模式;否則不是。通過這種方法,模式種類減少成爲了n*(n-1)+2種。大大降低了維度。
旋轉不變的LBP算子
由於LBP的二進制模式是以一定方向、順序進行編碼的,所以當圖像發生旋轉時,按這種編碼的話,LBP值會發生改變,因此是不具有旋轉不變性的。
解決辦法:不斷旋轉鄰域得到一系列的LBP值,取其中最小值作爲該鄰域的LBP值。旋轉的過程也是對二進制模式循環移位的過程。