淺析人臉檢測(cè)技術(shù)的探究
掃描二維碼
隨時(shí)隨地手機(jī)看文章
引 言
隨著計(jì)算機(jī)技術(shù)的高速發(fā)展,計(jì)算機(jī)的應(yīng)用已滲入到人們生活的各個(gè)方面。尤其是近年來(lái)人工智能的發(fā)展,其可利用計(jì)算機(jī)取代人的工作,利用智能設(shè)備完成信息交互和控制,極大地推動(dòng)了智能技術(shù)和智能設(shè)備的研究應(yīng)用。其中,人臉識(shí)別技術(shù)是人工智能領(lǐng)域的關(guān)鍵技術(shù) [1],包括人臉檢測(cè)、識(shí)別和跟蹤等,廣泛應(yīng)用于智能視頻監(jiān)控系統(tǒng)、門(mén)禁控制系統(tǒng)中。人臉檢測(cè)是從輸入的圖像中檢測(cè)出是否有人臉圖像的存在,并將其從背景中分離出來(lái)的過(guò)程,是人臉識(shí)別技術(shù)的基礎(chǔ),也是人臉識(shí)別的第一步。人臉檢測(cè)的算法非常多,目前常用的方法有支持向量機(jī)、神經(jīng)網(wǎng)絡(luò)、AdaBoosting 等。
1 支持向量機(jī)
支持向量機(jī)(Support Vector Machine,SVM)建立在統(tǒng)計(jì)學(xué)習(xí)理論的VC 維理論和結(jié)構(gòu)風(fēng)險(xiǎn)最小原理基礎(chǔ)上[2],用于對(duì)線性可分的模型進(jìn)行分類的算法。對(duì)于訓(xùn)練樣本而言,就是尋找最優(yōu)的分類面來(lái)完成樣本的分類。支持向量機(jī)工作原理圖如圖 1 所示。
其本質(zhì)是一個(gè)二分類問(wèn)題,實(shí)心圓和空心圓分別代表兩 類不同的訓(xùn)練樣本。尋找最優(yōu)的分類線 L,這條分類線不僅能 正確地將樣本分開(kāi),還能夠使得與它平行的直線 L1 和 L2 之間 的距離最小。
最初該算法用于線性可分的問(wèn)題模型,經(jīng)過(guò)發(fā)展后也可用于線性不可分的模型問(wèn)題。采用非線性映射將低維空間的非線性問(wèn)題轉(zhuǎn)化為高維空間的線性問(wèn)題,從而在高維空間利用線性算法對(duì)樣本的非線性問(wèn)題進(jìn)行分析,求出最優(yōu)分類面, 達(dá)到對(duì)樣本進(jìn)行分類的目的。但獲取的分類器是在高維空間得到的,維度很高,訓(xùn)練過(guò)程比較復(fù)雜,實(shí)現(xiàn)實(shí)時(shí)檢測(cè)非常困難。
2 人工神經(jīng)網(wǎng)絡(luò)
人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Network,ANN)從信息處理的角度模擬人腦神經(jīng)元網(wǎng)絡(luò)。利用大量節(jié)點(diǎn)即神經(jīng)元組成一個(gè)網(wǎng)絡(luò),然后將大量的人臉圖像樣本和非人臉圖像樣本數(shù)據(jù)輸入進(jìn)行訓(xùn)練,使網(wǎng)絡(luò)逐漸具有對(duì)樣本正確分類的能力。神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖 2 所示,該網(wǎng)絡(luò)結(jié)構(gòu)是前饋型網(wǎng)絡(luò)[3],分為輸入神經(jīng)元、隱含神經(jīng)元和輸出神經(jīng)元,其中隱含神經(jīng)元可以有多層。將提取的特征值輸入至輸入層,并傳到后方的隱含層,最后通過(guò)連接權(quán)輸出到輸出層。在訓(xùn)練的過(guò)程中不斷調(diào)整連接權(quán)值,直到網(wǎng)絡(luò)輸出的誤差減小到可以接受的程度。因此, 在非線性分類中可以充分逼近理想結(jié)果。但是分類器的獲取太復(fù)雜,對(duì)多姿態(tài)的容忍度很低,不太適合實(shí)時(shí)的人臉檢測(cè)。
3 AdaBoost
AdaBoost 算法是利用分類能力一般的弱分類器通過(guò)推選構(gòu)成的具有很強(qiáng)分類能力的強(qiáng)分類器,采用分類能力遞增的方式將多個(gè)強(qiáng)分類器組成級(jí)聯(lián)分類器[4]。對(duì)于這樣的級(jí)聯(lián)系統(tǒng), 正確檢測(cè)率(Correct Detection Rate,CDR)越大越好,而虛假正確率(False Positive Rate,F(xiàn)PR)越小越好[5]。
對(duì)輸入圖像進(jìn)行檢測(cè)時(shí),提取的特征值絕大多數(shù)都是非人臉圖像,只有極少的是存在人臉的圖像,所以人臉檢測(cè)是一個(gè)小概率事件的檢測(cè)過(guò)程。在構(gòu)造訓(xùn)練樣本時(shí),非人臉訓(xùn)練樣本的數(shù)量應(yīng)多于人臉訓(xùn)練樣本的數(shù)量。
為方便表述,將訓(xùn)練樣本總數(shù)記為 M,每個(gè)樣本提取的特征數(shù)記為 N。大致的訓(xùn)練過(guò)程如下:
(1) 將 M個(gè)訓(xùn)練樣本以及與之對(duì)應(yīng)的 N個(gè)特征值構(gòu)造為二維矩陣 F[i][ j],其中 1 ≤ i≤ N,1 ≤ j≤ M,每個(gè) F[i][ j] 表示第 j個(gè)樣本的第 i個(gè)特征值,而 F[i][] 則表示所有訓(xùn)練樣本的第 i個(gè)特征值的集合。
(2) 對(duì)所有樣本的第 i個(gè)特征值進(jìn)行排序,并設(shè)置初始權(quán)重為 wj=1/M,其中 wj為第 j個(gè)樣本的權(quán)重。
error為訓(xùn)練樣本被錯(cuò)誤分類的均方差值誤差,yk為樣本的類型值,當(dāng) k為人臉圖像時(shí),yk=1,否則 yk= - 1。hj(F[i][ j])為第 j 個(gè)弱分類器。
if(error<minerror)
minerror=error,
θ=F[i][ j],
最終將均方差值最小的 θ 值作為弱分類器的閾值。此時(shí)得到的弱分類器是經(jīng)過(guò)訓(xùn)練的最優(yōu)弱分類器。
(3) 對(duì)所有的特征值進(jìn)行計(jì)算,從得到所有的均方差值最小的最優(yōu)弱分類器中挑選出本輪誤差值最小的最優(yōu)弱分類器作為第一個(gè)強(qiáng)分類器,若用 t表示當(dāng)前強(qiáng)分類中包含的弱分類器的數(shù)量,那么此時(shí) t=1。
然后根據(jù)最優(yōu)弱分類器的分類結(jié)果,分別調(diào)整樣本的權(quán)重。增大被錯(cuò)誤分類的樣本的權(quán)重,減小被正確分類的樣本的權(quán)重,以利于提高非人臉樣本被檢測(cè)出的概率。
(4) 為了提高檢測(cè)的效率,采用遞進(jìn)復(fù)雜度的級(jí)聯(lián)分類器,具體如圖 3 所示。
前面的幾個(gè)最優(yōu)強(qiáng)分類器由于包含的弱分類器數(shù)量較少, 結(jié)構(gòu)也比較簡(jiǎn)單,可以快速過(guò)濾掉大量比較容易排除的非人臉圖像。但隨著后面最優(yōu)強(qiáng)分類器包含的弱分類器的增多,過(guò)濾非人臉的能力越來(lái)越強(qiáng),能夠進(jìn)一步對(duì)難以排除的非人臉圖像進(jìn)行過(guò)濾,但檢測(cè)速率也隨之下降。
強(qiáng)分類器對(duì)非人臉圖像的判別準(zhǔn)確度非常高,一旦發(fā)現(xiàn)為非人臉圖像,就將它過(guò)濾掉,后面的分類器將不再對(duì)它進(jìn)行處理。而且在采集到的圖像中,絕大多數(shù)都是非人臉圖像, 人臉圖像只占很少一部分,所以采用級(jí)聯(lián)的方法提高人臉檢測(cè)的速度,滿足實(shí)時(shí)檢測(cè)的需求。
4 結(jié) 語(yǔ)
人臉檢測(cè)與識(shí)別技術(shù)是人工智能領(lǐng)域的熱點(diǎn)研究課題, 在視頻監(jiān)控、門(mén)禁系統(tǒng)等領(lǐng)域都有廣泛的應(yīng)用。本文從構(gòu)造人臉檢測(cè)的分類器出發(fā),分析了支持向量機(jī)、人工神經(jīng)網(wǎng)絡(luò)以及AdaBoost 算法。相比較而言,AdaBoost 算法通過(guò)尋找弱分類器,利用訓(xùn)練過(guò)程將弱分類器構(gòu)造為強(qiáng)分類器,并將多個(gè)強(qiáng)分類器按由簡(jiǎn)單到復(fù)雜的次序進(jìn)行級(jí)聯(lián),從而將大量的非人臉圖像過(guò)濾掉,極大地降低了處理時(shí)間,提高了檢測(cè)效率, 在實(shí)時(shí)人臉檢測(cè)與識(shí)別領(lǐng)域得到了廣泛的應(yīng)用。