《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于深度學習的實時識別硬件系統框架設計
基于深度學習的實時識別硬件系統框架設計
2018年電子技術應用第10期
王 昆,周 驊
貴州大學 大數據與信息工程學院,貴州 貴陽550025
摘要: 設計了一種基于深度學習的實時識別硬件系統框架。該系統框架使用Keras完成卷積神經網絡模型的訓練并提取出網絡的參數,利用ZYNQ器件的FPGA+ARM軟硬件協同的方式,使用ARM完成對實時圖像數據的采集、預處理及顯示,通過FPGA實現卷積神經網絡的硬化并對圖像進行識別,再將識別結果發送至上位機進行實時顯示。系統框架采用MNIST和Fashion MNIST數據集作為網絡模型硬化試驗樣本,實驗結果表明,在一般場景下該系統框架能夠實時、準確地完成圖像數據的獲取、顯示及識別,并且具有可移植性高、處理速度快、功耗低的特點。
中圖分類號: TP391
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.182417
中文引用格式: 王昆,周驊. 基于深度學習的實時識別硬件系統框架設計[J].電子技術應用,2018,44(10):11-14.
英文引用格式: Wang Kun,Zhou Hua. Design of real-time recognition hardware system framework based on deep learning[J]. Application of Electronic Technique,2018,44(10):11-14.
Design of real-time recognition hardware system framework based on deep learning
Wang Kun,Zhou Hua
College of Big Data and Information Engineering,Guizhou University,Guiyang 550025,China
Abstract: This paper designs a real-time recognition hardware system framework based on deep learning. The system framework uses Keras to complete the training of the convolutional neural network model and extracts the parameters of the network. Using the FPGA+ARM software and hardware coordination method of the ZYNQ device, ARM was used to complete the acquisition, preprocessing and display of real-time image data. Through the FPGA,the hardening of the convolutional neural network is performed and the image is recognized, and the recognition result is sent to the upper computer for real-time display. The system framework uses MNIST and Fashion MNIST data sets as network model hardening test samples. The experimental results show that the system framework can display and identify image data in real time and accurately under the general scene. And it has the characteristics of high portability, fast processing speed and low power consumption.
Key words : deep learning; CNN; ZYNQ; hardware-software-collaborative

0 引言

    近年來隨著深度學習的迅速發展[1-3]卷積神經網絡(Convolutional Neural Network)被廣泛使用[4-5],特別是在圖像識別場景中的應用[6-7]。為滿足更多場景應用,需要設計出一種能夠根據實際場景需求可替換不同CNN網絡模型的系統框架。雖然CNN的使用廣泛,但是目前應用CNN的硬件平臺主要是通過普通處理器CPU來實現的[8-9],其電路架構并不適合作為CNN實現的計算平臺,因為CNN當中的模型結構,其內部的每層卷積運算都只與當前卷積層的卷積核相關,與其他層的運算是互相獨立的,所以CNN的結構是一種并行的,使得CPU整體的計算效率較低。而現場可編程門陣列(FPGA)作為一種高度密集型計算加速器件,具有可重配置特性,利用硬件描述語言完成相關結構設計實現,因此可使用FPGA的硬件結構特性實現CNN的計算加速。

    ZYNQ是Xilinx公司設計的一種FPGA+ARM的芯片,該芯片通過使用AXI總線互聯技術將FPGA與ARM整合在一起,從而可充分發揮出兩種器件結構的優勢。

    本文使用ZYNQ作為實現平臺,采用軟硬件協同的方式,通過ARM完成輸入圖像數據的實時采集、存儲和顯示,利用FPGA的硬件電路特性完成卷積神經網絡的硬化實現,設計出了一種基于深度學習的實時識別硬件系統框架,從而可根據實際需求選擇合適的網絡模型。為了驗證系統硬件框架設計的功能性,本文采用MNIST和Fashion MNIST數據集訓練的兩個CNN網絡模型作為系統框架的功能驗證。整體系統框架結構如圖1所示。

rgzd3-t1.gif

1 圖像采集存儲及顯示

1.1 圖像采集存儲

    系統設計使用OV7670 CMOS攝像頭進行系統視頻圖像數據的實時獲取,并且將其分辨率配置為320像素×240像素,輸出數據為RGB565色彩格式。由于不同模塊之間的工作時鐘不同,因此需要根據圖像采集模塊的控制信號和攝像頭的時鐘信號,將采集到的實時視頻數據流存儲至雙口FIFO中進行跨時鐘域處理,然后通過數據總線將圖像數據存儲在ZYNQ的雙端口的BRAM當中,從而使得整個系統能夠對采集的圖像數據進行讀取和處理。

1.2 圖像顯示

    系統框架設計中使用ILI9341作為控制芯片,分辨率為320×240的2.8寸TFT顯示屏作為視頻圖像數據的輸出顯示,然后通過SPI總線接口協議完成對攝像頭模塊獲取到的每一幀圖像數據進行發送傳輸。圖像顯示模塊通過數據總線將TFT顯示屏的ILI9341控制模塊連接在雙端口的BRAM上,根據雙口BRAM當中的存儲數據量進行圖像數據的高速讀取,將讀取到的圖像數據存儲至雙口FIFO當中進行存儲及讀取,從而實現將攝像頭采集的視頻圖像數據進行顯示。同時根據CNN網絡模型的幀控制信號及運算完成控制信號,將圖像數據讀取至CNN網絡模型當中進行運算識別,識別完成后也將運算結果更新至雙端口FIFO進行結果輸出顯示。

2 卷積神經網絡硬件設計及實現

    系統框架中的可替換網絡模塊設計實現了兩個結構一致的CNN網絡模型,其結構如圖2所示,該CNN網絡模型結構由1個輸入層、6個卷積層、3個池化層、1個全連接層和 1個輸出層共12層構成。

rgzd3-t2.gif

    其中第1層、第12層為輸入層和輸出層。輸入層完成經過預處理調整后的一幀圖像數據輸入,由于用來驗證系統框架設計的兩種訓練數據集為MNIST和Fashion MNIST數據集,因此網絡的輸入層均為28×28的窗口,輸入數據為784個。輸出層連接的權重個數為16×11=176個,輸出結果為11種,其中一種為無效。

    第2、3、5、6、8、9層均為卷積層。輸出特征圖的個數分別為4、4、8、8、16、16個,每層卷積核大小為3×3,移動步長均為1,并且卷積運算結果的圖像尺寸大小與輸入圖像一致,激活函數選擇便于硬件實現的ReLU作為激活函數且無偏置,每一層的參數分別為:

    第2層:權重為3×3×4=36個

    第3層:權重為3×3×4×4=144個

    第5層:權重為3×3×4×8=288個

    第6層:權重為3×3×8×8=576個

    第8層:權重為3×3×8×16=1 152個

    第9層:權重為3×3×16×16=2 304個

    因此整個卷積層總共有4 500個參數。

    第4、7、10層為池化層。在池化層也采用卷積運算,卷積核大小為2×2,使用最大池化方法。

2.1 網絡模型參數

    根據設定的網絡結構及選用的方法,通過使用Keras深度學習庫的函數式模型來進行CNN整體網絡結構的搭建,同時將網絡的學習率設置為0.001,選擇隨機梯度下降法SGD作為學習方法,經過130次迭代訓練后完成兩種CNN網絡模型的建立,并且將訓練好的網絡模型參數進行存儲。最終建立的整體網絡性能如圖3所示,可以看出隨著迭代次數的增加,網絡的性能逐漸提升,并經過測試后,CNN網絡的整體精度可以達到97.14%,其性能基本能夠滿足實際應用的需要。

rgzd3-t3.gif

    由于FPGA本身并不適合進行浮點運算,因此為了實現FPGA的網絡硬化,必須將所生成的網絡模型參數

    進行定點數處理,但因為所生成的網絡模型參數數值范圍較大,會使得定點數所需位數較多從而消耗大量的硬件邏輯資源,所以本文首先對網絡模型中的權值參數進行歸一化處理,然后尋找出最優定點數表示的位數使得權值參數所需位數最小且不影響整體網絡的精度。通過Python讀取網絡參數并進行最優尋找后系統設計使用12位位寬進行定點數表示,并將轉換后網絡模型的權值參數按照一定的順序存儲至片內BRAM中。

2.2 卷積層硬件實現

    在系統框架設計的卷積層中,為了實現卷積運算,需要將BRAM中存儲的圖像數據進行緩沖處理。因為要進行卷積運算,其過程是將輸入的每一幀圖像數據與每一層所對應卷積層的卷積核Kernel所重疊的部分進行對位相乘相加,所以必須使得輸入的數據與卷積核的大小相匹配。在系統設計中利用移位寄存器(Shift Register)來實現對圖像數據的緩沖處理,通過移位寄存器能夠將BRAM當中的圖像數據進行緩存處理并且能夠進行移位操作,使得圖像數據與對應的卷積核進行對位卷積運算。由于設計中的輸出圖像與輸入圖像數據大小一致,因此還需要對輸入圖像數據進行填充操作以保證輸出后的特征圖大小保持不變,且通過移位寄存器使得系統能夠在運行時實現單周期的卷積運算,提升了系統的計算效率。當卷積運算完成后還需要經過激活函數,系統設計中使用了ReLU函數作為輸出激活函數,該函數的輸出取決于輸入數值大小,當輸入數值大于零時輸出原輸入值,小于零時輸出零,因此硬件容易實現,系統中使用比較器實現激活函數,從而完成卷積層的計算,進而提取當前層的輸入圖像特征。

2.3 卷積層運算并行優化

    由于整個CNN網絡模型中的每個計算模塊是互不相關且獨立的,充分體現出了其結構能夠進行并行運算的特性,尤其是在進行卷積運算時,而FPGA本身的硬件電路結構,也使其具有進行并行運算的特點。因此在整體系統框架設計中均采用了并行化的實現方法,框架設計中為每個卷積層的卷積核進行了卷積核組的設定,根據特征圖輸入和運算后特征輸出的個數來確定卷積核組的數量,來并行地對設定的每個卷積核組進行卷積運算,獲取輸入圖特征。因為系統框架設計中對池化層中的最大采樣也采用了卷積運算來完成,所以本系統框架設計能夠實現單時鐘周期528次卷積運算,與普通CPU的運算時間相比較,本系統框架的計算效率得到了明顯提高。系統框架卷積運算優化設計具體結構如圖4所示。

rgzd3-t4.gif

    圖4中xi為特征數據輸入,wij分別是卷積核組中的不同卷積核權值,ki為不同的卷積核組,ci為特征數據輸出。

2.4 Softmax函數分類器

    輸入圖像數據通過整體網絡中的卷積層和采樣層計算后完成對輸入圖像數據的特征提取,然后還需要將其與最后的輸出層進行全連接才能最終獲取圖像數據的分類結果。系統框架設計中使用了Softmax函數作為分類器來實現對圖像數據的分類結果輸出。由于Softmax函數的概率分布計算是通過指數運算得出的,且概率分布的計算結果為浮點數,而FPGA本身的硬件結構會使指數計算耗費較長時間,因此設計中通過查表法將計算后的指數運算結果存儲至BRAM當中,然后根據輸入圖像數據的特征值作為地址來查找所對應的指數結果。當一幀輸入圖像數據經過CNN網絡模塊計算識別后,將結果更新至顯示模塊的BRAM當中,并且也會通過藍牙控制模塊同時將結果發送至上位機進行識別結果顯示。

3 系統測試與分析

    系統設計中的具體硬件使用Xilinx公司的ZYNQ-7000 xc7z010clg400-1芯片作為試驗平臺,該芯片內部擁有28k個邏輯單元,2.1 Mb的嵌入式存儲器,80個嵌入式乘法器,片內資源較為豐富,基本能夠滿足系統框架中的CNN模型硬件設計所需要的資源。CPU軟件訓練平臺使用Core i7-8700k處理器,主頻為3.4 GHz。使用Vivado 2018.1開發工具完成整個硬件平臺工程。

    測試過程中,分別使用對應MNIST和Fashion MNIST數據集的測試樣本進行實際測試,通過攝像頭對200個20種類別的圖像數據進行實時視頻采集、顯示及識別,部分測試結果如圖5所示。

rgzd3-t5.gif

    可以看出整個系統框架設計能夠完成對圖像數據的實時采集和顯示,同時可根據實際需要替換不同的CNN網絡模型且均能夠實現對結果的正確識別,從而實現了多場景下的需求并增加了一定的靈活性。

    系統框架設計中主要的硬件資源消耗及功耗估算如表1所示。

rgzd3-b1.gif

    系統設計因為中使用了大量的BRAM和FIFO進行權值數據與圖像數據的存儲,使得BRAM的硬件邏輯資源消耗較多,但可以看出實驗所用使用的ZYNQ器件基本能夠滿足本文所設計的系統框架。

4 結論

    本文設計了一種基于深度學習的實時識別硬件系統框架,采用軟硬件協同的方式,利用ZYNQ中的ARM部分實現了對圖像數據的采集及顯示,通過FPGA部分實現了CNN網絡模型的硬件設計,并對整個卷積層進行了并行運算優化,使得整個系統能夠在單時鐘周期內同時處理所有卷積層中的528次卷積運算,提升了運算速度。實驗結果表明,該系統框架能夠根據不同的場景應用需求選擇適合的CNN網絡模型進行圖像實時采集、顯示與準確識別,結合ZYNQ器件中高度模塊化設計使得整個系統框架具有移植性高的特性,且系統整體運行時識別速度快、所需功耗低。

參考文獻

[1] Pei Jifang,Huang Yulin,Huo Weibo,et al.SAR automatic target recognition based on multiview deep learning framework[J].IEEE Transactions on Geoscience and Remote Sensing,2018,56(4):2196-2210.

[2] LECUN Y,BENGIO Y,HINTON G.Deep learning[J].Nature,2015,521(7553):436-444.

[3] 朱虎明,李佩焦,李成,等.深度神經網絡并行化研究綜述[J].計算機學報,2018,41(2):1-23.

[4] 王海,蔡英鳳,賈允毅,等.基于深度卷積神經網絡的場景自適應道路分割算法[J].電子與信息學報,2017,39(2):263-269.

[5] 蔣兆軍,成孝剛,彭雅琴,等.基于深度學習的無人機識別算法研究[J].電子技術應用,2017,43(7):84-87.

[6] 許少尉,陳思宇.基于深度學習的圖像分類方法[J].電子技術應用,2018,44(6):116-119.

[7] 胡振,傅昆,張長水.基于深度學習的作曲家分類問題[J].計算機研究與發展,2014,51(9):1945-1954.

[8] 張榜,來金梅.一種基于FPGA的卷積神經網絡加速器的設計與實現[J].復旦學報(自然科學版),2018,57(2):236-242.

[9] 周飛燕,金林鵬,董軍.卷積神經網絡研究綜述[J].計算機學報,2017,40(6):1229-1251.



作者信息:

王  昆,周  驊

(貴州大學 大數據與信息工程學院,貴州 貴陽550025)

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美亚洲一区二区在线| 亚洲国产精彩中文乱码av在线播放| 国产欧美1区2区3区| 欧美日韩精品一区| 欧美精品1区| 欧美韩日一区二区三区| 久久夜色精品国产欧美乱| 久久精品噜噜噜成人av农村| 欧美诱惑福利视频| 午夜精品影院在线观看| 亚洲欧美日韩精品久久奇米色影视| 一本色道久久综合亚洲精品高清 | 欧美综合二区| 欧美一区二区三区在线观看| 欧美亚洲在线观看| 欧美在线一二三| 久久精彩视频| 91久久久精品| 日韩网站在线观看| 亚洲视频导航| 亚洲一区视频| 欧美一区二区在线看| 欧美专区亚洲专区| 久久黄色影院| 亚洲午夜在线视频| 国产日韩精品一区二区三区在线| 国产精品欧美日韩一区| 国产精品欧美日韩久久| 国产亚洲激情视频在线| 韩日欧美一区二区| 亚洲国产欧美久久| 日韩午夜免费| 亚洲影院色在线观看免费| 亚洲欧美国产va在线影院| 欧美一区二区三区视频在线观看 | 亚洲欧美久久久久一区二区三区| 亚洲欧美综合v| 久久精品123| 日韩系列欧美系列| 亚洲免费在线观看视频| 欧美自拍丝袜亚洲| 欧美gay视频激情| 欧美日韩一区二区国产| 国产精品免费观看视频| 狠狠狠色丁香婷婷综合激情| 亚洲日本中文字幕区| 在线一区亚洲| 久久9热精品视频| 99视频精品| 香蕉久久国产| 久热精品视频在线| 欧美日韩国产探花| 国产女人aaa级久久久级| 在线免费高清一区二区三区| 99精品视频免费观看视频| 亚洲欧美怡红院| 亚洲另类自拍| 欧美在线免费观看| 欧美福利视频一区| 国产精品欧美一区二区三区奶水| 国内外成人免费激情在线视频 | 午夜精品久久久99热福利| 亚洲区国产区| 欧美一区二区三区电影在线观看| 欧美sm视频| 国产欧美一区二区三区国产幕精品 | 91久久综合| 午夜精品久久久久久久男人的天堂| 亚洲国产精品一区制服丝袜 | 欧美亚洲三级| 欧美日韩高清在线一区| 国产日韩欧美在线视频观看| 洋洋av久久久久久久一区| 欧美一区二区三区播放老司机 | 国产欧美短视频| 91久久精品网| 欧美在线免费一级片| 亚洲一区二区三区精品视频| 免费不卡亚洲欧美| 国产精品资源| 一区二区日韩精品| 亚洲精品老司机| 久久噜噜亚洲综合| 国产精品免费电影| 99re热这里只有精品免费视频| 亚洲国产成人在线| 欧美亚洲三区| 国产精品久久久久久久久搜平片| 亚洲国产精品v| 久久爱www| 欧美尤物一区| 国产精品久久久免费| 亚洲卡通欧美制服中文| 亚洲欧洲日本国产| 久久久激情视频| 国产欧美日韩激情| 亚洲私人影院| 亚洲午夜激情网站| 欧美日韩日日骚| 亚洲乱码日产精品bd| 亚洲欧洲综合| 欧美成人久久| 在线日韩日本国产亚洲| 欧美专区在线观看一区| 欧美一区二区在线视频| 国产精品免费电影| 中文日韩在线视频| 中文精品视频| 欧美日韩亚洲一区二| 亚洲日本中文| 亚洲精品久久嫩草网站秘色 | 欧美综合二区| 久久久久这里只有精品| 国产一区二区中文| 久久99伊人| 久色婷婷小香蕉久久| 国内自拍视频一区二区三区| 欧美一区国产二区| 久久蜜桃精品| 在线观看国产日韩| 亚洲人成人一区二区在线观看| 老司机精品久久| 亚洲国产99精品国自产| 日韩午夜在线电影| 欧美日韩极品在线观看一区| 99热在这里有精品免费| 亚洲一区免费网站| 国产精品任我爽爆在线播放| 亚洲伊人久久综合| 久久99伊人| 久久久噜噜噜久久中文字免| 猫咪成人在线观看| 亚洲福利电影| 日韩视频在线免费| 欧美日韩日日骚| 亚洲性夜色噜噜噜7777| 欧美亚洲一区三区| 国产欧美一区视频| 久久国产乱子精品免费女| 久热精品视频| 亚洲精品美女久久久久| 亚洲一区影音先锋| 国产欧美在线视频| 久久精品视频在线免费观看| 欧美国产欧美综合| 在线视频欧美日韩精品| 欧美伊人精品成人久久综合97| 国产视频亚洲精品| 最新亚洲视频| 国产精品电影在线观看| 香蕉久久精品日日躁夜夜躁| 蜜臀av性久久久久蜜臀aⅴ四虎| 亚洲激情在线播放| 亚洲一区在线免费| 国产三级欧美三级日产三级99| 亚洲丰满在线| 欧美日韩一区二区在线| 午夜精品久久| 欧美国产日韩精品免费观看| 亚洲午夜一区二区三区| 久久久99精品免费观看不卡| 亚洲黄网站黄| 午夜欧美大片免费观看 | 久久成人精品视频| 欧美激情在线| 亚洲综合电影一区二区三区| 久久综合狠狠| 正在播放亚洲一区| 久久综合久色欧美综合狠狠| 夜夜嗨av一区二区三区中文字幕| 欧美自拍偷拍午夜视频| 亚洲人成在线播放网站岛国| 欧美亚洲自偷自偷| 亚洲国产精品黑人久久久| 西瓜成人精品人成网站| 亚洲二区精品| 欧美一区免费视频| 亚洲日韩成人| 久久躁狠狠躁夜夜爽| 一区二区三区国产盗摄| 老司机成人在线视频| 亚洲一区影院| 欧美国产视频一区二区| 亚洲欧美日韩一区二区| 欧美理论电影在线播放| 欧美一区影院| 国产精品va在线播放我和闺蜜| 亚洲二区视频在线| 国产精品欧美日韩| 99精品欧美一区二区三区| 国际精品欧美精品| 亚洲欧美在线一区二区| 最新日韩中文字幕| 久久看片网站| 亚洲欧美日韩久久精品| 欧美日韩国产综合视频在线| 亚洲国产精品一区制服丝袜 | 欧美69wwwcom| 先锋影音网一区二区| 欧美午夜精品理论片a级大开眼界 欧美午夜精品理论片a级按摩 |