李麗娟,于威威
(上海海事大學計算機系,上海 262500)
基于改進LBP人臉識別方法研究
李麗娟,于威威
(上海海事大學計算機系,上海262500)
在我們日常生活中經常用到身份識別技術,國家安全、公安、司法、電子商務、保安監控等領域都用到身份認證和鑒別[1]。基于生物特征識別技術的身份驗證的方法在過去幾十年已得到很大的發展。生物特征識別技術內容廣泛,主要有:指紋識別、虹膜識別、步態識別、靜脈識別、人臉識別、耳廓識別、簽名識別等[2~8]。由于人臉本身形態的差異性和所處環境的復雜性使得人臉識別變得十分困難。在多種因素的影響下,同一人臉在不同的圖像中也有很大的差異。因此,人臉識別的研究具有較高的實際應用價值和理論研究。
局部二值模式(Local Binary Pattern,LBP)是一種線性特征提取方法,它是一種紋理局部特征描述。主要表現為局部灰度紋理描述方式。LBP算法能夠有效地描述局部紋理特征,并且有算法簡單快速的優點。O-jala、Ahonen等人成功地將LBP作為人臉特征提取的一種重要的技術手段[9~10],在人臉識別中取得了明顯的效果。現階段研究LBP算法的人越來越多,對LBP算法的改進也很多,例如在使用LBP前先進行小波變換[11],LBP金字塔算法等[12]。
原始的LBP算法主要存在圖像信息使用不夠充分的問題,在原始LBP算法的研究基礎之上,本文提出一種分層的LBP算子(Hierarchical LBP,HLBP),改進后的LBP算子主要有以下的特點:①描述方法充分準確;②識別過程數據應用充分。
通過改進,使得提取的局部特征更具有判別分析能力,更適用于人臉識別。
原始的LBP算子主要是提取邊緣輪廓局部區域的變化特征。它首先計算圖像中每個像素與其局部鄰域點在灰度上的二值序列關系,然后對二值序列關系進行編碼形式形成局部二值模式,最后采用多區域直方圖作為圖像的特征描述。
Ojala最早提出的LBP算法是在一個選取3×3的矩形方塊內[9],如圖1所示,共9個像素點,分別對應的是9個點的灰度值,包括一個中心灰度值和8個周邊灰度值,設定中間像素點的灰度值為閾值,將周邊的8個像素點的灰度值跟閾值進行比較,如果比閾值大或者相等的標識為1,小于閾值的標識為0。選取一個像素點順時針讀出8個點的二進制值作為該矩形方塊的LBP值,最后以統計直方圖的方式給出整個圖像的LBP特征,用來描述該區域的局部細節特征。

圖1 基本的LBP算子演示
每個像素LBP數學計算公式如下:

其中LBP為中間像素點的lbp值,gc表示中心點的像素值,gi表示環繞8個點對應的像素值,S(x)為二值化函數:

數字圖像經過LBP算子處理后,通過窗口中的LBP編碼獲得窗口的LBP直方圖,再將所有的窗口LBP直方圖進行聯合獲得整個圖像的LBP聯合直方圖。不同大小的窗口統計的LBP編碼不一樣,所得的圖像的直方圖表示也是不一樣的。并且將此直方圖作為識別圖像的特征值。
由于原始的LBP算法存在圖像數據使用不充分的問題,因此本文提出一種分層的LBP算子的改進方法。采用多級LBP直方圖序列特征識別方法。方法首先求取LBP的3×3掃描窗口區域中九個像素點的最大值和最小值,然后將其均分為若干個等級。分別將等分點值作為對應的閾值對圖像進行LBP直方圖序列化處理。最后將獲得的LBP直方圖序列進行聯合獲得HLBP直方圖。本實驗中采用n級的LBP直方圖序列來完成特征信息的描述。具體的實驗步驟如下:
將整幅圖像分為m×m塊進行LBP序列化掃描,其中LBP掃描窗口為3×3。
LBP值計算時所使用的閾值gc為區域內中心點的像素值。所得到的LBP直方圖可表示為 Hi,c=[Hi,c,1,其中Hi,c表示對應第i種分層的以中心像素c為閾值的對應的LBP直方圖。
每塊計算LBP值時所使用的閾值gi為窗口中像素的最大值 gmax和最小值gmin的1/n等分點,即,分別得到對應的LBP直方圖序列為:其中Hi,p,j(p=1,2,…n-1;j=1,2,…,m2)表示n級圖像分割成m× m塊的第p等分點的對應的第j個子塊的直方圖。
最后統計聯合直方圖Hi=[Hi,c,Hi,1,Hi,2,…,Hi,n-1],其中的i表示分層數,Hi,c,Hi,1,Hi,2,…,Hi,n-1是第一步第二步計算出的直方圖,然后進行聯合獲得整個圖像的LBP直方圖。此直方圖既可以作為局部特征又可以作為整體特征來描述整幅圖像并用以識別。
為了驗證算法的準確性,實驗采用YALE和ORL兩個人臉數據庫進行識別。其中YEAL人臉庫包括15位共165張不同姿態、光照和大小的面部圖像,ORL人臉數據庫包括40人共400張面部圖像,部分圖像包括了姿態、表情和面部裝飾物的變化。為了消除圖像中大小、灰度等無關信息的影響,恢復有用的真實信息,首先對圖像進行歸一化處理,使得圖像具有相同的64×64大小,手工對鼻子和嘴巴的位置進行定位,并采用最近鄰分類器進行識別。每人選擇3幅作為訓練樣本,2幅作為測試樣本。
首先對HLBP不同的分層程度進行測試,經典的LBP算法是HLBP算法的一種特殊形式,相當于1層的HLBP。1-5層分級的HLBP算法的識別率如圖2所示。其中經典的LBP算法在ORL和YALE上的識別率分別為0.841和0.852,而3層的HLBP序列化的識別率最高。
在多次的實驗過程中發現,等級的級別過多,就會出現很多的冗余信息,導致信息數據量過大,對后面的識別也帶來一些困難,同樣的如果對應的等級級別過少,會使得很多有效的細節信息被忽略,不能完整地表現出圖像的局部與完整信息。層次區分過多或過少多會降低識別率。只有適當的分層才能得到較好的識別效果。經比較,本文采用3層的HLBP算法。

圖2 HLBP不同分層數的識別率對比

圖3 圖像為三層3×3塊的HLBP直方圖聯合示意圖
其次,考慮到一幅人臉圖像中并不是所有的區域都是重要的,為了突出圖像中重要的人臉信息,將圖像分別為分成1、4、9或16塊。手工確定分塊權值。其中分為4塊的上面兩塊的權重為1,下面兩塊權重為1.2。分為9塊的外面8塊的權重分別為1,中間一塊權重為1.5。分為16塊的外面12塊權重為1,中間四塊權重為1.5。其中權重圖3為3層3×3塊的多尺度LBP直方圖聯合示意圖。不同分塊情況下的識別率如圖4所示。

圖4 3層HBLP在不同分塊情況下的識別率對比
實驗結果表明不同的分塊對于人臉的識別率也有影響。分塊對特征值進行不同的加權有很好的識別效果。在多次的實驗過程中發現,分塊多,就會出現很多的冗余信息,導致信息數據量過大,對后面的識別也帶來一些困難,同樣的如果分塊少,突出數據信息不能很好的表達,也會對識別率有一定的影響。
本文針對LBP中圖像數據使用不充分的問題,提出了一種多層次LBP的人臉識別算法,該方法首先獲得局部區域內灰度的最大值和最小值,將最大值和最小值之間分成若干等級,分別將等級值作為對應的閾值對圖像進行LBP直方圖序列化處理。根據最近鄰準則得到人臉識別結果。通過跟傳統的LBP算法相比,本文提出的算法有較強的魯棒性和較高的識別率。另外實驗結果表明將圖像進行分塊加權,識別率也會升高。
[1]Zhao W,Chellappa R,Phillips P J,et al.Face Recognition:a Literature Survey[J].ACM Computing Served,2003,35(4):399~458
[2]Hietmeyer R.Biometric Identification Promise Fast and Secure Processing of Airline Passengers.The International Civil Aviation Organization Journal,2000,55(9):10~11
[3]孫冬梅,裘正定.生物特征識別技術綜述.電子學報,2001,29(12):1744~1748
[4]X.Qing,Y.Jie,D.Siyi.Texture Segmentation Using LBP Embedded Region Competition[J].Electronic Letters on Computer Vision and Image Analysis,2005,5(1):41~47
[5]L.Ma,L.Zhu.Integration of the Optimal Gabor Filter Design and Local Binary Patterns for Texture Segmentation[C].In:Proc.of the 2007 IEEE International Conference on Integration Technology.Shenzhen,2007:408~413
[6]Chine J T,Wu C C.Discriminate Wavelet Faces and Nearest Feature Classifiers for Face Recognition[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2002,24(12):1644~1649
[7]David D2.Automated Biometrics:Technologies and System.Kluwer Academic Publishers,2000
[8]Castrillon S M,Deniz S O,Guerra A C,et al.Real-Time Detection of Multiple Faces at Different Resolutions in Video Streams.Journal of Visual Communication and Image Representation,2007,18(2):130~140
[9]Ojala T,Pietikanen M,Harwood D.A Comparative Study of Texture Measures with Classification Based on Feature Distributions[J]. Pattern Recognition 1999,29(1):51-59.Pattern Recognition,1999,29(1):5l~59
[10]Ojala T,M.Pietikainen,T.Maenpaa.Multiresolution Gray Scale and Rotation Invariant Texture Classification with Local Binary Patterns[J].IEEE Trans.on Pattern Analysis and Machine Intelligence,2002,24(7):971~987
[11]高濤,何明一等.多級LBP直方圖序列特征的人臉識別[J].中國圖象圖形學報,2009,14(2):202~207
[12]黃非非,李見為,王瑋.結合小波分析和LBP算子的人臉描述與識別[J].重慶工學院學報,2009,23(1):102~109
HLBP;Face Recognition;Pattern Recognition
Research on the Face Recognition Based on Improved LBP Algorithm
LI Li-juan,YU Wei-wei
(Department of Computer Science,Shanghai Maritime University,Shanghai262500)
1007-1423(2015)17-0068-04
10.3969/j.issn.1007-1423.2015.17.015
李麗娟(1989-),女,湖北仙桃人,碩士,研究方向為模式識別
2015-04-17
2015-06-15
局部二值模式(LBP)是一種對灰度圖像的紋理進行描述的方式。然而經典的LBP算法存在數據使用不充分的問題,因此提出一種分層的LBP算子(HLBP)。HLBP選取多層閾值對圖像進行LBP序列化,然后將序列化后的LBP直方圖進行聯合。并在人臉識別中應用改進后的HLBP算子提取特征。基于YALE和ORL人臉數據庫的實驗結果表明,HBLP算法比經典的LBP算法的識別率高。
HLBP;人臉識別;模式識別
于威威(1978-),女,山東人,博士,副教授,研究方向為圖像處理、模式識別
LBP is defined as a texture description method demonstrated in a certain gray scale.There is a problem of insufficient data use in the classic LBP algorithm,so proposes a hierarchical LBP algorithm to solve the problem.In the new method,selects multiple threshold values to serialize the images into LBP,then unions them and applies the improved HLBP algorithm to the face recognition.Based on YALE and ORL face databases,the experiments show that the recognition rate of HLBP algorithm is higher then that of classical LBP algorithm.