《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于深度學習的實時識別硬件系統框架設計
基于深度學習的實時識別硬件系統框架設計
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亚洲国产精品_日韩亚洲一区二区
国产亚洲毛片| 亚洲激情网站| 欧美久久九九| 麻豆精品精品国产自在97香蕉| 欧美一区二区精品| 亚洲专区一二三| 亚洲网址在线| 亚洲特黄一级片| 亚洲视频日本| 亚洲永久免费观看| 亚洲免费影院| 亚洲欧美日韩精品久久久久| 亚洲综合色视频| 亚洲欧美日韩国产精品| 亚洲夜间福利| 亚洲在线视频免费观看| 亚洲综合视频一区| 性欧美暴力猛交69hd| 欧美一区亚洲| 久久精品一二三| 久久青草欧美一区二区三区| 久久婷婷国产麻豆91天堂| 久久理论片午夜琪琪电影网| 狂野欧美激情性xxxx欧美| 美日韩精品免费观看视频| 欧美r片在线| 欧美日韩播放| 欧美日韩三区四区| 国产精品草草| 国产欧美日韩91| 国模私拍视频一区| 亚洲高清色综合| 亚洲卡通欧美制服中文| 中日韩男男gay无套| 亚洲尤物精选| 久久精品视频导航| 亚洲乱码精品一二三四区日韩在线 | 午夜在线观看免费一区| 欧美一区国产在线| 另类天堂av| 欧美日韩国产综合久久| 国产精品一区二区久激情瑜伽| 国产亚洲精品v| 最新日韩中文字幕| 亚洲永久精品国产| 亚洲国产高潮在线观看| 一本色道久久综合| 欧美一区二区三区久久精品| 久久久午夜精品| 欧美激情五月| 国产精品亚洲不卡a| 精品av久久久久电影| 亚洲精品一二| 欧美一区国产一区| 亚洲精品自在久久| 午夜精品在线看| 蜜桃精品一区二区三区| 国产精品久久精品日日| 激情综合在线| 亚洲天堂偷拍| 亚洲经典一区| 午夜在线精品偷拍| 欧美精品一区二区三区蜜臀| 国产精品午夜春色av| 亚洲二区免费| 香港久久久电影| 99精品99| 久久久久久久网| 欧美日韩免费一区二区三区视频| 国产一区二区丝袜高跟鞋图片 | 欧美中文字幕精品| 欧美极品在线观看| 国产日韩视频一区二区三区| 亚洲精品在线视频| 欧美在线一级va免费观看| 亚洲图色在线| 欧美不卡视频| 国产视频久久久久| 艳女tv在线观看国产一区| 久久精品一区四区| 亚洲欧美日韩国产中文在线| 欧美h视频在线| 国产亚洲一本大道中文在线| 亚洲作爱视频| 日韩网站在线| 免费久久99精品国产| 国产色产综合产在线视频| 99re66热这里只有精品3直播| 亚洲第一区在线| 欧美一区2区三区4区公司二百| 欧美激情四色| 伊人久久综合97精品| 欧美一级淫片aaaaaaa视频| 亚洲永久精品大片| 欧美精品乱码久久久久久按摩| 狠狠爱成人网| 午夜精品一区二区在线观看| 亚洲一区国产精品| 欧美日韩国产在线播放| 亚洲电影在线| 亚洲国产一区在线| 欧美一区二区三区啪啪| 国产精品成av人在线视午夜片| 亚洲欧洲一级| 亚洲日本va午夜在线影院| 久久中文字幕导航| 韩国成人精品a∨在线观看| 亚洲欧美国产精品va在线观看| 亚洲天堂av图片| 欧美日韩不卡一区| 亚洲免费成人| 一区二区高清| 欧美日韩国产专区| 亚洲免费黄色| 一区二区欧美在线观看| 欧美看片网站| 亚洲毛片在线| 一区二区三区免费观看| 欧美区在线观看| 亚洲美女毛片| 亚洲小视频在线| 国产精品观看| 亚洲一区三区电影在线观看| 亚洲欧美一区二区精品久久久| 国产精品激情偷乱一区二区∴| 一区二区免费看| 亚洲影院在线| 国产麻豆成人精品| 欧美一区二区大片| 巨乳诱惑日韩免费av| 136国产福利精品导航网址| 亚洲欧洲精品一区二区三区| 欧美国产专区| 夜夜嗨av一区二区三区四区| 亚洲影视中文字幕| 国产美女精品| 久久精品国产精品亚洲精品| 久久这里有精品15一区二区三区| 极品尤物av久久免费看 | 欧美一区二区三区四区在线观看地址| 国产精品一区二区视频| 欧美伊久线香蕉线新在线| 久久琪琪电影院| 最新国产精品拍自在线播放| 亚洲私拍自拍| 国产日韩欧美黄色| 久久精品色图| 欧美精品乱码久久久久久按摩| 一区二区三区国产盗摄| 欧美一区久久| 永久91嫩草亚洲精品人人| 亚洲精选在线| 香蕉av777xxx色综合一区| 好吊色欧美一区二区三区四区| 亚洲人成网站999久久久综合| 欧美日韩精品免费 | 一区二区成人精品| 国产精品男人爽免费视频1| 欧美影院一区| 欧美老女人xx| 午夜在线观看免费一区| 另类综合日韩欧美亚洲| 日韩午夜三级在线| 欧美一区二区三区四区夜夜大片 | 欧美日韩国产大片| 亚洲欧美日韩一区二区在线| 免费在线国产精品| 一区二区三区偷拍| 久热精品在线| 亚洲无毛电影| 女人香蕉久久**毛片精品| 亚洲午夜电影| 亚洲视频导航| 狠狠综合久久| 亚洲一区bb| 激情欧美一区二区| 亚洲永久字幕| 永久久久久久| 午夜国产精品视频| 亚洲高清免费| 欧美一区二区三区在| 最新高清无码专区| 久久国产一二区| 99视频一区二区三区| 久久久久久综合| 日韩午夜在线观看视频| 久久精品视频网| 一二三四社区欧美黄| 免费黄网站欧美| 亚洲综合三区| 欧美理论电影在线观看| 欧美亚洲一区| 欧美性色aⅴ视频一区日韩精品| 亚洲第一主播视频| 国产精品社区| 一区二区三区视频在线播放| 一区二区三区在线视频免费观看 | 国产精品久久久久毛片软件 | 亚洲激情不卡| 久久国产一区二区|