局部二值模式
局部二值模式(英文:Local binary patterns,縮寫:LBP)是機器視覺領域中用於分類的一種特徵,於1994年被提出[1][2]。局部二值模式在紋理分類問題上是一個非常強大的特徵;如果局部二值模式特徵與方向梯度直方圖結合,則可以在一些集合上十分有效的提升檢測效果[3]。局部二值模式是一個簡單但非常有效的紋理運算符。它將各個像素與其附近的像素進行比較,並把結果保存為二進制數。由於其辨別力強大和計算簡單,局部二值模式紋理算子已經在不同的場景下得到應用。LBP最重要的屬性是對諸如光照變化等造成的灰度變化的強健性。它的另外一個重要特性是它的計算簡單,這使得它可以對圖像進行實時分析。
概念
[編輯]在最簡簡化的情況下,局部二值模式特徵向量可以通過如下方式計算:
- 將檢測窗口切分為區塊(cells,例如,每個區塊16x16像素)。
- 對區塊中的每個像素,與它的八個鄰域像素進行比較(左上、左中、左下、右上等)。可以按照順時針或者逆時針的順序進行比較。
- 對於中心像素大於某個鄰域的,設置為0;否則,設置為1。這就獲得了一個8位的二進制數(通常情況下會轉換為十進制數字),作為該位置的特徵。
- 對每一個區塊計算直方圖。
- 此時,可以選擇將直方圖歸一化;
- 串聯所有區塊的直方圖,這就得到了當前檢測窗口的特徵向量。
此特徵向量可以通過諸如支持向量機等機器學習算法來產生一個分類器。
一個有效的擴展被稱為「等價模式」[4],可用於對特徵向量降維,以及實現簡單的旋轉不變算子。其主要根據是一些模式比另一些模式更加常見。當某個LBP只包含從0到1或從1到0的最多兩次跳變時,該LBP被定義為一個等價模式。例如,00010000(2次跳變)是一個等價模式,01010100(6次跳變)不是。在計算LBP的直方圖時,對於每一個等價模式都各有一個組(bin),而所有非等價模式都被歸類到一個單獨的組中。使用等價模式,一個區塊的特徵長度能從256降到59。
發展
[編輯]原始的局部二值模式提出後,研究人員不斷對其提出了各種改進和優化。
圓形局部二值模式
[編輯]基本的局部二值模式算子的最大缺陷在於它只覆蓋了一個固定半徑範圍內的小區域,這顯然不能滿足不同尺寸和頻率紋理的需要。為了適應不同尺度的紋理特徵,並達到灰度和旋轉不變性的要求,Ojala等對局部二值模式算子進行了改進,將3×3鄰域擴展到任意鄰域,並用圓形鄰域代替了正方形鄰域,改進後的局部二值模式算子允許在半徑為 R 的圓形鄰域內有任意多個像素點。從而得到了諸如半徑為R的圓形區域內含有P個採樣點的局部二值模式算子。
旋轉不變的局部二值模式
[編輯]從局部二值模式的定義可以看出,局部二值模式算子是灰度不變的,但卻不是旋轉不變的。圖像的旋轉就會得到不同的局部二值模式值。Maenpaa等人又將局部二值模式算子進行了擴展,提出了具有旋轉不變性的局部二值模式算子,即不斷旋轉圓形鄰域得到一系列初始定義的局部二值模式值,取其最小值作為該鄰域的局部二值模式值[5]。
實現
[編輯]- Python mahotas (頁面存檔備份,存於互聯網檔案館),一個包含了局部二值模式實現的開源計算機視覺庫。
應用
[編輯]目前,局部二值模式已經應用在指紋識別、光學字符識別、人臉識別及車牌識別等領域[6]。
人臉識別
[編輯]顯而易見的是,上述提取的局部二值模式算子在每個像素點都可以得到一個局部二值模式「編碼」,那麼,對一幅圖像(記錄的是每個像素點的灰度值)提取其原始的LBP算子之後,得到的原始LBP特徵依然是「一幅圖片」(記錄的是每個像素點的局部二值模式值)。[7]
局部二值模式的應用中,如紋理分類及人臉分析等,一般都不將局部二值模式圖譜作為特徵向量用於分類識別,而是採用局部二值模式特徵譜的統計直方圖作為特徵向量用於分類識別。
因為,從上面的分析我們可以看出,這個「特徵」跟位置信息是緊密相關的。直接對兩幅圖片提取這種「特徵」,並進行判別分析的話,會因為「位置沒有對準」而產生很大的誤差。後來,研究人員發現,可以將一幅圖片劃分為若干的子區域,對每個子區域內的每個像素點都提取局部二值模式特徵,然後,在每個子區域內建立局部二值模式特徵的統計直方圖。如此一來,每個子區域,就可以用一個統計直方圖來進行描述;整個圖片就由若干個統計直方圖組成。[8]
參考
[編輯]參考文獻
[編輯]- ^ T. Ojala, M. Pietikäinen, and D. Harwood (1994), "Performance evaluation of texture measures with classification based on Kullback discrimination of distributions", Proceedings of the 12th IAPR International Conference on Pattern Recognition (ICPR 1994), vol. 1, pp. 582 - 585.
- ^ T. Ojala, M. Pietikäinen, and D. Harwood (1996), "A Comparative Study of Texture Measures with Classification Based on Feature Distributions", Pattern Recognition, vol. 29, pp. 51-59.
- ^ "An HOG-LBP Human Detector with Partial Occlusion Handling", Xiaoyu Wang, Tony X. Han, Shuicheng Yan, ICCV 2009
- ^ M. Heikkilä, M. Pietikäinen, "A texture-based method for modeling the background and detecting moving objects", IEEE Transactions on Pattern Analysis and Machine Intelligence, 28(4):657-662, 2006.
- ^ Ojala, T., Pietikäinen, M. and Mäenpää, T. (2002), Multiresolution Gray-scale and Rotation Invariant Texture Classification with Local Binary Patterns. IEEE Trans. Pattern Analysis and Machine Intelligence 24(7): 971-987.
- ^ 存档副本. [2013-01-03]. (原始內容存檔於2013-01-03).
- ^ Face Description with Local Binary Patterns: Application to Face Recognition (PDF). [2013-01-05]. (原始內容存檔 (PDF)於2012-10-21).
- ^ Face Recognition with Local Binary Pattern 互聯網檔案館的存檔,存檔日期2012-07-10.