新聞中心

EEPW首頁 > EDA/PCB > 設(shè)計應(yīng)用 > 基于NiosⅡ的人臉檢測系統(tǒng)設(shè)計

基于NiosⅡ的人臉檢測系統(tǒng)設(shè)計

作者: 時間:2016-10-18 來源:網(wǎng)絡(luò) 收藏

摘要 基于內(nèi)嵌的NiosⅡ處理器,設(shè)計了一個實(shí)時人臉檢測系統(tǒng)。介紹了基于Haar特征的AdaBoost人臉檢測算法,描述了依據(jù)的人臉檢測軟件實(shí)現(xiàn)過程,最后在以Altera公司CycloneⅡ系列EP2C70為核心芯片的DE-2開發(fā)平臺上,對檢測系統(tǒng)進(jìn)行了整體設(shè)計。測試結(jié)果表明,系統(tǒng)有較高的檢測率,可以滿足實(shí)時人臉檢測的要求。
關(guān)鍵詞 ;;;

是指在圖像中判斷是否有人臉存在,并且將檢測到的人臉部分在圖像中標(biāo)識出來的過程。作為人臉信息處理中的一項(xiàng)關(guān)鍵技術(shù),人臉檢測在自動人臉識別、視頻會議、智能人機(jī)交互等領(lǐng)域得到廣泛應(yīng)用。目前人臉檢測系統(tǒng)多采用PC或DSP作為處理平臺。在PC上,人臉檢測系統(tǒng)實(shí)現(xiàn)雖已經(jīng)達(dá)到基本要求,但由于攜帶不便,無法滿足實(shí)時檢測,且成本較高。采用通用的DSP方式,外圍電路較復(fù)雜,設(shè)計難度大,調(diào)試也需要較長的時間,且系統(tǒng)的可擴(kuò)展性和移植性差。文中利用SOPC技術(shù)設(shè)計了基于NiosⅡ處理器的人臉檢測系統(tǒng),不僅達(dá)到了實(shí)時性要求,而且在PC上開發(fā)的程序,可方便地移植到Nios II處理器上。

1 Nios II處理器
Nios II處理器是Altera公司為其產(chǎn)品配套開發(fā)的軟核CPU。在邏輯功能上,它是一款通用的RISC結(jié)構(gòu)的CPU;在實(shí)現(xiàn)方式上,它在FPGA上通過編程實(shí)現(xiàn)。由于Nios II有一個開放式的ALU,通過用戶自定義指令集,可以方便地完成對系統(tǒng)的操作;同時采用哈佛結(jié)構(gòu)的總線模式,大幅地提高了系統(tǒng)的處理速度;另外,Nios II系統(tǒng)中的外設(shè)具有可配置性,這在較大程度上簡化了硬件開發(fā)的難度,縮短了產(chǎn)品開發(fā)周期。

2 算法概述
文中采用Viola P提出的基于Haar特征的AdaBoost人臉檢測算法,該算法主要分為以下3部分:
(1)使用Haar-like特征表示人臉,將“積分圖”的概念用于Haar矩形特征的快速計算。
(2)使用訓(xùn)練得到大量弱,按照權(quán)值補(bǔ)償?shù)姆绞郊壜?lián)得到強(qiáng)
(3)將訓(xùn)練得到的強(qiáng)分類器串聯(lián)組成層疊分類器,這種結(jié)構(gòu)能及時摒棄非人臉圖像子模塊,減少了計算的數(shù)據(jù)量,有效提高系統(tǒng)的檢測速度。
訓(xùn)練得到一個好的分類器,將大幅提高系統(tǒng)性能。文中通過對大量的人臉及非人臉圖像進(jìn)行訓(xùn)練,經(jīng)過多次迭代,獲得一系列弱分類器。在迭代過程當(dāng)中,選擇錯誤率最小的弱分類器作為本次迭代產(chǎn)生的弱分類器hn(x),之后更新樣本權(quán)值,使得那些在上次檢測過程中被誤判的樣本在此次檢測時能得到足夠的重視,然后再次迭代,獲得新的弱分類器,以此類推,經(jīng)過k次迭代,得到k個弱分類器,而所有弱分類器組合后便得到分類能力較強(qiáng)的強(qiáng)分類器。

本文引用地址:http://butianyuan.cn/article/201610/308563.htm

a.JPG


系統(tǒng)中,每級強(qiáng)分類器都有相應(yīng)的閾值,通過調(diào)整每級強(qiáng)分類器的閾值,使得幾乎所有含人臉的圖像都可以順利通過分類器,而絕大多數(shù)的非人臉圖像被拒絕。分類器位置越靠前,只需少量的特征即可濾除大量的非人臉圖像,而位置靠后,分類器的結(jié)構(gòu)相對較復(fù)雜,需要較多的特征才能排除那些具有一定人臉特征的非人臉圖像。最終,通過每級強(qiáng)分類器的檢測,人臉圖像將被保留,而非人臉圖像則在檢測過程當(dāng)中被某級強(qiáng)分類器所淘汰。

b.JPG


概括說來,該檢測算法的主要流程為:首先對檢測圖像進(jìn)行積分圖運(yùn)算,然后用一定大小的子窗口遍歷整幅待檢測圖像,并將子窗口截取到的圖像輸入到分類器中判斷是否包含人臉,若該子圖像通過全部強(qiáng)分類器,則判定當(dāng)前子圖像包含人臉特征,記錄該子圖像的位置和大小,否則拋棄當(dāng)前子圖像,進(jìn)入下一幀的檢測,當(dāng)該子窗口遍歷整幅圖像后,放大子窗口尺寸,重新遍歷待檢測圖像,直到子窗口大小超過圖像大小,檢測結(jié)束,流程如圖3所示。

c.JPG



3系統(tǒng)的硬件設(shè)計框架
按照人臉檢測系統(tǒng)的功能要求,可以將整個系統(tǒng)分為幾個模塊:視頻采集模塊、視頻緩存模塊、視頻輸出模塊、人臉檢測算法實(shí)現(xiàn)模塊、IO接口模塊(LCD顯示模塊和按鍵模塊);同時為項(xiàng)目開發(fā)的延續(xù),在不影響系統(tǒng)功能的基礎(chǔ)上再添加通訊接口模塊,這樣既可以實(shí)現(xiàn)數(shù)據(jù)的遠(yuǎn)距離傳輸,又能與個人PC協(xié)同處理。
系統(tǒng)的工作流程:通過CCD攝像機(jī)(25幀/s)采集視頻,之后利用ADV7121將CCD送來的NTSC、PAL模擬視頻信號轉(zhuǎn)換成符合CCIR 656標(biāo)準(zhǔn)的YCrCb4:2:2視頻數(shù)據(jù);然后在FPGA中通過視頻采集模塊、視頻緩存模塊、視頻輸出模塊、人臉檢測算法實(shí)現(xiàn)模塊實(shí)現(xiàn)人臉檢測;最后在LCD上顯示最終檢測結(jié)果。通過FPGA內(nèi)部的I2C總線控制器模塊,實(shí)現(xiàn)對ADV7121視頻解碼芯片的配置。視頻輸出模塊,通過控制信號提取、制式檢測、灰度有效數(shù)據(jù)提取等單元,完成視頻數(shù)據(jù)流中灰度圖像數(shù)據(jù)的提取。人臉檢測算法實(shí)現(xiàn)模塊根據(jù)AdaBoost人臉檢測算法流程對人臉進(jìn)行檢測,然后輸出人臉的相關(guān)數(shù)據(jù)。LCD顯示模塊主要是輸出行同步信號(HS)和場同步信號(VS),結(jié)合人臉檢測算法實(shí)現(xiàn)模塊的檢測結(jié)果和視頻緩存模塊存放的視頻數(shù)據(jù),完成人臉位置顯示和視頻數(shù)據(jù)中人臉位置標(biāo)定。硬件系統(tǒng)的設(shè)計框架如圖4所示。

d.JPG


具體功能流程如下:
(1)初始化:FPGA通過I2C總線傳輸SDAT和SCLK信號,完成對ADV7121的配置;來自模擬攝像機(jī)的模擬視頻信號,經(jīng)過ADV7121,輸出ITU—RBT.656格式數(shù)字視頻信號。
(2)FPGA將轉(zhuǎn)換后的數(shù)字視頻數(shù)據(jù)傳輸給SRAM1。圖5為視頻采集模塊框圖。ADV7121主要完成視頻數(shù)據(jù)采集,其視頻數(shù)據(jù)總線、幀圖像數(shù)據(jù)時鐘(PCLK)、場同步信號(Vsync)、行同步信號(Hsync)與FPGA視頻采集模塊相連。FPGA協(xié)調(diào)兩塊SRAM“乒乓模式”的讀寫操作,并完成模塊的外部接口。

e.JPG


(3)FPGA等待一幀圖像數(shù)據(jù)存儲結(jié)束后,調(diào)用人臉檢測模塊,同時等待下一幀圖像數(shù)據(jù),并存儲到SRAM2。
(4)檢測結(jié)束,F(xiàn)PGA將得到的人臉位置寫回圖像所在SRAM中。
(5)當(dāng)SRAM2存儲完畢,通知人臉檢測模塊,同時等待下一幀圖像數(shù)據(jù),并存儲到SRAM1。檢測結(jié)束,將得到的人臉位置坐標(biāo)寫回圖像所在SRAM中。每秒25幀,每幀周期40 ms,因此從寫入視頻圖像到檢測模塊返回結(jié)果,需要在40 ms內(nèi)完成。

4 實(shí)驗(yàn)結(jié)果
經(jīng)過對A、B、C 3名同學(xué)在多種不同情況下的反復(fù)測試,得到測試數(shù)據(jù)如表1所示。

f.JPG


其中,N、n、FR分別為該條件下測試的總次數(shù)、錯檢次數(shù)以及誤檢率。
此外,還對網(wǎng)絡(luò)上的具有多個人臉的圖像進(jìn)行了測試,實(shí)驗(yàn)結(jié)果表明,系統(tǒng)對多人臉模式也有較好的識別能力,效果圖如圖6所示。

g.JPG



5 實(shí)驗(yàn)結(jié)論
通過對實(shí)驗(yàn)結(jié)果的分析,可得如下結(jié)論:
(1)檢測速度:通過分析人臉檢測算法,經(jīng)過訓(xùn)練分類器、定點(diǎn)化、以及硬件加速后,使人臉檢測系統(tǒng)在DE-2開發(fā)板平臺上,基本達(dá)到實(shí)時檢測的效果。
(2)檢測定位:從檢測結(jié)果可以看到,人臉的范圍較小,側(cè)重點(diǎn)主要集中在眉毛、眼睛、鼻子、嘴唇等器官上,沒有耳朵信息特征表現(xiàn)。這是因?yàn)槿四樣?xùn)練庫主要是圍繞幾個主要特征,所以檢測定位是小區(qū)域定位。
(3)檢測率與誤檢率:通過反復(fù)實(shí)驗(yàn)可以看到,該系統(tǒng)具有較高的檢測率和可以接受的誤檢率,尤其是在正面人臉、小角度傾斜、光照比較均勻的情況下。漏檢往往是因?yàn)轭^像過小、臉部特征發(fā)生暫時性變化(戴眼鏡)、只出現(xiàn)部分人臉或偏轉(zhuǎn)角度過大,又或者光照不均勻等。而那些被判定為人臉的非人臉圖像,通常是因?yàn)楸尘皬?fù)雜,而且該圖像又具有人臉某些特征等因素造成的。
(4)資源利用率:從最終的綜合和仿真結(jié)果來看,在所有模塊當(dāng)中,積分圖資源占用最多,分類器計算時間最長,因此選用一種好的處理架構(gòu),能大幅提升系統(tǒng)的整體性能。



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉