摘 要:傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)算法收斂過(guò)慢、局部收斂不理想,影響其工作性能。 針對(duì)以上不足以及人臉圖像數(shù)據(jù)大等問(wèn)題。提出GABP神經(jīng)網(wǎng)絡(luò)對(duì)人臉圖像進(jìn)行檢測(cè)的新方法:將遺傳學(xué)習(xí)算法和誤差反向傳播算法相結(jié)合的混合算法來(lái)訓(xùn)練前饋人工神經(jīng)網(wǎng)絡(luò),使網(wǎng)絡(luò)收斂速度加快和避免局部極小。通過(guò)實(shí)驗(yàn)表明該網(wǎng)絡(luò)不僅收斂速度快,而且易達(dá)到最優(yōu)解。證明該網(wǎng)絡(luò)對(duì)人臉圖像檢測(cè)具有高的檢測(cè)精度。
關(guān)鍵詞:人臉檢測(cè);BP網(wǎng)絡(luò);遺傳算法;GABP網(wǎng)絡(luò)
中圖分類號(hào):TP183 文獻(xiàn)標(biāo)識(shí)碼:B 文章編號(hào):1004373X(2008)1615403
Face Detection Based on GABP Neural Network
JIAO Libao,PENG Yan,CHEN Chunlan
(Sichuan University of Science Engineering,Zigong,643000,China)
Abstract:The constringency of the conventional BP neural network algorithm is too slow and local constringency is not ideal,which effect working performance.The lack above and face image data too big,a new method that the face detection method based on GABP neural network is introduced in this paper.Making the Genetic Algorithm (GA) search algorithm is used to train the network with updating the weights to minimize the error between the network output and the desired output.Then the BackPropagation (BP) algorithm is used to further train the artificial neural network used for face detection.The experiment indicate This network convergence rate is not only quick,moreover easy to achieve the optimal solution.This network has the high detection precision to the face image detection.
Keywords:face detection;BP neural network;genetic algorithm;GABP neural network
1 引 言
人臉檢測(cè)是圖像處理和識(shí)別領(lǐng)域的一個(gè)重要研究的課題,具有廣泛的應(yīng)用價(jià)值,例如檔案管理系統(tǒng)、人機(jī)交互、駕駛執(zhí)照、身份證的識(shí)別檢測(cè),刑偵破案中犯罪嫌疑人照片的識(shí)別等,可以說(shuō)人臉檢測(cè)是一種重要的個(gè)人身份鑒別的方法。本文將神經(jīng)網(wǎng)絡(luò)和遺傳算法有機(jī)的結(jié)合起來(lái),建立了一種遺傳神經(jīng)網(wǎng)絡(luò),然后利用優(yōu)化后的神經(jīng)網(wǎng)絡(luò)較好地解決人臉檢測(cè)中往往存在的噪聲、殘缺和戴眼睛的人臉圖像等。GABP網(wǎng)絡(luò)的應(yīng)用于人臉檢測(cè)具有檢測(cè)速度快、檢測(cè)精度高等特點(diǎn)。
2 遺傳算法對(duì)BP網(wǎng)絡(luò)的優(yōu)化
2.1 BP神經(jīng)網(wǎng)絡(luò)的基本原理
BP(Back Propagation,反向傳播)網(wǎng)絡(luò)是神經(jīng)網(wǎng)絡(luò)的一個(gè)分支,又稱誤差信號(hào)反饋網(wǎng)絡(luò)[1]。誤差反向傳播的BP算法簡(jiǎn)稱BP算法,其基本思想是有導(dǎo)師學(xué)習(xí),可按梯度下降法實(shí)現(xiàn)快速收斂。典型的BP網(wǎng)絡(luò)是3層前饋階層網(wǎng)絡(luò)(如圖1所示),即輸入層、隱含層(中間層)和輸入層。一個(gè)3層的BP網(wǎng)絡(luò)可以完成任意的n維到m維的非線性映射。
圖1 BP網(wǎng)絡(luò)結(jié)構(gòu)BP算法的學(xué)習(xí)過(guò)程由正向傳播和方向傳播組成。在正向傳播過(guò)程中,輸入信息從輸入層經(jīng)隱含層逐層處理,并傳向輸出層,每層神經(jīng)元(節(jié)點(diǎn))的狀態(tài)只影響下一層神經(jīng)元的狀態(tài)。如果在輸出層不能得到期望的輸出,則轉(zhuǎn)至方向傳播,將誤差信號(hào)(理想與實(shí)際輸出之差)按連接通路反向計(jì)算,由梯度下降法調(diào)整各層神經(jīng)元的權(quán)值,使誤差信號(hào)減小。神經(jīng)網(wǎng)絡(luò)理論已經(jīng)證明BP網(wǎng)絡(luò)具有強(qiáng)大的非線性映射的能力,一連續(xù)函數(shù)或映射均可采用3層網(wǎng)絡(luò)加以實(shí)現(xiàn)。
假設(shè)訓(xùn)練集包含M個(gè)樣本,中間層的單元數(shù)是L,對(duì)第P個(gè)訓(xùn)練樣本(p=1,2,…,M),單元j的實(shí)際輸出為opj,它的第i個(gè)輸入為opi,則:Upj=∑Ni=0WjiOpj。
其中Wji為神經(jīng)元i與神經(jīng)元j之間的連接權(quán)值。隱層神經(jīng)元的輸出采用S 函數(shù)激發(fā):Opj=f(upj)=11+exp(-upj);
誤差性能指標(biāo)函數(shù)為:E=∑PEp;其中EP=12∑jdpj-Opj.2;式中,dpj表示對(duì)P個(gè)訓(xùn)練樣本,單元j的期望輸出。訓(xùn)練網(wǎng)絡(luò)的目的是找到一組權(quán)重,使誤差函數(shù)極小化。根據(jù)梯度下降法,輸出層及隱含層連接權(quán)值學(xué)習(xí)算法為:
若權(quán)值的變化量記為ΔWij,取ΔWij正比于-EPWji,即ΔWij=ηδpjOpj;其中η為學(xué)習(xí)因子(可調(diào)整權(quán)值),令-EPuji=δpj,則EPWji=EPupiupjWji=EPujiOpj=-δpjOpj。用θi和φj分別表示輸出單元和隱含層的閾值。其閾值變化分別記為Δθi和Δφj,則閾值為:θi(n+1)=θi(n)+Δθi(n);
φj(n+1)=φj(n)+Δφj(n)2.2 GABP網(wǎng)絡(luò)
遺傳算法GA (Genetic Algorithm)是基于生物進(jìn)化原理的一種具有魯棒性的自適應(yīng)優(yōu)化方法[2]。遺傳算法遵循通過(guò)基于問(wèn)題樣本適應(yīng)度函數(shù)對(duì)初始群體選擇、交叉和變異操作,來(lái)指導(dǎo)學(xué)習(xí)和確定搜索的方向。由于采用種群的方式組織搜索,所以它可以在全局解空間內(nèi)的多個(gè)區(qū)域內(nèi)尋求最優(yōu)解[3],而且特別適合大規(guī)模并行處理。對(duì)于BP網(wǎng)絡(luò)來(lái)說(shuō),也存在著不足,BP算法從本質(zhì)上講屬于梯度下降算法,因而不可避免的具有一些缺陷,如:易陷入局部極小點(diǎn)[4] 、訓(xùn)練速度慢[5]等。還有初始隨機(jī)加權(quán)的大小,會(huì)對(duì)局部最小部分產(chǎn)生很大的影響[6]。在優(yōu)化問(wèn)題中,如果目標(biāo)函數(shù)是多峰的,或者搜索空間不規(guī)則,就要求所使用的算法必須具有高度的魯棒性,以避免在局部最優(yōu)解附近徘徊[7]。所以遺傳算法和BP網(wǎng)絡(luò)的結(jié)合正好優(yōu)劣互補(bǔ)。遺傳算法和神經(jīng)網(wǎng)絡(luò)的結(jié)合對(duì)于尋求全局最優(yōu)解其效果要優(yōu)于單個(gè)的使用遺傳算法或神經(jīng)網(wǎng)絡(luò),為充分結(jié)合遺傳算法和BP神經(jīng)網(wǎng)絡(luò)的長(zhǎng)處提出了GA對(duì)BP的優(yōu)化,從而獲得網(wǎng)絡(luò)的最優(yōu)設(shè)計(jì)的新方法。
由于遺傳算法的搜索不依賴梯度信息,也不需要求解函數(shù)可微,只需要求解適應(yīng)度函數(shù)在約束條件下可解。 并且遺傳算法具有全局搜索的特性,用遺傳算法優(yōu)化神經(jīng)網(wǎng)絡(luò)的連接權(quán)和網(wǎng)絡(luò)結(jié)構(gòu),可以較好地克服BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)確定過(guò)程中所帶來(lái)的網(wǎng)絡(luò)振蕩,以及網(wǎng)絡(luò)極易陷入局部解問(wèn)題,并且有效提高神經(jīng)網(wǎng)絡(luò)的泛化能力。因此,利用遺傳算法全局性搜索的特點(diǎn),尋找最為合適的網(wǎng)絡(luò)連接權(quán)和網(wǎng)絡(luò)結(jié)構(gòu)的方法來(lái)改變BP算法依賴梯度信息的指導(dǎo),從而達(dá)到對(duì)網(wǎng)絡(luò)結(jié)構(gòu)和網(wǎng)絡(luò)連接權(quán)值、閥值的最優(yōu)配置。
通過(guò)使用GA在由BP網(wǎng)絡(luò)初步確定的基本解空間上(網(wǎng)絡(luò)連接權(quán)和神經(jīng)元閥值的取值范圍) ,通過(guò)對(duì)基因的選擇,交叉變異操作。對(duì)樣本個(gè)體不斷擇優(yōu)進(jìn)化,直至進(jìn)化K(總的進(jìn)化代數(shù)由初始時(shí)給定)代后,選取個(gè)體中適應(yīng)度最大的個(gè)體來(lái)確定網(wǎng)絡(luò)的結(jié)構(gòu)和網(wǎng)絡(luò)的權(quán)值和閥值。
GABP優(yōu)化算法步驟描述如下:
(1) 確定網(wǎng)絡(luò)結(jié)構(gòu);
(2) 產(chǎn)生初始種群;
(3) 輸入訓(xùn)練樣本;
(4) 得到個(gè)體誤差,計(jì)算適應(yīng)度值;
(5) 判斷是否滿足要求?是,則停止轉(zhuǎn)入(6);否,則繼續(xù)訓(xùn)練,對(duì)網(wǎng)絡(luò)進(jìn)行優(yōu)化,產(chǎn)生新的閾值和權(quán)值;
(6) 得到GA優(yōu)化的網(wǎng)絡(luò)。
從算法過(guò)程可以看出,GA優(yōu)化BP網(wǎng)絡(luò)目的是確定網(wǎng)絡(luò)最優(yōu)的權(quán)值和閾值,而在訓(xùn)練過(guò)程中就是要不斷調(diào)整權(quán)值和閾值,直到總誤差函數(shù)是滿足條件,訓(xùn)練結(jié)束,其GABP網(wǎng)絡(luò)訓(xùn)練的流程圖(如圖2所示)。
圖2 GABP優(yōu)化算法訓(xùn)練流程3 GABP人臉檢測(cè)
這里采用ORL人臉數(shù)據(jù)庫(kù)進(jìn)行仿真實(shí)驗(yàn)。劍橋olivetli實(shí)驗(yàn)室拍攝一系列人臉圖像,共有40人,每人有不同的表情或不同視點(diǎn)的10幅圖像,計(jì)400幅圖像(圖3為其中一些人臉樣本)。這些圖像為灰度圖像,傾斜角一般不超過(guò)20°,這里在每個(gè)人的10幅圖像中取5幅圖像作為訓(xùn)練樣本對(duì)本系統(tǒng)進(jìn)行訓(xùn)練,并進(jìn)行標(biāo)準(zhǔn)化,得到各點(diǎn)灰度值,送入GABP網(wǎng)絡(luò)訓(xùn)練,調(diào)整權(quán)值和閾值,直到誤差足夠小或迭代到一定的次數(shù),當(dāng)訓(xùn)練結(jié)束,將權(quán)值和閾值保存在文件中。在GABP網(wǎng)絡(luò)中,由于BP網(wǎng)絡(luò)中輸出值與期望的輸出值之間的誤差平方和EP越小,則表示該網(wǎng)絡(luò)性能越好,可以選擇一種適應(yīng)度函數(shù):f(x)=1EP+1。
圖3 部分ORL人臉樣本接下來(lái)將訓(xùn)練好的網(wǎng)絡(luò)進(jìn)行分類,裝載權(quán)值和閾值文件。選擇剩余的每個(gè)人5幅圖像用來(lái)分類,進(jìn)行標(biāo)準(zhǔn)化,送入GABP網(wǎng)絡(luò)進(jìn)行檢測(cè)。采用基于金字塔的子采樣過(guò)程,具體過(guò)程如下:首先將灰度圖像以1.2的比率重采樣縮小,而在每一級(jí)尺度變化中,以25×25的窗口大小,從上而下,從左到右掃描圖像,步長(zhǎng)為2個(gè)像素,最后將該窗口內(nèi)的625個(gè)像素點(diǎn)的灰度值送入已經(jīng)訓(xùn)練好的GABP網(wǎng)絡(luò)進(jìn)行人臉的判別,這個(gè)過(guò)程循環(huán)往復(fù),直到尺度變化后的圖象小于窗口大小為止。判別過(guò)程為:將數(shù)據(jù)輸入GABP網(wǎng)絡(luò)后,獲得2個(gè)輸出output(0)和output(1),如果output(0)大于output(1)則判斷為檢測(cè)正確,如果output(0)小于output(1)則判斷為檢測(cè)錯(cuò)誤,最后計(jì)算出檢測(cè)精度,如圖4所示。
圖4 GABP人臉檢測(cè)流程 分別采用本文的算法和傳統(tǒng)BP算法,其識(shí)別結(jié)果為,如表1所示。
表1 兩種方法用于人臉檢測(cè)的效果對(duì)比
網(wǎng)絡(luò)類型收斂步數(shù)正確率傳統(tǒng)BP算法38189.5%GABP算法23693.73%
對(duì)2種方法用于人臉檢測(cè)的效果對(duì)比可以看出,基于GABP網(wǎng)絡(luò)的人臉檢測(cè)方法與傳統(tǒng)BP網(wǎng)絡(luò)的方法相比,檢測(cè)率高出4個(gè)百分點(diǎn)左右。此外,GABP優(yōu)化的神經(jīng)網(wǎng)絡(luò)在訓(xùn)練過(guò)程中不斷的調(diào)整權(quán)值和與閾值,輸出網(wǎng)絡(luò)最優(yōu)的權(quán)值和閾值,使總誤差函數(shù)
滿足條件,訓(xùn)練結(jié)束。從而提高訓(xùn)練速度,避免了在局部最優(yōu)解附近徘徊。因此它的學(xué)習(xí)速度很快,在同等條件下,傳統(tǒng)的BP網(wǎng)絡(luò)收斂為381步,而GABP優(yōu)化后的網(wǎng)絡(luò)僅為236步。
4 結(jié) 語(yǔ)
此文介紹一種GABP神經(jīng)網(wǎng)絡(luò)的人臉檢測(cè)算法,通過(guò)實(shí)驗(yàn)分析了該算法的性能。測(cè)試結(jié)果表明,該算法能明顯提高檢測(cè)精度,證明了遺傳算法優(yōu)化的BP網(wǎng)絡(luò)在人臉檢測(cè)的實(shí)際應(yīng)用中是可行的。
參 考 文 獻(xiàn)
[1]曾黃麟.智能計(jì)算[M].重慶:重慶大學(xué)出版社,2004.
[2]Golder G D.Genetic Algorithms in Search,Optimization and Machine Leam [M].London:AddisonWesley Pubishing Company Inc,1990.
[3]Bhatnv,Mcavoy T J.Determining Model Structure for Neural Models by Networks Tripping [J].Computer and Chem.Engng.,1992,16 (4):271281.
[4]潘昊,王曉勇,陳瓊,等.基于遺傳算法的BP經(jīng)網(wǎng)絡(luò)技術(shù)的應(yīng)用[J].計(jì)算機(jī)應(yīng)用,2005,25(12):2 7772 779.
[5]李敏強(qiáng),徐博藝,寇紀(jì)凇.遺傳算法與神經(jīng)網(wǎng)絡(luò)的結(jié)合[J].系統(tǒng)工程理論與實(shí)踐,1999,(2):6569,112.
[6]樊為民.基于遺傳算法的神經(jīng)網(wǎng)絡(luò)算法研究[J].太原師范學(xué)院學(xué)報(bào):自然科學(xué)版,2004,3(4):1417.
[7]李建珍.基于遺傳算法的人工神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法[J].西北師范大學(xué)學(xué)報(bào),2002,38(2):3337.
[8]陳耀明.小波變換在圖像數(shù)據(jù)壓縮中的應(yīng)用\\.現(xiàn)代電子技術(shù),2007,30(6):136138.
作者簡(jiǎn)介 焦利寶 男,1983年出生,河南新鄉(xiāng)人,碩士研究生。研究方向?yàn)槿斯ぶ悄芸刂萍爸悄苄畔⑻幚怼?/p>
彭 龑 男,博士研究生,教授,碩士生導(dǎo)師。研究方向?yàn)橹饕獜氖掠?jì)算機(jī)應(yīng)用、人工智能與智能控制、專家系統(tǒng)方面的研究。
陳春蘭 女,碩士研究生。研究方向?yàn)槿斯ぶ悄?、模式識(shí)別。
注:本文中所涉及到的圖表、注解、公式等內(nèi)容請(qǐng)以PDF格式閱讀原文