




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
PAGEPAGEIV摘要由于人臉表情的多樣性、背景的復雜性、光照的變化、姿態的差異等,人臉識別在實際應用中仍然具有挑戰性。人臉作為一種生物特征,在公安、圖像搜索等領域也有著非常方便的應用,具有廣闊的應用前景。由于近年來神經網絡的研究成果,神經網絡再次成為當前的研究熱點。卷積神經網絡比傳統神經網絡更適合于圖像處理。人臉識別技術是利用人臉來完成身份識別和驗證任務的。本文利用卷積神經網絡在近年來深學習領域的研究熱點,完成了人臉識別中的驗證任務。本文主要設計了兩種完全不同的深度卷積神經網絡結構,一種是輕量級VGG卷積神經網絡,另一種是殘差卷積神經網絡,并進行人臉識別方面實驗和分析。實驗結果表明,在人臉識別權威測試集LFW和YTF上獲得了99.1%和93.32%的精度,相對于主流基礎模型分別提高0.57%和0.52%。另外,本文統計了改進模型和基礎模型在LFW上測試的詳細數據,探討了改進模型在效果上獲得提升的原因。關鍵詞:人臉識別身份驗證深度學習卷積神經網絡
ABSTRACTFacerecognitionisstillchallenginginpracticalapplicationsduetothediversityoffacialexpressions,thecomplexityofbackground,thechangeofilluminationandthedifferenceofposture.Face,asabiologicalfeature,hasaveryconvenientapplicationinpublicsecurity,imagesearchandotherfields,andhasbroadapplicationprospects.Becauseoftheresearchachievementsofneuralnetworksinrecentyears,neuralnetworkshavebecomethecurrentresearchhotspotagain.Asakindofneuralnetwork,convolutionalneuralnetworkhasthreeparts:localperception,weightsharinganddownsampling,whichcaneffectivelyimprovetheperformanceoftraditionalneuralnetwork.Theresultsshowthatconvolutionalneuralnetworkismoresuitableforimageprocessingthantraditionalneuralnetwork.Facerecognitiontechnologyusesfacetocompleteidentificationandverificationtasks.Thispapercompletestheverificationtaskoffacerecognitionbyusingtheresearchhotspotofconvolutionalneuralnetworkinthefieldofdeeplearninginrecentyears.Inthispaper,twocompletelydifferentstructuresofdeepconvolutionneuralnetworkaredesigned,oneisthelightweightVGGconvolutionneuralnetwork,theotheristheresidualconvolutionneuralnetwork,andfacerecognitionexperimentsandanalysisarecarriedout.Theexperimentalresultsshowthat99.1%and93.32%accuracyareobtainedonLFWandYTF,whichareimprovedby0.57%and0.52%respectivelycomparedwiththemainstreambasicmodel.Inaddition,thispaperstatisticsthedetaileddataoftheimprovedmodelandthebasicmodeltestedonLFW,andexploresthereasonswhytheimprovedmodelhasbeenimprovedineffect.KEYWORDS:Facerecognition;Authentication;Deeplearning;Convolutionalneuralnetwork目錄第1章緒論 11.1課題研究的背景與意義 11.2國內外研究現狀及發展趨勢 2第2章相關算法概述 52.1人工神經網絡 52.1.1神經元 52.1.2神經網絡模型 72.2卷積神經網絡 142.2.1卷積神經網絡基本結構 152.2.2卷積神經網絡相關改進方法 182.2.3卷積神經網絡的性能 202.3典型的網絡結構 212.3.1AlexNet 212.3.2VGG-Net 222.3.3GoogLeNet 232.3.4ResNet 24第3章輕量級VGG卷積神經網絡 263.1輕量級VGG 263.1.1原VGG網絡結構簡析 263.1.2輕量級VGG神經網絡模型 283.2輕量級VGG模型的訓練與實驗分析 313.2.1圖片數據庫與預處理 313.2.2輕量級VGG網絡模型的訓練與實驗分析 323.2.2.1模型訓練 333.2.2.2實驗結果與分析比較 333.3本章小結 36第4章殘差卷積神經網絡 374.1深層網絡優化難題 374.2殘差學習(ResidualLearning) 384.3殘差卷積神經網絡 394.3.1BatchNormalization 394.3.2ResidualBlock局部單元 404.4殘差卷積神經網絡的訓練與實驗分析 414.4.1圖片數據與預處理 414.4.2網絡的訓練 424.4.3LFW驗證結果分析 434.5本章小結 44第5章總結與展望 45參考文獻 46發表論文和參加科研情況說明 51致謝 52第1章緒論PAGE40第1章緒論 1.1課題研究的背景與意義隨著計算機技術和信息處理技術的發展,計算機視覺逐漸成為一個備受關注的領域。利用計算機技術對可視化信息進行采集、處理和響應,具有方便、快捷、高效、便于管理和統計分析等優點。與指紋、虹膜、DNA等其他生物特征相比,人臉特征更加突出,易于采集。它們適用于各種環境和情況下的生物特征信息采集和處理。利用計算機視覺技術對人臉信息進行分析和處理,可以廣泛應用于虛擬現實、安全監控、醫療診斷、高級人機交互、視頻會議、基于內容的圖像存儲和檢索等領域。具有廣闊的應用前景和潛在的經濟價值。因此,這一領域吸引了世界上許多科研機構和研究人員,成為一個非常活躍的研究課題。人臉分析包括人臉識別、人臉跟蹤、人臉識別、人臉表情分析等。人臉識別與跟蹤是人臉信息處理的第一步。當我們識別一個人時,首先在需要檢索的圖像場景中確定人臉的位置,然后檢測該位置以確定該區域是否為人臉區域,稱為人臉識別,檢測完人臉后,我們需要實時跟蹤和確定人臉區域,并保持這個區域。鎖定一個人臉區域稱為人臉跟蹤,識別和判斷被跟蹤人臉區域的任務稱為人臉識別,可以分析人臉圖像區域的表達。這個過程對人來說很簡單,但卻是計算機視覺領域的一個難題因此,人臉識別與跟蹤技術是一個極具挑戰性的研究方向,目前所有的理論和算法都在從各個方面逼近這種識別能力。1.2國內外研究現狀及發展趨勢20世紀末是人臉識別快速發展的時期。基于主成分分析(PCA)的特征臉方法已經被廣泛應用。在此階段,Belhumeur等人同時提出了基于線性判別分析(LDA)的FISHE算法。面法。在這一階段,人臉識別領域積累了一系列重要的理論。從1998年到2014年,人臉識別進入了成熟階段。這一階段的主要研究目標是解決人臉識別中光照、表情、姿態、遮擋、噪聲等外部因素引起的變化。針對這一目標,提出了基于PCA和LDA的擴展方法。基于流形學習的人臉識別方法突破了以往人臉識別的瓶頸。流形學習得到的非線性子空間能夠更好地表達人臉的特征,掌握樣本的全局和局部信息。基于局部特征的人臉識別方法在這一階段取得了良好的效果。常用的局部特征方法有局部二值模式(LBP)、GABOR小波等。這種方法提取人臉細節特征,對光照、遮擋、姿態等變化不敏感,引起了眾多研究者的關注。2014年以來,深度學習開啟了人臉識別的新時代。大量基于深度學習的人臉識別方法被提出,“大數據+深度學習”已成為人臉識別技術的主流手段。2014,臉譜網推出了4000張400萬人的深臉網絡,在測試中達到了97.25%的準確率,成為人臉識別領域深入學習的基礎。香港中文大學的研究團隊提出了一系列基于深度學習的人臉識別方法:Deepid1、Deepid2、Deepid2+和deepid3。隨著網絡結構的發展和網絡層次的逐步深入,Deepid3在lfw測試集中取得了99.53%的良好效果[1]。這一系列的方法采用由幾個相同的小網絡組成的網絡結構。每個小網絡在對人臉圖像進行分割后,接收一個固定大小的面片的輸入,并將每個面片學習到的特征進行融合,得到整個人臉圖像的特征向量。2015年,Google的Facenet算法提出使用三重損失函數進行網絡訓練,并在此算法的基礎上,使用2億張人臉圖像進行訓練,在LFW測試集上達到99.63%的準確率[2]。同年,百度、騰訊、無知等擁有海量數據的大公司也提出了自己的基于深度學習算法的研究。隨著硬件平臺的發展,網絡模式的深度學習呈現出層次越來越深的趨勢。同時,由于網絡層次太深,在訓練中也存在一些困難,包括訓練收斂、訓練耗時等。因此,提出了一系列的訓練技術,如Google提出的BN加速機制和HE等人提出的網絡剪枝技術。加快網絡深度訓練。從網絡結構設計的角度來看,也有解決這些問題的方法,如Resnet和Densenet網絡模型。同時,還存在用于人臉識別評價的數據集。深度學習給人臉識別技術帶來了飛速的發展,也終結了作為評價數據集的性能競爭。近年來,人臉識別的研究逐漸集中在實際應用場景上。一些更具挑戰性的面部評估數據集已經發布,如ijb-a數據集、Ms-Celeb-1m、Megaface數據庫[3]。深度學習已經成為人臉識別乃至計算機視覺領域的主流方法。從近年來人臉識別的發展來看,我們可以看到幾個變化:(1)主流網絡模式結構正在向縱深發展。相關實驗證明,層次越深,從網絡模型中提取的特征的表示能力越好。現代計算機計算能力的增強也為網絡的深化和復雜化提供了堅實的平臺。(2)數據是提高深度學習成績的關鍵。學術界公布的標注信息數據為深度學習創造了良好的學習資源,海量數據的使用也是目前深度學習的發展方向。(3)龐大復雜的網絡結構和海量的數據不僅帶來了效益,而且增加了網絡模型的訓練難度和訓練時間。如何解決網絡精度下降的問題第3章輕量級VGG卷積神經網絡第2章相關算法概述2.1人工神經網絡人工神經網絡(ann)是根據腦神經的工作原理建立的數學模型。它由大量相互連接的節點組成。每個節點代表一個輸出函數。兩個相互連接的節點之間有一個權重,用于通過連接對信號進行權重。網絡模型的輸出受輸出函數和權重的影響。值效果,輸出可以是函數值或邏輯表達式。2.1.1神經元對神經元的研究始于1904年,當時生物學家對神經元的組成非常熟悉。一個神經可以有多個樹突來接收信息;一個神經元中只有一個軸突,軸突末梢可以將信息傳遞給其他神經元[4]。不同神經元通過軸突與樹突相互連接并傳遞信號。在生物學中連接的位置叫“突觸”。下圖是人腦神經元的簡單說明:圖2.1生物神經元圖2.2:神經元模型圖2.2是一個簡單的神經元模型,有三個輸入和一個相應的輸出。神經元之間的連接具有權值,在神經元信息的傳遞中起著重要的作用。訓練神經元模型的目的是優化模型中的權值,以達到最佳的預測效果。如果A是神經元模型的輸入,W是神經元模型的權重,則信號A通過神經元模型的權重從神經元的輸入變為A*W。神經元模型中的箭頭表示重量轉移。流程圖如圖2.3所示。圖2.3:神經元模型[5]圖2.2的運算過程可以用如下公式表示:(2.1)可見z是在輸入和權值的線性加權和疊加了一個函數g的值。在MP模型中函數g是取符號函數,函數的輸入大于0為1其他為0[6]。對圖2.3中的神經元進行一些改變,把sum與sgn函數結合,代表神經元的內部運算,然后表明輸入輸出。神經元可以看作是存儲單元可以有多個輸出,神經元對其輸入有計算功能,并且能暫存計算結構,然后傳遞到下一層如下圖所示。圖2.4:神經元擴展用神經元模型組成網絡后,描述某個神經元模型,我們用unit指代,神經網絡也是有向圖模型所以可以用node表示同樣的意思。神經元的模型有一個數據稱作樣本,樣本中有4個屬性其中3個是已知的屬性1個是未知的屬性,通過3個已知屬性求未知屬性是我們要做的。運用神經元的公式對已知數據進行說明,屬性a1,a2,a3是已知屬性,z是未知屬性,z通過公式可以得出,模型中已知屬性稱作特征,未知屬性稱作目標[7]。特征與目標的關系如果是線性的,那我們就能通過已知的權值w1,w2,w3計算出z的結果。2.1.2神經網絡模型神經網絡是由大量神經元組成的。由大量神經元組成的復雜神經網絡具有許多與人腦相似的基本特征。神經網絡是一個高度復雜的學習系統。該系統具有并行、自學習、并行存儲、自組織和自適應能力,具有并行、自學習和自適應能力。處理具有不確定性或多因素的信息處理問題。神經元是神經網絡的基礎。神經元與動物神經元相似。當人們分析神經系統時,他們會受到啟發,將動物神經元轉化為數學模型,可以模擬動物神經元。(1)單層神經網絡及工作過程最早的MP模型雖然只擁有簡單的機構,rosenblatt在1958年提出兩層神經元組成的神經網絡,它叫做感知器。感知器是當時第一個學習神經網絡。rosenblatt[8]通過演示感知器模型學習識別圖像的過程引起了轟動。許多研究者認為人們已經發現了智力的奧秘并將其投入到相關的研究中。美國軍方也在神經網絡的相關研究上投入巨資,稱神經網絡甚至比原子彈更重要。這可以看作是神經網絡發展的第一個高潮。在MP模型中,加入神經元節點代替原始輸入,稱為輸入單元。圖2.5顯示了神經元的變化。圖2.5:單層神經網絡感知器分為輸入層和輸出層。輸入單元只負責傳輸數據而不進行計算。在輸出單元輸出之前進行計算。從而生成計算層。包含計算的網絡稱為單層神經網絡。我們可以根據網絡的層數來命名網絡,例如,通過命名網絡。”“感知器”被稱為兩層神經網絡,但在本文中,我們根據計算層的數量將其命名為[9]。因此,感知器又稱為兩層神經網絡。如果預測值從一個數字變為一個向量,我們需要增加輸出單位,如圖2.6所示。圖2.6:單層神經網絡如圖所示z1的值并沒有變化我們可以把z1的輸出結果向多個神經元傳遞。z2的求解過程,如圖2.7所示。圖2.7:單層神經網絡z2的計算過程與z1不同點是權值不同,z1的權值是w1,w2,w3,z2的權值是w4,w5,w6,圖2.8給出求解過程。圖2.8:單層神經網絡通過觀察,我們發現這個公式是一個線性方程。我們可以用矩陣運算來表示輸出公式,它可以表示為g(w*a)=z;這個公式是神經網絡的矩陣運算。感知器的權值與神經元模型的權值不同,但它是通過訓練獲得的。如前所述,感知器是一個可以執行線性分類任務的模型。我們可以通過決策邊界來觀察效果。決策劃分是在二維數據平面上加一條分界線。如果是三維數據,我們需要找到一個分割面。如果數據是n維的,我們需要n1維超平面來劃分它。圖2.9顯示了二維感知器的分界效果。圖2.9:單層神經網絡的決策分界(2)兩層神經網絡及其工作過程雙層神經網絡是神經網絡的重要模型,因為在這一時期,神經網絡得到了前所未有的發展和應用。兩層神經網絡證明了minsky的問題是不存在的。Rumelhar和Hinton的研究人員提出了神經網絡的反向傳播算法,首次解決了這兩層問題。神經網絡的計算復雜性[11]。兩層神經網絡增加了中間層,輸入層、輸出層、輸出層和中間層都是計算層。因此,加入了神經網絡的權值矩陣。我們使用二維向量的第一維來表示神經網絡一層中節點的排序,而第二維來表示神經網絡一層,例如矩陣axy代表y層的第x節點。圖2.10給出了a12,a22的運算公式。圖2.10:兩層神經網絡的中間層計算計算兩層神經網絡的輸出z的過程中運用到了中間層a12,a22,具體過程如圖2.11所示。圖2.11:兩層網絡輸出層計算如果預測輸出結果是一個向量那么可以通過在輸出層增加節點改變向量的維數,用z表示網絡中輸出向量,W1,W2表示不同層之間的權值矩陣,得到的神經網絡工作過程如下圖所示:圖2.12:兩層網絡的向量形式矩陣運算的表達式可以用如下公式表示:(2.2)(2.3)通過觀察計算過程不難發現,運算的表達式很簡單不會因為節點增多而變得復雜,神經網絡的模型中有可能存在只具備存儲功能的點也叫作偏置點,偏置點是默認存在的,值永遠是1。神經網絡中除了輸出層每層都含有一個偏置點,我們稱偏置點向量為b如圖2.13所示:圖2.13:帶偏置點的兩層網絡由上圖可以看出偏置點沒有輸入,一般情況下神經網絡結構圖是不會給出偏置點的,考慮偏執點的情況下神經網絡的運算公式如下:(2.4)(2.5)在兩層神經網絡中,由于sigmid函數比較光滑,所以我們用sigmoid函數代替sgn函數作為神經網絡模型的激活函數。神經網絡的本質是通過激活函數和參數來擬合神經網絡模型目標與神經網絡模型特征之間的函數關系。為了實現神經網絡,需要線性代數庫。理論上,兩層神經網絡可以無限逼近任意連續函數,因此兩層神經網絡能夠很好地處理非線性的復雜分類任務[12]。單層神經網絡的瓶頸問題很容易用雙層神經網絡來解決。目前,兩層神經網絡已在人臉識別、語音識別、自動駕駛、圖形識別等領域顯示出其應用價值。(3)神經網絡相關知識1)學習規則學習規則是修正神經網絡權值和偏差的方法。有三種學習方法:監督學習、強化學習和無監督學習。在監督學習中,當輸入數據進入網絡模型時,應將網絡模型的輸出與期望目標進行比較,并根據學習規則調整網絡的權值和偏差。增強學習由于沒有給出相應的輸入目標,所以只能給出一個范圍限制。該學習規則適用于控制系統應用領域。無監督學習只根據輸入改變網絡的權值和偏差,適用于矢量量化等問題。2)正則化只有一個隱層神經網絡可以學習任何非線性關系。多隱層神經網絡具有較強的學習能力。但是,如果樣本數太少,就會出現過擬合問題。為了避免過擬合問題,可以通過正則化來減小權值的變化范圍。3)培訓方法網絡模型的訓練方法主要有四種:a.逐數據訓練。一個接一個地將輸入數據提供給神經網絡模型,然后用一個反向傳播算法對網絡模型進行訓練,直到達到理想水平才進行下一次數據輸入。b.批量數據培訓。所有數據一次提供給網絡模型。在所有數據通過網絡模型后,通過反向傳播算法依次調整權值c.隨機數據訓練。與逐數據訓練一樣,網絡模型一次只接受一個數據,但每個數據只向后傳播一次并更新其參數,然后替換下一個數據。小樣本培訓。批量數據訓練的相同點是,批量數據被發送到網絡,但不是全部,而是只有一小部分。將整個數據分成幾個小部分后,分別對每個小部分進行批量訓練。在上述四種訓練方法中,逐數據訓練和隨機數據訓練所需的存儲空間較小。與批量數據訓練和小樣本訓練相比,逐數據訓練具有更好的隨機跟蹤能力。然而,如果網絡模型的第一個數據是噪聲數據,則通過數據訓練可以使網絡模型的訓練成為可能。訓練過程正在向錯誤的方向發展。盡管隨機數據訓練也有噪聲的影響,但它比逐個數據訓練要小得多[14]。2.2卷積神經網絡與傳統的分類模型相比,基于卷積神經網絡的分類模型的不同之處在于,卷積神經網絡的輸入數據是二維圖像本身,分類結果是輸出,特征提取過程雖然可以隱藏在神經網絡模型中。實現了超連通多層神經網絡模型,但仍存在如下問題:a.一般情況下,圖像包含的像素較多。對于全連通神經網絡模型,僅100個隱含層的權值就將達到數萬個,大大增加了神經網絡模型的計算量,需要一定的樣本預防。停止導致網絡過度安裝。b.全連通多層神經網絡對尺度變化或其他變形敏感。在多層神經網絡中,同一類型的兩幅圖像只要經歷微小的位移變化,就會有很大的差別。全連通多層神經網絡的輸入是整個圖像忽略了圖像的局部信息。卷積神經網絡通過權值共享、局部感知和下采樣相結合,實現了網絡模型的位移、形狀等變化的不變性。2.2.1卷積神經網絡基本結構卷積神經網絡模型由輸入層、卷積層、采樣層、全連接層和輸出層組成。通常,取幾個交替的卷積層和池層,每個層與池層相連,每個池層與卷積基相連[17]。卷積神經網絡的輸入是局部連通的。卷積神經網絡的輸入值可以通過對局部輸入和相應的連接權值求和并加上偏差得到。這是一個相當于卷積的過程,因此卷積神經網絡被命名為卷積神經網絡。圖2.14:基于卷積神經網絡的人臉識別第一個卷積層包含六個擁有28*28個神經元的特征映射,其中的神經元是通過5*5的卷積核提取的輸入層局部特征。(1)局部感知域傳統的神經網絡是通過輸入層和隱藏層的充分連接來處理數據的。如果輸入的圖像很小,這種方法是可行的,但是當遇到較大的圖像時會變得非常耗時。卷積層通過限制輸入單元和隱藏層單元很好地解決了這些問題。在卷積神經網絡中,隱藏層中的每個單元連接輸入圖像的一小部分,而這一部分是連接的。(2)配重權重共享是一種降低計算復雜度的策略。例如,輸入的人臉圖像為32×32灰度圖像,輸出為相應的識別結果。卷積神經網絡的輸入圖像經過多個卷積層和采樣層處理,然后通過全連接層映射到輸出目標。卷積層和采樣層包含多個特征映射,這是一個由多個神經元組成的平面。利用卷積核提取輸入圖像中包含的特征。例如,輸入圖像是7×7的矩陣,卷積核是3×3的矩陣,卷積運算步驟設置為2,在輸入圖像和卷積核運算后卷積輸出為3×3。圖2.15:卷積操作示例如圖2.15所示輸入圖像是7*7的矩陣,卷積核是3*3的矩陣,卷積操作步長設為2,輸入圖像與卷積核操作過后所得卷積輸出結果為3*3矩陣。(3)池化池化操作也被稱作下采樣,池化操作的目的是減少運算量,當運算量較大時很難形輸入分類器,并且可能過擬合[19]。圖2.16:最大池化圖2.16是步長為2的最大池化,池化操作對4組操作數進行池化后得到一個具有深度不變性的矩陣。對卷積層進行池化操作時,神經元對應的局部接受域也同時被池化,相當于對神經網絡模型做了第二次特征提取操作,目前比較常用的池化方法有最大值池化法、隨機池化、均值池化,最大池化是取局部接受域的最大值,均值是取局部接受域的平均值、隨機池化是通過對局部接受域取隨機值[20-22]。池化可以有效減少神經元的數量,降低神經網絡模型的計算量。(4)卷積層卷積層包含許多特征曲面,每個特征曲面由神經網絡模型中的神經元組成。特征面上的神經元通過卷積核與卷積神經網絡模型的上層連接。這是第一次提取出簡單的結構特征。例如,簡單的特征如直線、邊和邊界、復雜的機構通常由高級卷積層完成[23]。卷積層與其輸入層特征面的局部區域相連接。通過適當的函數計算局部區域的加權和,得到神經網絡模型的輸出值。將卷積神經網絡的權值分攤到由同一輸入生成的輸出特征面上。權重分配可以降低模型的復雜度,便于訓練。實踐。(5)激勵函數激發函數可以控制神經元的正向或反向傳播。乙狀結腸是一種激發函數。因為函數的值總是在0到1之間,所以我們可以根據這個值來確定網絡信號的強度。nair[24]證明了sigmoid可以顯著提高卷積神經網絡的性能。因此,在確定神經網絡模型的深度、卷積核的大小和特征曲面的數目時,應綜合考慮各種因素,以達到預期的效果。不要花太多的訓練時間。圖2.17:Sigmoid函數[25](6)全連接層與多利神經網絡類似,它連接一個或多個完全連接的網絡,然后是多個連接和貧困。所有連接層中的所有神經與層前的所有神經完全連接。全連接在卷積神經網絡模型的計算過程中集成了區分局部信息,提高了卷積神經網絡的性能[26]。在計算整個連接的激勵函數后,外觀的值被傳輸到外觀。外包可以通過更多的物流回歸進行分類。5。正確的分類對于分類任務模型是非常重要的。卷積神經網絡通常采用bp算法進行訓練。2.2.2卷積神經網絡相關改進方法(1)網中網結構所謂微神經網絡模型是一種多神經網絡模型。傳統卷積神經網絡模型的卷積層是線性的,而網絡中的網絡采用非線性卷積層,用多層神經網絡代替廣義線性回歸模型。網絡中的網絡模型通過微神經網絡得到特征曲面。與卷積層的權值分擔相似,多層神經網絡對同一特征平面具有局部感知和共享特性,對同一特征平面具有相同的多層神經網絡模型。多層神經網絡模型采用與卷積神經網絡兼容的前饋神經網絡算法進行訓練。同時,多層神經網絡是一種深度學習模型。多層神經網絡可以處理更復雜的問題,識別更抽象的特征。目前,在卷積神經網絡模型中,全連接層參數過多,容易出現過擬合現象,部分參數過于依賴正則化技術。在網絡模型中,采用全局平均池的方法改變原有的全連接層,大大降低了模型的參數。通過將多層神經網絡的最后一個卷積層匯集起來,對網絡特征進行平均和連接,然后傳遞到分類層。全局平均池化的作用可以看成是一個正則化的參數,可以避免出現過擬合。此外這種方式是對空間信息求和所得到的所以擁有較強的魯棒性。Lin等[28]研究人員通過將算法在數據集SVHN和MNIST上進行應用,驗證了這種算法的有效性。Xu等[29]研究人員在網中網網絡模型的基礎上提出了ML-DNN網絡模型,這種模型已經被實驗證實了具有更好的性能。(2)空間變換網絡盡管卷積神經網絡模型已經是非常強大的分類模型,但這不代表它不會受到數據多樣性的影響。Jaderberg等[30]研究人員采用空間變換網絡解決網絡空間上數據多樣性的問題,這種模型由三個部分構成,本地化網絡模型、網格生成器和采樣器可以運用到卷積層,也可以運用到輸入層或其他層之后,不必改變原有的卷積神經網絡模型的內部結構。空間變換網絡模型的空間變換和對齊有自適應性,使卷積神經網絡模型具有一定的平移、旋轉、縮放等其他變換的不變性。空間變換網絡幾乎不會影響到卷積神經網絡模型的訓練速度。2.3典型的網絡結構由LecunYan提出的LeNet[43]是卷積神經網絡的開山之作,近年來,許多研究學者基于LeNet提出了新的CNN結構模型。其中應用在圖像領域的具有代表性的模型有AlexNet[44],VGG-Net[45],GoogleNet[23,46-48]和ResNet[25]等,下面將對這幾種經典的網絡模型進行介紹。2.3.1AlexNet2012年由Alex等人提出的AlexNe模型在當時以絕對的優勢刷新了ImageNet競賽(ImageNetLargeScaleVisualRecognitionChallenge,ILSVRC)的記錄。從結構上來講,AlexNet是類似于LeNet但更寬和更深的網絡。ReLU激活函數[49]、Dropout、數據增強(DataAugmentation)和LRN歸一化這些關鍵技術也是首次在AlexNet模型中應用,同時AlexNet模型中使用了多GPU加速計算。AlexNet網絡結構如圖2.18所示。圖2.18:AlexNet模型結構2.3.2VGG-NetKaren等人提出的VGG-Net模型是2014年ImageNet競賽中的亞軍。與AlexNet模型相比,VGG-Net使用了更深的網絡結構,拋棄了LRN層。VGG-Net沿用了AlexNet數據增強的方法。VGG-Net較Alexnet模型層數更深,訓練花費的時間更長,但訓練時達到收斂需要的迭代次數要少很多。圖2.19是VGG-Net的網絡結構配置情況,實驗是為了研究網絡深度對模型的影響。經過實驗證明,LRN方法對性能提升幫助不大,但十分耗時。網絡層次越深,訓練的模型效果越好。圖2.19:VGG-Net網絡配置第3章輕量級VGG卷積神經網絡本章的主要目的是利用有限的硬件計算資源(有限的存儲空間和有限的圖形卡計算能力),構造一個合理的簡化神經網絡結構來完成人臉識別任務。首先,在原有VGG網絡結構的基礎上,詳細闡述了改進的輕量級VGG網絡模型結構。該模型主要減少了參數的個數,降低了對硬件的要求。然后,對模型結構進行了測試。最后,通過實驗結果分析了該模型在人臉識別中的有效性及其識別效果。為了適應硬件條件的限制,輕量級VGG網絡模型的參數更少,模型深度略微有所減少,而且該網絡模型在復雜人臉圖片效果不理想。針對這個問題,增加了使用Contrastive損失函數作為目標函數的Siamese網絡,降低了人臉特征向量的維度的同時,也使得整個模型框架在復雜人臉圖片的數據庫上的性能提升不少。這為提升卷積神經網絡的識別性能增加了經驗,啟發式的為進一步的網絡性能優化指導了方向。3.1輕量級VGG卷積神經網絡模型VGG-Net是一個應用在物體分類與識別方面的神經網絡,在2014年的ILSVRLocalization和classification兩個項目上面,分別取得了第一名和第二名,可見其對于圖片特征的提取能力是很優秀的。先簡要介紹原始的VGG的網絡模型,然后詳細介紹改進以后的,并適用于有限硬件計算資源應用場景的輕量級VGG神經網絡模型。3.1.1原VGG網絡結構簡析VGG-Net的輸入是固定尺寸大小的RGB的2D圖像,接著依次通過一系列堆疊的,核大小為3×3的卷積層。每兩個或者三個連續堆疊的卷積層,為一個網絡的小的單元模塊,命名為Block。每一個Block后面會接入一個Max-pooling層,用于減小輸入的尺寸大小,并保持網絡的平移不變性。經過多個堆疊的Block單元后的輸出,會接入一個三層的傳統神經網絡,也就是三層全連接層。最后的分類輸出是一個softmax多分類器。圖3.4:VGG原始模型示意圖在連續疊層局部塊胞模型中,每個卷積層(conv)的核大小為3x3,核的滑動步長為1。在卷積運算之前,需要輸入外設擴展(填充),擴展大小為1。該局部Block單元中的連續卷積層之間沒有Max-pooling層,只是在每個Block單元之后接一層Max-pooling層。連續堆疊的卷積層全部使用的是3×3大小的卷積核,它是能覆蓋輸入的左上、右上、左下、右下,以及上、下、左、右、中共9個方向的最小的卷積核,這樣就能對輸入進行更為密集的卷積操作,提取更多的特征。而且通過堆疊連續的多個3×3卷積核的卷積層,能夠等效于一層卷積核為5×5,或者卷積核為7×7的卷積層。但是多個小核卷積層的堆疊,會比大維度卷積核的單個卷積層的非線性轉換效果好,具有更好的提取關鍵特征的能力。網絡中的每一個卷積層、全連接層后面所使用的激活函數都是ReLU,進行非線性的映射計算。在第一個和第二個全連接層的后面還使用了dropout技術,來提高網絡的泛化能力,防止網絡的過擬合。圖3.5:不同大小卷積和與堆疊卷積3.1.2輕量級VGG神經網絡模型在有限硬件計算資源的條件下,網絡模型的訓練學習、識別測試階段中,不僅僅要關注網絡模型結構的合理性、網絡收斂情況、網絡的分類的正確率等等,這些直接影響網絡模型的特征提取效果的因素,還要考慮到網絡參數總數,以及內存、顯存的使用情況等,這些對硬件計算能力和存儲能力的主要制約因素。原始的VGG-16網絡,其在訓練階段需要保存的網絡參數和中間結果是很龐大的。在有限的硬件條件下,單個普通顯卡是無法滿足其對顯存容量的需求,或者能勉強運行但不能充分訓練,取得好的識別效果。出現上述問題的主要原因是:VGG-16網絡模型的參數太多,在訓練階段還需要保存權值(weight)和偏置(bias)的偏導數,以及部分中間輸出結果數據。這些數據都需要存放在GPU有限的顯存上(不考慮CPU上計算的情況,因為其內存空間充足,并可擴充),如果使用批度(batch)樣本訓練,這些顯存占用量就會成倍的增長。通過實驗很容易知道,單個普通4G顯存容量的GPU是無法滿足批量訓練的顯存需求。所以,必須對VGG-16網絡進行詳細的參數數量分析,根據實際有限硬件資源情況做適當的修改,以使其能夠適應有限的顯存,在顯卡計算能力要求和網絡識別效果上選擇一個折中的方案。3.1.2.1網絡結構修改對上一小結中的VGG-16網絡的每一層的學習參數數量進行詳細分析、統計,得到表3.2。表3.2:VGG-16參數統計該表只統計每層帶參數(卷積層和全連接層、池不含參數)的學習參數總數(浮點型)。研究發現,整個網絡的大部分參數集中在最后三個全連接層。FC-4096這一層有4096個節點,但是它的參數數目占據了全部參數的70%多左右。FC-1000這一層是對應于最后識別分類的1000類,必須要1000個輸出節點,然后輸入到softmax層,所以該層節點數是依數據集總類別數而改變,其參數不定,可以不需要統計。從神經網絡對特征逐層提取的特性來看,越靠近輸入端的卷積層,提取的都是一些點、線、像素梯度等元素級別的基本特征信息,越靠近輸出端的是越抽象的圖形特征。VGG網絡在ImageNet識別上的矚目效果,可以認為原VGG網絡底層的對于圖片基礎特征信息提取是很充分的,保留底層的網絡結構,對于神經網絡的識別效果是必要的。所以主要的修改思路就是保留底層的網絡模型結構,修改頂層的,尤其是靠近輸出層的全連接層的網絡結構。3.1.2.2輕量級VGG模型的整體結構事實上,卷積層是一種特殊的全連接層,權值部分共享。與全連接層相比,卷積層的學習參數要少得多。減少部分全連接層可以有效降低整個網絡的參數。改進的策略是降低網絡后幾層的參數,主要是降低全連接層的參數。圖3.6:輕量級VGG網絡模型示意圖輕量級VGG神經網絡模型配置參數與原VGG網絡中的Block1~Block4單元相比較,其中的卷積層和pooling層的配置都是完全一樣的,以保證網絡對基礎圖像特征的提取能力,也就是保持原有的底層的那些卷積核。與原始的VGG-16網絡在Block5區域相比,將每一層的卷積核由512增加到了600,目的是希望能夠提取更多豐富的、不同的圖像高層抽象特征。并且去掉了原來的全連接層-1和全連接層-2,這樣參數的數量可以進一步大量的減少。輕量級VGG模型將Block5后面原始的Max-pooling層換成了一個使用均值下采樣的Pooling層(AveragePooling),這種做法在GoogleNet等一些網絡中也出現過,同樣是在最后舍棄了全連接層,直接使用了均值下采樣層。這種方法減少全連接層的參數個數的同時也對網絡性能沒有較大的影響,還能進一步促使模型提取更加抽象的、更具有辨識度的特征。3.2輕量級VGG模型的訓練與實驗分析3.2.1圖片數據庫與預處理選擇FaceScrub人臉數據庫作為輕量級VGG網絡模型的訓練集,訓練后的模型會在LFW數據庫上面進行測試,完成兩張圖片對是否屬于同一個人的身份認證問題。在對網絡進行訓練前,需要對數據進行預處理,主要包括以下方面:(1)對人臉進行裁剪。原始圖片的周圍有太多的背景圖案,這對人臉識別的網絡模型來說,不屬于有用的數據部分,裁剪掉多余的背景部分。(2)神經網絡充分訓練需要大量的數據集,以此來學習更多的具有區分性的特征。擴大數據集能有效提高網絡的識別效果和泛化能力。對訓練集進行擴充,主要使用了兩個方法:一是進行圖像左右的翻轉;二是進行圖像中間區域的隨機裁剪。這樣做就大大增加了訓練集的數據總量,增加了更多的差異性圖片,使得網絡對背景變化不敏感,具有很好的平移不變性。(3)計算訓練數據集的均值圖像。將訓練集的所有圖片對應位置上的像素值相加然后取平均,得到一個均值人臉圖像。在網絡訓練的時候,訓練集和測試集都要減去該均值圖像,目的是:對輸入圖片進行歸一化處理,將數據(圖片像素值)更加均勻的分布在整個空間中,加速網絡的收斂。3.2.2輕量級VGG網絡模型的訓練與實驗分析用于訓練的FaceScrub人臉數據庫大小有限,并沒有像目前某些大型神經網絡模型那樣,使用百萬數量級的人臉圖片。海量的訓練圖片,對于神經網絡來說,確實是能夠有效提升網絡模型的準確率、泛化能力的。但是,自己進行海量的人臉圖片的收集和標簽注釋,需要耗費大量的時間和精力。對于許多研究者來說,是很難構建自己的海量圖片數據庫的。使用已有的優秀的網絡模型參數初始化,是可以在一定程度上,緩解因圖片數量不足導致的泛化性較差以及模型過擬合的問題。改進后的輕量級VGG網絡相對于原VGG-16網絡的16層參數層(卷積層加上全連接層),雖然減少2個參數層,但是依然算是一個相對較深的網絡。如果網絡的參數有一個比較合理的初始化,這些問題都能在很大程度上緩解。為了避免上述問題,能夠讓網絡模型能夠良好的進行訓練,并能獲得較為優秀的圖片特征提取能力,初始的網絡參數使用的是KarenSimonyan等人公布的VGG-16的權值參數,該參數在ImgaeNet數據庫上訓練達到了Top-5錯誤率8%左右。我們只取其中的前面12層卷積層的參數,其余的參數層全部重新訓練,以適應新的人臉數據庫。使用這樣的預訓練參數的好處就是,避免從頭開始訓練,減少網絡無法收斂的機率,并減少了網絡模型的訓練時間。對于輕量級VGG神經網絡模型的訓練,一共分為三個步驟:(1)構建網絡以后,使用原VGG網絡在ImageNet上的前幾層卷積層的參數,對新的網絡模型前幾層進行參數初始化。(2)然后,將輕量級VGG網絡在Facescrub數據庫上進行訓練。隨機的將Facescrub數據庫中1/10部分數據集作為驗證集,剩余的為訓練集。網絡模型如3.3.2所述,只是最后的一層的全連接的節點數等于Facescrub數據庫的圖片類別數。網絡剛開始訓練的時候,使用的是0.001的學習率進行學習,大約經過10個epoch左右學習率降低1/10,一個epoch為所有訓練樣本循環一次的時間。此時,測試集的準確率大約達到了50%;然后保持學習率再學習10個epoch,然后學習率再次降低1/10。以后依次以1/10的倍率降低學習率。(3)接著,將訓練好的輕量級VGG網絡作為一個人臉特征的提取器,提取LFW中所有人臉圖片的特征,用于人臉的驗證階段(verification)。將LFW中的所有圖片,依次經過網絡的前向計算,轉換為其對應的特征值表示,也就是提取averagepooling層的輸出特征向量。使用LFW官方提供的測試集進行測試,測試集是一系列的圖片對,圖片對有是同一個人的,也有不是同一個人的。人臉驗證方式就是計算測試集中每一對特征向量之間的歐式距離(對應L2范數),然后測試集分成十份,十份中的九份作為SVM的訓練樣本,尋找區分相似與否的閾值,另外一份作為測試樣本,交替循環進行測試,最后取平均結果。3.2.2.1模型訓練多分類任務的神經網絡的訓練情況主要查看兩個指標,一個是網絡的損失函數(lossfunction)的輸出值(loss值),一個是驗證集的測試準確率。loss值可以看出網絡是否正確收斂,一般值是隨著訓練越來越小;而驗證集的測試準確率是查看網絡分類效果如何,一般是隨著訓練進行準確率越來越高。神經網絡的訓練需要使用合適的學習率。驗證階段是在大約第3peoch開始間隔執行的,可以看到網絡的驗證集準確率是隨著模型的收斂在不斷上升的,驗證了網絡收斂的正確性,以及網絡對特征提取的有效性。圖3.7:輕量級VGG網絡訓練學習率的走勢圖3.2.2.2實驗結果與分析比較將輕量級VGG網絡作為一個特征提取器,使用LFW數據庫進行人臉驗證實驗(verification任務)。具體的步驟如下:(1)將LFW數據庫中的所有圖片通過輕量級VGG網絡提取到人臉特征,提取的是該模型中的averagepooling層的輸出特征向量,維度是1×1×600。(2)將這些特征向量進行歸一化處理,例如一個樣本的特征向量,d=600。先求得這個樣本的每一維度的平方和,如公式(3.3)所示。然后每一維度除以,得到新的歸一化后的特征向量。 (3.3)(3)計算一個特征向量對的歐式距離。假設兩個歸一化以后的特征向量與,d=600。按公式(3-4)求得其歐式距離dist。(3.3)(4)使用十折交叉驗證方式,用SVM分類器在訓練樣本對應的歐式距離數據集上進行訓練,得到同一類樣本和不同類樣本之間的最佳分界面,然后用測試樣本進行測試,最后對十次實驗結果取平均值。最終實驗是在兩個不同處理類型的同一數據庫上面進行的。類型A是LFW官方原始的數據庫中的圖片,沒有經過嚴格的人臉對齊圖片,僅僅是對背景進行了裁剪,比較接近自然環境;類型B是與FaceScrub數據庫進行相似的人臉對齊處理和部分背景的去除,如3.4.1所述。通過實驗得到了兩者的平均結果,見表3-2。表3-2:類型A和類型B數據庫測試結果對比表中十折測試平均準確率是指十折交叉驗證的整體分類的平均準確率。有同類、不同類兩種不同樣本類型。被模型預測為正的正樣本數為TP(truepositive);預測為負的負樣本數為TN(truenegative)為正的負樣本數為FP(falsepositive);預測為負的正樣本數為FN(falsenegative)。真正率=TP/(TP+FN);假正率=FP/(FP+TN)。正負(同類/不同類)是相對而言。預測準確率表示被模型預測為某類的所有樣本中,正確的樣本所占比率。輕量級VGG網絡對未被處理的自然條件下的人臉圖片依然有較強的特征提取能力,也說明這個網絡的泛化性能比較優秀。對于經過圖片預處理的類型B,網絡識別的性能達到94%左右,這說明了該網絡對于經過和訓練圖片庫同樣預處理的人臉圖片,能提取出更加具有辨別能力的圖片特征。圖3.14:類型A的相似度分布可視化圖3.15:類型B的相似度分布可視化圖3-14和3-15是測試樣本一共6000對人臉之間的歐式距離的相似值進行可視化,same表示的是同一個人的人臉圖片對,different表示的是不同人的人臉圖片對。兩張圖對比可知,類型B明顯要比類型A的數據分布具有更好的區分度,直觀上的分界面更加明顯一些,而且在類型B中的“same”樣本的相似度值的整體分布更加的靠近0.3,說明它對同一個人的人臉圖片能夠提取出更多的共性特征。在實際測試中,通過SVM分類器經過十折交叉驗證,在類型B的分布中確實找到一個平均預測準確度更高的一個分界面。3.3本章小結本章節詳細說明了為應對在有限硬件計算資源條件下的應用,對VGG網絡的進行改進,得到了一個新的、有效的LightenedVGG卷積神經網絡模型,且成功的應用在人臉識別任務上。第4章殘差卷積神經網絡第4章殘差卷積神經網絡第三章針對原VGG模型在硬件計算資源有限的設備上應用的不足,對原神經網絡模型進行了改進。并在LFW人臉庫上對改進后的神經網絡模型進行了測試,驗證了改進后的網絡的有效性。輕量級VGG網絡利用Imagenet圖片庫上的預訓練參數,避免了深度網絡模型中的梯度耗散和網絡爆炸問題。然而,這種深度網絡的優化仍然是一個眾所周知的難題。特別是當網絡從新數據庫開始訓練時,會遇到網絡優化問題,主要是由于網絡參數設置不當和網絡結構不合理。在這一章中,我們構建了一個更深層的網絡結構,它仍然適用于有限的硬件計算資源。網絡結構達到34層,在人臉數據庫上從頭開始訓練。該模型結合了深度神經網絡的許多最新技術和技術,使深度模型更易于調整。4.1深層網絡優化難題近年,深度學習尤其是深度卷積神經網絡,在圖像識別、語音識別、文字翻譯等相關領域取得了矚目的成績,長期不斷刷新最優的記錄。隨著卷積神經網絡在各種圖像識別任務上的成績不斷刷新的同時,網絡模型的深度也在不斷地加深,由當初的LeNet-5的7層到GoolgeNet的上22層的神經網絡,同時對計算機硬件的計算能力要求也越來越高。按照深度學習理論,相比較于一個淺層的網絡模型,一個更深層次的網絡模型在同一個數據集上進行訓練,只要網絡不遇到梯度爆炸(exploding)和梯度消散(vanishing)問題,而且不要過擬合,那么網絡模型在理論上就應該會有更好的效果。但是事實上并不是這樣,在網絡的深度由20增加到56層的時候,網絡的訓練誤差并不是像理論上一樣會比淺層的更低。其實這是一個當下普遍出現在深度學習方面的不合理的現象:當更深層次的網絡模型能夠正常收斂,網絡模型的訓練誤差能夠隨著訓練的迭代次數快速的下降,但是當網絡模型的準確度達到飽和以后,網絡模型的準確率會隨著網絡深度加深反而降低。這樣不太合理的現象,被叫做神經網絡的退化問題(degradation)。這種退化現象并不是因為網絡的過擬合造成的,在其它一些實驗中也有同樣現象的闡述:給一個合理的網絡添加更多的層數會導致更高的訓練誤差。導致這個現象主要原因是:隨著神經網絡深度的加深,網絡模型的優化問題會變得更加困難,模型更加難以學習到使得模型性能最優的參數。圖4.1:深層與淺層網絡學習走勢圖4.2殘差學習(ResidualLearning)為了解決這種更深卷積神經網絡優化困難的問題,微軟亞洲研究院提出了一種基于殘差學習理論的神經網絡模型結構。該神經網絡局部模型結構的思想是:通過調整包含學習參數(如兩層體積基)的連續多層非線性計算的參數來學習隱含的抽象映射關系(mappingfunction),但是這個隱含的映射關系并不好優化(在較深的網絡中),所以轉換一種思路,可以通過優化輸入數據與映射以后的輸出數據之間的殘差(residual),從而達到網絡學習抽象特征提取的能力。這個殘差(residual)越逼近于0,代表這個網絡提取的特征是與原始的輸入是越相近的。將這種希望學習到的隱含的映射關系表示為Hx,我們可以讓這些堆疊的非線性層來擬合另外一個映射關系(殘差)Fx,Hx,x。原始的映射就會被轉化為Fx+x。在理想情況下,如果這個映射關系能夠優化的很理想,那么就會逐步的將這個殘差逼近于0。這樣,這個堆疊的非線性層的輸出就能最大限度的保存原來輸入的面貌,然后直接傳遞給下一層。這兩種方法都是一種很有效的圖片淺層特征表示的方法,在圖片搜索、分類方面有著不錯的性能。并且這種殘差的思想在部分淺層視覺和計算機圖像學方面的實驗中,體現了更快的收斂速度。4.3殘差卷積神經網絡在這一部分中,根據殘差理論,構建了一個更深層次的網絡模型。這種網絡模型的思想仍然是堆疊多個單元模塊,以深化網絡的整體結構。重點是引入最小網絡模型殘差塊(remidualblock)來實現殘差學習的思想,然后對整個模型進行詳細的闡述。接下來,簡要介紹了將在網絡中應用的批量規范化新技術。4.3.1BatchNormalization在深度學習實驗中,對實驗數據集進行預處理是一種非常有效的方法,如白化或zscore等,即使是最常用的減法運算也能在一定程度上加快網絡的收斂速度。減去圖像的平均值可以使數據在空間的每個象限中更加隨機分布,避免了數據集中在空間的一個或幾個象限中的分布,從而在使用梯度下降算法時,隨機初始化的參數可以快速收斂。白化的目的是去除數據之間的相關性,從而去除數據中的冗余信息,使訓練學習和數據處理更加高效。雖然白化比減去平均值能更有效地加速收斂,減少網絡過度擬合的可能性,但白化的計算過于耗時和耗費空間。批度規范化(BatchNormalization,以下簡稱BN)也是一種新的數據處理的方法,主要是對深度網絡中的每一個參數層(主要是卷積層)中的輸出數據進行規范化處理,也就是一般對激活函數的輸入值進行處理,使得輸出向量的各個維度的均值為0、方差為1。使用BatchNormalization主要有以下幾點好處:(1)對每一層的輸出進行了規范化,能夠有效的防止參數不穩定的變動;參數的變化量穩定一點,網絡的收斂也就穩定一些。(2)BatchNormalization能夠使L2權重衰減系數降低,有效防止過擬合。4.3.2ResidualBlock局部單元ResidualBlock的模型每一個卷積層都要接一個非線性激活函數ReLU,但是ResidualBlock單元沒有Pooling層,主要是防止Pooling層的下采樣操作造成過多信息損失。取代Pooling的是一個滑動步長為2的卷積操作,以此來逐層將每層輸入的FeatureMap的尺寸大小減半。這樣就會有兩種不同的ResidualBlock單元結構,本文中標注為A類型和B類型。ResidualBlock的A類型,該單元結構是一個普通的單元模型,輸入輸出的FeatureMap尺寸大小并不改變。該結構具體為:第一層是一個卷積層,卷積核的大小為3×3,核的滑動步長為1,Padding大小為1,這樣來保證輸入到輸出的FeatureMap尺寸大小不變;第二層為一個BatchNormalization層,主要是對卷積層的輸出做一個歸一化處理,來防止網絡過于深而發生網絡梯度消散的問題;第三層為一個激活函數ReLu層,一定程度上保證了網絡的稀疏性,并有更好的非線性映射的效果;第四層是一個與第一層的參數配置一樣的卷積層,而且核的數量也是一樣的;第五層依然是緊跟一個BatchNormlizaton層;第六層執行的計算是對應位置的元素相加的矩陣運算,這樣就實現了殘差理論中將要學習的特征映射轉換為F(x)+x;第七層為ReLU激活函數層,將前一層的線性求和運算后的矩陣進行一個非線性的操作,然后輸出的結果輸入到下一個ResidualBlock單元中。以上7層構成了這個ResidualBlock的A類型,對其中的參數進行分析統計,忽略BatchNorm的少量參數,其具體網絡配置和參數統計情況如表4-1所示。模型,該單元的最終輸出的FeatureMap尺寸大不會減半,作用類似于Pooling層的下采樣(Subsample)操作,起到將網絡中間FeatureMap尺寸維度降低,使得網絡提取特征逐漸抽象化的作用。該結構具體為:第一層是一個卷積層,卷積核的大小為3×3,但是不同于A類型結構中的卷積層,該層卷積核的滑動步長為2,Padding(擴充)大小依然為1,這樣來保證輸入到輸出的FeatureMap尺寸大小減半;第二層同類型A一樣是BatchNormalizaton層;第三層緊接一個激活函數ReLu層,對前一層的輸入進行非線性映射;第四層是依然是一個卷積層,卷積核的大小依然為3×3,但是與第一層的不一樣的是核的滑動步長為1,padding大小不變為1,保證輸入和輸出特征圖的大小不變,卷積核的數量也與第一層一樣,與類型A中的第四層一致;第五層依然是緊跟一個BatchNormlizaton層,與類型A中的第五層一致;第六層也是一個矩陣對應元素相加的計算層,與類型A中的第六層一致;第七層對第六層的輸出映射ReLU激活函數層,與類型A中第七層一致。Mapping部分是B類型結構特有的一個分支結構。Mapping分支部分包括了一個卷積層和一個BatchNormlizaton層,卷積層的卷積核1×1的,核的滑動步長為2,擴充(padding)大小為0,作用是將輸入直接映射到一個尺寸減半的輸出特征圖(FeatureMap),并且該特征圖的大小與之前的第五層輸出的FeatureMap大小一致,這樣經過接下來的BatchNormlizaton,將輸出FeatureMap進行規范化處理后,能夠進行第六層的對應元素相加的矩陣操作,否者在輸出的FeatureMap的尺寸大小上會出現不一致。以上7層加上Mapping分支,共同構成了這個ResidualBlock的B類型。4.4殘差卷積神經網絡的訓練與實驗分析4.4.1圖片數據與預處理選擇CASIA人臉庫作為人臉庫中的訓練集。訓練結束后,剩余網絡仍將在lfw數據庫上進行測試,完成lfw數據庫上兩張圖片的身份認證。從表4-4可以看出,casiawebface數據庫中的圖片總數和人臉數遠遠超過其他兩個庫中的圖片總數和人臉數。顯然,在多分類問題中,使用更多的訓練集對類別總數進行訓練,可以使網絡學習到更多區分這些不同人臉的不同特征,從而使網絡具有更好的識別效果。因此,選擇具有大量類別和樣本的casia-webface等數據庫,可以有效地提高具有隨機初始化參數(如殘差網絡)的深度網絡的性能和精度。casiawebface數據庫中的圖像預處理是將人臉對齊并轉換成灰度圖像。圖片大小不是150x150。為了增加數據庫的數量和網絡的泛化能力,對圖片進行了翻轉。lfw數據庫使用類似的處理方法。在網絡的實際訓練中,整個圖片在casiawebface數據庫中的輸入并不是直接使用的,而是在圖像的中心區域附近,區域的隨機裁剪部分(randcrop),裁剪的大小是128×128,裁剪的方式如圖所示。4-7。隨機剪切不同區域后,得到更多的樣本,并且這些增加的樣本的背景和人臉位置是不同的。這樣,網絡模型對背景的變化和人臉位置的平移不敏感,從而提高了網絡的泛化性能。4.4.2網絡的訓練殘差網絡是一個深層次的網絡,雖然Residual學習的思想可以讓網絡模型變得更加容易調優,更加易于訓練和收斂。但是不合理的學習參數的設置,比如學習率、網絡參數初始化等等,在試驗中依然會導致網絡訓練失敗的情況。4.4.2.1網絡學習率殘差網絡的學習率的設定,也是很重要的。過大的學習率會造成網絡的梯度爆炸,導致網絡崩塌;過小的會使網絡的收斂變慢,使訓練時間過長。通過多次試驗,殘差網絡的學習率的走勢如圖4-9所示時,可以讓網絡很好的收斂。開始的時候網絡可以使用一個較大的學習率0.01來進行學習,大概進行到整個網絡訓練的20~30%階段的時候,將學習率降低到原來的1/10,也就是0.001。之后到達60%左右階段的時候再次下降,達到0.0001。以后網絡收斂逐漸達到一個平穩狀態,學習率每隔一段時間就再次下降1/10直到網絡收斂停止。4.4.2.2網絡訓練分析按照之前介紹的參數初始化方法和學習率的改變策略對網絡進行訓練,得到的殘差網絡loss值隨訓練迭代次數的走勢圖。從loss值的走勢圖可以看出,網絡最開始的loss值很小,在9.0左右,相對于輕量級VGG網絡中的loss值的走勢圖,這個值相對來說比較大,這主要是因為網絡并沒有使用預訓練的初始化參數,而是隨機初始化而來,其參數是沒有優化的。在訓練的開始幾個epoch中,網絡的loss值下降的很快,說明網絡的收斂速度很快,網絡模型結構是有效的。過程中,沒有遇到梯度消散和梯度爆炸問題,并且相對于輕量級VGG網絡的開始幾輪迭代中的收斂速度,殘差網絡的收斂速度更快,這些也從側面說明了這種新的參數初始化是有效。在之后的epoch中,殘差網絡收斂速度也是依然很快速,逐漸隨網絡優化和學習率的下降而變緩慢。最終達到比較好的效果。殘差網絡在Casia-WebFace數據庫上訓練后,驗證集的多分類測試達到了78%左右的正確率。這個準確率并不高,主要是因為Casia-WebFace數據庫中有很多錯誤的臟數據。受到這些錯誤訓練集的干擾,網絡模型難以在訓練集上進行良好的擬合,但是得益于大量的樣本種類,網絡模型依然對人臉特征有了很好的提取能力。4.4.3LFW驗證結果分析在LFW數據庫中對以上模型的有效性進行測試與分析。殘差網絡主要是提取網絡的倒數第二層,均值下采樣層(averagepooling層)的輸出特征向量作為人臉的特征進行分類識別。從殘差網絡的配置參數可以得知,人臉的特征向量是一個512維度的特征向量。人臉圖片對的相似程度,就通過這512維的向量之間的歐式距離進行衡量。在計算歐式距離之前,依然是將特征向量進行歸一化,也就是每一維度除以向量所有維度數據的平方和的平方根。在LFW驗證中依然使用了兩種數據進行比較,類型A使用的是LFW沒有人臉對齊,僅僅只是裁剪掉部分背景的人臉圖片;類型B使用的LFW數據是經過與訓練集一樣進行過裁剪和人臉對齊以后的圖片。4.5本章小結本章主要是引入了一個新的卷積網絡模型學習的思想——殘差學習(ResidualLearning),并根據這種思想構造了一個新的卷積神經網絡,成功應用于人臉識別任務。第5章總結與展望第5章總結與展望人臉識別技術是利用人臉來完成身份識別和驗證任務的。由于人臉表情的多樣性、背景的復雜性、光照的變化、姿態的差異等,人臉識別在實際應用中仍然具有挑戰性。人臉作為一種生物特征,在公安、圖像搜索等領域也有著非常方便的應用,具有廣闊的應用前景。本文利用卷積神經網絡在近年來深學習領域的研究熱點,完成了人臉識別中的驗證任務。近年來,深卷積神經網絡在計算機視覺領域取得了比傳統技術更為顯著的成就。本文設計了兩種不同結構的深卷積神經網絡。通過對人臉優化識別問題的研究,實現了一種基于卷積神經網絡分類和塊Radon尺度變換信息增強的人臉識別算法。在卷積神經網絡分類器中,利用Radon尺度變換的幾何不變性增強人臉的關鍵特征點。特征分類用于優化特征提取和人臉識別。實驗表明,該方法具有較好的人臉識別精度、較高的大樣本人臉識別精度、較好的實時性和較高的應用價值。雖然在LFW測試集中,人臉識別方法的準確率分別達到了99.1%和93.32%,但與頂級的人臉識別方法相比,仍有很大的差距。由于時間有限,筆者有一些想法尚未實現:1。在特征融合方面,首先提取每個基本模型的卷積層,然后通過預處理和融合得到組合卷積層。最后利用卷積神經網絡進行訓練。這樣不僅可以得到卷積層提取的基本特征,而且可以利用卷積神經網絡進行更有效的學習。2。在本文中,只有三個開源模型用作基本模型,只有兩個模型用作最佳模型。后續思路上,采用更基本的模型,可以整合更多模型的優點,從而進一步提高改進模型的有效性。三。本文所使用的兩個訓練集較小,較大的數據集對深度學習訓練更有效。參考文獻[1]M.AliAkberDewan,E.Granger,G.-L.Marcialis,R.Sabourin,F.Roli.Adaptiveappearancemodeltrackingforstill-to-videofacerecognition[J].PatternRecognition,2016,49:.[2]SamikB,SukhenduD.Mutualvariationofinformationontransfer-CNNforfacerecognitionwithdegradedprobesamples[J].Neurocomputing,2018,12(04):11-18.[3]Young-JooH,WooseongK,Joon-SangP.EfficientEye-BlinkingDetectiononSmartphones:AHybridApproachBasedonDeepLearning[J].MobileInformationSystems,2018,05(11):1-8.[4]YongXu,ZhengZhang,GuangmingLu,JianYang.Approximatelysymmetricalfaceimagesforimagepreprocessinginfacerecognitionandsparserepresentationbasedclassification[J].PatternRecognition,2015,:.[5]Xiao-YuanJing,FeiWu,XiaokeZhu,XiweiDong,FeiMa,ZhiqiangLi.Multi-spectrallow-rankstructureddictionarylearningforfacerecognition[J].PatternRecognition,2016,:.[6]AbdolhosseinFathi,PendarAlirezazadeh,FardinAbdali-Mohammadi.AnewGlobal-Gabor-Zernikefeaturedescriptoranditsapplicationtofacerecognition[J].JournalofVisualCommunicationandImageRepresentation,2016,:.[7EverardoSantiagoRamírez.Optimization-basedmethodologyfortrainingsetselectiontosynthesizecompositecorrelationfiltersforfacerecognition[J].SignalProcessing:ImageCommunication,2016,:.[8]馬姍姍.基于深度學習的低畫質人臉識別研究[D].電子科技大學,2018.[9]林勝光.面向局部遮擋的人臉識別方法研究及實現[D].電子科技大學,2018.[10]李自豪.基于卷積神經網絡的人臉圖像識別研究[D].鄭州大學,2018.[11]王浩,孫福明.基于人臉識別的身份識別系統[J].電腦知識與技術,2017,13(33):211-212.[12]孫勁光,孟凡宇.基于深度神經網絡的特征加權融合人臉識別方法[J].計算機應用,2016,3602:437-443.[13]張延安,王宏玉,徐方.基于深度卷積神經網絡與中心損失的人臉識別[J].科學技術與工程,2017,17(35):92-97.[14]盧宏濤,張秦川.深度卷積神經網絡在計算機視覺中的應用研究綜述[J].數據采集與處理,2016,3101:1-17.[15]王飛,李強.基于改進的深度信念網絡的人臉識別算法研究[J].蘭州交通大學學報,2016,3501:42-47+58.[16]胡正平,何薇,王蒙,孫哲.Gabor調制的深度多層子空間人臉特征提取算法[J].信號處理,2017,33(03):338-345.[17]陳耀丹,王連明.基于卷積神經網絡的人臉識別方法[J].東北師大學報(自然科學版),2016,4802:70-76.[18]張泊平.云計算平臺下的人臉識別[J].現代電子技術,2016,3918:88-90+95.[19]楊鳴鳴.基于嵌入式系統的人臉識別算法研究及其優化[J].微型機與應用,2016,3519:50-52.[20]余丹,吳小俊.一種卷積神經網絡和極限學習機相結合的人臉識別方法[J].數據采集與處理,2016,3105:996-1003.[21]李春利,柳振東,惠康華.基于卷積神經網絡的人臉識別研究[J].軟件導刊,2017,16(05):186-188.[22]楊巨成,劉娜,房珊珊,謝迎.基于深度學習的人臉識別方法研究綜述[J].天津科技大學學報,2016,3106:1-10.[23]楊瑞,張云偉,茍爽,支艷利.Gabor特征與深度信念網絡結合的人臉識別方法[J].傳感器與微系統,2017,36(05):68-70.[24]馮建洋,諶海云.基于人工神經網絡的人臉識別研究[J].自動化與儀器儀表,2017,05:24-26+29.[25]郭曉潔,陳良,沈長青,劉承建.自適應深度卷積神經網絡在人臉識別上的應用[J].自動化技術與應用,2017,36(07):72-77.[26]陳志軒,周大可,黃經緯.基于卷積神經網絡的表情不變三維人臉識別[J].電子測量技術,201
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 農民雙語夜校協議書
- 孕婦自主生產協議書
- 學生打架糾紛協議書
- 模具購銷協議書范本
- 太平融資租賃協議書
- 經濟酒店轉讓協議書
- 園區綠化發包協議書
- 字節研發設備協議書
- 輪胎補胎免責協議書
- 無效技術入股協議書
- 通過PDCA降低住院精神病人的逃跑率
- 藥劑科主任崗位權責目錄及廉政風險防控措施登記表
- 沼氣工程安全培訓講學
- 中國現代史四民族團結與祖國統一課件- 歷史中考一輪復習
- 幼兒園大班繪本《愛書的孩子》無聲PPT
- DB3311T 132-2020 住宅小區物業服務規范
- (中職)門店運營實務教學ppt課件(完整版)
- 2022更新國家開放大學電大《計算機應用基礎(專)》終結性考試大作業答案任務一
- 羅伊護理個案模板
- 3.無人機在風電系統應用解決方案
- 幼兒繪本故事:小魯的池塘
評論
0/150
提交評論