matlab人脸识别论文
摘 要
本文設計了一種基于BP神經網絡的人臉識別系統,并對其進行了性能分析。該系統首先利用離散小波變換獲取包含人臉圖像大部分原始信息的低頻分量,對圖像數據進行降維;再由PCA算法對人臉圖像進行主成分特征提取,進--步降低圖像數據的處理量;最后使用經過訓練后的BP神經網絡對待測人臉進行分類識別。詳細介紹了離散小波變換PCA特征提取以及BP神經網絡分類設計。通過系統仿真實驗與分析發現:人臉特征的提取是該系統的關鍵;同時,由于人臉灰度信息的統計特征與有監督訓練BP神經網絡分類器,使該系統只在固定類別,并且光照均勻的人臉識別應用場景中具有較高的識別準確率。因此,很難在復雜環境中應用。關鍵詞:人臉識別;人工神經網絡;離散小波變換; PCA; BP神經網絡
Abstract
In this paper, a face recognition system based on BP neural network is designed and its performance is analyzed. The system first uses discrete wavelet transform to obtain the low-frequency components which contain most of the original information of the face image, and then uses PCA algorithm to extract the principal component features of the face image, progressively reducing the processing capacity of the image data. Finally, the trained BP neural network is used to classify and recognize the tested face. Discrete wavelet transform PCA feature extraction and BP neural network classification design are introduced in detail. Through the system simulation experiment and analysis, it is found that the extraction of facial features is the key of the system. At the same time, because of the statistical features of gray information and the supervised training of BP neural network classifier, the system only has a high recognition accuracy in fixed categories and uniform illumination of face recognition application scenarios. Therefore, it is difficult to apply in complex environment.
Key words: face recognition; artificial neural network; discrete wavelet transform; PCA; BP neural network
1緒論
1.1人臉識別技術的細節
一般來說,人臉識別系統包括圖像提取、人臉定位、圖形預處理、以及人臉識別(身份確認或者身份查找)。系統輸入一般是一張或者一系列含有未確定身份的人臉圖像,以及人臉數據庫中的若干已知身份的人臉圖像或者相應的編碼,而其輸出則是一系列相似度得分,表明待識別的人臉的身份。
1.2人臉識別技術的廣泛應用
一項技術的問世和發展與人類的迫切需求是密切相關的,快速發展的社會經濟和科學技術使得人類對安全(包括人身安全、隱私保護等)得認識越來越重視。人臉識別得一個重要應用就是人類的身份識別。一-般來說, 人類得身份識別方式分為三類:
1.特征物品,包括各種證件和憑證,如身份證、駕駛證、房門鑰匙、印章等;
2.特殊知識,包括各種密碼、口令和暗號等;
3.人類生物特征,包括各種人類得生理和行為特征,如人臉、指紋、手形、掌紋、虹膜. DNA、簽名、語音等。前兩類識別方式屬于傳統的身份識別技術,其特點是方便、快捷,但致命的缺點是安全性差、易偽造、易竊取。特殊物品可能會丟失、偷盜和復制,特殊知識可以被遺忘、混淆和泄漏。相比較而言,由于生物特征使人的內在屬性,具有很強的自身穩定性和個體差異性,因此生物特征是身份識別的最理想依據。基于以上相對獨特的生物特征,結合計算機技術,發展了眾多的基于人類生物特征的身份識別技術,如DNA識別技術、指紋識別技術、虹膜識別技術、語音識別技術和人臉識別技術等。生物識別技術在上個世紀已經有了- -定得發展,其中指紋識別技術已經趨近成熟,但人臉識別技術的研究還處于起步階段。指紋、虹膜、掌紋等識別技術都需要被識別者的配合,有的識別技術還需要添置復雜昂貴的設備。人臉識別可以利用已有的照片或是攝像頭遠距離捕捉圖像,無需特殊的采集設備,系統的成本低。并且自動人臉識別可以在當事人毫無覺察的情況下完成身份確認識別工作,這對反恐怖活動有非常重要的意義。基于人臉識別技術具有如此多的優勢,因此它的應用前最非常廣闊,已成為最具潛力的生物特征識別技術之一
1.3人臉識別技術的難點
1.4國內外研究狀況
人臉識別是人類視覺最杰出的能力之-。 它的研究涉及模式識別、圖像處理、生物學、心理學、認知科學,與基于其它生物特征的身份鑒別方法以及計算機人機感知交互領域都有密切聯系。人臉識別早在六七十年代就引起了研究者的強烈興趣。20世紀60年代,Bledsoe 提出了人臉識別的半自動系統模式與特征提取方法。70年代,美、英等發達國家開始重視人臉識別的研究工作并取得進展。1972 年,Harmon 用交互人臉識別方法在理論上與實踐上進行了詳細的論述。同年,Sakai 設計了人臉圖像自動識別系統。80年代初
T. Minami 研究出了優于Sakai的人臉圖像自動識別系統。但早期的人臉識別一般都需要人的某些先驗知識,無法擺脫人的干預。進入九十年代,由于各方面對人臉識別系統的迫切需求,人臉識別的研究變的非常熱門。人臉識別的方法有了重大突破,進入了真正的機器自動識別階段,如Kartbunen-Loeve變換等或新的神經網絡技術。人臉識別研究
得到了前所未有的重視,國際上發表有關人臉識別等方面的論文數量大幅度增加,僅從1990年到2000年之間,sCl 及EI可檢索到的相關文獻多達數千篇,這期間關于人臉識別的綜述也屢屢可見。國外有許多學校在研究人臉識別技術,研究涉及的領域很廣。這些研究受到軍方、警方及大公司的高度重視和資助,國內的一些知名院校也開始從事人臉識別的研究。
人臉識別是當前模式識別領域的一個前沿課題,但目前人臉識別尚處于研究課題階段,尚不是實用化領域的活躍課題。雖然人類可以毫不困難地由人臉辨別一個人,但利用計算機進行完全自動的人臉識別存在許多困難,其表現在:人臉是非剛體,存在表情變化:人臉隨年齡增長面變化:發型、眼鏡等裝飾對人臉造成遮擋:人臉所成圖像受光照、成像角度、成像距離等影響。人臉識別的困難還在于圖像包括大量的數據,輸入的像素可能成百上千,每個像素都含有各自不同的灰度級,由此帶來的計算的復雜度將會增加。現有的識別方法中,通過從人臉圖像中提取出特征信息,來對數據庫進行檢索的方法速度快,而利用拓撲屬性圖匹配來確定匹配度的方法則相對較快。1.5人臉識別的研究內容
人臉識別技術(AFR)就是利用計算機技術,根據數據庫的人臉圖像,分析提取出有效的識別信息,用來“辨認”身份的技術。人臉識別技術的研究始于六十年代末七十年代初,其研究領城涉及圖像處理、計算機視覺、模式識別、計算機智能等領城,是伴隨著現代化計算機技術、數據庫技術發展起來的綜合交叉學科。
1.5.1人臉識別研究內容
1.5.2人臉識別系統的組成
在人臉識別技術發展的幾十年中,研究者們提出了多種多樣的人臉識別方法,但大部分的人臉識別系統主要由三部分組成:圖像預處理、特征提取和人臉的分類識別。一個完整的自動人臉識別系統還包括人臉檢測定位和數據庫的組織等模塊,如圖1.1.其中人臉檢測和人臉識別是整個自動人臉識別系統中非常重要的兩個環節,并且相對獨立。下面分別介紹這兩個環節。人臉檢測與定位,檢測圖像中是否由人臉,若有,將其從背景中分割出來,并確定其在圖
像中的位置。在某些可以控制拍攝條件的場合,如警察拍罪犯照片時將人臉限定在標尺內,此時人臉的定位很簡單。證件照背景簡單,定位比較容易。在另一些情況下,人臉在圖像
中的位置預先是未知的,比如在復雜背景下拍攝的照片,這時人臉的檢測與定位將受以下因素的影響: :
以上兩個環節的獨立性很強。在許多特定場合下人臉的檢測與定位相對比較容易,因此“特征提取與人臉識別環節”得到了更廣泛和深入的研究。近幾年隨著人們越來越關心各種復雜的情形下的人臉自動識別系統以及多功能感知研究的興起,人臉檢測與定位才作為一個獨立的模式識別問題得到了較多的重視。本文主要研究人臉的特征提取與分類識別的問題。
2基于bp神經網絡的人臉識別算法
雖然人臉識別方法的分類標準可能有所不同,但是8前的研究主要有兩個方向,一類是從人臉圖像整體(Holistic Approaches)出發,基于圖像的總體信息進行分類識別,他重點考慮了模式的整體屬性,其中較為著名的方法有:人工神經網絡的方法、統計模式的方法等。另一類是基于提取人臉圖像的幾何特征參數(Feature-Based Approaches), 例如眼、嘴和鼻子的特征,再按照某種距離準則進行分類識別。這種方法非常有效,因為人臉不是剛體,有著復雜的表情,對其嚴格進行特征匹配會出現困難。面分別介紹- -些常 用的方法,前兩種方法屬于從圖像的整體方面進行研究,后三種方法主要從提取圖像的局部特征講行研究。2.1基于特征臉的方法特征臉方法(cigenface)是從生元分析方法PCA c Principal ComponentAnalysis 導出的一種人臉分析識別方法,它根據一-組人臉圖像構造主元子空間,由于主元具有人臉的形狀也稱作特征臉。識別時將測試圖像投影到主元子空間上得到了-組投影系數,然后和各個已知人的人臉圖像進行比較識別,取得了很好的識別效果。在此基礎上出現了很多特征臉的改進算法。
特征臉方法原理簡單、易于實現,它把人臉作為一個整體來處理,大大降低了識別復雜度。但是特征臉方法忽視了人臉的個性差異,存在著一定的理論缺陷。研究表明:特征臉方法隨光線角度及人臉尺寸的影響,識別率會有所下降。2.2基于bp神經網絡的方法
一、實驗要求采用三層前饋BP神經網絡實現標準人臉YALE數據庫的識別,編程語言為C系列語言。
二、BP神經網絡的結構和學習算法實驗中建議采用如下最簡單的三層BP神經網絡,輸入層為,有n個神經元節點,輸出層具有m個神經元,網絡輸出為,隱含層具有k個神經元,采用BP學習算法訓練神經網絡。BP神經網絡的結構BP網絡在本質上是一種輸入到輸出的映射,它能夠學習大量的輸入與輸出之間的映射關系,而不需要任何輸入和輸出之間的精確的數學表達式,只要用已知的模式對BP網絡加以訓練,網絡就具有輸入輸出對之間的映射能力。BP網絡執行的是有教師訓練,其樣本集是由形如(輸入向量,期望輸出向量)的向量對構成的。在開始訓練前,所有的權值和閾值都應該用一些不同的小隨機數進行初始化。BP算法主要包括兩個階段:
2.2.1向前傳播階段
①從樣本集中取一個樣本(Xp,Yp),將Xp輸入網絡,其中Xp為輸入向量,Yp為期望輸出向量。
②計算相應的實際輸出Op。在此階段,信息從輸入層經過逐級的變換,傳送到輸出層。這個過程也是網絡在完成訓練后正常運行時執行的過程。在此過程中,網絡執行的是下列運算:
(2) 向后傳播階段
①計算實際輸出Op與相應的理想輸出Yp的差;
②按極小化誤差的方法調整權矩陣。這兩個階段的工作一般應受到精度要求的控制
(1)作為網絡關于第p個樣本的誤差測度(誤差函數)。
(2)如前所述,之所以將此階段稱為向后傳播階段,是對應于輸入信號的正常傳播而言的,也稱之為誤差傳播階段。為了更清楚地說明本文所使用的BP網絡的訓練過程,首先假設輸入層、中間層和輸出層的單元數分別是N、L和M。X=(x0,x1,…,xN-1)是加到網絡的輸入矢量,H=(h0,h1,…,hL-1)是中間層輸出矢量,Y=(y0,y1,…,yM-1)是網絡的實際輸出矢量,并且用D=(d0,d1,…,dM-1)來表示訓練組中各模式的目標輸出矢量。輸出單元i到隱單元j的權值是Vij,而隱單元j到輸出單元k的權值是Wjk。另外用θk和Φj來分別表示輸出單元和隱單元的閾值。于是,中間層各單元的輸出為:
(3)而輸出層各單元的輸出是:
其中f(*)是激勵函數,采用S型函數:
2.2.2在上述條件下,網絡的訓練過程如下:
(1) 選定訓練集。由相應的訓練策略選擇樣本圖像作為訓練集。
(2) 初始化各權值Vij,Wjk和閾值Φj,θk,將其設置為接近于0的隨機值,并初始化精度控制參數ε和學習率α。
(3) 從訓練集中取一個輸入向量X加到網絡,并給定它的目標輸出向量D。
(4) 利用式(3)計算出一個中間層輸出H,再用式(4)計算出網絡的實際輸出Y。
(5) 將輸出矢量中的元素yk與目標矢量中的元素dk進行比較,計算出M個輸出
誤差項:
對中間層的隱單元也計算出L個誤差項:
(6) 依次計算出各權值和閾值的調整量:
(8) 當k每經歷1至M后,判斷指標是否滿足精度要求:E≤ε,其中E是總誤差函數。
。
如果不滿足,就返回(3),繼續迭代。如果滿足,就進入下一步。
(9) 訓練結束,將權值和閾值保存在文件中。這時可以認為各個權值已經達到穩定,分類器形成。再一次進行訓練時,直接從文件導出權值和閾值進行訓練,不需要進行初始化。
YALE數據庫是由耶魯大學計算視覺與扼制中心創立,包括15位志愿者,每個人有11張不同姿勢、光照和表情的圖片,共計165張圖片,圖片均為80*100像素的BMP格式圖像。我們將整個數據庫分為兩個部分,每個人的前5幅圖片作為網絡的訓練使用,后6副圖片作為測試使用。測試樣例:
輸入輸出:
神經網絡在人臉識別應用中有很長的歷史。早期用于人臉識別的神經網絡主要是Kohonen自聯想映射神經網絡,用于人臉的“回憶”。所謂“回憶”是指當輸入圖像上的人臉受噪聲污染嚴重或部分缺損時,能用Kohonen網絡恢復出原來完整的人臉。Intrator 等人用一個無監督/監督混合神經網絡進行人臉識別。其輸入是原始圖像的梯度圖像,以此可以去除光照的變化。監督學習目的是尋找類的特征,有監督學習的目的是減少訓練樣本被錯分的比例。這種網絡提取的特征明顯,識別率高,如果用幾個網絡同時運算,求其平均,識別效果還會提高。與其他類型的方法相比,神經網絡方法在人臉識別上有其獨到的優勢,它避免了復:雜的特征提取工作,可以通過學習的過程獲得其他方法難以實現的關于人臉識別的規律和規則的隱性表達。此外,神經網絡以時示方式處理信息,如果能用硬件實現,就能顯著提高速度。神經網絡方法除了用于人臉識別外,還適用于性別識別、種族識別等。2.3彈性圖匹配法
彈性圖匹配方法是-種基于動態鏈接結構DLA C Dynamic Link Architecture的方法。它將人臉用格狀的稀疏圖表示,圖中的節點用圖像位置的Gabor小波分解得到的特征向量標記,圖的邊用連接節點的距離向量標記。匹配時,首先J找與輸入圖像最相似的模型圖,再對圖中的每個節點位置進行最佳匹配,這樣產生-一個變形圖,其節點逼近模型圖的對應點的位置。彈性圖匹配方法對光照、位移、旋轉及尺度變化都敏感。此方法的主要缺點是對每個存儲的人臉需計算其模型圖,計算量大,存儲量大。為此,Wiskott 在原有方法的基礎上提出聚東圖匹配,部分克服了這些缺點。在聚束圖中,所有節點都已經定位在相應目標上。對于大量數據庫,這樣可以大大減少識別時間。另外,利用聚束圖還能夠匹配小同人的最相似特征,因此可以獲得關于未知人的性別、胡須和眼鏡等相關信息。
2.4基于模板匹配的方法
模板匹配法是一-種經典的模式識別方法,這種方法大多是用歸一一化和互相關,直接計算兩副圖像之間的匹配程度。由于這種方法要求兩副圖像上的目標要有相同的尺度、取向和光照條件,所以預處理要做尺度歸一化和灰度歸一化的工作。最簡單的人臉模板是將人臉看成-一個橢圓,檢測人臉也就是檢測圖像中的橢圓。另一種方法是將人臉用一-組獨立的小模板表示,如眼睛模板、嘴巴模板、鼻子模板、眉毛模板和下巴模板等。但這些模板的獲得必須利用各個特征的輪廓,而傳統的基于邊緣提取的方法很難獲得較高的連續邊緣。即使獲得了可靠度高的邊緣,也很難從中自動提取所需的特征量。模板匹配方法在尺度、光照、旋轉角度等各種條件穩定的狀態下,它的識別的效果優于其它方法,但它對光照、旋轉和表情變化比較敏感,影響了它的直接使用。2.5基于人臉特征的方法人臉由眼睛、鼻子、嘴巴、下巴等部件構成,正因為這些部件的形狀、大小和結構上的各種差異才使得世界上每個人臉千差萬別,因此對這些部件的形狀和結構關系的幾何描述,可以作為人臉識別的重要特征。幾何特征最早是用于人臉檢測輪廓的描述與識別,首先根據檢測輪廓曲線確定若干顯著點,并由這些顯著點導出- -組用于識別的特征度量如距離、角度等。采用兒何特征進行正面人臉識別一般是通過提取人眼、口、鼻等重要特征點的位置和眼睛等重要器官的幾何形狀作為分類特征。
定位眼睛往往是提取人臉幾何特征的第-步。由于眼睛的對稱性以及眼珠呈現為低灰度值的圓形,因此在人臉圖像清晰瑞正的時候,眼睛的提取是比較容易的。但是如果人臉圖像模糊,或者噪聲很多,則往往需要利用更多的信息(如眼睛和眉毛、鼻子的相對位置等),而且.這將使得眼睛的定位變得很復雜。而且實際圖像中,部件未必輪廓分明,有時人用眼看也只是個大概,計算機提取就更成問題,因而導致描述同-一個人的不同人臉時,其模型參數可能相差很大,面失去識別意義。盡管如此,在正確提取部件以及表情變化微小的前提下,該方法依然奏效,因此在許多方面仍可應用,如對標準身份證照片的應用。
2.5九個人臉庫介紹
FERET人臉數據庫
http://www.nist.gov/itl/iad/ig/colorferet.cfm
由FERET項目創建,此圖像集包含大量的人臉圖像,并且每幅圖中均只有一個人臉。該集中,同一個人的照片有不同表情、光照、姿態和年齡的變化。包含1萬多張多姿態和光照的人臉圖像,是人臉識別領域應用最廣泛的人臉數據庫之一。其中的多數人是西方人,每個人所包含的人臉圖像的變化比較單一。
CMU Multi-PIE人臉數據庫
http://www.flintbox.com/public/project/4742/
由美國卡耐基梅隆大學建立。所謂“PIE”就是姿態(Pose),光照(Illumination)和表情(Expression)的縮寫。CMU Multi-PIE人臉數據庫是在CMU-PIE人臉數據庫的基礎上發展起來的。包含337位志愿者的75000多張多姿態,光照和表情的面部圖像。其中的姿態和光照變化圖像也是在嚴格控制的條件下采集的,目前已經逐漸成為人臉識別領域的一個重要的測試集合。
YALE人臉數據庫(美國,耶魯大學)
http://cvc.cs.yale.edu/cvc/projects/yalefaces/yalefaces.html
由耶魯大學計算視覺與控制中心創建,包含15位志愿者的165張圖片,包含光照、表情和姿態的變化。
Yale人臉數據庫中一個采集志愿者的10張樣本,相比較ORL人臉數據庫Yale庫中每個對象采集的樣本包含更明顯的光照、表情和姿態以及遮擋變化。
YALE人臉數據庫B
https://computervisiononline.com/dataset/1105138686
包含了10個人的5850幅在9種姿態,64種光照條件下的圖像。其中的姿態和光照變化的圖像都是在嚴格控制的條件下采集的,主要用于光照和姿態問題的建模與分析。由于采集人數較少,該數據庫的進一步應用受到了比較大的限制。
MIT人臉數據庫
由麻省理工大學媒體實驗室創建,包含16位志愿者的2592張不同姿態(每人27張照片),光照和大小的面部圖像。
ORL人臉數據庫
https://www.cl.cam.ac.uk/research/dtg/attarchive/facedatabase.html
由英國劍橋大學AT&T實驗室創建,包含40人共400張面部圖像,部分志愿者的圖像包括了姿態,表情和面部飾物的變化。該人臉庫在人臉識別研究的早期經常被人們采用,但由于變化模式較少,多數系統的識別率均可以達到90%以上,因此進一步利用的價值已經不大。
ORL人臉數據庫中一個采集對象的全部樣本庫中每個采集對象包含10幅經過歸一化處理的灰度圖像,圖像尺寸均為92×112,圖像背景為黑色。其中采集對象的面部表情和細節均有變化,例如笑與不笑、眼睛睜著或閉著以及戴或不戴眼鏡等,不同人臉樣本的姿態也有變化,其深度旋轉和平面旋轉可達20度。
BioID人臉數據庫
https://www.bioid.com/facedb/
包含在各種光照和復雜背景下的1521張灰度面部圖像,眼睛位置已經被手工標注。
UMIST圖像集
由英國曼徹斯特大學建立。包括20個人共564幅圖像,每個人具有不同角度、不同姿態的多幅圖像。
年齡識別數據集IMDB-WIKI
https://data.vision.ee.ethz.ch/cvl/rrothe/imdb-wiki/
包含524230張從IMDB和Wikipedia爬取的名人數據圖片。應用了一個新穎的化回歸為分類的年齡算法。本質就是在0-100之間的101類分類后,對于得到的分數和0-100相乘,并將最終結果求和,得到最終識別的年齡
3matlab分析人臉方法介紹
人臉識別之一:查找圖片中的人臉并用方框圈出
這種類似于智能手機拍照時,屏幕里那個框任務頭部的紅框。大致步驟為:獲取RGB圖片—>轉換為灰度圖像—>圖像處理—>人臉識別。代碼如下:clear all
clc
%獲取原始圖片
i=imread(‘face.jpg’);
I=rgb2gray(i);
BW=im2bw(I); %利用閾值值變換法將灰度圖像轉換成二進制圖像
figure(1);
imshow(BW);
%最小化背景
[n1 n2]=size(BW);
r=floor(n1/10);
c=floor(n2/10);
x1=1;x2=r;
s=r*c;
for i=1:10
y1=1;y2=c;
for j=1:10
if(y2<=c || y2>=9c) || (x11 || x2r10)
loc=find(BW(x1:x2,y1:y2)==0);
[o p]=size(loc);
pr=o*100/s;
if pr<=100
BW(x1:x2,y1:y2)=0;
r1=x1;r2=x2;s1=y1;s2=y2;
pr1=0;
end
imshow(BW);
end
y1=y1+c;
y2=y2+c;
end
x1=x1+r;
x2=x2+c;
end
figure(2)
subplot(1,2,1);
imshow(BW)
title(‘圖像處理’);
%人臉識別
L=bwlabel(BW,8);
BB=regionprops(L,‘BoundingBox’);
BB1=struct2cell(BB);
BB2=cell2mat(BB1);
[s1 s2]=size(BB2);
mx=0;
for k=3:4:s2-1
p=BB2(1,k)*BB2(1,k+1);
if p>mx && (BB2(1,k)/BB2(1,k+1))<1.8
mx=p;
j=k;
end
end
subplot(1,2,2);
title(‘人臉識別’);
imshow(I);
hold on;
rectangle(‘Position’,[BB2(1,j-2),BB2(1,j-1),BB2(1,j),BB2(1,j)],‘EdgeColor’,‘r’)實驗效果圖:
人臉識別之二:由輸入的人像識別出數據庫中人像
這種情況類似于手機人臉解鎖,通過當前的人臉去和保存的人臉做比對來實現解鎖等功能;從網上看了好多資料,由于個人能力有限大多都沒仿真出來,最后通過學習PCA算法,了解到可通過PCA算法對輸入矩陣降維,提取特征值和特征向量的方式來做人臉比對。具體的PCA的東西在這里不作介紹,主要介紹一下如何實現人臉比對。
大致步驟:制作人臉數據樣本—>PCA提取樣本數據特征值—>人臉比對1.人臉樣本
從網上搜集了10張人臉圖片,來制作成樣本。
%導入圖片
picture1 = rgb2gray(imread(‘1.jpg’));
picture2 = rgb2gray(imread(‘2.jpg’));
picture3 = rgb2gray(imread(‘3.jpg’));
picture4 = rgb2gray(imread(‘4.jpg’));
picture5 = rgb2gray(imread(‘5.jpg’));
picture6 = rgb2gray(imread(‘6.jpg’));
picture7 = rgb2gray(imread(‘7.jpg’));
picture8 = rgb2gray(imread(‘8.jpg’));
picture9 = rgb2gray(imread(‘9.jpg’));
picture10 = rgb2gray(imread(‘10.jpg’));
[m,n] = size(picture1);
picture_ten = {picture1,picture2,picture3,picture4,picture5,picture6,picture7,picture8,picture9,picture10};
for i=1:10
%把mn的矩陣變換成1(mn)的矩陣
ImgData(i,:) = reshape(picture_ten{i},1,mn);
end
%數據范圍縮小到0到1之間
ImgData = double(ImgData)/255;
PCA分析function Cell_ten = PCA(imgdata,k)
[m,n] = size(imgdata);
img_mean = mean(imgdata); %計算每列平均值
img_mean_ten = repmat(img_mean,m,1); %復制m行平均值至矩陣img_mean_ten
Z = imgdata - img_mean_ten;
T = Z’Z;%協方差矩陣
[V,D] = eigs(T,k); %計算T中最大的前k個特征值與特征向量
img_new = imgdataV*D; %低維度下的各個人臉的數據
Cell_ten = {img_new,V,D};3.通過輸入測試人臉從數據庫中找到相對應人臉function face= facefind(Cell_ten,testdata)%此函數代碼借鑒于他人,還未征求其同意,這里就暫時略過這里testdata是測試圖片的數據4.主程序調用img=imgdata(); %圖片矩陣數據
Cell_ten=PCA(img,2);% PCA
face1=facefind(Cell_ten,imread(‘test.jpg’));%識別
subplot(1,2,1)
imshow(‘test.jpg’)
title(‘測試圖像’)
subplot(1,2,2)
imshow(strcat(num2str(face1),’.jpg’))
title(‘數據庫圖像’)測試效果: 使用這個方式可以實現簡單的人臉識別,但精確度不高;
4 分析算法
在人臉識別系統中有許多關鍵環節,其中最重要的莫過于特征提取。利用主成分分析法(PCA)進行特征提取是目前應用最多的提取方法。作為一種科學的統計方法,它在模式識別、信號處理、數字圖像處理等等領域都有廣泛涉獵。基于PCA中空間原始數據主要特征提取,減少數據冗余的思想,一些在低維特征空間的數據被處理,并合理保留了原始數據中有用的信息,數據空間中維數過高的問題也得以解決。
4.1 主成分分析的基本原理
實際上主成分分析就是一種數學降維演算方法,用若干個綜合變量來代替原本更多的變量,讓這些綜合變量盡可能的實現對原有變量信息的取代,并保持彼此之間不存在關聯。這種多變量化為少數相互無關的變量且信息量不變的統計分析方法就叫做主成分分析法。
假設F1表示原變量的首個線性組合所組成的主要成分指標,就有F1=a11X1+a21X2+…ap1Xp。根據這個數學式可知,如果在每一個主成分中提取一個信息量,即可用方差(F1)進行度量,隨著方差F1的增大,F1所包含的信息也就越多,同時它的線性組合選取也可表示為X1、X2…XP,它們都被稱為方差F1中的第一主成分。如果第一主成分不足以代表原有的P個變量信息時,就可以考慮選取F2,即第二個線性組合,借由它來反映原本的有效信息。在F2中可以不顯示第一主成分中已有的信息,以數學語言來表達要求的話即Cov(F1,F2)=0,其中F2為第二主成分。所以按照實際原變量的變化需求,就可以構造出多個主成分指標。
4.2人臉識別的技術特點
人臉識別是模式識別中的重要分支,它是指通過計算機系統來分析人臉圖像,從中獲取有價值的識別信息,從而辨識身份。所以說從技術特點上來看,人臉識別具有以下幾個關鍵特色。
1、PCA算法
算法大致步驟:
設有m條n維數據。
1)將原始數據按列組成n行m列矩陣X;
2)將X的每一行(這里是圖片也就是一張圖片變換到一行)進行零均值化,即減去這一行的均值(樣本中心化和標準化);將所有的樣本融合到一個矩陣里面特征向量就是變換空間的基向量U=[u1,u2,u3,u4,…],腦袋里面要想到一個樣本投影變換就是該空間的一個點,然后對于許多點可以用KNN等不同的方法進行分類。
3)求出協方差矩陣C=1mXXTC=1mXXT C=\frac {1 }{m } XX^TC=m1XXT;
4)求出協方差矩陣的特征值及對應的特征向量;
5)將特征向量按對應特征值大小從上到下按行排列成矩陣,取前k行組成矩陣P;
6)Y=PXY=PX Y=PXY=PX即為降維到kk kk維后的數據。
對數據進行中心化預處理,這樣做的目的是要增加基向量的正交性,便于高維度向低緯度的投影,即便于更好的描述數據。
對數據標準化的目的是消除特征之間的差異性,當原始數據不同維度上的特征的尺度不一致時,需要標準化步驟對數據進行預處理,使得在訓練神經網絡的過程中,能夠加速權重參數的收斂。
過中心化和標準化,最后得到均值為0,標準差為1的服從標準正態分布的數據。
求協方差矩陣的目的是為了計算各維度之間的相關性,而協方差矩陣的特征值大小就反映了變換后在特征向量方向上變換的幅度,幅度越大,說明這個方向上的元素差異也越大(越有投影的必要,矩陣相乘的過程就是投影),故而選取合適的前k個能以及小的損失來大量的減少元數據的維度。
2、PCA原理推導
基于K-L展開的PCA特征提取:
5.算法優化方法
我用了三種方法對其進行優化
1.采用動量梯度下降算法訓練 BP 網絡。
訓練樣本定義如下:
輸入矢量為
p =[-1 -2 3 1
-1 1 5 -3]
目標矢量為 t = [-1 -1 1 1]
2. 采用貝葉斯正則化算法提高 BP 網絡的推廣能力。在本例中,我們采用兩種訓練方法,即 L-M 優化算法(trainlm)和貝葉斯正則化算法(trainbr),用以訓練 BP 網絡,使其能夠擬合某一附加有白噪聲的正弦樣本數據。其中,樣本數據可以采用如下MATLAB 語句生成:
輸入矢量:P = [-1:0.05:1];
目標矢量:randn(’seed’,78341223);
T = sin(2piP)+0.1randn(size§);
3. 采用“提前停止”方法提高 BP 網絡的推廣能力。對于和例 2相同的問題,在本例中我們將采用訓練函數 traingdx 和“提前停止”相結合的方法來訓練 BP 網絡,以提高 BP 網絡的推廣能力。在利用“提前停止”方法時,首先應分別定義訓練樣本、驗證樣本或測試樣本,其中,驗證樣本是必不可少的。在本例中,我們只定義并使用驗證樣本,即有
驗證樣本輸入矢量:val.P = [-0.975:.05:0.975]
驗證樣本目標矢量:val.T = sin(2pival.P)+0.1randn(size(val.P))
值得注意的是,盡管“提前停止”方法可以和任何一種 BP 網絡訓練函數一起使用,但是不適合同訓練速度過快的算法聯合使用,比如 trainlm 函數,所以本例中我們采用訓練速度相對較慢的變學習速率算法 traingdx 函數作為訓練函數。
參考文獻
[1] HongZiquan.AlgbricFeatureExcaciofmftfoReonino[JPatteo Recognition. 1991. 22 (1) :43~44.
[2] Yuille A L Detcction Templates for Face Recognitio[JCognitive Neuroscience , 1991. 191-200
[3]盧春雨張長水局城區城特征的快速人臉檢測法[D北京:清華大學學報.1999.96 (1) ;4-6.
[4]陳剛,減飛虎實用人臉識別系統的本征臉法實現[D]2001年5月230():45-46.
[
5]杜平,徐大為,劉重慶,基F整體特征的人臉識別方法的研究[12003年6月49 (3) ;382-383.
[6] Chow G, Li X. Towards A System for Automatic Facial Feature Detctio[U] 1993. 2903)2-3.
[7]楊變若,王煎法,楊未來人臉全局特iE識別研究[Z]1997年11月3(5):; 871-875.
[8]邊肇棋,張學工閻平凡等模式識別D]北京:清華大學出版社2000 302)16-17.
致 謝
從畢業設計的選題到論文的指導到最后定稿,期間遇到了無數的困難和阻礙,也曾想過對自己降低要求,也曾想過放棄最初想要堅持的設計,但是最后在孫老師和同學的鼓勵和陪伴下,努力克服了所有的困難,獨立完成了畢業設計和論文的書寫。尤其是要感射我的論文指導老師孫老師,不厭其煩的對我的設計進行指導修改,耐心的幫助我改進設計幫助我搜集相關的資料,感謝孫老師如母親--般的關懷,在孫老師身上不僅學習到了對學術嚴謹的態度,更被孫老師親切無私的個人魅力所感染。還要感謝我的同學和其他所有的老師,他們嚴謹的學術態度,寬容待人嚴于律己的處世風范都使我受益良多。總結
以上是生活随笔為你收集整理的matlab人脸识别论文的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: scipy库(1)
- 下一篇: QIIME 2教程. 22命令行界面q2