《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 動態(tài)人臉識別系統(tǒng)的構(gòu)建
動態(tài)人臉識別系統(tǒng)的構(gòu)建
2016年微型機與應(yīng)用第12期
余程勝,黃海于
(西南交通大學(xué) 信息科學(xué)與技術(shù)學(xué)院,,四川 成都 611756)
摘要: 提出了一種實際應(yīng)用環(huán)境下的動態(tài)人臉識別系統(tǒng),。首先討論了動態(tài)人臉識別系統(tǒng)硬件環(huán)境的搭建,然后詳細介紹了動態(tài)人臉識別系統(tǒng)的軟件流程,、主要的功能模塊、人臉庫的構(gòu)建及管理等,最后對系統(tǒng)進行了測試,。測試結(jié)果表明,所設(shè)計的軟硬件系統(tǒng)能夠滿足實際應(yīng)用需求,。
Abstract:
Key words :

  余程勝,,黃海于

  (西南交通大學(xué) 信息科學(xué)與技術(shù)學(xué)院,,四川 成都 611756)

       摘要:提出了一種實際應(yīng)用環(huán)境下的動態(tài)人臉識別系統(tǒng),。首先討論了動態(tài)人臉識別系統(tǒng)硬件環(huán)境的搭建,然后詳細介紹了動態(tài)人臉識別系統(tǒng)的軟件流程,、主要的功能模塊,、人臉庫的構(gòu)建及管理等,最后對系統(tǒng)進行了測試,。測試結(jié)果表明,,所設(shè)計的軟硬件系統(tǒng)能夠滿足實際應(yīng)用需求。

  關(guān)鍵詞:人臉識別系統(tǒng),;系統(tǒng)硬件結(jié)構(gòu),;人臉庫;訓(xùn)練文件

0引言

  隨著科技的不斷進步,,人臉識別技術(shù),、智能視頻分析技術(shù)等飛速發(fā)展,并已滲透到人們生活的各個領(lǐng)域,,在諸如智能手機人臉解鎖,、公司智能簽到等方面得到廣泛應(yīng)用。然而,,這些系統(tǒng)存在很多弊端,,比如需要正確的姿態(tài)以及固定的光照環(huán)境,在識別前建立待識別人員的人臉庫,,須有一定時間的停留等,,這些都給用戶帶來不好的用戶體驗,導(dǎo)致系統(tǒng)的使用存在較大的問題,。同時無論是手機上的智能人臉解鎖還是智能簽到系統(tǒng),,識別的對象都是人臉處于靜止不動時的成像,成像限定為無傾側(cè),、無強光干擾,,屬于靜態(tài)人臉識別的范疇[1],。

  本文討論的是如何對運動的對象進行識別、如何自動將新人加入人臉庫,、如何得到人臉特征,、如何在復(fù)雜環(huán)境下搭建動態(tài)人臉識別系統(tǒng)的硬件環(huán)境以及如何在人臉庫不斷擴大情況下對人臉庫進行管理等問題。

1系統(tǒng)硬件選擇與架構(gòu)

  1.1系統(tǒng)的硬件結(jié)構(gòu)

  系統(tǒng)的硬件結(jié)構(gòu)與系統(tǒng)實際運用的環(huán)境密切相關(guān),。本文實驗環(huán)境如圖1所示,。此實驗環(huán)境光照強弱變化大、人口密集且相機覆蓋范圍廣,,具有很好的代表性,,對商場、車站等處所需人臉識別系統(tǒng),,本文可提供很好的參考,。  

001.jpg

  根據(jù)需求設(shè)計硬件結(jié)構(gòu)圖如圖2所示,。

 

002.jpg

  由圖2可見,,系統(tǒng)主要由相機、計算機(工作站),、路由器,、服務(wù)器等組成。相機與工作站之間通過有線連接,,工作站處理相機處采集到的信息,,然后將信息傳輸存儲在服務(wù)器上。在實際環(huán)境中,,兩臺相機安裝在圖1所示屏風(fēng)的兩端,,面對正門,形成一定的夾角,,使其覆蓋門前區(qū)域,,如圖3所示。

003.jpg

  1.2系統(tǒng)硬件選擇

  在實際環(huán)境中相機需要覆蓋的區(qū)域達到5 m×6 m,,相對智能簽到系統(tǒng)來說已經(jīng)是其幾十倍的范圍了,,要在此大范圍內(nèi)而且光照變化明顯的情況下長時間進行人臉采集、人臉識別,,這必然對相機提出要求,。而一般要保證人臉識別,必須保證人臉大小不小于32像素×32像素[2],。

  在實驗中采用的是工業(yè)相機,,因為工業(yè)相機可保證系統(tǒng)能長時間穩(wěn)定地工作,而且工業(yè)相機具有高的圖像穩(wěn)定性、高傳輸能力和高抗干擾能力等,。根據(jù)式(1)及式(2)可得出物距,、物寬、物高,、焦距的具體取值。

  F=wD/W(1)

  F=hD/H(2)

  其中,F是鏡頭焦距,,w是被攝物體在相機靶面上的成像寬度,,D是被攝物體至鏡頭的距離,W是被攝物體的寬度(也即視場寬),,h是被攝物體在相機靶面上的成像高度,,H是被攝物體的高度(也即視場高)。如現(xiàn)在選取的相機鏡頭焦距為6 mm,,w為4.28 mm,,D為7 m,根據(jù)式(1)即可計算出被攝視場的寬度約為4.99 m,。因此根據(jù)實際環(huán)境的需要通過計算得出相機的最低參數(shù)要求,。另外,相機的像素是圖像成像質(zhì)量的一個重要影響因素,,像素越高,,成像質(zhì)量越好,本文通過大量實驗最終選用500萬像素,、幀率為14幀的工業(yè)相機來作為圖像采集設(shè)備,。

  在人臉識別系統(tǒng)中,由于智能識別對CPU內(nèi)存的占用率較高[3],,同時系統(tǒng)需實時檢測跟蹤人臉,,幀率為14幀/秒,每幀5 Mbit的情況下一臺相機每秒傳輸量達到70 Mb/s,,兩臺就有140 Mb/s,,所以對計算機的CPU、內(nèi)存,、存儲速度的要求較高,。由于工作站較一般的計算機具有更好的穩(wěn)定性,故本系統(tǒng)選用的是工作站,,CPU為Intel I74790,,主頻為3.60 GHz,處理器內(nèi)存為8 GB,,另外使用了固態(tài)硬盤提高讀寫速度以適應(yīng)需求,。

2動態(tài)人臉識別系統(tǒng)軟件設(shè)計

  本文的人臉識別系統(tǒng)會自動將人臉庫里沒有的人(即新人)加入人臉庫,前提是人必須進門而且人必須從門前區(qū)域的左邊或右邊離開相機監(jiān)控區(qū)域,這樣避免了所有進入相機覆蓋范圍內(nèi)的人都加入系統(tǒng),,而有些人是不必加入系統(tǒng)的,。如智能簽到系統(tǒng)中只有對走進公司的人進行識別判斷此人是否是公司員工,而不必去識別路過公司門口的行人,。

  2.1人臉識別系統(tǒng)流程

  

004.jpg

  人臉識別系統(tǒng)首先通過兩臺相機采集人臉圖像,,再對采集到的圖像序列進行人臉檢測,然后進行人臉跟蹤,,判斷其是否進入室內(nèi),,若進入室內(nèi)則對此人采集到的頭像進行識別,判斷其是否是新人,,是則加入人臉庫,,最后對新的人臉庫進行訓(xùn)練。具體流程如圖4所示,。

  2.2人臉識別系統(tǒng)功能結(jié)構(gòu)

  動態(tài)人臉識別系統(tǒng)主要功能如圖5所示,。

005.jpg

  圖像采集模塊從相機采集到原始圖像保存在本地,處理過的圖像會進行刪除,。

 ?。?)人臉檢測模塊處理從圖像采集模塊得到的圖像,實時進行人臉檢測[4],,若檢測出圖像中有人臉截取人臉頭像,。

  (2)人臉跟蹤模塊從一個圖像序列中跟蹤得出該人是否進入室內(nèi),,若進入室內(nèi)則進入下一步操作,,若沒有則丟棄。

 ?。?)人臉識別模塊通過對人臉檢測,、人臉跟蹤得到的一系列頭像進行識別,進而判斷該人是否為新人,。

 ?。?)新人入庫模塊是在人臉識別結(jié)果為新人時將采集到的該人的頭像放入人臉庫,以便下一次識別,。

 ?。?)人臉識別數(shù)據(jù)庫管理模塊可以對人臉庫里的人進行管理,可以添加,、刪除用戶,,并對更改后的人臉庫進行訓(xùn)練,將人臉特征保存到文件,,方便下一次識別[5],。

  2.3人臉庫的構(gòu)建

  隨著系統(tǒng)使用的時間越來越長,,人臉庫可能會從幾百人增長到幾千人甚至到幾萬人、幾十萬人,,顯然,,如果一次性將人臉庫里面的人拿去訓(xùn)練是行不通的,而且已經(jīng)訓(xùn)練過的頭像再次重復(fù)訓(xùn)練也是沒必要的,。因此需要采取些方法改進設(shè)計,。

  在這里,將人臉庫與數(shù)據(jù)庫結(jié)合起來使用,,人臉庫每新增一個人就在對應(yīng)的數(shù)據(jù)庫表(tb_facelib)里新增一行,,每一行有一個編號對應(yīng)人臉庫里面的具體的一個人,這樣對人臉庫進行管理的時候也比較方便,。在訓(xùn)練的時候會根據(jù)數(shù)據(jù)庫tb_facelib表的行數(shù)對人臉庫進行分割,,每200人為一組分為一個小的人臉庫進行訓(xùn)練,,剩余的不足200人且大于100人的按200人的方式處理,,小于100人的放入上一個人臉庫一起訓(xùn)練,比如總共540人需訓(xùn)練,,則每個庫人數(shù)分為200人,、200人、140人,;若總共440人,,則每個庫分為200人、240人,。每次訓(xùn)練完的時候會在數(shù)據(jù)庫表tb_traininfo里更新信息,,表的具體信息及其字段描述如表1所示。

007.jpg

  當(dāng)有新人加入人臉庫需要訓(xùn)練的時候,,只需要從tb_traininfo表里取出最后一次訓(xùn)練文件的相關(guān)信息,,判斷Train_num的數(shù)目是否小于300,是則直接將此訓(xùn)練文件下所有人臉加上新增的人臉一起訓(xùn)練形成新的訓(xùn)練文件,,若大于300,,則將此訓(xùn)練文件下面前200個人作為一個人臉庫,剩下的作為另一個人臉庫,,分別訓(xùn)練,,更新tb_traininfo表信息。這樣就不必將整個人臉庫重新進行訓(xùn)練,,節(jié)約了大量時間,。

  當(dāng)tb_traininfo表中Train_delnum達到一定值時,即被刪除的人達到一定值時,,則重新對人臉庫進行分割訓(xùn)練,。

  識別的時候從tb_traininfo表中逐個取出訓(xùn)練文件名字,,找到指定的訓(xùn)練文件拿去識別,直到得出識別結(jié)果,,若識別過程中已識別出是人臉庫里面的人則停止識別,,這樣大大節(jié)約了識別時間。

3系統(tǒng)運行結(jié)果

  本文將識別程序?qū)懗蒞indows服務(wù)程序,,計算機開機后會直接啟動運行,,并自動將相關(guān)信息存入數(shù)據(jù)庫。識別程序采用經(jīng)典的人臉識別算法FisherFace,,并根據(jù)實際情況對此算法進行了一些改進,,其他的人臉識別算法也可運用在本系統(tǒng)中,本文并沒有對相關(guān)算法進行闡述,,只是對搭建人臉識別系統(tǒng)進行了相關(guān)討論,,并且使用微軟公司發(fā)布的一種面向?qū)ο蟮摹⑦\行于.NET Framework之上的高級程序設(shè)計語言C#設(shè)計了系統(tǒng)的操作界面[6],。系統(tǒng)運行后的主界面如圖6所示,。

006.jpg

4結(jié)論

  本文從硬件及軟件兩個方面闡述了動態(tài)人臉識別系統(tǒng)的構(gòu)建,分析了硬件系統(tǒng)中相關(guān)設(shè)備的選型及其相關(guān)參數(shù)的計算,,設(shè)計了硬件系統(tǒng)結(jié)構(gòu),,實現(xiàn)了識別系統(tǒng)中各個功能模塊,并提出了一種解決人臉庫不斷擴大問題的實際可行方法,。將本系統(tǒng)在實際環(huán)境中進行了測試,,結(jié)果表明系統(tǒng)能夠穩(wěn)定可靠地運行,且界面友好,、操作方便,。但是由于跟蹤算法、人臉識別算法存在的一些不足,,如遮擋,、姿態(tài)等都會對跟蹤以及識別結(jié)果產(chǎn)生影響,因此,,研究高準(zhǔn)確率和高效率的人臉識別算法至關(guān)重要,,這也是接下來需要改進的核心內(nèi)容。

參考文獻

 ?。?] 劉翼光. 動態(tài)人臉識別系統(tǒng)[D].北京:中國科學(xué)院,,2000.

  [2] 高翔,,張薇娟. 人臉識別系統(tǒng)的構(gòu)建[J]. 瓊州學(xué)院學(xué)報,,2010,17(5):2124.

 ?。?] 何榮. 基于OpenCV的人臉識別系統(tǒng)設(shè)計[D].廣州:華南理工大學(xué),,2013.

 ?。?] 李哲,王述聰. 基于VC++的人臉識別系統(tǒng)的設(shè)計與實現(xiàn)探究[J].計算機光盤軟件與應(yīng)用,,2012(12):197198.

 ?。?] 朱興統(tǒng),習(xí)洋洋. 基于C++和OpenCV的人臉識別系統(tǒng)的設(shè)計與實現(xiàn)[J].自動化與儀器儀表,,2014(8):127128,131.

 ?。?] 齊立波,黃俊偉. C#入門經(jīng)典(第六版)[M].北京:清華大學(xué)出版社,,2014.


此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。