亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于ZYNQ平臺的卷積神經(jīng)網(wǎng)絡加速器設計與實現(xiàn)

        2024-04-13 06:08:38陳思浩吳黎明彭克錦許志杰
        自動化與信息工程 2024年1期
        關鍵詞:卷積神經(jīng)網(wǎng)絡

        陳思浩 吳黎明 彭克錦 許志杰

        本文引用格式:陳思浩,吳黎明,彭克錦,等.基于ZYNQ平臺的卷積神經(jīng)網(wǎng)絡加速器設計與實現(xiàn)[J].自動化與信息工程,2024, 45(1):30-34.

        CHEN SiHao, WU LiMing, PENG KeJin, et al. Design and implementation of convolutional neural network accelerator based on ZYNQ platform[J]. Automation & Information Engineering, 2024,45(1):30-34.

        摘要:針對卷積神經(jīng)網(wǎng)絡模型規(guī)模較大,以及嵌入式系統(tǒng)計算資源有限的問題,提出一種基于ZYNQ平臺的卷積神經(jīng)網(wǎng)絡加速器設計方案。采用軟硬件協(xié)同設計的原則,首先,在FPGA端設計圖像、參數(shù)輸入模塊;然后,利用FPGA并行計算技術實現(xiàn)卷積層和池化層運算,并通過攝像頭采集手寫數(shù)字圖像與LCD顯示結(jié)果;最后,在嵌入式平臺上實現(xiàn)手寫數(shù)字識別。實驗結(jié)果表明,卷積層和池化層的運算速度比ARM平臺提高了2.68倍。

        關鍵詞:卷積神經(jīng)網(wǎng)絡;ZYNQ平臺;硬件加速;FPGA

        中圖分類號:TN912.3? ? ? ? ? ?文獻標志碼:A? ? ? ? ? ?文章編號:1674-2605(2024)01-0005-05

        DOI:10.3969/j.issn.1674-2605.2024.01.005

        Design and Implementation of Convolutional Neural Network Accelerator Based on ZYNQ Platform

        CHEN Sihao? WU Liming? PENG Kejin? XU Zhijie

        (School of Electromechanical Engineering, Guangdong University of Technology, Guangzhou 510006, China)

        Abstract: A convolutional neural network accelerator design scheme based on the ZYNQ platform is proposed to address the issues of large-scale convolutional neural network models and limited computing resources in embedded systems. Adopting the principle of software hardware collaborative design, first, design image and parameter input modules on the FPGA side; Then, using FPGA parallel computing technology to implement convolutional and pooling layer operations, and capturing handwritten digital images and LCD display results through a camera; Finally, implement handwritten digit recognition on an embedded platform. The experimental results show that the computational speed of the convolutional and pooling layers is 2.68 times faster than that of the ARM platform.

        Keywords: convolutional neural networks; ZYNQ platform; hardware acceleration; FPGA

        0 引言

        隨著人工智能技術的迅速發(fā)展,卷積神經(jīng)網(wǎng)絡(convolutional neural network, CNN)作為一種深度學習模型,廣泛應用于圖像識別[1]、目標檢測[2]和語音處理[3]等領域。然而,傳統(tǒng)的嵌入式系統(tǒng)無法滿足CNN的復雜性和大規(guī)模計算的需求。圖形處理器(graphics processing unit, GPU)雖然可以加速CNN,但其存在體積大、功耗高等問題。為此,研究人員將硬件加速

        器應用于CNN的計算中,以提高其計算性能和能效。因此,在保證性能的前提下,體積更小、功耗更低的硬件平臺成為CNN加速領域的熱門發(fā)展方向[4-7]。

        基于現(xiàn)場可編程門陣列(field-programmable gate array, FPGA)的加速平臺因具有可編程性強、并行計算能力強等特點,成為研究熱點[8-10]。但直接在FPGA上實現(xiàn)CNN計算是一項復雜的任務,需考慮諸多因素,如外設控制、內(nèi)存帶寬、開發(fā)難度和開發(fā)周期等。

        為此,本文提出一種基于ZYNQ平臺的卷積神經(jīng)網(wǎng)絡加速器設計方案,在FPGA端設計加速器模塊,通過攝像頭采集手寫數(shù)字圖像與LCD顯示結(jié)果,實現(xiàn)手寫數(shù)字的識別。該方案根據(jù)軟硬件協(xié)同設計的原則,利用ZYNQ平臺上FPGA的并行計算能力和ARM的通用計算能力,對CNN模型中的卷積層和池化層進行IP核設計,提升了手寫數(shù)字的識別速度。

        1 系統(tǒng)設計

        1.1 系統(tǒng)組成

        硬件系統(tǒng)主要由OV5640攝像頭、FPGA、ARM、LCD顯示屏和DDR存儲器等組成,如圖1所示。

        ZYNQ平臺是硬件系統(tǒng)的核心部分,它集成了FPGA和ARM,通過雙片BRAM(Block RAM)與AXI總線實現(xiàn)PS與PL之間的通信,進而實現(xiàn)嵌入式開發(fā)[11-13]。這種組成方式允許開發(fā)人員在單個芯片上同時運行硬件計算和嵌入式軟件,具有較強的靈活性,可滿足不同應用場景對計算資源和實時性的需求。

        硬件系統(tǒng)運行流程如下:

        1) 在ARM端對OV5640攝像頭進行配置,通過OV5640攝像頭采集手寫數(shù)字圖像;

        2) 手寫數(shù)字圖像傳入FPGA端的OV5640圖像采集IP核,并將8位圖像數(shù)據(jù)拼接為24位圖像數(shù)據(jù);

        3) FPGA端的圖像預處理IP核對24位圖像數(shù)據(jù)進行灰度和二值化處理;

        4) FPGA端的卷積與池化IP核提取手寫數(shù)字圖像特征后,通過AXI總線將池化后的數(shù)據(jù)傳入ARM,進行全連接運算與結(jié)果分類;

        5) 分類結(jié)果顯示在LCD上。

        1.2 CNN結(jié)構(gòu)

        CNN利用了局部連接和參數(shù)重用的特性,其每層都單獨使用一組卷積核,有助于從局部相關數(shù)據(jù)中提取有用的特征[14-17]。CNN主要包括輸入層、卷積層、池化層、全連接層等,結(jié)構(gòu)如圖2所示。

        考慮到嵌入式芯片的計算資源有限,為充分發(fā)揮FPGA端和ARM端的性能,本文對經(jīng)典的CNN結(jié)構(gòu)進行改進,在盡量精簡結(jié)構(gòu)的同時,保留了CNN的卷積層。改進后的CNN結(jié)構(gòu)包含1個卷積層、1個池化層和2個全連接層,以實現(xiàn)手寫數(shù)字的識別。輸出層有10個節(jié)點,每個節(jié)點對應1個手寫數(shù)字,因此改進后的CNN結(jié)構(gòu)沒有使用SoftMax函數(shù)。如果需要部署更復雜的CNN,只需在加速器模塊中導入新的權(quán)重參數(shù),并復用卷積層和池化層IP核即可。

        2 加速器模塊設計

        加速器模塊主要由圖像輸入模塊、參數(shù)輸入模塊、卷積運算模塊和池化運算模塊組成,結(jié)構(gòu)框圖如圖3所示。

        在FPGA上部署神經(jīng)網(wǎng)絡一般采用硬件描述語言(hardware description language, HDL)和高層次綜合(high-level synthesis, HLS)工具兩種方法。雖然傳統(tǒng)的HDL編程耗時比HLS長,但它可以精確定義每個時序硬件電路的行為和功能,能更好地利用FPGA資源。因此,本文采用HDL設計加速器模塊。

        2.1 圖像輸入模塊

        圖像輸入模塊主要由降采樣部分和數(shù)據(jù)存儲單元組成??紤]到采集的手寫數(shù)字圖像需清晰地顯示在800×600像素的LCD上,在輸入卷積運算模塊前,需對其進行降采樣操作。

        根據(jù)卷積層的輸入大小,先對采集的手寫數(shù)字圖像進行倍數(shù)放大,卷積層輸入圖像的大小為28×28像素,將手寫數(shù)字圖像先放大4倍,即圖像大小為112×112像素;再進行降采樣操作,即每隔4個點取1個點,如圖4所示。

        數(shù)據(jù)存儲單元采用BRAM來實現(xiàn)。本文設計一個28 bit的BRAM來存儲手寫數(shù)字圖像數(shù)據(jù)。降采樣后的手寫數(shù)字圖像數(shù)據(jù)以列優(yōu)先的順序?qū)懭隑RAM,每次寫入1個像素點的數(shù)據(jù),即1 bit。

        讀端口和寫端口通過不同的使能信號控制。讀端口的使能信號一直為高電平,可連續(xù)從BRAM中讀取卷積窗口大小的數(shù)據(jù)。讀取數(shù)據(jù)時,一次性讀取一行數(shù)據(jù)的前5個數(shù)據(jù),每次讀取后,數(shù)據(jù)指針向后移動1位,這樣可確保連續(xù)讀取5×5的數(shù)據(jù),滿足卷積計算的需求,如圖5所示。

        寫入數(shù)據(jù)時,通過行計數(shù)器控制寫使能信號,每采集1個像素點,就向BRAM寫入1位數(shù)據(jù)。當BRAM存儲完整圖像的一行數(shù)據(jù)后,再切換至下一行。

        讀寫兩個端口使用不同的地址進行控制,不僅能避免讀寫沖突,還能夠高效地實時讀取BRAM中卷積窗口大小的數(shù)據(jù),為后續(xù)的卷積運算提供數(shù)據(jù)支持。

        2.2? 參數(shù)輸入模塊

        參數(shù)輸入模塊使用6個ROM來存儲卷積層中每個卷積核5×5窗口內(nèi)不同位置的參數(shù)值和偏置值,其存儲方式與圖像輸入模塊存儲圖像數(shù)據(jù)相似。

        2.3 卷積運算模塊

        卷積運算模塊作為實現(xiàn)神經(jīng)網(wǎng)絡前向傳播的核心模塊,利用一維卷積來計算圖像與每個卷積核對應的響應值。其中,每個卷積核對應一個卷積窗口的權(quán)重參數(shù)。卷積運算模塊中包含多個乘累加器,如圖6所示。

        控制單元根據(jù)行計數(shù)和卷積核索引來控制乘累加器的操作。每個乘累加器負責一個卷積核與圖像數(shù)據(jù)矩陣的乘加計算。首先,乘累加器從BRAM和ROM中同步讀取1個圖像數(shù)據(jù)矩陣和相應的卷積核參數(shù);然后,依次將對應的圖像數(shù)據(jù)與卷積核參數(shù)相乘;最后,將結(jié)果相加。一個完整的卷積計算需要連續(xù)讀取5行的圖像數(shù)據(jù)與一個卷積核的5×5參數(shù),共進行25次乘加運算。為提高計算效率,每個乘累加器將25次乘加運算并行化為5次流水線操作,充分利用每個時鐘周期的計算資源,提升了卷積層的計算吞吐量。

        2.4 池化運算模塊

        池化運算模塊采用2×2的池化窗口對每個2×2塊數(shù)據(jù)進行最大值池化。池化運算模塊主要包括比較器和FIFO兩部分,計算過程如圖7所示。

        比較器接收來自卷積運算模塊的2×2塊數(shù)據(jù),每次比較該塊內(nèi)第一組的兩點數(shù)據(jù),輸出最大值,存入FIFO中。當?shù)诙M2×2塊數(shù)據(jù)進入比較器時,將該塊內(nèi)的值與FIFO保存的最大值進行比較,更新最大值。每處理完一組2×2塊數(shù)據(jù)后,輸出的最大值即為該組數(shù)據(jù)池化的結(jié)果。

        為獲得池化結(jié)果的正確順序,需控制比較器和FIFO的讀寫時序。比較器每完成一次2×2塊數(shù)據(jù)的最大值計算后,將結(jié)果立即寫入FIFO,同時FIFO讀端口被使能輸出結(jié)果。讀寫兩端口在不同的時鐘邊沿分別工作,保證數(shù)據(jù)的有序輸出。最后,通過串聯(lián)多個2×2塊數(shù)據(jù)的最大值計算,實現(xiàn)整個輸入特征圖的最大池化。

        池化后的低維特征圖作為ARM后端程序的輸入,經(jīng)過VDMA傳輸?shù)紸RM,提供給全連接層進行? ? 計算。

        3 實驗分析與結(jié)果

        本實驗采用領航者ZYNQ開發(fā)板,其主芯片ZYNQ采用XC7Z020CLG400-2,ARM端采用頻率為666 MHz的雙核Cortex-A9處理器,F(xiàn)PGA端的時鐘頻率為200 MHz,開發(fā)環(huán)境為Vivado2020和Vitis2020。ZYNQ開發(fā)板帶有攝像頭模塊接口和RGB LCD接口??紤]到適合手寫數(shù)字識別的應用場景,開發(fā)了攝像頭和LCD等模塊來模擬真實識別場景。上板驗證效果如圖8所示。

        在開發(fā)工具Vivado2020中,生成器件的資源使用情況報告如表1所示。

        通過多次實驗分析加速器模塊的仿真時序圖,計算卷積與池化運行所需的時間,在Vitis中通過時間獲取函數(shù)得到全連接層的運算時間,即可得到FPGA加速后的CNN運行總時間,并將其與僅在ARM端運行的CNN進行對比,結(jié)果如表2所示。

        由表2可知,相較于僅在ARM端運行的CNN, FPGA加速后的CNN在識別精度損失較小的情況下,網(wǎng)絡運行時間減少了2.68倍。

        4 結(jié)論

        本文基于ZYNQ平臺提出了一種卷積神經(jīng)網(wǎng)絡加速器設計方案。在FPGA端設計了圖像數(shù)據(jù)與參數(shù)數(shù)據(jù)存儲模塊,實現(xiàn)高效的存儲與讀取,為卷積計算提供數(shù)據(jù)支持。采用并行設計的思路實現(xiàn)卷積和最大池化的運算,在保證識別精確度的同時,卷積層和池化層的運行速度提高了2.68倍。與其他神經(jīng)網(wǎng)絡的加速方案相比,該加速方案具有功耗低、體積小、容易部署、通用性強等特點,具有一定的實際應用意義。

        參考文獻

        [1] NARAYAN A, MUTHALAGU R. Image character recognition using convolutional neural networks[C]//2021 Seventh Interna-tional conference on Bio Signals, Images, and Instrumentation (ICBSII). IEEE, 2021:1-5.

        [2] YAN X, SHUAI C, ZHENG H. A Yolov3-based multi-target detection system for complex scenes[C]//2021 2nd International Seminar on Artificial Intelligence, Networking and Information Technology (AINIT). IEEE, 2021:327-332.

        [3] HSU Y, LEE Y, BAI M R. Learning-based personal speech enhancement for teleconferencing by exploiting spatial-spectral features[C]//ICASSP 2022-2022 IEEE International Confe-rence on Acoustics, Speech and Signal Processing (ICASSP). IEEE, 2022:8787-8791.

        [4] USHIROYAMA A, WATANABE M, WATANABE N, et al. Convolutional neural network implementations using Vitis AI [C]//2022 IEEE 12th Annual Computing and Communication Workshop and Conference (CCWC). IEEE, 2022: 0365-0371.

        [5] ADIONO T, SUTISNA N. FPGA based hardware accelerator design for convolution process in convolutional neural network [C]//2021 International Conference on Electrical Engineering and Informatics (ICEEI). IEEE, 2021:1-5.

        [6] XIONG Z M. A survey of FPGA based on graph convolutional neural network accelerator[C]//2020 International Conference on Computer Engineering and Intelligent Control (ICCEIC). IEEE, 2020:92-96.

        [7] LI L, CHEN X, GAO W. Implementation of convolutional neural network accelerator based on ZYNQ[C]//2022 IEEE International Conference on Advances in Electrical Engineering and Computer Applications (AEECA). IEEE, 2022:158-165.

        [8] PISHARODY J N, PRANAV K B, RANJITHA M, et al. FPGA implementation and acceleration of convolutional neural net-works[C]//2021 6th International Conference for Convergence in Technology (I2CT). IEEE, 2021:1-4.

        [9] 江瑜,朱鐵柱,蔣青松,等.基于FPGA的卷積神經(jīng)網(wǎng)絡硬件加速器設計[J].電子器件,2023,46(4):973-977.

        [10] 黃沛昱,趙強,李煜龍.基于FPGA的卷積神經(jīng)網(wǎng)絡硬件加速器設計[J].計算機應用與軟件,2023,40(3):38-44.

        [11] 馮光順,應三叢.ZYNQ的卷積神經(jīng)網(wǎng)絡硬件加速通用平臺設計[J].單片機與嵌入式系統(tǒng)應用,2019,19(3):3-6;9.

        [12] 劉晛,吳瑞琦,高尚尚,等.基于ZYNQ的通用型卷積神經(jīng)網(wǎng)絡設計與實現(xiàn)[J].電子器件,2023,46(1):121-125.

        [13] 繆丹丹,張鵬,張鑫宇,等.基于ZYNQ平臺的通用卷積加速器設計[J].國外電子測量技術,2022,41(11):72-77.

        [14] 季長清,高志勇,秦靜,等.基于卷積神經(jīng)網(wǎng)絡的圖像分類算法綜述[J].計算機應用,2022,42(4):1044-1049.

        [15] 譚亞紅,史耀.完備變分模態(tài)分解和多傳感器卷積神經(jīng)網(wǎng)絡的軸承故障診斷方法[J].機床與液壓,2022,50(14):182-188.

        [16] 劉斌,龍健寧,程方毅,等.基于卷積神經(jīng)網(wǎng)絡的物流貨物圖像分類研究[J].機電工程技術,2021,50(12):79-82;175.

        [17] 許富景,陳長穎,杜少成.基于改進CNN的壓縮感知自然圖像重建方法[J].中國測試,2022,48(9):7-16.

        作者簡介:

        陳思浩,男,1998年生,在讀研究生,主要研究方向:智能測控。E-mail: edwardchenx@foxmail.com

        吳黎明,男,1962年生,碩士,教授,主要研究方向:智能測控。E-mail: jkyjs@gdut.edu.cn

        彭克錦,男,1999年生,在讀研究生,主要研究方向:智能測控。E-mail: 1334152998@qq.com

        許志杰,男,1999年生,在讀研究生,主要研究方向:智能測控。E-mail: 1422411797@qq.com

        猜你喜歡
        卷積神經(jīng)網(wǎng)絡
        基于卷積神經(jīng)網(wǎng)絡溫室智能大棚監(jiān)控系統(tǒng)的研究
        基于深度卷積神經(jīng)網(wǎng)絡的物體識別算法
        深度學習算法應用于巖石圖像處理的可行性研究
        軟件導刊(2016年9期)2016-11-07 22:20:49
        基于深度卷積網(wǎng)絡的人臉年齡分析算法與實現(xiàn)
        軟件工程(2016年8期)2016-10-25 15:47:34
        基于卷積神經(jīng)網(wǎng)絡的樹葉識別的算法的研究
        国产高清成人在线观看视频| 中文无码精品a∨在线观看不卡| 人妻熟女翘屁股中文字幕| 日本少妇又色又爽又高潮| 午夜男女很黄的视频| 精品久久久bbbb人妻| 成人免费无码大片a毛片软件| 天天躁日日躁狠狠躁欧美老妇小说 | 91精品国产综合久久青草| 无码 免费 国产在线观看91| 亚洲一区二区三区美女av| 综合人妻久久一区二区精品| 东京热加勒比国产精品| 国产区一区二区三区性色| 国产护士一区二区三区| 日韩人妖干女同二区三区| 国产精品主播在线一区二区| 少妇性俱乐部纵欲狂欢少妇| 中文字幕在线日亚洲9| 激情综合丁香五月| 久久国产成人精品国产成人亚洲| 精品人妻系列无码人妻免费视频| 国产va在线观看免费| 四虎国产精品免费久久| 日韩高清在线观看永久| 男女真实有遮挡xx00动态图| 欧美日韩a级a| 熟女免费观看一区二区| 免费毛儿一区二区十八岁| 欧美丰满熟妇xxxx性| 日本免费一区二区三区| 亚洲成人福利在线观看| 中文字幕有码高清| 国产一区二区三区免费精品视频| 成午夜福利人试看120秒| 国模丽丽啪啪一区二区| 国产精品_国产精品_k频道w| 色欲av自慰一区二区三区| 精品国产18禁久久久久久久| 国产目拍亚洲精品一区二区| 国产极品美女到高潮视频|