安大海++蔣硯軍
摘要:隨著移動(dòng)設(shè)備的發(fā)展,人臉識(shí)別技術(shù)在移動(dòng)端得到極為廣泛的應(yīng)用。移動(dòng)設(shè)備采集的圖像其背景和光照條件等特征更容易發(fā)生變化,進(jìn)而影響人臉識(shí)別的準(zhǔn)確率。本文提出了一種基于BP神經(jīng)網(wǎng)絡(luò)的人臉識(shí)別系統(tǒng),并通過對(duì)人臉圖像的預(yù)處理來消除背景及光照條件等特征對(duì)人臉識(shí)別準(zhǔn)確率的影響,系統(tǒng)對(duì)人臉圖像進(jìn)行直方圖平衡,濾波,橢圓遮罩等方式進(jìn)行處理,提高了人臉識(shí)別的準(zhǔn)確率。本文搭建了真實(shí)的人臉識(shí)別系統(tǒng),并對(duì)圖像預(yù)處理工作能提高人臉識(shí)別準(zhǔn)確率的有效性進(jìn)行了驗(yàn)證。
關(guān)鍵詞:人工智能;人臉識(shí)別;圖像預(yù)處理;BP神經(jīng)網(wǎng)絡(luò)
中圖分類號(hào):TP391.41
文獻(xiàn)標(biāo)識(shí)碼:A
DOI:10.3969/j.issn.1003-6970.2015.12.018
本文著錄格式:安大海,蔣硯軍.基于BP神經(jīng)網(wǎng)絡(luò)的人臉識(shí)別系統(tǒng)[J]軟件,2015,36(12):76-79
0 引言
隨著現(xiàn)代計(jì)算機(jī)技術(shù)的發(fā)展,人臉識(shí)別技術(shù)在安全驗(yàn)證、人機(jī)交流、公安系統(tǒng)等方面得到了』‘泛的使用,并且在視頻會(huì)議、檔案管理、醫(yī)學(xué)醫(yī)療等方面也發(fā)揮著很大的作用。所以,人臉識(shí)別技術(shù)已經(jīng)逐漸成為人們?cè)谌斯ぶ悄茴I(lǐng)域所研究的重點(diǎn)課題。人臉識(shí)別主要是分為兩個(gè)方面:一是人臉檢測(cè),指的是在圖像中檢測(cè)是否存在人臉,如果存在人臉,定位出人臉的位置;二是人臉識(shí)別,指的是從數(shù)據(jù)庫(kù)中已經(jīng)存在的人臉樣本中確定出當(dāng)前人臉圖像的身份。
人臉識(shí)別系統(tǒng)的原理是首先在捕捉到的圖像中進(jìn)行人臉識(shí)別,之后將該圖像進(jìn)行人臉的具體身份匹配,通過BP神經(jīng)網(wǎng)絡(luò)建模,完成人臉識(shí)別。當(dāng)前移動(dòng)設(shè)備越來越多,移動(dòng)互聯(lián)網(wǎng)時(shí)代下的人臉識(shí)別技術(shù)場(chǎng)景也越來越多。在移動(dòng)設(shè)備上捕獲的人臉圖像會(huì)出現(xiàn)背景的變換以及光照的變化。背景及光照的變化會(huì)影響人臉識(shí)別的準(zhǔn)確率。
針對(duì)上述問題,本文提出了一種人臉圖像預(yù)處理的方法,用來解決背景及光照對(duì)于人臉識(shí)別準(zhǔn)確率的影響。同時(shí)基于BP神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)了人臉識(shí)別系統(tǒng),驗(yàn)證了方法的有效性。
1 人臉圖像的預(yù)處理
1.1 人臉及人眼檢測(cè)
人臉檢測(cè)能在一幅圖像中定位到一個(gè)至多個(gè)的人臉區(qū)域,主要運(yùn)用的算法是viola-jones人臉檢測(cè)算法。viola-jones人臉檢測(cè)算法主要有三個(gè)要點(diǎn):Haar-like特征,AdaBoost算法和Cascade結(jié)構(gòu)。Haar-like特征利用積分圖像快速的計(jì)算矩形區(qū)域的差分信號(hào);AdaBoost算法選擇區(qū)分能力強(qiáng)的特征結(jié)合Stump函數(shù)做弱分類器,然后把若干這些弱分類器線性組合在一起增強(qiáng)分類性能;Cascade結(jié)構(gòu)做早期決策,來快速拋棄明顯不是人臉的掃描窗口。
通過viola-jones人臉檢測(cè)算法快速定位圖像中的人臉圖像,同時(shí)基于人眼做興趣區(qū)域處理,排除掉背景對(duì)于人臉識(shí)別過程中的處理.具體處理流程如下:首先在圖片中定位人臉,如圖1所示,然后基于人眼的識(shí)別,截取人臉面部特征圖像,如圖2所示。
1.2 人臉及人眼檢測(cè)
人臉圖像經(jīng)過基于人眼識(shí)別的興趣區(qū)域處理之后,可以獲得人眼部分的人臉特征截圖,對(duì)于這些特征圖像進(jìn)行預(yù)處理,可以減少光照和背景對(duì)于人臉識(shí)別準(zhǔn)確率的影響。
首先對(duì)圖像進(jìn)行直方圖平衡化處理(HistogramEqualization),處理后的圖像有更高的對(duì)比度,擴(kuò)展了圖像灰度值的動(dòng)態(tài)范圍,使得圖像更加清晰,如圖3所示;然后對(duì)圖像進(jìn)行濾波(smoothing)處理,減少圖像的噪點(diǎn),如圖4所示;最后對(duì)圖像做橢圓遮罩(elliptical mask)處理,在原有圖像中屏蔽掉背景,如圖5所示。
2 BP神經(jīng)網(wǎng)絡(luò)
2.1 BP神經(jīng)網(wǎng)絡(luò)的構(gòu)建
BP神經(jīng)網(wǎng)絡(luò)是一種按誤差逆?zhèn)鞑ニ惴ㄓ?xùn)練的多層前饋網(wǎng)絡(luò),可以分為三層,分別為輸入層、隱藏層、輸出層。層與層之間采用全連接映射,同層之間的神經(jīng)單元之間沒有連接,這樣經(jīng)過層層處理,可以實(shí)現(xiàn)將輸入的向量X=(xl,x2...xn)非線性映射到向量Y=(yl,y2...yn)。將BP神經(jīng)網(wǎng)絡(luò)用語(yǔ)人臉識(shí)別時(shí),通常采用三層的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),即一層輸入層,一層隱藏層和一層輸入層。如下圖6所示:
神經(jīng)網(wǎng)絡(luò)中的每個(gè)神經(jīng)單元是一個(gè)單獨(dú)的感知器,感知器可以將一個(gè)實(shí)數(shù)值向量作為輸入,計(jì)算這些輸入的線性組合,然后如果結(jié)果大于某個(gè)閥值,就輸出1,否則輸出-1。本論文中的感知器采用sigmoid壓縮函數(shù),輸入向量經(jīng)過sigmoid函數(shù)計(jì)算之后進(jìn)行輸出,可以壓縮輸出值,使得整個(gè)神經(jīng)網(wǎng)絡(luò)可以較快的進(jìn)行收斂。Sigmoid函數(shù)計(jì)算公式如下:
2.2 沖量項(xiàng)的引入
BP神經(jīng)網(wǎng)絡(luò)在采用反向傳播算法進(jìn)行收斂訓(xùn)練時(shí),因?yàn)椴捎玫奶荻认陆邓惴ǎ赡艹霈F(xiàn)收斂較緩慢或者落入局部最優(yōu)解的情況。將梯度下降算法理解為球沿誤差曲面滾下,那么增加的沖量項(xiàng)的作用,就是使得這個(gè)小球從一次迭代到下一次迭代時(shí)以同樣的方向滾動(dòng)。沖量有時(shí)會(huì)使這個(gè)球滾過誤差曲面的局部最小值。同時(shí)因?yàn)樗灿性龃笏阉鞑介L(zhǎng)的效果,從而可以加快收斂。沖量項(xiàng)引入后將2.1章節(jié)中的反向傳播算法的d步驟公式替換如下:
3 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
3.1 人臉識(shí)別系統(tǒng)設(shè)計(jì)
人臉識(shí)別系統(tǒng)主要分為三個(gè)模塊,第一個(gè)模塊是圖像采集預(yù)處理模塊,采用opencv,可以直接利用攝像頭進(jìn)行圖像的采集,同時(shí)該模塊應(yīng)用ROI算法,對(duì)圖像進(jìn)行預(yù)處理,削弱背景以及光照條件對(duì)識(shí)別率的影響。第二個(gè)模塊是神經(jīng)網(wǎng)絡(luò)訓(xùn)練模塊,該模塊通過對(duì)訓(xùn)練數(shù)據(jù)的處理,構(gòu)建BP神經(jīng)網(wǎng)絡(luò)模型,完成權(quán)值的確定。第三個(gè)模塊是人臉識(shí)別模塊,該模塊將圖像采集模塊采集得到的圖像輸入到已經(jīng)訓(xùn)練完成的BP神經(jīng)網(wǎng)絡(luò)模型中進(jìn)行計(jì)算,將結(jié)果用歐氏距離進(jìn)行判定,得到識(shí)別結(jié)果。整個(gè)系統(tǒng)的結(jié)構(gòu)圖如圖8所示:
3.2系統(tǒng)實(shí)驗(yàn)
本系統(tǒng)實(shí)驗(yàn)的實(shí)驗(yàn)數(shù)據(jù)來源為opencv控制筆記本攝像頭采集的全班同學(xué)人臉照片,人數(shù)共計(jì)45人,每人人臉圖像采集數(shù)為10張,其中8張為訓(xùn)練數(shù)據(jù)集,2張為識(shí)別結(jié)果測(cè)試數(shù)據(jù)集,訓(xùn)練數(shù)據(jù)集共計(jì)360張,結(jié)果測(cè)試數(shù)據(jù)集共計(jì)90張。每張人臉圖像的像素為28*23,共計(jì)644個(gè)像素點(diǎn)。采集的人臉圖像均通過圖像預(yù)處理模塊進(jìn)行了基于興趣區(qū)域的處理,處理后的人臉數(shù)據(jù)集作為測(cè)試數(shù)據(jù)。
該實(shí)驗(yàn)采用的硬件平臺(tái)為OS:WIN7x64版本;CPU:Intel(R)Core(TM)i3-2350M CPU@2.30GHz;RAM:8GB。
該系統(tǒng)實(shí)驗(yàn)的神經(jīng)網(wǎng)絡(luò)模型分為三層,第一層輸入層由644個(gè)神經(jīng)單元組成,每個(gè)神經(jīng)單元對(duì)應(yīng)一個(gè)像素點(diǎn)輸入;第二層隱藏層采用了20個(gè)神經(jīng)單元,第三層輸出層共計(jì)6個(gè)神經(jīng)單元。神經(jīng)網(wǎng)絡(luò)構(gòu)建完成后采用圖6所示的反向傳播算法對(duì)神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,得到用于人臉識(shí)別的神經(jīng)網(wǎng)絡(luò)模型。
在對(duì)人臉圖像進(jìn)行時(shí)識(shí)別時(shí)對(duì)于輸出層輸出的結(jié)果,采用歐式距離做判定。例如6個(gè)輸出層神經(jīng)單元輸出的結(jié)果是0.1,0.2,0.1,0.2,0.9,將該結(jié)果與所有45位同學(xué)的標(biāo)準(zhǔn)輸出依次計(jì)算歐式距離,取距離最小的目標(biāo)為對(duì)應(yīng)的判定結(jié)果。經(jīng)計(jì)算與1號(hào)同學(xué)距離最小,故判定該人臉圖像是1號(hào)同學(xué)人臉。
3.3 實(shí)驗(yàn)結(jié)果分析
本文首先對(duì)于未經(jīng)圖像預(yù)處理模塊的數(shù)據(jù)集進(jìn)行了測(cè)試,得到如圖9所示的結(jié)果。然后對(duì)經(jīng)過了圖像預(yù)處理模塊的數(shù)據(jù)集進(jìn)行了測(cè)試,得到如圖10所示的結(jié)果??梢钥吹浇?jīng)過圖像預(yù)處理模塊的結(jié)果好于未處理的結(jié)果,識(shí)別準(zhǔn)確率約提升了6%。
4 結(jié)論
本文給出了一種基于BP神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)的人臉識(shí)別系統(tǒng)。本文首先介紹了圖像興趣區(qū)域處理和BP神經(jīng)網(wǎng)絡(luò)的基本概念,然后基于python語(yǔ)言實(shí)現(xiàn)了BP神經(jīng)網(wǎng)絡(luò),并在實(shí)驗(yàn)室環(huán)境中真實(shí)的搭建了整個(gè)人臉識(shí)別系統(tǒng)。最后通過實(shí)驗(yàn)驗(yàn)證了圖像興趣區(qū)域處理對(duì)于人臉識(shí)別正確率的影響。本系統(tǒng)是BP神經(jīng)網(wǎng)絡(luò)模型應(yīng)用于人臉識(shí)別領(lǐng)域的典型范例。后續(xù)的工作將針對(duì)神經(jīng)網(wǎng)絡(luò)的增量學(xué)習(xí)進(jìn)行研究,使得該系統(tǒng)可以實(shí)時(shí)的對(duì)于新增的人臉身份進(jìn)行識(shí)別。