新聞中心

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

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

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

摘要 基于內(nèi)嵌的NiosⅡ處理器,設(shè)計(jì)了一個(gè)實(shí)時(shí)人臉檢測系統(tǒng)。介紹了基于Haar特征的AdaBoost人臉檢測算法,描述了依據(jù)的人臉檢測軟件實(shí)現(xiàn)過程,最后在以Altera公司CycloneⅡ系列EP2C70為核心芯片的DE-2開發(fā)平臺上,對檢測系統(tǒng)進(jìn)行了整體設(shè)計(jì)。測試結(jié)果表明,系統(tǒng)有較高的檢測率,可以滿足實(shí)時(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í)時(shí)檢測,且成本較高。采用通用的DSP方式,外圍電路較復(fù)雜,設(shè)計(jì)難度大,調(diào)試也需要較長的時(shí)間,且系統(tǒng)的可擴(kuò)展性和移植性差。文中利用SOPC技術(shù)設(shè)計(jì)了基于NiosⅡ處理器的人臉檢測系統(tǒng),不僅達(dá)到了實(shí)時(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有一個(gè)開放式的ALU,通過用戶自定義指令集,可以方便地完成對系統(tǒng)的操作;同時(shí)采用哈佛結(jié)構(gòu)的總線模式,大幅地提高了系統(tǒng)的處理速度;另外,Nios II系統(tǒng)中的外設(shè)具有可配置性,這在較大程度上簡化了硬件開發(fā)的難度,縮短了產(chǎn)品開發(fā)周期。

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

本文引用地址:http://m.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è)計(jì)框架
按照人臉檢測系統(tǒng)的功能要求,可以將整個(gè)系統(tǒng)分為幾個(gè)模塊:視頻采集模塊、視頻緩存模塊、視頻輸出模塊、人臉檢測算法實(shí)現(xiàn)模塊、IO接口模塊(LCD顯示模塊和按鍵模塊);同時(shí)為項(xiàng)目開發(fā)的延續(xù),在不影響系統(tǒng)功能的基礎(chǔ)上再添加通訊接口模塊,這樣既可以實(shí)現(xiàn)數(shù)據(jù)的遠(yuǎn)距離傳輸,又能與個(gè)人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è)計(jì)框架如圖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ù)時(shí)鐘(PCLK)、場同步信號(Vsync)、行同步信號(Hsync)與FPGA視頻采集模塊相連。FPGA協(xié)調(diào)兩塊SRAM“乒乓模式”的讀寫操作,并完成模塊的外部接口。

e.JPG


(3)FPGA等待一幀圖像數(shù)據(jù)存儲結(jié)束后,調(diào)用人臉檢測模塊,同時(shí)等待下一幀圖像數(shù)據(jù),并存儲到SRAM2。
(4)檢測結(jié)束,F(xiàn)PGA將得到的人臉位置寫回圖像所在SRAM中。
(5)當(dāng)SRAM2存儲完畢,通知人臉檢測模塊,同時(shí)等待下一幀圖像數(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ù)、錯(cuò)檢次數(shù)以及誤檢率。
此外,還對網(wǎng)絡(luò)上的具有多個(gè)人臉的圖像進(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í)時(shí)檢測的效果。
(2)檢測定位:從檢測結(jié)果可以看到,人臉的范圍較小,側(cè)重點(diǎn)主要集中在眉毛、眼睛、鼻子、嘴唇等器官上,沒有耳朵信息特征表現(xiàn)。這是因?yàn)槿四樣?xùn)練庫主要是圍繞幾個(gè)主要特征,所以檢測定位是小區(qū)域定位。
(3)檢測率與誤檢率:通過反復(fù)實(shí)驗(yàn)可以看到,該系統(tǒng)具有較高的檢測率和可以接受的誤檢率,尤其是在正面人臉、小角度傾斜、光照比較均勻的情況下。漏檢往往是因?yàn)轭^像過小、臉部特征發(fā)生暫時(shí)性變化(戴眼鏡)、只出現(xiàn)部分人臉或偏轉(zhuǎn)角度過大,又或者光照不均勻等。而那些被判定為人臉的非人臉圖像,通常是因?yàn)楸尘皬?fù)雜,而且該圖像又具有人臉某些特征等因素造成的。
(4)資源利用率:從最終的綜合和仿真結(jié)果來看,在所有模塊當(dāng)中,積分圖資源占用最多,分類器計(jì)算時(shí)間最長,因此選用一種好的處理架構(gòu),能大幅提升系統(tǒng)的整體性能。



評論


相關(guān)推薦

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

關(guān)閉