文/劉美枝 楊磊
目前,人臉檢測(cè)和識(shí)別技術(shù)發(fā)展日漸成熟,各種人臉檢測(cè)算法和實(shí)現(xiàn)方法在不同領(lǐng)域的應(yīng)用日益增多,各行業(yè)對(duì)所在小型區(qū)域的安全保障越來(lái)越重視,關(guān)于人臉檢測(cè)與識(shí)別的軟件算法在不斷更新,從早期普遍應(yīng)用的模式識(shí)別范疇里的各種神經(jīng)網(wǎng)絡(luò)算法到現(xiàn)在引起廣泛關(guān)注的機(jī)器學(xué)習(xí)之深度學(xué)習(xí),有關(guān)檢測(cè)和識(shí)別算法本身的準(zhǔn)確度和可靠性在逐步提高。
伴隨著人工智能的興起,信息安全、系統(tǒng)識(shí)別等領(lǐng)域成為人工智能的研究熱點(diǎn),現(xiàn)代生活節(jié)奏加快,給人們的生活出行增加了許多不可預(yù)測(cè)的因素,同時(shí)人們對(duì)自己所處環(huán)境的安全保障因素日益重視,促使各種小型辦公場(chǎng)所、私人會(huì)所等采取智能安防措施避免受到意外損失。
在人臉檢測(cè)的特征因素中,根據(jù)人臉眾多器官的形態(tài)特征等各不相同,都可作為待測(cè)目標(biāo)。但在系統(tǒng)實(shí)際工作中進(jìn)行實(shí)時(shí)檢測(cè),往往會(huì)受到眼鏡、頭發(fā)等遮擋物的干擾,而且在安防區(qū)域攝像頭等傳感器采集的人臉圖像信息中,可能受到成像角度、光照強(qiáng)度等因素的影響,導(dǎo)致采集人臉中出現(xiàn)側(cè)臉或者模糊等情況,所以高精度的檢測(cè)算法在一定程度上可以縮小圖像采集帶來(lái)的誤差。
系統(tǒng)實(shí)現(xiàn)通過(guò)MATLAB軟件對(duì)人臉檢測(cè)的各種算法進(jìn)行比較優(yōu)化,選用可靠性高的Adaboost人臉檢測(cè)算法,通過(guò)提取特征信息計(jì)算特征值,構(gòu)建人臉模型的弱分類(lèi)器和強(qiáng)分類(lèi)器,進(jìn)而模擬人臉視頻圖像采集和檢測(cè),與數(shù)據(jù)庫(kù)預(yù)先存放的人臉庫(kù)進(jìn)行對(duì)比后作出響應(yīng),發(fā)揮智能安防作用。
智能安防在人臉檢測(cè)仿真系統(tǒng)的研究主要工作集中于視頻圖像樣本采集、圖像歸一化處理、利用Adaboost算法實(shí)現(xiàn)Haar-like模型積分圖轉(zhuǎn)換訓(xùn)練樣本數(shù)據(jù)建立分類(lèi)器、在模擬安防系統(tǒng)工作過(guò)程中對(duì)輸入圖像進(jìn)行特征計(jì)算等處理,系統(tǒng)最終將輸入圖像的檢測(cè)結(jié)果進(jìn)行標(biāo)記,系統(tǒng)實(shí)現(xiàn)總體結(jié)構(gòu)如圖1所示。
人臉檢測(cè)方法種類(lèi)繁多、分類(lèi)復(fù)雜,安防系統(tǒng)的人臉檢測(cè)算法實(shí)現(xiàn)主要通過(guò)MATLAB軟件設(shè)計(jì)M語(yǔ)言程序,常用的檢測(cè)方法有基于先驗(yàn)知識(shí)、人臉特征、統(tǒng)計(jì)原理等。
根據(jù)先前經(jīng)驗(yàn)積累和人類(lèi)共識(shí),人臉面部存在共性規(guī)范和特征:人臉輪廓有圓臉、方臉等,但都接近于橢圓形,人臉的眼睛、嘴巴、鼻子等面部器官在長(zhǎng)寬距離和尺寸比例都遵循一定的規(guī)律,一些器官存在對(duì)稱性等特征。
將人臉特征根據(jù)模板分類(lèi),需提前建立人臉模板標(biāo)準(zhǔn)數(shù)據(jù)庫(kù),因人臉特征種類(lèi)繁多,模板庫(kù)需隨時(shí)更新,單純的模板匹配檢測(cè)方法效率低。
基于先驗(yàn)知識(shí)的人臉檢測(cè)方法以人臉面部整體效構(gòu)造為出發(fā)點(diǎn),提取出人臉共有的特征,當(dāng)圖像背景區(qū)域復(fù)雜或者人臉表情復(fù)雜干擾因素很多的情況下,檢測(cè)難度較高,系統(tǒng)算法設(shè)計(jì)的可靠性不高。
隨著深度學(xué)習(xí)的不斷深入研究,基于深度神經(jīng)網(wǎng)絡(luò)的人臉檢測(cè)技術(shù)也日漸成熟,人工智能已經(jīng)在人們的日常生活中得到廣泛應(yīng)用。
圖2和圖3是BP神經(jīng)網(wǎng)絡(luò)的神經(jīng)元模型和網(wǎng)絡(luò)結(jié)構(gòu)圖,該神經(jīng)網(wǎng)絡(luò)含有輸入層,輸出層,隱藏層。隱藏層神經(jīng)元采用的理想激活函數(shù)是階躍函數(shù),由于階躍函數(shù)的不連續(xù)、不光滑特點(diǎn),通常采用Sigmoid函數(shù)作為激活函數(shù)。
圖1:系統(tǒng)總體結(jié)構(gòu)
圖2:神經(jīng)元模型
圖3:BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖
BP神經(jīng)網(wǎng)絡(luò)構(gòu)建的數(shù)學(xué)模型為:
其中,f為Sigmoid激活函數(shù),ωi為權(quán)值,xi為輸入樣本,θj為閾值。
Haar-like特征提取算法與Adaboost結(jié)合在人臉檢測(cè)方面有突出效果。原始的Haar-like特征定義了四個(gè)基本特征結(jié)構(gòu),每個(gè)特征結(jié)構(gòu)看成是一個(gè)窗口,該窗口在輸入圖像中按固定步長(zhǎng)滑動(dòng),直至遍歷整個(gè)圖像。每遍歷一次后,窗口的寬度和長(zhǎng)度會(huì)按比例放大,重復(fù)之前的遍歷步驟,直到放大到最后一個(gè)比例結(jié)束。寬度上放大的最大倍數(shù)為Kw,高度上放大的最大倍數(shù)為Kh,計(jì)算公式如下:
其中,w和h是整個(gè)圖像的寬和高,w0和h0是Haar-like窗口的初始寬和高。Haarlike特征提取就是利用窗口在圖像中滑動(dòng)過(guò)程中,計(jì)算圖像被窗口覆蓋區(qū)域中,窗口白色區(qū)域像素和減去窗口黑色區(qū)域像素和得到的值就是Haar-like特征維度。
使用積分圖方法快速計(jì)算Haar-like特征,將圖像某個(gè)區(qū)域從起點(diǎn)開(kāi)始到其他各點(diǎn)所形成矩形區(qū)域的像素和提前計(jì)算存儲(chǔ),需要用到時(shí)直接索引,降低了Haar-like特征計(jì)算時(shí)間復(fù)雜度。
單純采用一個(gè)最基本的Haar-like特征計(jì)算輸入圖像的Haar-like特征值,進(jìn)行分類(lèi)判斷效果不好,通過(guò)訓(xùn)練弱分類(lèi)器使其誤差最小化,弱分類(lèi)器的數(shù)學(xué)結(jié)構(gòu)如下式:
其中,x表示一個(gè)檢測(cè)子窗口,fi為特征,θi為閾值,pi指示不等號(hào)的方向,hj是訓(xùn)練的弱分類(lèi)器的結(jié)果。對(duì)每個(gè)特征訓(xùn)練一個(gè)弱分類(lèi)器,使得這個(gè)弱分類(lèi)器對(duì)所有訓(xùn)練樣本的分類(lèi)誤差最小。
對(duì)每個(gè)特征fi計(jì)算所有訓(xùn)練樣本的特征值,經(jīng)過(guò)排序后計(jì)算全部正樣本的權(quán)重和T+,全部負(fù)例的權(quán)重和T-,該特征元素之前正樣本的權(quán)重和S+,該特征元素之前負(fù)樣本的權(quán)重和S-。閾值的分類(lèi)誤差為:
通過(guò)計(jì)算獲取分類(lèi)誤差最小的閾值,即得到了一個(gè)最佳弱分類(lèi)器。Adaboost迭代算法把不同的訓(xùn)練集得到的弱分類(lèi)器按照不同權(quán)值集合起來(lái)構(gòu)成一個(gè)強(qiáng)分類(lèi)器。
本文人臉檢測(cè)主要采用Adaboost算法和MATLAB軟件編程實(shí)現(xiàn)。算法過(guò)程主要包括人臉和非人臉樣本采集、Haar-like特征值的積分圖求解、訓(xùn)練強(qiáng)弱分類(lèi)器。后續(xù)結(jié)合硬件平臺(tái)實(shí)現(xiàn)具有一定的應(yīng)用價(jià)值。