网站首页
教育杂志
CSSCI期刊 北大期刊 CSCD期刊 统计源期刊 知网收录期刊 维普收录期刊 万方收录期刊 SCI期刊(美)
医学杂志
CSSCI期刊 北大期刊 CSCD期刊 统计源期刊 知网收录期刊 维普收录期刊 万方收录期刊 SCI期刊(美)
经济杂志
CSSCI期刊 北大期刊 CSCD期刊 统计源期刊 知网收录期刊 维普收录期刊 万方收录期刊 SCI期刊(美)
金融杂志
CSSCI期刊 北大期刊 CSCD期刊 统计源期刊 知网收录期刊 维普收录期刊 万方收录期刊 SCI期刊(美)
管理杂志
CSSCI期刊 北大期刊 CSCD期刊 统计源期刊 知网收录期刊 维普收录期刊 万方收录期刊 SCI期刊(美)
科技杂志
CSSCI期刊 北大期刊 CSCD期刊 统计源期刊 知网收录期刊 维普收录期刊 万方收录期刊 SCI期刊(美)
工业杂志
CSSCI期刊 北大期刊 CSCD期刊 统计源期刊 知网收录期刊 维普收录期刊 万方收录期刊 SCI期刊(美)
SCI杂志
中科院1区 中科院2区 中科院3区 中科院4区
全部期刊
公務(wù)員期刊網(wǎng) 論文中心 正文

FPGA下人臉識(shí)別系統(tǒng)實(shí)驗(yàn)設(shè)計(jì)探析

前言:想要寫出一篇引人入勝的文章?我們特意為您整理了FPGA下人臉識(shí)別系統(tǒng)實(shí)驗(yàn)設(shè)計(jì)探析范文,希望能給你帶來靈感和參考,敬請(qǐng)閱讀。

摘要:隨著科技的快速發(fā)展,人臉識(shí)別技術(shù)逐漸進(jìn)入了人們的生活中,成為了生活中密不可分的一部分。fpga不僅能夠進(jìn)行數(shù)字系統(tǒng)設(shè)計(jì),在人工智能領(lǐng)域也嶄露頭角。電子信息類本科生的實(shí)驗(yàn)安排也必須跟上人才培養(yǎng)的需求、時(shí)代的步伐,為此,開發(fā)了基于FPGA的人臉識(shí)別系統(tǒng)實(shí)驗(yàn)設(shè)計(jì)。該設(shè)計(jì)使用PYNQ實(shí)驗(yàn)板,利用VivadoHLS高級(jí)綜合工具搭建電路系統(tǒng),用python調(diào)用設(shè)計(jì)的電路建立卷積神經(jīng)網(wǎng)絡(luò)模型并訓(xùn)練神經(jīng)網(wǎng)絡(luò),實(shí)現(xiàn)人臉識(shí)別技術(shù),進(jìn)一步加強(qiáng)學(xué)生學(xué)習(xí)EDA技術(shù)的意識(shí)。

關(guān)鍵詞:人臉識(shí)別;卷積神經(jīng)網(wǎng)絡(luò);PYNQ

眾所周知,我國(guó)集成電路領(lǐng)域人才缺口巨大,EDA技術(shù)是集成電路設(shè)計(jì)的核心。因此,EDA技術(shù)的發(fā)展才是集成電路卡脖子問題的關(guān)鍵所在。隨著人工智能以及機(jī)器學(xué)習(xí)、深度學(xué)習(xí)的快速發(fā)展,電子信息類本科學(xué)生的課程在不斷地與時(shí)俱進(jìn),傳統(tǒng)的實(shí)驗(yàn)設(shè)計(jì)已經(jīng)不適合人才培養(yǎng)的需求,開發(fā)新的能夠反映現(xiàn)代前沿信息技術(shù)的實(shí)驗(yàn)設(shè)計(jì)勢(shì)在必行。對(duì)于公共場(chǎng)所,無接觸識(shí)別生物特征識(shí)別系統(tǒng)開始成為確認(rèn)用戶身份的重要方式,其中人臉識(shí)別具有使用方便、識(shí)別更準(zhǔn)確等優(yōu)勢(shì),廣受用戶喜歡[1]。本實(shí)驗(yàn)設(shè)計(jì)就是基于Xlinx公司的PYNQ開發(fā)板,采用VivadoHLS高級(jí)綜合工具利用硬件資源搭建電路系統(tǒng),用python調(diào)用設(shè)計(jì)的電路建立卷積神經(jīng)網(wǎng)絡(luò)模型并訓(xùn)練神經(jīng)網(wǎng)絡(luò),實(shí)現(xiàn)人臉識(shí)別技術(shù),進(jìn)一步加強(qiáng)學(xué)生學(xué)習(xí)EDA技術(shù)的興趣,激發(fā)學(xué)生解決我國(guó)集成電路領(lǐng)域卡脖子技術(shù)的熱情,培養(yǎng)學(xué)生的大國(guó)工匠精神。

1系統(tǒng)整體框架

盡管在不同的應(yīng)用環(huán)境下,人臉識(shí)別系統(tǒng)的結(jié)構(gòu)也有所不同,但大部分的人臉識(shí)別系統(tǒng)結(jié)構(gòu)都包括人臉采集和檢測(cè)部分、圖像預(yù)處理部分、特征提取部分和人臉識(shí)別部分。人臉圖像被輸入系統(tǒng)后,將進(jìn)行人臉檢測(cè)和人臉對(duì)齊,然后用特征提取器提取特征,系統(tǒng)再將提取的特征與圖庫(kù)人臉進(jìn)行比較,進(jìn)行人臉匹配。人臉圖像采集和檢測(cè)是根據(jù)人臉圖像的模式特征,在采集到的圖片中對(duì)人臉?biāo)趨^(qū)域進(jìn)行數(shù)據(jù)提取。人臉圖像預(yù)處理的目的主要是消除各種干擾,為后續(xù)人臉識(shí)別準(zhǔn)確性做準(zhǔn)備。人臉圖像特征提取是提取包括口、鼻、眼等特征,主要是根據(jù)位置構(gòu)成的幾何結(jié)構(gòu)等,以作為人臉圖像特征數(shù)據(jù)。人臉圖像識(shí)別就是通過提取一個(gè)人臉圖像的特征數(shù)據(jù)。當(dāng)提取到特征數(shù)據(jù)與某個(gè)模板相似度超過了設(shè)定的概率時(shí),則認(rèn)為這個(gè)特征匹配成功,否則匹配失敗,同時(shí)輸出一個(gè)特征匹配結(jié)果。

2硬件設(shè)計(jì)

在卷積神經(jīng)網(wǎng)絡(luò)中,大量的計(jì)算是卷積的計(jì)算,F(xiàn)PGA的計(jì)算速度要比軟件計(jì)算速度快,這也是為什么FPGA能夠用于人工智能領(lǐng)域的原因,模型中所有的卷積計(jì)算和池化部分通過FPGA器件實(shí)現(xiàn),這樣可以使計(jì)算速度更快。PL端的設(shè)計(jì)首先使用VivadoHLS軟件實(shí)現(xiàn)卷積計(jì)算,然后將一些變量分別設(shè)置為輸入和輸出端口,在HLS軟件中通過pipeline和unroll等方法進(jìn)行優(yōu)化設(shè)計(jì),通過軟件綜合后查看硬件資源的使用量以及時(shí)序約束等情況,最后利用此高層次綜合工具生成IP核。當(dāng)使用unrolling方法進(jìn)行優(yōu)化時(shí),折疊的for循環(huán)被展開,相當(dāng)于電路被復(fù)制成需要的數(shù)量,假如使用N個(gè)相同電路,則只需要一步計(jì)算就完成,這就是為什么FPGA可以作為硬件加速器。如圖1中,一個(gè)循環(huán)次數(shù)為6的for循環(huán),當(dāng)使用unrolling將其分為3個(gè)for循環(huán)后,原來需要6步完成的計(jì)算只需要2步就可以了。幾乎所有的優(yōu)化方法都是以增大硬件資源開銷來達(dá)到提高計(jì)算效率的目的。沒有進(jìn)行優(yōu)化前使用的硬件資源(solution1)遠(yuǎn)低于使用unroll優(yōu)化(solution2)后使用的硬件資源數(shù)量。隨著集成電路制造工藝的發(fā)展,在單片F(xiàn)PGA上已經(jīng)能夠集成大量的硬件資源,所以在硬件上進(jìn)行加速設(shè)計(jì)已經(jīng)完全可行??梢酝ㄟ^同樣的步驟做最大池化IP核,如圖2所示。設(shè)計(jì)好IP核之后就可以通過Vivado中的BlockDesign進(jìn)行整體的電路設(shè)計(jì)。將設(shè)計(jì)好的電路通過軟件生成bit文件和tcl文件,再將bit文件、tcl文件和hwh文件改為相同的文件名,放到PYNQ-Z2的文件夾中即可使用。

3軟件設(shè)計(jì)

LFW人臉數(shù)據(jù)庫(kù)[5]是設(shè)計(jì)用于人臉識(shí)別問題的人臉照片數(shù)據(jù)庫(kù)。這個(gè)數(shù)據(jù)庫(kù)里面的圖像是RGB彩色圖像。本實(shí)驗(yàn)設(shè)計(jì)可以使用LFW人臉數(shù)據(jù)庫(kù),也可以采集自己、同學(xué)等人臉照片進(jìn)行識(shí)別訓(xùn)練。由于數(shù)據(jù)集不只是包含人臉數(shù)據(jù),還包括身體等很多背景,所以需要對(duì)數(shù)據(jù)集中的圖像進(jìn)行篩選,首先提取出人臉部分,再進(jìn)行隨機(jī)旋轉(zhuǎn)、翻轉(zhuǎn)等幾何變換,以增大訓(xùn)練集。現(xiàn)在流行的卷積神經(jīng)網(wǎng)絡(luò)算法如圖3所示。學(xué)生可以選擇AlexNet網(wǎng)絡(luò)模型,注意網(wǎng)絡(luò)參數(shù)數(shù)量要適應(yīng)PYNQ-Z2的內(nèi)存空間大小。例如表1模型參數(shù)雖然可以滿足訓(xùn)練要求,但是在移植到PYNQ-Z2開發(fā)板上時(shí),由于參數(shù)數(shù)量太多,開發(fā)板的緩存根本裝不下,但是在AlexNet模型上刪減使用的卷積核數(shù)量,又會(huì)使訓(xùn)練效果不理想,準(zhǔn)確率低,所以大家要考慮如何選擇模型參數(shù)。例如可以降低最后一層的輸出種類數(shù),即將人臉識(shí)別的結(jié)果分為正確和錯(cuò)誤兩種,可以使正確率大大增加。如圖4所示,是以LFW數(shù)據(jù)集作為訓(xùn)練集、訓(xùn)練的結(jié)果。從圖4中可以看出,隨著訓(xùn)練次數(shù)的增加準(zhǔn)確率在逐漸增加,采用二值結(jié)果,最后訓(xùn)練得到的模型準(zhǔn)確率可達(dá)97%以上。但由于卷積核的數(shù)量越多,計(jì)算量就越大,相應(yīng)的程序運(yùn)行時(shí)間就越長(zhǎng),可以通過降低卷積核的數(shù)量來提高運(yùn)行速度。表2是降低卷積核數(shù)量后的模型參數(shù)。按照表2參數(shù)訓(xùn)練情況如圖5所示,在圖中可以看到訓(xùn)練的準(zhǔn)確率在訓(xùn)練的第15次就穩(wěn)定在了98%以上,盡管訓(xùn)練時(shí)間有所延長(zhǎng),但程序運(yùn)行時(shí)間僅為按照表1參數(shù)的七分之一。隨著參數(shù)的降低,程序需要運(yùn)行的時(shí)間雖然大幅度減少,但是訓(xùn)練所需要的時(shí)間也成倍增加,訓(xùn)練的準(zhǔn)確率有所降低。要求學(xué)生綜合訓(xùn)練時(shí)間、程序運(yùn)行時(shí)間、準(zhǔn)確率三方面因素,選擇合適的模型參數(shù)進(jìn)行訓(xùn)練和測(cè)試。

4系統(tǒng)測(cè)試

可以在程序中設(shè)定檢測(cè)到非人臉圖片時(shí),提示不是人臉,跳過人臉識(shí)別步驟,直接輸出結(jié)果,不是人臉,結(jié)束識(shí)別任務(wù)??梢葬槍?duì)所給出的前三種訓(xùn)練的模型進(jìn)行人臉識(shí)別測(cè)試,當(dāng)然也可以自己重新修改模型參數(shù),找到最優(yōu)模型。對(duì)比在什么情況下,識(shí)別效果最好。下面僅給出使用模型參數(shù)一對(duì)數(shù)據(jù)庫(kù)中一幅圖片進(jìn)行識(shí)別的結(jié)果,要求學(xué)生自己進(jìn)行其他圖像或者自拍照片進(jìn)行人臉識(shí)別。

5結(jié)論

本實(shí)驗(yàn)設(shè)計(jì)采用協(xié)同異構(gòu)的方法,在PYNQ上利用FPGA設(shè)計(jì)卷積IP核和池化IP核等硬件電路,利用開發(fā)板中的ARM部分調(diào)用硬件電路逐層搭建卷積神經(jīng)網(wǎng)絡(luò),最終實(shí)現(xiàn)人臉識(shí)別設(shè)計(jì),使學(xué)生對(duì)FPGA的認(rèn)識(shí)從數(shù)字系統(tǒng)設(shè)計(jì)轉(zhuǎn)變到人工智能領(lǐng)域設(shè)計(jì)。

作者:韓力英 寧欣波 單位:河北工業(yè)大學(xué)電子信息工程學(xué)院

免责声明

本站为第三方开放式学习交流平台,所有内容均为用户上传,仅供参考,不代表本站立场。若内容不实请联系在线客服删除,服务时间:8:00~21:00。

AI写作,高效原创

在线指导,快速准确,满意为止

立即体验
文秘服务 AI帮写作 润色服务 论文发表