LBP (Local Binary Pattern) 是目前流行的模式識別、人臉識別演算法嗎?
Labeled Face in Wild項目有一張排名表:http://vis-www.cs.umass.edu/lfw/results.html
現階段準確率較高的演算法都是數據驅動(Data Driven)的。
LBP是一種圖像紋理特徵(提取演算法),它是一種局部特徵,是照片分類和人臉檢索研究中採用較多的特徵提取演算法之一。
特徵提取演算法是模式識別演算法的重要組成部分之一,另外一個重要部分是分類演算法。同意樓上的觀點,再補充一下:在模式識別領域,LBP是眾多常用特徵描述子之一,它的優勢是定義簡單、擴展方便、效率較高,在很多問題中的實驗效果也不錯。在圖像物體識別領域,其它比較常用的特徵描述子包括:Histogram of Oriented Gradient (HOG),SIFT,SURF,Wavelet,Gabor,DCT等,具體選擇哪種運算元需要根據目標對象決定。 在人臉識別領域,像樓上所說,LBP和Gabor是公認效果較好的兩組特徵。當然,影響識別精度的因素很多,如:預處理、特徵選擇、分類器設計和後處理等。
這個問題應該分成兩個部分來回答。LBP是眾多的圖形特徵提取方法的其中一種,而模式識別以及人臉識別,都是圖像識別的一種應用。然而圖形特徵提取是圖像辨識的整個流程中一個步驟,並不是兩個層次的東西。以下就 (1)LBP (2)圖像識別 (3) LBP在人臉識別的應用來簡略回答。
1. LBP
特徵提取方法的設計一直是圖像識別應用的關鍵,目的是希望將資料中重要的資訊提取出來,去除雜訊的影響,以提升分類的準確率。舉個簡單的例子:如果今天要做的是人臉識別的任務,則特徵提取的方法就應該設計成能夠去除圖片中光影以及位移角度等的影響。
原圖及其LBP特徵
(圖片出處 : http://www.advancedsourcecode.com/lbpface.asp)
不同的特徵提取方法有不同的效果,而LBP則是其中一種。它的特性是較能排除光照變化且運算速度快。LBP特徵自1994年被提出後,至今已發展許多變形,但其核心觀念依舊大同小異:計算每個像素和周圍像素間「相對」的關係。
詳細計算方法網路上有許多資源可以參考,在此僅簡單描述直觀理解的想法。我們知道通常光照對圖中的物件帶來的影響是全局的,也就是說照片中的物體明暗程度,是往同一個方向改變的,可能是變亮或變暗,只是改變的幅度會因為距離光源的遠近而有所不同。所以基本上局部相鄰(Local)的像素間,受光照影響後數值也許會改變,但相對大小不會改變。Local Binary Pattern即是運用此一特性所計算出來的特徵。
2. 圖像識別
傳統的圖像識別流程如下圖所示,主要是由兩步驟所組成,分別是特徵提取以及分類
而上面提到的LBP,即是上圖流程中特徵提取的步驟。其他常見的特徵提取有HOG (Histogram of Oriented Gradient),SIFT (scale-invariant feature transform) 及 Haar-like等。而分類步驟則通常是由大名鼎鼎的SVM支撐向量機(support vector machine),貝式分類器 (Bayes classifier)以及決策樹(Decision tree)等方法負責。
3. LBP在人臉識別的應用
提到人臉識別,就不得不參考LFW (Labeled Faces in the Wild)這個最具公信力的人臉檢測資料庫之一。除了提供豐富的人臉資料以外,也制定了統一的準確率評價標準以及至今各大演算法的表現數據,包括祖父級的Eigenfaces到近幾年最火的深度學習,一應俱全。從上面我們可以看到,在近年深度學習出現之後,準確率出現了一條鴻溝,而LBP是屬於比較前期的技術(以下簡稱傳統演算法),若沒有混合其他演算法,以LBP為核心的識別技術準確率落後目前頂尖的演算法至少十個百分點以上。比較值得注意的是近期的一篇 Blessing of Dimensionality: High-dimensional Feature and Its Efficient Compression for Face Verification,由微軟 (https://www.microsoft.com/en-us/research/publication/blessing-of-dimisionality-high-dimensional-feature-and-its-efficient-compression-for-face-verification/) 所提出的方法,混合了LBP及人臉關鍵點及大量訓練數據和非監督 / 監督式學習等技術,在準確率上達到了媲美深度學習的程度。
回憶上一節提過的圖像辨識兩步驟以及其特點,在特徵提取的設計會直接影響演算法表現的好壞,而不同數據所需要的特徵也不盡相同,故此步驟通常是演算法的瓶頸。而深度學習則是將兩個步驟合二為一,並且在訓練的過程中讓深度神經網路 「自動」 從訓練的數據中學習最適合的特徵擷取方法,讓演算法的應用更加廣泛,準確率也獲得大幅提升。然而比起傳統演算法,深度學習雖看似準確率有壓倒性的勝利,但使用上還是有許多需要注意的地方,例如模型訓練時間較長,對訓練資料的品質好壞及數量多寡非常敏感,以及預測計算時間較長等等。至於哪一種演算法較好,還是要看應用的目的以及平台,綜合考量各方面的表現再做決定較為妥當。
本回答來自Emotibot影像組 -許世煥
LBP嚴格來講是一種特徵提取方式,如陳義所言。就特徵提取方式而言,目前最成熟最常用的是gabor特徵。這兩種特徵,gabor效果更加魯棒,lbp的特點是運算速度快,便於在嵌入式等平台運行。一般如果條件允許,二者會進行結合,包括定義結合特徵(比如LGBP,LGXP等),特徵級融合和決策級融合。而影響人臉識別演算法最終效果的因素還包括:鑒別特徵提取方式(主流是PCA+LDA),特徵點定位精度(眼睛定位或臉部器官輪廓特徵點定位),以及最終距離的計算方式(歐式,MQDF,以及各種融合,和閾值機制)。
對於LBP本身,是一種紋理描述方法,在紋理分類,特徵表示,物體檢測等領域都有應用。此外,lbp本身還有很多變種,包括block-based lbp(lab),volume lbp(在相鄰幀時域進行編碼)等,是一種使用簡單,運算速度快的特徵,有很多應用。
LBP根據像素周邊8個臨近像素的灰度值,和中心灰度值比較,得到一個八位的編碼(大於為1,小於為0)
然後根據這樣的編碼的直方圖來做分類
這是最簡單的LBP,現在還有很多變種,比如擴大臨域範圍,更複雜的編碼方式等。算是比較流行的feature,因為對光照不敏感。LBP其實不是人臉識別演算法中一個主流方法。同意第一名答案觀點,現在主流演算法應該就是PCA距離。在具體的涉及到應用中的人臉識別系統,PCA特徵的人臉識別識別率已很高了。足以應用到各個場景。而對基於LBP的人臉識別現在研究也不少,主要是簡單有效,計算速度快。對演算法的實時性和魯棒性有很大的提高作用。其次,LBP衍生許多類似LBP的運算元,例如LMCP,是對LBP進行細化分級,最後應用到人臉識別上,那篇論文中的試驗效果是百分之百識別率。LBP在圖像領域還是非常強大的,在圖像檢測,目標跟蹤都可以運用,演算法本身也有很大的研究空間。偏題了。
關注下FRGC、MBGC、MBE這類頂級數據集、人臉識別競賽;挖掘下能作出好成績的公司的技術或論文,差不多會對最新的人臉識別技術進展有更深的了解
用High Dimensional LBP識別效果很好,也很好實現。具體可參考Blessing of Dimensionality: High-dimensional Feature and Its Efficient Compression for Face Verification, CVPR13年MSRA的結果,非常逆天。
LBP其實只是一種局部二值特徵而已。可以去光照,方向的影響。一般用在人臉識別中,提取紋理特徵。個人覺得在人臉識別系統里也只能有一個預處理的作用,之後還是需要用到經典的降維方法提取更加容易區分的人臉特徵進行識別。
LBP只是一種特徵描述符,對光照不敏感,對方向信息敏感。
只能說LBP或者LBPH比較容易實現,據說哈佛的網路束或者SVM更加靈,SVM么…無腦堆樣本么,國內有face++挺厲害,估計也用到了機器學習
真正做人臉識別,光用局部特徵是不夠的;另外,多用多種實際數據集做測試優化會比較好
推薦閱讀:
※人工智慧在哪些行業細分領域現在是投資最佳時機?
※有監督和無監督學習都各有哪些有名的演算法和深度學習?
※必須要在正規的人工智慧專業學習並獲得博士學位才能真正學會深度學習嗎?
※人工智慧會給人帶來危險嗎?
※霍金再次對人工智慧發出警告,可能導致人類滅亡,你怎麼看?