基于Nios Ⅱ軟核的人臉檢測系統(tǒng)設計
摘要: 本文的人臉檢測跟蹤系統(tǒng)利用32 位Nios Ⅱ軟核處理器在FPGA上完成設計, 減小了系統(tǒng)的體積,,而且在PC上開發(fā)的程序可移植到Nios Ⅱ處理器上,,實現(xiàn)了片上系統(tǒng)。Nios 是性價比較高的微處理器軟核,,可以方便地把用戶需要的接口和自定義的邏輯加入到系統(tǒng)中,。本文介紹的方法體現(xiàn)了SoPC 嵌入式系統(tǒng)的靈活性。因此,,這種方法能夠有效地縮短開發(fā)周期,、 同時能夠延長產品的生命周期、 可以不斷地在原有產品的基礎上進行升級設計,。
Abstract:
Key words :
引言
人臉檢測跟蹤是計算機視覺中十分重要的研究領域,,正受到越來越多的關注。傳統(tǒng)基于PC平臺的人臉檢測跟蹤系統(tǒng)體積大,,不能滿足便攜的要求,更不適合露天使用,;而采用通用的DSP芯片組成的系統(tǒng),,外圍電路較復雜,設計與調試都需要較長的時間,,且系統(tǒng)的可擴展性和移植性不好,。利用32位Nios Ⅱ軟核處理器在FPGA上完成設計,減小了系統(tǒng)的體積,,而且在PC上開發(fā)的程序可移植到Nios Ⅱ處理器上,,實現(xiàn)了片上系統(tǒng)。采用Nios Ⅱ處理器的自定義指令,,用硬件實現(xiàn)部分算法,,大大提高了數(shù)據的處理速度,保證了較好的實時性,。在外圍電路不變的情況下,,通過更新FPGA內部的電路設計,能使系統(tǒng)功能升級和增強,。
系統(tǒng)組成及工作原理
人臉檢測跟蹤系統(tǒng)根據具體應用場合可以定制為不同的功能,,而且不同的功能只需要在Nios中寫入相應的C語言程序即可,不需要再做硬件板,,非常方便,。下面介紹一種比較通用的人臉檢測跟蹤系統(tǒng)。系統(tǒng)的結構如圖1所示,。

圖1 基于Nios Ⅱ軟核的人臉檢測系統(tǒng)設計
本文設計的人臉檢測跟蹤系統(tǒng)主要包括三個模塊:圖像采集模塊,,人臉檢測跟蹤模塊以及數(shù)據通信模塊。
圖像采集模塊
該模塊主要包括攝像頭和外擴SRAM,。本系統(tǒng)采用的圖像傳感器是OV7620,,OV7620是美國OmniVision 公司開發(fā)的1/ 3英寸,30 萬像素CMOS 彩色圖像傳感器,該芯片將CMOS 光感應核與外圍輔助電路集成在一起,具有可編程控制與視頻模/ 數(shù)混合輸出等功能,。該芯片的主要特性有:最大分辨率為664 ×492 ,同時支持VGA (640 ×480 分辨率) 和QVGA(320 ×240 分辨率) 兩種模式,。輸出幀頻在0.5fps~30fps 之間可調,。輸出窗口尺寸在4 ×2~ 664 ×492 之間可調。圖像數(shù)據輸出格式可以為8 位/ 16 位的YCrCb 4 : 2 :2 ITU2656 ,、IR2601GRB 4 :2 :2或RGB Raw Data,。能工作在逐行/隔行掃描方式下,也能工作在彩色/ 黑白模式下。上述的所有性能,用戶可以根據自己的需要,通過SC2CB 接口設置芯片內相應的寄存器進行選擇,。
人臉檢測跟蹤模塊
該模塊采用的FPGA選擇Altera公司Stratix系列的EP1S25,。該芯片的片上資源比較豐富,有25660個邏輯單元(LE),,1944576 bit的RAM,,10個DSP模塊,6個數(shù)字鎖相環(huán)(DPLL),,用戶可用的I/O最多達到702個,。在EP1S25中嵌入Nios軟核,控制連接在外部總線上的SRAM和Flash,,用它的以太網模塊單元控制以太網接口芯片LAN91C11,。
其中FPGA 是主芯片,在1 片F(xiàn)PGA 中包含了Nios 處理器、SRAM 控制器,、SDRAM 控制器,、Flash控制器、UART 以及攝像頭和外擴SRAM 控制器的用戶邏輯模塊,。這正體現(xiàn)了Nios 的優(yōu)勢,,將很多資源集中在FPGA中為設計PCB 帶來了便利, 而且對系統(tǒng)的更改也變得非常容易,,只要重新在FPGA 中添加不同的模塊就可以了,。SRAM 中存儲嵌入式系統(tǒng)所用的向量表、數(shù)據和程序,。Flash 用于在系統(tǒng)掉電的情況下存儲程序和數(shù)據,。
數(shù)據通信模塊
根據實際情況選擇用以太網或GPRS把人臉檢測跟蹤后的結果發(fā)送到主控制站。在有以太網連接的條件下優(yōu)先選用以太網連接,,可以提供較高的傳輸速率和可靠性,,在沒有以太網的條件下選用GPRS進行通信。同時,,如果用戶需要,,也可以直接在LCD上顯示。
人臉檢測跟蹤算法的實現(xiàn)
在實現(xiàn)人臉檢測跟蹤算法之前,,圖像的預處理很重要,。圖像預處理主要有噪聲濾除和圖像增強,,提高圖像的質量。本系統(tǒng)采用中值濾波進行噪聲濾除,。與其它濾波方法相比,,中值濾波不僅能有效濾除圖像中的孤立噪聲點,還能保護邊界信息,。圖像增強技術主要包括直方圖修改處理,、圖像平滑處理和圖像銳化處理等。所以,,實際的人臉檢測系統(tǒng)采用圖像增強來消除光照影響,。
本系統(tǒng)采用基于膚色和差分幀相結合的方法來確定視頻序列中的人臉。這樣不但可以排除類似膚色背景的干擾,,提高人臉檢測的準確性,,還可以保證檢測與跟蹤的實時性。大量實驗表明,,人臉膚色在YCrCb 空間內的Cr和Cb 值分布在特定的范圍之內,,Cr 范圍為135~156,Cb 的范圍為108~123,。由此建立人臉膚色聚類模型,即彩色圖像的像素B 滿足條件:108 ≤Cb ≤123 和135≤Cr≤156,,則B 是膚色點,。
(1)根據公式
可將圖像轉化為一個二值圖像,其中白色像素點為膚色點,,黑色像素點為非膚色點,。由于頭部與背景的相對運動,差分幀法是運動圖像分析的有效方法,。它檢測圖像序列相鄰兩幀之間的變化,,即直接比較兩幀圖像對應像素點的灰度值。幀與幀之間的變化可用一個二值差分圖像表示:
(2)式中的T是閾值
使用Nios II 的定制指令,,可以將一個復雜的標準指令序列簡化為一個用硬件實現(xiàn)的單一指令,,從而簡化系統(tǒng)軟件設計并加快系統(tǒng)運行速度。在人臉檢測跟蹤算法中,,對圖像的處理數(shù)據運算量大,,循環(huán)數(shù)目多,而Nios II 的定制指令個數(shù)已增加到256個,,可以使用定制指令完成許多循環(huán)內的數(shù)據處理,,從而加速數(shù)據處理的速度。定制指令邏輯和Nios II 的連接在SoPC Builder 中完成,。Nios II CPU 配置向導提供了一個可添加256 條定制指令的圖形用戶界面,,在該界面中導入設計文件,,設置定制指令名,并分配定制指令所需的CPU 時鐘周期數(shù)目,。系統(tǒng)生成時,,Nios II IDE 為每條用戶指令產生一個在系統(tǒng)頭文件中定義的宏,可以在C 或C + + 應用程序代碼中直接調用這個宏,。
結語
本文的人臉檢測跟蹤系統(tǒng)利用32 位Nios Ⅱ軟核處理器在FPGA上完成設計, 減小了系統(tǒng)的體積,,而且在PC上開發(fā)的程序可移植到Nios Ⅱ處理器上,實現(xiàn)了片上系統(tǒng),。Nios 是性價比較高的微處理器軟核,,可以方便地把用戶需要的接口和自定義的邏輯加入到系統(tǒng)中。本文介紹的方法體現(xiàn)了SoPC 嵌入式系統(tǒng)的靈活性,。因此,,這種方法能夠有效地縮短開發(fā)周期、 同時能夠延長產品的生命周期,、 可以不斷地在原有產品的基礎上進行升級設計,。
此內容為AET網站原創(chuàng),未經授權禁止轉載,。