0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于Nios Ⅱ軟核處理器和FPGA實現(xiàn)人臉檢測跟蹤系統(tǒng)的設(shè)計

電子設(shè)計 ? 來源:電子設(shè)計應用 ? 作者:孫瑩濤,李玉山 ? 2021-01-12 10:24 ? 次閱讀

人臉檢測跟蹤是計算機視覺中十分重要的研究領(lǐng)域,正受到越來越多的關(guān)注。傳統(tǒng)基于PC平臺的人臉檢測跟蹤系統(tǒng)體積大,不能滿足便攜的要求,更不適合露天使用;而采用通用的DSP芯片組成的系統(tǒng),外圍電路較復雜,設(shè)計與調(diào)試都需要較長的時間,且系統(tǒng)的可擴展性和移植性不好。利用32位Nios Ⅱ軟核處理器FPGA上完成設(shè)計,減小了系統(tǒng)的體積,而且在PC上開發(fā)的程序可移植到Nios Ⅱ處理器上,實現(xiàn)了片上系統(tǒng)。采用Nios Ⅱ處理器的自定義指令,用硬件實現(xiàn)部分算法,大大提高了數(shù)據(jù)的處理速度,保證了較好的實時性。在外圍電路不變的情況下,通過更新FPGA內(nèi)部的電路設(shè)計,能使系統(tǒng)功能升級和增強。

系統(tǒng)組成及工作原理

人臉檢測跟蹤系統(tǒng)根據(jù)具體應用場合可以定制為不同的功能,而且不同的功能只需要在Nios中寫入相應的C語言程序即可,不需要再做硬件板,非常方便。下面介紹一種比較通用的人臉檢測跟蹤系統(tǒng)。系統(tǒng)的結(jié)構(gòu)如圖1所示。

本文設(shè)計的人臉檢測跟蹤系統(tǒng)主要包括三個模塊:圖像采集模塊,人臉檢測跟蹤模塊以及數(shù)據(jù)通信模塊。

圖像采集模塊

該模塊主要包括攝像頭和外擴SRAM。本系統(tǒng)采用的圖像傳感器是OV7620,OV7620是美國OmniVision 公司開發(fā)的1/ 3英寸,30 萬像素CMOS 彩色圖像傳感器,該芯片將CMOS 光感應核與外圍輔助電路集成在一起,具有可編程控制與視頻模/ 數(shù)混合輸出等功能。該芯片的主要特性有:最大分辨率為664 ×492 ,同時支持VGA (640 ×480 分辨率) 和QVGA(320 ×240 分辨率) 兩種模式。輸出幀頻在0.5fps“30fps 之間可調(diào)。輸出窗口尺寸在4 ×2” 664 ×492 之間可調(diào)。圖像數(shù)據(jù)輸出格式可以為8 位/ 16 位的YCrCb 4 : 2 :2 ITU2656 、IR2601GRB 4 :2 :2或RGB Raw Data。能工作在逐行/隔行掃描方式下,也能工作在彩色/ 黑白模式下。上述的所有性能,用戶可以根據(jù)自己的需要,通過SC2CB 接口設(shè)置芯片內(nèi)相應的寄存器進行選擇。

人臉檢測跟蹤模塊

該模塊采用的FPGA選擇Altera公司Stratix系列的EP1S25。該芯片的片上資源比較豐富,有25660個邏輯單元(LE),1944576 bit的RAM,10個DSP模塊,6個數(shù)字鎖相環(huán)(DPLL),用戶可用的I/O最多達到702個。在EP1S25中嵌入Nios軟核,控制連接在外部總線上的SRAM和Flash,用它的以太網(wǎng)模塊單元控制以太網(wǎng)接口芯片LAN91C11。

其中FPGA 是主芯片,在1 片F(xiàn)PGA 中包含了Nios 處理器、SRAM 控制器、SDRAM 控制器、Flash控制器、UART 以及攝像頭和外擴SRAM 控制器的用戶邏輯模塊。這正體現(xiàn)了Nios 的優(yōu)勢,將很多資源集中在FPGA中為設(shè)計PCB 帶來了便利, 而且對系統(tǒng)的更改也變得非常容易,只要重新在FPGA 中添加不同的模塊就可以了。SRAM 中存儲嵌入式系統(tǒng)所用的向量表、數(shù)據(jù)和程序。Flash 用于在系統(tǒng)掉電的情況下存儲程序和數(shù)據(jù)。

數(shù)據(jù)通信模塊

根據(jù)實際情況選擇用以太網(wǎng)或GPRS把人臉檢測跟蹤后的結(jié)果發(fā)送到主控制站。在有以太網(wǎng)連接的條件下優(yōu)先選用以太網(wǎng)連接,可以提供較高的傳輸速率和可靠性,在沒有以太網(wǎng)的條件下選用GPRS進行通信。同時,如果用戶需要,也可以直接在LCD上顯示。

基于Nios Ⅱ軟核處理器和FPGA實現(xiàn)人臉檢測跟蹤系統(tǒng)的設(shè)計

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

人臉檢測跟蹤算法的實現(xiàn)

在實現(xiàn)人臉檢測跟蹤算法之前,圖像的預處理很重要。圖像預處理主要有噪聲濾除和圖像增強,提高圖像的質(zhì)量。本系統(tǒng)采用中值濾波進行噪聲濾除。與其它濾波方法相比,中值濾波不僅能有效濾除圖像中的孤立噪聲點,還能保護邊界信息。圖像增強技術(shù)主要包括直方圖修改處理、圖像平滑處理和圖像銳化處理等。所以,實際的人臉檢測系統(tǒng)采用圖像增強來消除光照影響。

本系統(tǒng)采用基于膚色和差分幀相結(jié)合的方法來確定視頻序列中的人臉。這樣不但可以排除類似膚色背景的干擾,提高人臉檢測的準確性,還可以保證檢測與跟蹤的實時性。大量實驗表明,人臉膚色在YCrCb 空間內(nèi)的Cr和Cb 值分布在特定的范圍之內(nèi),Cr 范圍為135~156,Cb 的范圍為108~123。由此建立人臉膚色聚類模型,即彩色圖像的像素B 滿足條件:108 ≤Cb ≤123 和135≤Cr≤156,則B 是膚色點。

(1)根據(jù)公式

可將圖像轉(zhuǎn)化為一個二值圖像,其中白色像素點為膚色點,黑色像素點為非膚色點。由于頭部與背景的相對運動,差分幀法是運動圖像分析的有效方法。它檢測圖像序列相鄰兩幀之間的變化,即直接比較兩幀圖像對應像素點的灰度值。幀與幀之間的變化可用一個二值差分圖像表示:

(2)式中的T是閾值

使用Nios II 的定制指令,可以將一個復雜的標準指令序列簡化為一個用硬件實現(xiàn)的單一指令,從而簡化系統(tǒng)軟件設(shè)計并加快系統(tǒng)運行速度。在人臉檢測跟蹤算法中,對圖像的處理數(shù)據(jù)運算量大,循環(huán)數(shù)目多,而Nios II 的定制指令個數(shù)已增加到256個,可以使用定制指令完成許多循環(huán)內(nèi)的數(shù)據(jù)處理,從而加速數(shù)據(jù)處理的速度。定制指令邏輯和Nios II 的連接在SoPC Builder 中完成。Nios II CPU 配置向?qū)峁┝艘粋€可添加256 條定制指令的圖形用戶界面,在該界面中導入設(shè)計文件,設(shè)置定制指令名,并分配定制指令所需的CPU 時鐘周期數(shù)目。系統(tǒng)生成時,Nios II IDE 為每條用戶指令產(chǎn)生一個在系統(tǒng)頭文件中定義的宏,可以在C 或C + + 應用程序代碼中直接調(diào)用這個宏。

結(jié)語

本文的人臉檢測跟蹤系統(tǒng)利用32 位Nios Ⅱ軟核處理器在FPGA上完成設(shè)計, 減小了系統(tǒng)的體積, 而且在PC上開發(fā)的程序可移植到Nios Ⅱ處理器上,實現(xiàn)了片上系統(tǒng)。Nios 是性價比較高的微處理器軟核,可以方便地把用戶需要的接口和自定義的邏輯加入到系統(tǒng)中。本文介紹的方法體現(xiàn)了SoPC 嵌入式系統(tǒng)的靈活性。因此,這種方法能夠有效地縮短開發(fā)周期、 同時能夠延長產(chǎn)品的生命周期、 可以不斷地在原有產(chǎn)品的基礎(chǔ)上進行升級設(shè)計。

責任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 處理器
    +關(guān)注

    關(guān)注

    68

    文章

    19342

    瀏覽量

    230223
  • FPGA
    +關(guān)注

    關(guān)注

    1629

    文章

    21754

    瀏覽量

    604222
  • 計算機
    +關(guān)注

    關(guān)注

    19

    文章

    7518

    瀏覽量

    88191
收藏 人收藏

    評論

    相關(guān)推薦

    基于Nios II處理器的多生理參數(shù)測量系統(tǒng)的總體設(shè)計

      本文主要搭建一個多生理參數(shù)測量系統(tǒng)的數(shù)據(jù)處理平臺,在FPGA中嵌入一個32位Nios II
    發(fā)表于 08-18 12:10 ?1024次閱讀
    基于<b class='flag-5'>Nios</b> II<b class='flag-5'>軟</b><b class='flag-5'>核</b><b class='flag-5'>處理器</b>的多生理參數(shù)測量<b class='flag-5'>系統(tǒng)</b>的總體設(shè)計

    基于NIOS II嵌入式處理器的LCD控制實現(xiàn)

    本文介紹了一種基于NIOS II處理器實現(xiàn)對LCD-LQ057Q3DC02控制的新方法。在設(shè)計中利用
    發(fā)表于 11-09 11:30 ?2100次閱讀
    基于<b class='flag-5'>NIOS</b> II嵌入式<b class='flag-5'>處理器</b>的LCD控制<b class='flag-5'>實現(xiàn)</b>

    基于NIOS II 處理器的SOPC 技術(shù)

    基于NIOS II 處理器的SOPC 技術(shù)摘要:介紹了基于NIOS II
    發(fā)表于 10-06 15:05

    嵌入式Nios Ⅱ串口直接讀寫寄存有哪些編程方法?

    對設(shè)計進行綜合,下載到FPGA中就可以方便地實現(xiàn)一個具有高速DSP功能的嵌入式處理器。那么直接在讀寫寄存上進行嵌入式
    發(fā)表于 08-06 06:37

    請問如何實現(xiàn)片上嵌入式Nios處理器系統(tǒng)的設(shè)計?

    片上Nios Ⅱ嵌入式處理器系統(tǒng)具有哪些優(yōu)勢?如何實現(xiàn)片上嵌入式
    發(fā)表于 04-19 08:17

    求一種在多處理器系統(tǒng)中的Nios II處理器的啟動方案

    本文設(shè)計了一種在多處理器系統(tǒng)中的Nios II處理器的啟動方案,這個方案在外部
    發(fā)表于 04-27 06:52

    人臉檢測系統(tǒng)的SoPC設(shè)計

    人臉檢測系統(tǒng)的SoPC設(shè)計關(guān)鍵詞:32位Nios處理
    發(fā)表于 02-05 08:23 ?34次下載

    基于Nios處理器的SOPC技術(shù)來實現(xiàn)數(shù)碼相框的設(shè)計

      0 引言   本文采用了基于Nios處理器的SOPC技術(shù)來實現(xiàn)數(shù)碼相框的設(shè)計,從根本上改變了傳統(tǒng)設(shè)計方案的不足。
    發(fā)表于 08-23 10:22 ?1335次閱讀
    基于<b class='flag-5'>Nios</b>Ⅱ<b class='flag-5'>軟</b><b class='flag-5'>核</b><b class='flag-5'>處理器</b>的SOPC技術(shù)來<b class='flag-5'>實現(xiàn)</b>數(shù)碼相框的設(shè)計

    FPGANios_的語音識別系統(tǒng)的研究

    FPGANios_的語音識別系統(tǒng)的研究。
    發(fā)表于 05-10 10:46 ?20次下載

    基于SoPC 技術(shù)的片上嵌入式Nios處理器系統(tǒng)

    嵌入式系統(tǒng)的核心是RISC 處理器,具有代表性的RISC處理器Nios
    發(fā)表于 04-07 09:27 ?1053次閱讀
    基于SoPC 技術(shù)的片上嵌入式<b class='flag-5'>Nios</b> Ⅱ<b class='flag-5'>軟</b><b class='flag-5'>核</b>六<b class='flag-5'>處理器</b><b class='flag-5'>系統(tǒng)</b>

    介紹如何用Nios II 處理器來開發(fā)FPGA嵌入式系統(tǒng)軟件

    FPGA在嵌入式設(shè)計中的應用越來越普遍。了解怎樣采用流行的Nios? II 處理器來輕松開發(fā)FPGA
    的頭像 發(fā)表于 06-22 02:01 ?4593次閱讀

    簡述使用片內(nèi)調(diào)試 Nios 處理器

    使用片內(nèi)調(diào)試 Nios 處理器
    的頭像 發(fā)表于 06-20 05:53 ?3231次閱讀
    簡述使用片內(nèi)調(diào)試 <b class='flag-5'>Nios</b> <b class='flag-5'>軟</b><b class='flag-5'>核</b><b class='flag-5'>處理器</b>

    基于Nios的SoPC系統(tǒng)硬件設(shè)計

    基于Nios的SoPC系統(tǒng)設(shè)計是整個系統(tǒng)硬件設(shè)計的核心,包括Nios
    發(fā)表于 08-21 14:22 ?1319次閱讀
    基于<b class='flag-5'>Nios</b><b class='flag-5'>軟</b><b class='flag-5'>核</b>的SoPC<b class='flag-5'>系統(tǒng)</b>硬件設(shè)計

    基于NiosFPGA器件實現(xiàn)電纜故障檢測儀的設(shè)計方案

    脈沖發(fā)生電路產(chǎn)生探測脈沖,高速的A/D轉(zhuǎn)換對脈沖及其反射回波信號進行采樣,使用異步FIFO作為A/D采樣數(shù)據(jù)的緩存。Nios作為系統(tǒng)
    發(fā)表于 08-24 15:46 ?1082次閱讀
    基于<b class='flag-5'>Nios</b><b class='flag-5'>軟</b><b class='flag-5'>核</b>和<b class='flag-5'>FPGA</b>器件<b class='flag-5'>實現(xiàn)</b>電纜故障<b class='flag-5'>檢測</b>儀的設(shè)計方案

    FPGA 系統(tǒng)中的處理器們(二):,可殺雞亦可屠龍?

    在前文中,我們了解到兩種 FPGA 嵌入式處理器方案:與硬核。本文將展開討論
    發(fā)表于 02-07 10:07 ?3次下載
    <b class='flag-5'>FPGA</b> <b class='flag-5'>系統(tǒng)</b>中的<b class='flag-5'>處理器</b><b class='flag-5'>核</b>們(二):<b class='flag-5'>軟</b><b class='flag-5'>核</b>,可殺雞亦可屠龍?