基于Nios Ⅱ軟核的人臉檢測系統設計
數據通信模塊
根據實(shí)際情況選擇用以太網(wǎng)或GPRS把人臉檢測跟蹤后的結果發(fā)送到主控制站。在有以太網(wǎng)連接的條件下優(yōu)先選用以太網(wǎng)連接,可以提供較高的傳輸速率和可靠性,在沒(méi)有以太網(wǎng)的條件下選用GPRS進(jìn)行通信。同時(shí),如果用戶(hù)需要,也可以直接在LCD上顯示。
人臉檢測跟蹤算法的實(shí)現
在實(shí)現人臉檢測跟蹤算法之前,圖像的預處理很重要。圖像預處理主要有噪聲濾除和圖像增強,提高圖像的質(zhì)量。本系統采用中值濾波進(jìn)行噪聲濾除。與其它濾波方法相比,中值濾波不僅能有效濾除圖像中的孤立噪聲點(diǎn),還能保護邊界信息。圖像增強技術(shù)主要包括直方圖修改處理、圖像平滑處理和圖像銳化處理等。所以,實(shí)際的人臉檢測系統采用圖像增強來(lái)消除光照影響。
本系統采用基于膚色和差分幀相結合的方法來(lái)確定視頻序列中的人臉。這樣不但可以排除類(lèi)似膚色背景的干擾,提高人臉檢測的準確性,還可以保證檢測與跟蹤的實(shí)時(shí)性。大量實(shí)驗表明,人臉膚色在YCrCb 空間內的Cr和Cb 值分布在特定的范圍之內,Cr 范圍為135~156,Cb 的范圍為108~123。由此建立人臉膚色聚類(lèi)模型,即彩色圖像的像素B 滿(mǎn)足條件:108 ≤Cb ≤123 和135≤Cr≤156,則B 是膚色點(diǎn)。
(1)根據公式
可將圖像轉化為一個(gè)二值圖像,其中白色像素點(diǎn)為膚色點(diǎn),黑色像素點(diǎn)為非膚色點(diǎn)。由于頭部與背景的相對運動(dòng),差分幀法是運動(dòng)圖像分析的有效方法。它檢測圖像序列相鄰兩幀之間的變化,即直接比較兩幀圖像對應像素點(diǎn)的灰度值。幀與幀之間的變化可用一個(gè)二值差分圖像表示:
(2)式中的T是閾值
使用Nios II 的定制指令,可以將一個(gè)復雜的標準指令序列簡(jiǎn)化為一個(gè)用硬件實(shí)現的單一指令,從而簡(jiǎn)化系統軟件設計并加快系統運行速度。在人臉檢測跟蹤算法中,對圖像的處理數據運算量大,循環(huán)數目多,而Nios II 的定制指令個(gè)數已增加到256個(gè),可以使用定制指令完成許多循環(huán)內的數據處理,從而加速數據處理的速度。定制指令邏輯和Nios II 的連接在SoPC Builder 中完成。Nios II CPU 配置向導提供了一個(gè)可添加256 條定制指令的圖形用戶(hù)界面,在該界面中導入設計文件,設置定制指令名,并分配定制指令所需的CPU 時(shí)鐘周期數目。系統生成時(shí),Nios II IDE 為每條用戶(hù)指令產(chǎn)生一個(gè)在系統頭文件中定義的宏,可以在C 或C + + 應用程序代碼中直接調用這個(gè)宏。
結語(yǔ)
本文的人臉檢測跟蹤系統利用32 位Nios Ⅱ軟核處理器在FPGA上完成設計, 減小了系統的體積,而且在PC上開(kāi)發(fā)的程序可移植到Nios Ⅱ處理器上,實(shí)現了片上系統。Nios 是性?xún)r(jià)比較高的微處理器軟核,可以方便地把用戶(hù)需要的接口和自定義的邏輯加入到系統中。本文介紹的方法體現了SoPC 嵌入式系統的靈活性。因此,這種方法能夠有效地縮短開(kāi)發(fā)周期、 同時(shí)能夠延長(cháng)產(chǎn)品的生命周期、 可以不斷地在原有產(chǎn)品的基礎上進(jìn)行升級設計。
評論