《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于深度學習的實時識別硬件系統框架設計
基于深度學習的實時識別硬件系統框架設計
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亚洲国产精品_日韩亚洲一区二区
在线看片成人| 亚洲影院色在线观看免费| 国产精品成人aaaaa网站| 一区免费视频| 国产三级欧美三级| 国产欧美一区二区精品忘忧草| 欧美另类在线播放| 亚洲永久精品国产| 在线亚洲一区二区| 99在线观看免费视频精品观看| 亚洲国产欧美一区| 亚洲黄色毛片| 最新日韩av| 亚洲精品欧洲| 日韩网站免费观看| avtt综合网| 亚洲先锋成人| 午夜免费电影一区在线观看| 亚洲欧美另类在线观看| 午夜精品久久久久| 欧美在线日韩在线| 久久精品国产91精品亚洲| 亚洲二区视频在线| 亚洲高清不卡在线| 亚洲肉体裸体xxxx137| 日韩亚洲欧美综合| 亚洲一区欧美激情| 亚洲欧美日韩国产综合精品二区 | 销魂美女一区二区三区视频在线| 午夜精品成人在线| 久久精品视频va| 亚洲免费黄色| 亚洲欧美日韩天堂| 久久精品亚洲热| 蜜臀91精品一区二区三区| 欧美激情第五页| 国产精品国产亚洲精品看不卡15| 国产免费成人在线视频| 激情文学综合丁香| 亚洲精品永久免费| 亚洲欧美日韩精品久久| 亚洲电影免费在线观看| 亚洲最黄网站| 欧美中文字幕在线观看| 欧美大尺度在线| 国产精品日韩在线播放| 精品动漫3d一区二区三区免费版 | 99视频精品全部免费在线| 亚洲欧美大片| 噜噜噜91成人网| 国产精品v亚洲精品v日韩精品| 国产欧美一区二区精品性| 精品动漫3d一区二区三区免费| 亚洲乱码精品一二三四区日韩在线| 亚洲影院免费观看| 亚洲激情欧美| 亚洲欧美在线免费| 女女同性精品视频| 国产精品色一区二区三区| 伊人激情综合| 亚洲午夜在线观看| 亚洲精品影院| 久久爱www.| 欧美日韩美女在线| 国产日韩精品入口| 亚洲精品日韩在线| 久久成人一区| 亚洲综合色激情五月| 免费观看在线综合色| 国产精品普通话对白| 亚洲国产精品久久久久秋霞蜜臀| 亚洲在线观看免费| 日韩亚洲欧美精品| 久久婷婷人人澡人人喊人人爽| 欧美日韩亚洲精品内裤| 国自产拍偷拍福利精品免费一| 一本色道88久久加勒比精品| 亚洲高清视频的网址| 性欧美videos另类喷潮| 欧美美女操人视频| 在线观看精品一区| 午夜精品一区二区三区在线播放| 99re亚洲国产精品| 猫咪成人在线观看| 国产日韩欧美在线播放不卡| 亚洲美女区一区| 亚洲激情一区二区| 久久久久国产免费免费| 国产精品久久久久久妇女6080 | 亚洲国产天堂久久综合网| 先锋资源久久| 亚洲欧美日韩网| 欧美日韩精品一区二区三区| 在线播放国产一区中文字幕剧情欧美| 亚洲免费在线播放| 亚洲一区二区三区免费观看| 欧美劲爆第一页| 亚洲丁香婷深爱综合| 亚洲成色777777在线观看影院| 欧美一级视频精品观看| 国产精品国产三级欧美二区| 日韩亚洲欧美高清| 一区二区国产在线观看| 嫩草国产精品入口| 在线观看日韩一区| 亚洲电影下载| 开心色5月久久精品| 国产一区在线播放| 先锋影音一区二区三区| 香蕉乱码成人久久天堂爱免费 | 亚洲欧美99| 欧美视频四区| 99re热这里只有精品视频| 一区二区日韩免费看| 欧美女同在线视频| 亚洲精品中文字幕女同| 亚洲精品午夜| 欧美激情一二区| 亚洲日本va午夜在线影院| 亚洲三级影院| 欧美精品麻豆| 日韩一级精品| 亚洲综合电影| 国产精品综合| 欧美一区二区免费视频| 久久精品一区蜜桃臀影院| 国产日韩视频| 久久精品麻豆| 欧美电影免费| 亚洲精品一区二区三区婷婷月 | 欧美性猛交99久久久久99按摩| 99视频+国产日韩欧美| 亚洲一区影院| 国产欧美精品一区| 欧美主播一区二区三区| 卡一卡二国产精品| 91久久国产综合久久| 一区二区三区国产盗摄| 国产精品av免费在线观看 | 香蕉免费一区二区三区在线观看| 久久国产精品久久精品国产| 黄网站免费久久| 亚洲人成网站在线观看播放| 欧美精品www| 一本色道久久综合精品竹菊| 亚洲综合视频一区| 国产亚洲欧洲| 亚洲精品自在久久| 欧美性色综合| 久久se精品一区精品二区| 免费亚洲婷婷| 99国产一区二区三精品乱码| 亚洲欧美国产毛片在线| 国内精品久久久| 亚洲美女毛片| 国产欧美va欧美va香蕉在| 亚洲国产91色在线| 欧美日韩国产成人在线| 亚洲自拍偷拍麻豆| 久热成人在线视频| 亚洲美女少妇无套啪啪呻吟| 欧美一区二区免费视频| 亚洲电影毛片| 午夜精品久久久久久久蜜桃app | 亚洲小说欧美另类社区| 国产日韩亚洲| 9久草视频在线视频精品| 国产精品一香蕉国产线看观看| 亚洲高清不卡在线| 欧美色网一区二区| 欧美专区在线观看| 欧美日韩中文字幕在线视频| 欧美一区二区三区在线视频| 欧美国产日产韩国视频| 亚洲免费在线播放| 欧美激情一区二区久久久| 午夜一区二区三区在线观看| 欧美激情视频在线播放 | 欧美日韩国产在线一区| 性久久久久久| 欧美日韩第一页| 久久精品一本久久99精品| 欧美午夜在线视频| 亚洲人成在线播放网站岛国| 国产女优一区| 亚洲图中文字幕| 在线免费精品视频| 欧美中日韩免费视频| 亚洲美女视频| 欧美不卡一卡二卡免费版| 亚洲一区日韩在线| 欧美日韩精品| 亚洲电影免费观看高清完整版| 国产精品久久久久免费a∨| 亚洲日本免费| 好吊视频一区二区三区四区| 午夜精品一区二区三区在线视| 亚洲激情视频在线观看| 久久嫩草精品久久久精品一| 亚洲一区999|