本發(fā)明涉及計(jì)算機(jī)視覺技術(shù),機(jī)器學(xué)習(xí),深度學(xué)習(xí),卷積神經(jīng)網(wǎng)絡(luò)以及人工智能,特別涉及一種聯(lián)合深度學(xué)習(xí)和特征二范數(shù)約束的人臉識(shí)別方法。
背景技術(shù):
隨著人工智能技術(shù)的深入研究和更多的開發(fā),除了下圍棋的,辨別聲音的,辨別人臉的已經(jīng)出現(xiàn)了。人臉識(shí)別是一項(xiàng)目前比較火的領(lǐng)域,當(dāng)大數(shù)據(jù)與人臉識(shí)別結(jié)合,可能很多損失就能避免了。人臉識(shí)別這一概念近年來一直是全球技術(shù)前沿趨勢討論的熱點(diǎn),在國內(nèi)也越來越多的運(yùn)用,例如刷臉打卡,刷臉app等,其實(shí)都是這一技術(shù)的體現(xiàn)。曾經(jīng)就有學(xué)者指出,未來最理想化的人工智能應(yīng)該是通過人臉識(shí)別技術(shù)實(shí)現(xiàn)的,而這些,在一定程度上提升人類的生活水平。其實(shí),目前已經(jīng)有很多行業(yè)在實(shí)驗(yàn)人工智能刷臉了。交通方面,北京西客站等其他全國重點(diǎn)城市為例,今年首次大范圍實(shí)現(xiàn)了人臉識(shí)別的“刷臉”進(jìn)站,除去傳統(tǒng)通道,進(jìn)站新增多部無人驗(yàn)證閘機(jī),通過居民二代身份證驗(yàn)證,即可完成進(jìn)站候車。在認(rèn)證方面,國內(nèi)新興的人工智能公司推出了人臉和身份證上照片識(shí)別的技術(shù)。通過對(duì)納稅人身份證及人像信息進(jìn)行采集、比對(duì),可以有效地代替人眼識(shí)別出一些細(xì)節(jié)。
現(xiàn)有人臉識(shí)別算法對(duì)人臉表情、姿態(tài)、遮擋以及光線等魯棒性不高,還有就是嚴(yán)重依賴于訓(xùn)練數(shù)據(jù)。因此,我們需要設(shè)計(jì)一種高效率的、高準(zhǔn)確率的、低依賴訓(xùn)練數(shù)據(jù)的人臉識(shí)別算法。
技術(shù)實(shí)現(xiàn)要素:
為了克服現(xiàn)有技術(shù)的上述缺點(diǎn),本發(fā)明提出了一種聯(lián)合深度學(xué)習(xí)和特征二范數(shù)約束的人臉識(shí)別方法,旨在提高人臉識(shí)別的魯棒性,降低人臉識(shí)別模型對(duì)訓(xùn)練數(shù)據(jù)的依賴性。
本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:一種聯(lián)合深度學(xué)習(xí)和特征二范數(shù)約束的人臉識(shí)別方法,包括如下步驟:
步驟一、樣本采集:收集僅包含人臉區(qū)域的人臉數(shù)據(jù)庫,并標(biāo)記每一類人臉的標(biāo)簽;
步驟二、樣本預(yù)處理:對(duì)人臉圖像大小歸一化后,采用直方圖均衡化做光照預(yù)處理;然后做圖像白化處理;
步驟三、采用殘差卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行模型訓(xùn)練,網(wǎng)絡(luò)結(jié)構(gòu)為:每層卷積層之后采用prelu激活函數(shù),池化層采用maxpooling,每個(gè)池化層后面連接一系列殘差網(wǎng)絡(luò)層;在網(wǎng)絡(luò)的最后一層全連接之后分別連二范數(shù)約束層和歸一化層;在歸一化層之后連接softmax分類器;
步驟四、對(duì)人臉進(jìn)行識(shí)別,并實(shí)時(shí)輸出人臉的類別信息。
與現(xiàn)有技術(shù)相比,本發(fā)明的積極效果是:本發(fā)明方法具有兩個(gè)非常重要的優(yōu)點(diǎn):一是對(duì)所有的樣本的關(guān)注度是同等的;二是在歸一化空間中,通過強(qiáng)制相同類別的樣本特征之間的距離更近和不同類別之間的樣本特征之間的距離更遠(yuǎn)以此來增加分類能力。采用本發(fā)明方法能提高人臉識(shí)別對(duì)人臉表情、姿態(tài)、遮擋以及光線等的魯棒性。
附圖說明
本發(fā)明將通過例子并參照附圖的方式說明,其中:
圖1是人臉識(shí)別網(wǎng)絡(luò)結(jié)構(gòu)圖;
圖2是殘差網(wǎng)絡(luò)層;
圖3是二范數(shù)約束層和歸一化層的結(jié)構(gòu)圖;
圖4是人臉識(shí)別算法模型訓(xùn)練流程圖。
圖5是人臉預(yù)測流程圖。
具體實(shí)施方式
一種聯(lián)合深度學(xué)習(xí)和特征二范數(shù)約束的人臉識(shí)別方法,包括如下內(nèi)容:
一、人臉圖像預(yù)處理:用于預(yù)處理人臉圖像,包括如下三部分:
(一)圖像大小歸一化,將所有圖像縮放到同一尺寸;
(二)光照預(yù)處理,減少光照的影響:采用直方圖均衡化,首先將rgb三個(gè)通道分離,然后將三個(gè)通道的圖像分別均衡化,最后再將均衡化之后的三通道圖像融合。
(三)圖像白化處理,統(tǒng)一數(shù)據(jù)的分布:將rgb三個(gè)通道的像素值都減去127.5,然后再除以128。
二、人臉識(shí)別模型設(shè)計(jì):用于設(shè)計(jì)識(shí)別人臉的深度神經(jīng)網(wǎng)絡(luò)的模型,包括以下步驟:
(一)設(shè)計(jì)殘差網(wǎng)絡(luò)結(jié)構(gòu)
就是在標(biāo)準(zhǔn)的前饋卷積網(wǎng)絡(luò)上,加一個(gè)跳躍繞過一些層的連接。每繞過一層就產(chǎn)生一個(gè)殘差結(jié)構(gòu)(residualblock),卷積層預(yù)測加輸入張量的殘差,如附圖2所示,這樣可以加速網(wǎng)絡(luò)的收斂,防止過擬合。
(二)設(shè)計(jì)二范數(shù)約束結(jié)構(gòu)
二范數(shù)約束層的公式如下:
其中,x為最后一層全連接層的輸出。
二范數(shù)約束層的輸出向量為一個(gè)單位向量,這樣可以保證所有的特征在一個(gè)固定的球體空間內(nèi),增加特征的可區(qū)分性。
(三)設(shè)計(jì)歸一化結(jié)構(gòu)層
歸一化層的系數(shù)α可以是一個(gè)變量,在訓(xùn)練過程中不斷更新,也可以是一個(gè)常量。
如果α為一個(gè)常量,則α的最低取值為:
其中c為訓(xùn)練的數(shù)據(jù)庫的類別數(shù)量,p為正確分類一個(gè)特征的平均softmax概率,通常取0.9。
(四)設(shè)計(jì)網(wǎng)絡(luò)的目標(biāo)函數(shù)
目標(biāo)函數(shù)如下:
其中,xi為輸入最小batch中的一張圖像,m為最小batch的大小,yi為xi的標(biāo)簽,f(xi)為網(wǎng)絡(luò)倒數(shù)第二層的特征向量,c是類別的數(shù)量,w是對(duì)應(yīng)層的映射系數(shù),b為相應(yīng)的偏移值,γ是一個(gè)權(quán)重參數(shù)。
(五)聯(lián)合各個(gè)網(wǎng)絡(luò)模塊,組成人臉識(shí)別模型
人臉識(shí)別算法采用一個(gè)殘差卷積神經(jīng)網(wǎng)絡(luò)用于人臉識(shí)別,結(jié)構(gòu)如附圖1所示;每層卷積層之后采用prelu激活函數(shù),池化層采用maxpooling,每個(gè)池化層后面連接一系列殘差網(wǎng)絡(luò)層(如附圖2所示);在網(wǎng)絡(luò)的最后一層全連接之后分別連二范數(shù)約束層和歸一化層(如附圖3所示);在歸一化層之后連接softmax分類器。
三、人臉識(shí)別模型訓(xùn)練
(一)將所有的數(shù)據(jù)分為若干組數(shù)據(jù),每組包含128個(gè)人臉樣本;
(二)設(shè)定最大訓(xùn)練次數(shù)或者最小誤差;
(三)將一組數(shù)據(jù)全部輸入到整個(gè)人臉識(shí)別的的網(wǎng)絡(luò)中(如附圖1中),得到相應(yīng)的誤差;
(四)將誤差再經(jīng)過網(wǎng)絡(luò)一級(jí)一級(jí)返回,同時(shí)更新網(wǎng)絡(luò)參數(shù);
(五)重復(fù)(三)和(四)步驟直到達(dá)到最大訓(xùn)練次數(shù)或者最小訓(xùn)練誤差。
四、人臉預(yù)測:用于人臉識(shí)別,輸出人臉的類別信息。
下面根據(jù)系統(tǒng)的工作模式來闡述此系統(tǒng)的工作流程。
(一)本發(fā)明的訓(xùn)練模式
訓(xùn)練流程如附圖4所示,具體步驟說明如下:
(1)樣本采集
收集人臉數(shù)據(jù)庫,只包含人臉區(qū)域;人工標(biāo)記每一類人臉的標(biāo)簽,如有n類人,則標(biāo)簽為0到n-1。
(2)樣本預(yù)處理
人臉圖像大小歸一化;采用直方圖均衡化做光照預(yù)處理;并做白化處理,將rgb三個(gè)通道的像素值都減去127.5,然后再除以128。(3)模型訓(xùn)練
實(shí)施例1
以訓(xùn)練一個(gè)包含10000個(gè)人的人臉識(shí)別算法模型為例具體說明人臉識(shí)別模型的訓(xùn)練過程。
(1)收集包含10000人的人臉數(shù)據(jù),人工標(biāo)定人臉的標(biāo)簽,從0到9999。
(2)樣本預(yù)處理:
1)人臉圖像大小歸一化;
2)直方圖均衡化
3)圖像白化處理
(3)模型訓(xùn)練;
(二)本發(fā)明的預(yù)測模式
流程圖如附圖5所示,給定一張人臉圖像,對(duì)此人臉圖像做大小歸一化處理、光照預(yù)處理和白化處理,然后輸入到整個(gè)識(shí)別網(wǎng)絡(luò)中,網(wǎng)絡(luò)得到一個(gè)1x10000的向量,找出這個(gè)向量中最大值所在的位置即為該人臉?biāo)鶎俚念悇e。
實(shí)施例2
(1)將模型部署在windows系統(tǒng)的pc上;
(2)以攝像頭做輸入圖像的來源;
(3)程序會(huì)實(shí)時(shí)輸出人臉的類別信息;
綜上所述,本發(fā)明通過聯(lián)合深度學(xué)習(xí)和特征二范數(shù)約束來訓(xùn)練人臉識(shí)別模型實(shí)現(xiàn)了一種高效率和高精度的實(shí)時(shí)人臉識(shí)算法。