本發(fā)明涉及人臉識別領(lǐng)域,具體涉及一種應(yīng)用于保安機(jī)器人的人臉識別系統(tǒng)及方法。
背景技術(shù):
人臉是人體最重要的生物識別特征之一,依靠人臉進(jìn)行身份識別已經(jīng)成為識別通緝犯等特定人員的一種重要手段,而在當(dāng)前的大數(shù)據(jù)時(shí)代,用人工來檢索數(shù)據(jù)費(fèi)時(shí)費(fèi)力,顯然不可行?,F(xiàn)有的自動(dòng)人臉識別技術(shù)只能應(yīng)用于固定位置的正面人臉識別,例如普遍的門禁系統(tǒng),在復(fù)雜動(dòng)態(tài)環(huán)境下的識別率很低。傳統(tǒng)的人臉識別技術(shù)利用SIFT等人工設(shè)計(jì)的人臉圖像特征,然后再利用線性方法抽取人臉層面上的特征表示,比如利用PCA或LDA來獲取Eigenface或Fisherface等人臉特征。然而實(shí)際應(yīng)用表明,這些方法得到的線性人臉特征描述能力不足,抗干擾能力較差。有研究者對上述方法進(jìn)行改進(jìn),提出了基于線性子空間的人臉識別算法,例如使用稀疏表示與尺度學(xué)習(xí)的思想增加人臉識別算法的魯棒性。這些方法在帶有部分遮擋與旋轉(zhuǎn)角度的人臉識別問題上取得了一定的效果,但是對于真實(shí)世界中的復(fù)雜人臉識別問題還是不能取得理想效果。另外,普通攝像頭只能在白天使用,在夜晚,攝像頭拍攝的人臉圖片清晰度會大大下降,甚至檢測不到人臉,這無疑會影響識別的準(zhǔn)確率。
與本發(fā)明最相近的方法有陳國平[1]等人所提出的基于深度神經(jīng)網(wǎng)絡(luò)的動(dòng)態(tài)人臉識別方案,包括對卷積神經(jīng)網(wǎng)絡(luò)的介紹、其相對傳統(tǒng)方法的優(yōu)勢、關(guān)鍵層的描述,以及在實(shí)際場景中的應(yīng)用等;探討了其中涉及的系統(tǒng)通用性、實(shí)時(shí)性、智能性、評測標(biāo)準(zhǔn)和實(shí)際應(yīng)用等關(guān)鍵問題,給出了一個(gè)成功將深度學(xué)習(xí)思想應(yīng)用在人臉識別中的實(shí)時(shí)系統(tǒng)。
[1]陳國平,杜姍姍.基于深度神經(jīng)網(wǎng)絡(luò)的動(dòng)態(tài)人臉識別方法及應(yīng)用[J].微型電腦應(yīng)用,2015,09:39-41+5.
[2]尹萍,趙亞麗.視頻監(jiān)控中人臉識別現(xiàn)狀與關(guān)鍵技術(shù)課題[J].警察技術(shù),2016(3):77-80.
[3]Wu X,He R,Sun Z,et al.A Light CNN for Deep Face Representation with Noisy Labels[J].Computer Science,2016.
[4]Kazemi V,Sullivan J.One millisecond face alignment with an ensemble of regression trees[C]//Computer Vision and Pattern Recognition.IEEE,2014:1867-1874.
技術(shù)實(shí)現(xiàn)要素:
針對目前固定的門禁類人臉識別系統(tǒng)環(huán)境單一、線性人臉特征描述能力不足等問題,本發(fā)明提出了一種基于移動(dòng)機(jī)器人和深度學(xué)習(xí)的運(yùn)動(dòng)人臉識別系統(tǒng)。在設(shè)備方面,該系統(tǒng)實(shí)現(xiàn)了人和機(jī)器人單方運(yùn)動(dòng)、人和機(jī)器人同時(shí)運(yùn)動(dòng)情況下的人臉識別,并且采用近紅外攝像頭,實(shí)現(xiàn)夜晚全黑條件下的人臉識別。在算法方面,該系統(tǒng)是一套從人臉檢測、特征點(diǎn)檢測,到人臉矯正、人臉識別的完整的系統(tǒng),在特征點(diǎn)檢測模塊精簡了特征點(diǎn)的數(shù)量,在人臉識別模塊采用了深度卷積神經(jīng)網(wǎng)絡(luò)模型,實(shí)現(xiàn)對人臉的快速、高準(zhǔn)確率的識別。
本發(fā)明首先利用HOG特征實(shí)現(xiàn)人臉檢測,降低誤檢率;然后用級聯(lián)回歸器檢測關(guān)鍵特征點(diǎn)以實(shí)現(xiàn)人臉對齊,提高識別準(zhǔn)確率,并且只檢測關(guān)鍵特征點(diǎn),以防止冗余,提高速度;最后利用包含14層卷積層的深度神經(jīng)網(wǎng)絡(luò)模型進(jìn)行人臉匹配識別,不僅提高了準(zhǔn)確率,還能較準(zhǔn)確地判斷出unknown人臉;而采集設(shè)備方面,本系統(tǒng)采用了紅外攝像頭,在夜晚自動(dòng)打開采集灰度人臉圖像,可以有效避免因清晰度下降而不能有效識別人臉,完成了一個(gè)完整的、具有一定報(bào)警功能的動(dòng)態(tài)人臉實(shí)時(shí)識別系統(tǒng)。
一種人臉識別方法,其特征在于包含以下步驟:
一、采集人臉數(shù)據(jù),訓(xùn)練后得到模型;
二、利用HOG特征進(jìn)行人臉檢測;
三、人臉特征點(diǎn)檢測:特征點(diǎn)檢測模塊利用級聯(lián)的回歸器通過像素強(qiáng)度值的稀疏集合來回歸面部特征點(diǎn)的位置;
四、人臉矯正:計(jì)算旋轉(zhuǎn)角度及仿射矩陣后,以左眼中心點(diǎn)為基準(zhǔn)點(diǎn)旋轉(zhuǎn)圖片,使左右眼中心點(diǎn)連線達(dá)到水平,即完成對齊矯正;
五、人臉識別:將預(yù)處理后的人臉圖片喂進(jìn)網(wǎng)絡(luò)模型中,經(jīng)過一系列的卷積、池化操作由全連接層輸出得到待識別人臉圖片的特征向量,然后經(jīng)由softmax層基于訓(xùn)練集圖片進(jìn)行對比分類,得到待識別圖片與訓(xùn)練集圖片相似程度的概率分布,最終選擇概率值最大的那個(gè)標(biāo)簽作為該圖片的輸出標(biāo)簽。
進(jìn)一步的,所述方法應(yīng)用于保安機(jī)器人的人臉識別系統(tǒng)。
進(jìn)一步的,所述步驟四中只采用了左右眼兩側(cè)眼角的2個(gè)點(diǎn)共4個(gè)點(diǎn),然后計(jì)算得到每個(gè)眼睛中心點(diǎn)的坐標(biāo)。
進(jìn)一步的,所述步驟五中對訓(xùn)練集人臉將輸出名字拼音,對陌生人將輸出unknown標(biāo)簽,實(shí)現(xiàn)報(bào)警功能。
一種應(yīng)用所述人臉識別方法的人臉識別系統(tǒng),包含高清紅外攝像頭,外接紅外補(bǔ)光板。
進(jìn)一步的,所述高清紅外攝像頭白天時(shí)為720P普通高清攝像頭,夜晚時(shí)自動(dòng)轉(zhuǎn)為紅外夜視功能。
進(jìn)一步的,所述步驟五中對訓(xùn)練集人臉將輸出名字拼音,對陌生人將輸出unknown標(biāo)簽,實(shí)現(xiàn)報(bào)警功能。
本發(fā)明的有益效果是:該技術(shù)可應(yīng)用到機(jī)器人自主實(shí)時(shí)人臉識別上,并且具有夜視功能,不論白天黑夜均能有效識別人臉。本發(fā)明方法涉及到計(jì)算機(jī)視覺的圖像處理,特別是圖像識別檢測這一部分,以及神經(jīng)網(wǎng)絡(luò)的深度應(yīng)用,從機(jī)器人裝載的攝像頭進(jìn)行視頻人臉檢測,并提取關(guān)鍵特征點(diǎn)以便進(jìn)行對齊預(yù)處理,然后對檢測到的人臉進(jìn)行識別,實(shí)現(xiàn)對人臉的實(shí)時(shí)檢測識別過程,并對特定范圍之外的人臉輸出unknown標(biāo)簽報(bào)警,以達(dá)到安防目的。
附圖說明
圖1為人臉識別系統(tǒng)流程框圖;
圖2a為人臉檢測設(shè)備圖紅外攝像頭1;
圖2b為人臉檢測設(shè)備圖紅外攝像頭2;
圖2c為人臉檢測設(shè)備圖紅外補(bǔ)光燈;
圖3為模型構(gòu)成細(xì)節(jié)圖;
圖4為人臉特征提取流程圖;
圖5為回歸器的學(xué)習(xí)過程圖;
圖6為特征點(diǎn)定位過程圖;
圖7a為不戴眼鏡特征點(diǎn)檢測結(jié)果圖;
圖7b為戴眼鏡特征點(diǎn)檢測結(jié)果圖;
圖8a為不戴眼鏡計(jì)算后的關(guān)鍵特征點(diǎn)圖;
圖8b為戴眼鏡計(jì)算后的關(guān)鍵特征點(diǎn)圖;
圖9a為仿射變換示意圖a;
圖9b為仿射變換示意圖b;
圖10a為人臉矯正前圖;
圖10b為人臉矯正后圖;
圖11為深度神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)圖;
圖12為一種應(yīng)用于保安機(jī)器人的人臉識別方法流程圖;
圖13a為人臉a檢測結(jié)果圖;
圖13b為人臉b檢測結(jié)果圖;
圖14a為識別陌生人圖;
圖14b為識別訓(xùn)練集人員(不戴眼鏡)圖;
圖14c為識別訓(xùn)練集人員(戴眼鏡)圖;
圖14d為識別夜晚紅外光人臉圖。
具體實(shí)施方式
以下結(jié)合附圖對本發(fā)明進(jìn)行詳細(xì)說明:
本發(fā)明提出一種應(yīng)用于保安機(jī)器人的人臉識別系統(tǒng),圖1是人臉識別系統(tǒng)流程框圖,主要包括訓(xùn)練模型、人臉檢測、特征點(diǎn)檢測、人臉識別等七個(gè)方面。
圖2a-2c是保安機(jī)器人在人臉識別過程中用到的硬件設(shè)備,主要是實(shí)時(shí)采集視頻的高清紅外攝像頭:白天時(shí)為720P普通高清攝像頭,夜晚時(shí)自動(dòng)轉(zhuǎn)為紅外夜視功能。為了增加夜視效果,還外接了一個(gè)紅外補(bǔ)光板,有48個(gè)紅外發(fā)射器和一個(gè)光敏電阻,以及一個(gè)外接電源。
本發(fā)明提出一種應(yīng)用于保安機(jī)器人的人臉識別方法主要包含以下步驟:
一、采集人臉數(shù)據(jù),訓(xùn)練后得到模型
1、本系統(tǒng)在網(wǎng)絡(luò)下載的通用數(shù)據(jù)集上添加了真實(shí)人臉數(shù)據(jù)以增強(qiáng)系統(tǒng)的實(shí)際應(yīng)用性能。鑒于光照對人臉識別準(zhǔn)確率的影響,以及對夜晚情況的考慮,采集數(shù)據(jù)時(shí)我們分別采集了正面強(qiáng)弱變化光照、左右單側(cè)光照(包括自然光和燈光),和全黑條件下紅外光的圖片。其中,正面光照情況下,實(shí)驗(yàn)人員隨光照變化不斷做表情和遮擋(主要遮擋鼻子以下部分),并且慢慢向左右兩方旋轉(zhuǎn)至30度左右;側(cè)面光照情況下,實(shí)驗(yàn)人員只做表情和遮擋;全黑條件下,增加紅外補(bǔ)光板,只做表情和角度變化。最終我們的數(shù)據(jù)集包含了228個(gè)人,其中真實(shí)數(shù)據(jù)5人,通用數(shù)據(jù)223人,訓(xùn)練用13804張圖片,每人70張;測試用4544張,每人20張;均為灰度圖片。
2、本系統(tǒng)利用Caffe框架來實(shí)現(xiàn)深度學(xué)習(xí),使用GPU加速,網(wǎng)絡(luò)模型基于吳翔的lightened CNN模型進(jìn)行微調(diào),有5個(gè)卷積層(其中包含4個(gè)NIN層),4個(gè)max-pooling層和2個(gè)全連接層,激活函數(shù)采用MFM。對每張人臉圖片最終會得到一個(gè)256維的特征向量,相比傳統(tǒng)的方法,該模型得到的特征向量維度更低,表征性更強(qiáng)。具體細(xì)節(jié)如圖3所示。
二、人臉檢測
人臉檢測模塊調(diào)用了開源庫Dlib,利用HOG特征進(jìn)行人臉檢測。HOG即梯度方向直方圖,檢測時(shí)通過計(jì)算和統(tǒng)計(jì)圖像局部區(qū)域的梯度方向直方圖來構(gòu)成特征。其計(jì)算流程如圖4所示。
(1)先計(jì)算出圖像的每個(gè)像素的梯度大小和方向;
(2)將圖像分成若干個(gè)單元格cell(每個(gè)cell 6*6的像素大小),統(tǒng)計(jì)每個(gè)cell中所有像素梯度的大小和方向,構(gòu)建梯度方向直方圖;
(3)再次抽象,將若干個(gè)cell合成一個(gè)block,將block內(nèi)的所有cell的特征向量串聯(lián)得到該block的HOG特征;
(4)最終串聯(lián)所有block的HOG特征合成圖像的image特征。檢測時(shí)使用多尺度的滑動(dòng)窗口對整個(gè)圖像進(jìn)行遍歷,窗口每滑過一處便提取當(dāng)前區(qū)域的HOG特征,根據(jù)提取到的HOG特征,使用分類器進(jìn)行分類,判斷是否是人臉。
三、人臉特征點(diǎn)檢測
特征點(diǎn)檢測模塊依然調(diào)用了Dlib開源庫,利用級聯(lián)的回歸器通過像素強(qiáng)度值(來自輸入圖像)的稀疏集合來回歸面部特征點(diǎn)的位置。
每個(gè)回歸器由很多棵回歸樹組成,通過gradient boosting學(xué)習(xí)每個(gè)回歸器(gradient boosting即每一次建立模型是在之前所建立模型的損失函數(shù)的梯度下降方向;損失函數(shù)是平方誤差損失函數(shù))。回歸器的學(xué)習(xí)過程如圖5所示:
利用先驗(yàn)概率來選擇距離最近的像素對,
P(u,v)∝e-λ||u-v||
然后根據(jù)像素強(qiáng)度值(像素對的差值,這種像素強(qiáng)度特征具有幾何不變性)選擇回歸樹的分裂節(jié)點(diǎn),學(xué)習(xí)回歸樹。每一次都根據(jù)當(dāng)前形狀和回歸器來預(yù)測新的形狀,將更新值Δ存入葉子節(jié)點(diǎn):
πi∈{1,...,n}
平均形狀加上所有經(jīng)過的葉子結(jié)點(diǎn)的Δ,即可得到最終的人臉關(guān)鍵點(diǎn)位置。特征點(diǎn)定位過程具體如圖6所示。
四、人臉矯正
1、計(jì)算雙眼坐標(biāo)
特征點(diǎn)檢測默認(rèn)為檢測68個(gè)人臉特征點(diǎn),其中包括了眉毛10個(gè)點(diǎn)、鼻子9個(gè)點(diǎn)、眼睛12個(gè)點(diǎn),嘴部20個(gè)點(diǎn)和臉部輪廓的17個(gè)點(diǎn)。如圖7a-7b所示。
然而進(jìn)行人臉矯正對齊只需要左右眼中心點(diǎn)共兩個(gè)點(diǎn)。為了避免信息冗余,并且使識別畫面更加簡潔,我們只采用了左右眼兩側(cè)眼角的2個(gè)點(diǎn)共4個(gè)點(diǎn),然后計(jì)算得到每個(gè)眼睛中心點(diǎn)的坐標(biāo)。如圖8a-8b所示。
2、仿射變換
用2*3矩陣表示仿射變換:
要使用矩陣A和B對二維向量做變換,則可表示為:
或T=M·[x,y,1]T
則
仿射變換直觀表述如圖9a-9b所示。
計(jì)算旋轉(zhuǎn)角度及仿射矩陣后,以左眼中心點(diǎn)為基準(zhǔn)點(diǎn)旋轉(zhuǎn)圖片,使左右眼中心點(diǎn)連線達(dá)到水平,即完成對齊矯正。人臉矯正結(jié)果如圖10a-10b所示。
五、人臉識別
微調(diào)好模型后,當(dāng)打開攝像頭時(shí),如果有人臉進(jìn)入到攝像頭范圍內(nèi),攝像頭會以30fps的幀率捕捉灰度人臉圖片;人臉檢測算法檢測到人臉后,用OpenCV畫出矩形框?qū)⑷四樂秶虺鰜?;改進(jìn)后的特征點(diǎn)檢測算法會計(jì)算出雙眼中心點(diǎn)的坐標(biāo),然后在框出人臉的范圍內(nèi)分別計(jì)算雙眼的相對坐標(biāo);以第二次計(jì)算的左眼坐標(biāo)為中心點(diǎn),將人臉圖片進(jìn)行旋轉(zhuǎn),做對齊矯正;將預(yù)處理后的人臉圖片喂進(jìn)網(wǎng)絡(luò)模型中,經(jīng)過一系列的卷積、池化(下采樣)等操作由全連接層輸出得到待識別人臉圖片的特征向量,然后經(jīng)由softmax層基于訓(xùn)練集圖片進(jìn)行對比分類,得到待識別圖片與訓(xùn)練集圖片相似程度的概率分布,最終選擇概率值最大的那個(gè)標(biāo)簽作為該圖片的輸出標(biāo)簽。其中深度神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)如圖11所示。
相較于傳統(tǒng)的人臉識別方法,本發(fā)明應(yīng)用了深度學(xué)習(xí)的方法,利用卷積神經(jīng)網(wǎng)絡(luò)來進(jìn)行特征提取和模式分類,并且其權(quán)值共享的特性可以減少網(wǎng)絡(luò)的訓(xùn)練參數(shù),使網(wǎng)絡(luò)結(jié)構(gòu)變得更簡單、適應(yīng)性更強(qiáng)。在人臉檢測方面,我們采用了基于HOG特征的檢測算法,比傳統(tǒng)的OpenCV 等方法速度快,并且大大降低了誤檢率。在特征點(diǎn)檢測方面,現(xiàn)有的方案基本要提取多個(gè)特征點(diǎn),或者是5點(diǎn)(雙眼、鼻尖、嘴角),或者是68個(gè)點(diǎn)。本發(fā)明在原有技術(shù)基礎(chǔ)上,只提取跟后續(xù)工作相關(guān)聯(lián)的4個(gè)特征點(diǎn),然后通過計(jì)算得到雙眼中心點(diǎn)的坐標(biāo),只需這兩個(gè)坐標(biāo)就可以完成對齊工作,這大大避免了信息冗余。另外,本發(fā)明為實(shí)用性很強(qiáng)的應(yīng)用于保安機(jī)器人的人臉識別系統(tǒng),可以動(dòng)態(tài)實(shí)時(shí)識別人臉,還增加了紅外夜視功能,在包含小規(guī)模真實(shí)人臉的數(shù)據(jù)集上實(shí)驗(yàn)時(shí),還可以對非訓(xùn)練集的真實(shí)人臉輸出unknown標(biāo)簽實(shí)現(xiàn)報(bào)警功能。
圖12為一種應(yīng)用于保安機(jī)器人的人臉識別方法流程圖,以下為所述方法實(shí)際使用場景下的驗(yàn)證:
運(yùn)行程序,利用攝像頭進(jìn)行人臉識別過程。
打開攝像頭后即開始人臉檢測過程,用矩形框框出人臉,圖13a-13b為人臉檢測結(jié)果圖。
經(jīng)過特征點(diǎn)檢測、關(guān)鍵特征點(diǎn)計(jì)算、人臉矯正之后,將視頻流中提取的圖片投入網(wǎng)絡(luò)模型中進(jìn)行識別,輸出標(biāo)簽。可以看到,對訓(xùn)練集人臉將輸出名字拼音,對陌生人將輸出unknown標(biāo)簽,一定程度上實(shí)現(xiàn)了報(bào)警功能。圖14a-14d為人臉識別結(jié)果圖。
經(jīng)測試,在GTX1070 GPU上的運(yùn)行速度為(一幀):
人臉檢測時(shí)間0.034951s
特征點(diǎn)檢測+人臉對齊時(shí)間0.008465s
人臉識別時(shí)間0.003097s
整套系統(tǒng)運(yùn)行時(shí)間0.048939s
本發(fā)明的有益效果是:
針對人臉識別在安防系統(tǒng)的重要性,將人臉識別系統(tǒng)與移動(dòng)機(jī)器人結(jié)合起來,實(shí)現(xiàn)基于移動(dòng)保安機(jī)器人的運(yùn)動(dòng)人臉識別(包括人和機(jī)器人單方運(yùn)動(dòng)和同時(shí)運(yùn)動(dòng))。
針對機(jī)器人運(yùn)動(dòng)和人臉識別場景的多樣性,采用近紅外攝像頭,實(shí)現(xiàn)白天、夜晚的多場景、多光照條件下的人臉識別系統(tǒng)。
針對目前大部分人臉識別算法的低準(zhǔn)確率和低效率,采用深度學(xué)習(xí)方法,實(shí)現(xiàn)基于多層卷積神經(jīng)網(wǎng)絡(luò)的人臉識別。
針對人臉識別的敏感性和不穩(wěn)定性,將人臉檢測、特征點(diǎn)檢測、人臉對齊、人臉識別整合為一套完整的人臉識別系統(tǒng),從數(shù)據(jù)預(yù)處理到算法優(yōu)化,提高人臉識別的準(zhǔn)確率。
上述實(shí)施例為本發(fā)明較佳的實(shí)施方式,但本發(fā)明的實(shí)施方式并不受上述實(shí)施例的限制,其他的任何未背離本發(fā)明的精神實(shí)質(zhì)與原理下所作的改變、修飾、替代、組合、簡化,均應(yīng)為等效的置換方式,都包含在本發(fā)明的保護(hù)范圍之內(nèi)。