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

        ?

        基于FPGA的MobileNetV1目標(biāo)檢測加速器設(shè)計(jì)

        2025-01-06 00:00:00嚴(yán)飛鄭緒孟川李楚劉銀萍
        現(xiàn)代電子技術(shù) 2025年1期
        關(guān)鍵詞:并行計(jì)算目標(biāo)檢測卷積神經(jīng)網(wǎng)絡(luò)

        摘" 要: 卷積神經(jīng)網(wǎng)絡(luò)是目標(biāo)檢測中的常用算法,但由于卷積神經(jīng)網(wǎng)絡(luò)參數(shù)量和計(jì)算量巨大導(dǎo)致檢測速度慢、功耗高,且難以部署到硬件平臺(tái),故文中提出一種采用CPU與FPGA融合結(jié)構(gòu)實(shí)現(xiàn)MobileNetV1目標(biāo)檢測加速的應(yīng)用方法。首先,通過設(shè)置寬度超參數(shù)和分辨率超參數(shù)以及網(wǎng)絡(luò)參數(shù)定點(diǎn)化來減少網(wǎng)絡(luò)模型的參數(shù)量和計(jì)算量;其次,對(duì)卷積層和批量歸一化層進(jìn)行融合,減少網(wǎng)絡(luò)復(fù)雜性,提升網(wǎng)絡(luò)計(jì)算速度;然后,設(shè)計(jì)一種八通道核間并行卷積計(jì)算引擎,每個(gè)通道利用行緩存乘法和加法樹結(jié)構(gòu)實(shí)現(xiàn)卷積運(yùn)算;最后,利用FPGA并行計(jì)算和流水線結(jié)構(gòu),通過對(duì)此八通道卷積計(jì)算引擎合理的復(fù)用完成三種不同類型的卷積計(jì)算,減少硬件資源使用量、降低功耗。實(shí)驗(yàn)結(jié)果表明,該設(shè)計(jì)可以對(duì)MobileNetV1目標(biāo)檢測進(jìn)行硬件加速,幀率可達(dá)56.7 f/s,功耗僅為0.603 W。

        關(guān)鍵詞: 卷積神經(jīng)網(wǎng)絡(luò); 目標(biāo)檢測; FPGA; MobileNetV1; 并行計(jì)算; 硬件加速

        中圖分類號(hào): TN492?34; TP391" " " " " " " " " " " 文獻(xiàn)標(biāo)識(shí)碼: A" " " " " " " " " "文章編號(hào): 1004?373X(2025)01?0151?06

        Design of MobileNetV1 object detection accelerator based on FPGA

        YAN Fei1, 2, ZHENG Xuwen1, MENG Chuan1, LI Chu1, LIU Yinping3

        (1. School of Automation, Nanjing University of Information Science and Technology, Nanjing 210044, China;

        2. Jiangsu Collaborative Innovation Center for Atmospheric Environment and Equipment Technology, Nanjing 210044, China;

        3. School of Emergency Management, Nanjing University of Information Science and Technology, Nanjing 210044, China)

        Abstract: The convolutional neural network is a commonly used algorithm in object detection. However, due to the large number of parameters and computation load of the convolutional neural network (CNN), the detection speed of the CNN is slow, its power consumption is high, and it is difficult to deploy the CNN at the hardware platform. In view of this, the paper proposes an application method using the fusion structure of CPU and FPGA to realize the acceleration of MobileNetV1 object detection. The parameter number and computation load of the network model are reduced by setting width hyperparameters and resolution hyperparameters, as well as performing network parameter fixed?point. The convolutional layer and batch normalization layer are fused to reduce network complexity and improve network computation speed. An eight?channel inter?kernel parallel convolution engine is designed. Row cache multiplication and addition tree structure are used to implement convolution operation in each channel. Finally, by utilizing FPGA parallel computing and pipeline structure, three different types of convolution calculation are realized by reasonable reuse of the eight?channel convolution computing engine, so as to reduce the consumption of hardware resources and power consumption. The experimental results show that the design can accelerate the MobileNetV1 object detection with a frame rate of 56.7 f/s and a power consumption of 0.603 W.

        Keywords: CNN; object detection; FPGA; MobileNetV1; parallel computing; hardware acceleration

        0" 引" 言

        近年來,深度學(xué)習(xí)在圖像分割、目標(biāo)檢測、語義分割、語音識(shí)別以及其他相關(guān)領(lǐng)域都取得了很多成果[1]。卷積神經(jīng)網(wǎng)絡(luò)(Convolution Neural Network, CNN)相比傳統(tǒng)算法有了很大的進(jìn)步[2]。標(biāo)準(zhǔn)的CNN正在向更多層、更復(fù)雜的結(jié)構(gòu)、更復(fù)雜的操作方向發(fā)展,以追求更高的精度,大量的網(wǎng)絡(luò)參數(shù)和卷積操作對(duì)整個(gè)內(nèi)存和計(jì)算能力提出了嚴(yán)格的要求,這使得其難以部署到嵌入式設(shè)備中[3]。為了減輕標(biāo)準(zhǔn)卷積的計(jì)算負(fù)擔(dān),減少網(wǎng)絡(luò)參數(shù)量,文獻(xiàn)[4]提出MobileNetV1模型,采用深度可分離卷積替代標(biāo)準(zhǔn)的卷積從而極大地減少了卷積操作和網(wǎng)絡(luò)參數(shù)。文獻(xiàn)[5]對(duì)網(wǎng)絡(luò)模型引入兩個(gè)壓縮超參數(shù),即寬度因子和分辨率因子,進(jìn)一步減小了網(wǎng)絡(luò)的尺寸,降低了網(wǎng)絡(luò)的復(fù)雜度。文獻(xiàn)[6]通過設(shè)置不同的寬度因子,逐步減小模型的尺寸,檢測速度會(huì)逐步提升。文獻(xiàn)[7]采用定點(diǎn)量化的方法降低了網(wǎng)絡(luò)計(jì)算所需的存儲(chǔ)和計(jì)算資源,通過對(duì)卷積神經(jīng)網(wǎng)絡(luò)不斷的壓縮剪枝使其部署在移動(dòng)和嵌入式設(shè)備上有了可能性。

        目前,為了加速CNN網(wǎng)絡(luò)計(jì)算,主要是在CPU、GPU、ASIC、FPGA硬件平臺(tái)上設(shè)計(jì)CNN加速器[8]。然而,CPU只能串行執(zhí)行任務(wù),并且CPU的存儲(chǔ)器帶寬和容量相對(duì)較小,不適合加速CNN網(wǎng)絡(luò)這種并行且密集的運(yùn)算。GPU雖然擁有較多的計(jì)算單元,且可以并行運(yùn)算,但是其價(jià)格昂貴且功耗高,在CNN網(wǎng)絡(luò)加速中,不能充分利用。ASIC只適合固定場景、單一算法的加速,對(duì)于不同的CNN網(wǎng)絡(luò),需要對(duì)ASIC芯片重新設(shè)計(jì)與制造,靈活性較差。FPGA可以通過硬件描述語言設(shè)計(jì)數(shù)字電路,具有可編程性和可重構(gòu)性,可針對(duì)不同的CNN網(wǎng)絡(luò)特性和需求定制硬件加速器。

        綜上考慮,本文設(shè)計(jì)通過CPU訓(xùn)練優(yōu)化后的網(wǎng)絡(luò)模型,并在FPGA中搭建網(wǎng)絡(luò)模型硬件架構(gòu),實(shí)現(xiàn)MobileNetV1卷積神經(jīng)網(wǎng)絡(luò)在FPGA中的部署,完成目標(biāo)檢測的加速。

        1" MobileNetV1網(wǎng)絡(luò)模型

        MobileNetV1模型是針對(duì)嵌入式設(shè)備提出的一種輕量級(jí)卷積神經(jīng)網(wǎng)絡(luò)。其核心是深度可分離卷積,它可以將標(biāo)準(zhǔn)卷積像乘法那樣進(jìn)行因式分解,把標(biāo)準(zhǔn)卷積分解為深度卷積和點(diǎn)卷積。深度卷積是用一個(gè)3×3的卷積核對(duì)輸入圖像進(jìn)行卷積,通道之間不相互疊加;而點(diǎn)卷積則是使用了1×1×[N]的標(biāo)準(zhǔn)卷積,在深度方向上對(duì)特征圖進(jìn)行疊加,生成新特征圖。MobileNetV1的結(jié)構(gòu)實(shí)際上就是由很多個(gè)深度可分離卷積構(gòu)成的,與標(biāo)準(zhǔn)卷積運(yùn)算相比,深度可分離卷積顯著降低了模型的參數(shù)量和計(jì)算量。MobileNetV1網(wǎng)絡(luò)結(jié)構(gòu)如表1所示。僅第一層使用標(biāo)準(zhǔn)卷積,然后進(jìn)行13次深度可分卷積提取特征,最后使用全局平均池化和全連接進(jìn)行分類。

        2" 網(wǎng)絡(luò)模型優(yōu)化

        2.1" 超參數(shù)引入

        MobileNetV1網(wǎng)絡(luò)模型的兩個(gè)超參數(shù)是寬度超參數(shù)(Width Multiplier)[α]和分辨率超參數(shù)(Resolution Multiplier)[β]。[α]控制卷積核個(gè)數(shù)的倍率因子,按比例減少輸入與輸出通道數(shù);[β]是分辨率的倍率因子,作用于輸入圖像的大小,按比例縮小輸入圖像的分辨率。

        這兩個(gè)超參數(shù)在MobileNetV1網(wǎng)絡(luò)模型中起著重要的作用,通過調(diào)整這兩個(gè)參數(shù),可以優(yōu)化模型的性能和計(jì)算效率。本設(shè)計(jì)將[α]設(shè)置為0.25,[β]設(shè)置為0.57,即所有層卷積核個(gè)數(shù)縮小4倍,輸入圖像從224×224的分辨率變成128×128的分辨率。最終,在模型精度僅有少量損失的情況下,網(wǎng)絡(luò)參數(shù)總量從420萬降低到21萬,并可大大減少模型的計(jì)算量,使計(jì)算速度得到了明顯的提升。

        2.2" 網(wǎng)絡(luò)參數(shù)定點(diǎn)量化

        CNN訓(xùn)練完成得到的網(wǎng)絡(luò)參數(shù)都是32 bit浮點(diǎn)數(shù),由于FPGA資源有限,不適合浮點(diǎn)運(yùn)算,并且與浮點(diǎn)運(yùn)算相比,定點(diǎn)運(yùn)算需要更少的時(shí)鐘周期,同時(shí)減少硬件資源占用和加快數(shù)據(jù)傳輸速度。研究發(fā)現(xiàn)16 bit定點(diǎn)數(shù)既能維持一定的分類精度,也能有效降低功耗[9]。本設(shè)計(jì)采用16 bit定點(diǎn)量化方法,將卷積神經(jīng)網(wǎng)絡(luò)的 32 bit浮點(diǎn)參數(shù)量化為16 bit定點(diǎn)數(shù),其數(shù)據(jù)格式如圖1所示。

        2.3" 批量歸一化層融合

        MobileNetV1網(wǎng)絡(luò)模型中標(biāo)準(zhǔn)卷積層和深度可分離卷積層的結(jié)構(gòu)都是由卷積計(jì)算、批量歸一化(Batch Normalization, BN)和激活函數(shù)(ReLU)組成的,如圖2所示。

        批量歸一化的目的是加快網(wǎng)絡(luò)的訓(xùn)練和收斂速度,防止梯度的消失;減少模型對(duì)訓(xùn)練數(shù)據(jù)的過擬合,提高模型的泛化能力。批量歸一化層可由式(1)表示:

        [y=x-μσ2+εγ+θ] (1)

        式中:[μ]為均值;[σ2]為方差;[ε]為常數(shù);[γ]為縮放參數(shù);[θ]為偏移參數(shù)。式(1)可化簡為式(2):

        [y=γσ2+εx+θ-γμσ2+ε=ax+c] (2)

        [a=γσ2+ε] (3)

        [c=θ-γμσ2+ε] (4)

        卷積計(jì)算公式如式(5)所示:

        [y=wx+b] (5)

        式中:[w]為權(quán)重參數(shù);[b]為偏置參數(shù)。

        因此可以將批量歸一化集成到卷積計(jì)算這一線性運(yùn)算中,從而獲得新的權(quán)重參數(shù)[W]和偏差參數(shù)[B],如式(6)所示:

        [y=a(wx+b)+c=awx+(ab+c)=Wx+B] (6)

        通過批量歸一化層和卷積層的融合,減少批量歸一化層的計(jì)算量和網(wǎng)絡(luò)參數(shù),以降低硬件實(shí)現(xiàn)的復(fù)雜性,提高網(wǎng)絡(luò)在硬件上的執(zhí)行效率。

        3" 硬件加速系統(tǒng)設(shè)計(jì)

        3.1" 系統(tǒng)總體架構(gòu)

        根據(jù)當(dāng)前的研究,實(shí)現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)加速器的架構(gòu)主要有兩種方式:一種是通過PC中的CPU和FPGA硬件資源實(shí)現(xiàn);另一種是FPGA利用內(nèi)部的PS(Processor System)端和PL(Programmable Logic)端實(shí)現(xiàn)網(wǎng)絡(luò)加速[10]。本文設(shè)計(jì)采用第一種方式。PC端負(fù)責(zé)訓(xùn)練優(yōu)化后的MobileNetV1網(wǎng)絡(luò),通過UART串口將權(quán)值參數(shù)和偏置參數(shù)傳輸?shù)紽PGA中BRAM緩存;FPGA負(fù)責(zé)卷積運(yùn)算的整個(gè)過程。MobileNetV1并行加速方案的總體設(shè)計(jì)結(jié)構(gòu)框圖如圖3所示。

        3.2" 控制模塊設(shè)計(jì)

        控制模塊控制網(wǎng)絡(luò)各個(gè)模塊的計(jì)算流程。當(dāng)圖像數(shù)據(jù)、權(quán)重參數(shù)和偏置參數(shù)存儲(chǔ)到緩存模塊中,控制模塊開啟。將輸入圖像中3個(gè)通道的圖像和8個(gè)3×3×3的標(biāo)準(zhǔn)卷積核進(jìn)行標(biāo)準(zhǔn)卷積,標(biāo)準(zhǔn)卷積后產(chǎn)生的特征圖和8個(gè)3×3的深度卷積核進(jìn)行第一層深度卷積,深度卷積產(chǎn)生的特征圖和16個(gè)1×1×3的點(diǎn)卷積核進(jìn)行第一層點(diǎn)卷積;然后,深度卷積和點(diǎn)卷積依次進(jìn)行,直至13層深度可分離卷積運(yùn)算結(jié)束,輸出的特征圖經(jīng)過池化模塊后,通過全連接模塊輸出結(jié)果。

        3.3" 卷積模塊設(shè)計(jì)

        卷積模塊是CNN的核心組成。卷積窗口在輸入圖像上逐步移動(dòng),窗口內(nèi)的每個(gè)權(quán)值參數(shù)與窗口中的像素點(diǎn)進(jìn)行內(nèi)積。不同卷積層的卷積運(yùn)算是獨(dú)立的,而同一卷積層也可以多通道同時(shí)進(jìn)行,并且所有的卷積操作過程完全相同,因此本文設(shè)計(jì)采用了并行的方式來實(shí)現(xiàn)8通道的卷積計(jì)算,結(jié)構(gòu)如圖4所示。

        每個(gè)通道的卷積模塊中,卷積操作由乘法和加法運(yùn)算組成。標(biāo)準(zhǔn)卷積和深度卷積的卷積核大小為3×3,可采用兩組寄存器串聯(lián)和一個(gè)正在輸入的當(dāng)前行圖像數(shù)據(jù)組成三行行緩存結(jié)構(gòu),如圖5所示。

        在行緩存乘法結(jié)構(gòu)中采用串行讀入方式,確保在每個(gè)時(shí)鐘周期卷積窗口從左至右、從上到下移動(dòng)一個(gè)像素,實(shí)現(xiàn)每個(gè)窗口下的卷積運(yùn)算。第一次卷積首先需要等待處理圖像[p11]、[p21]、[p31]的讀取與權(quán)重參數(shù)[w11]、[w21]、[w31]分別同時(shí)做乘法,然后[p12]、[p22]、[p32]與[w12]、[w22]、[w32]分別同時(shí)做乘法,最后[p13]、[p23]、[p33]與[w13]、[w23]、[w33]分別同時(shí)做乘法,利用3個(gè)時(shí)鐘周期和3個(gè)乘法器完成卷積窗口的運(yùn)算,后續(xù)數(shù)據(jù)以移位寄存的方式替換舊數(shù)據(jù)進(jìn)行卷積,直至此3行卷積全部完成。對(duì)于點(diǎn)卷積而言,卷積核是1×1×[n],對(duì)于一張輸入特征圖的權(quán)重參數(shù)都應(yīng)相等,因此也可以利用上述行緩存卷積,把點(diǎn)卷積中的一個(gè)權(quán)重參數(shù)復(fù)制9個(gè)即可。

        經(jīng)過行緩存乘法結(jié)構(gòu)輸出的9個(gè)乘法結(jié)果需要加法操作得到卷積結(jié)果。利用FPGA并行計(jì)算的優(yōu)勢,使用加法樹結(jié)構(gòu)來完成這一操作,如圖6所示,輸入9個(gè)數(shù)據(jù),兩兩相加求和,經(jīng)過4個(gè)時(shí)鐘周期即可得到結(jié)果,最后再加上一個(gè)偏置參數(shù)Bias,得到最終的卷積結(jié)果。

        由上述的行緩存乘法結(jié)構(gòu)和卷積加法樹結(jié)構(gòu)搭建出卷積計(jì)算引擎,通過對(duì)卷積計(jì)算引擎的不斷復(fù)用實(shí)現(xiàn)標(biāo)準(zhǔn)卷積、深度卷積和點(diǎn)卷積這三種不同卷積類型。

        對(duì)于標(biāo)準(zhǔn)卷積實(shí)現(xiàn)如圖7所示,網(wǎng)絡(luò)中第一層是標(biāo)準(zhǔn)卷積,輸入的是3通道的RGB圖像和8個(gè)3×3×3卷積核,輸出8張?zhí)卣鲌D。把RGB圖像每個(gè)通道復(fù)制8個(gè),每個(gè)色彩通道相同的8個(gè)圖像與8個(gè)3×3卷積核同時(shí)進(jìn)行卷積,每個(gè)色彩通道經(jīng)過一個(gè)行緩存乘法結(jié)構(gòu)得到的結(jié)果經(jīng)過1個(gè)加法樹結(jié)構(gòu)分別得到8個(gè)通道的卷積結(jié)果,R、G、B通道和3層卷積核依次使用一次8通道的卷積計(jì)算引擎資源,最后再把RGB的3個(gè)色彩通道對(duì)應(yīng)的卷積通道相加即可得到8張?zhí)卣鲌D。

        對(duì)于深度卷積實(shí)現(xiàn)如圖8所示,每次輸入8張?zhí)卣鲌D和8個(gè)3×3的卷積核,經(jīng)過1個(gè)行緩存乘法結(jié)構(gòu)得到的結(jié)果經(jīng)過1個(gè)加法樹結(jié)構(gòu)分別得到8個(gè)通道的卷積結(jié)果。后續(xù)由于深度卷積核的不斷增加,要進(jìn)行深度卷積的特征圖也會(huì)增加,如果將所有特征圖的深度卷積都進(jìn)行并行運(yùn)算,會(huì)浪費(fèi)大量的硬件資源,本文設(shè)計(jì)采用對(duì)8通道的卷積計(jì)算引擎資源進(jìn)行復(fù)用直至本層卷積結(jié)束,對(duì)于某層深度卷積核個(gè)數(shù)為[n],則需要對(duì)卷積引擎復(fù)用[n 8]次。

        對(duì)于點(diǎn)卷積的實(shí)現(xiàn)過程如圖9所示,輸入經(jīng)過深度卷積的8張?zhí)卣鲌D和1個(gè)1×1×8的卷積核,卷積核每一層的權(quán)重參數(shù)進(jìn)行復(fù)制后與8張?zhí)卣鲌D進(jìn)行行緩存乘法,8個(gè)通道并行運(yùn)算,然后8個(gè)通道的結(jié)果對(duì)應(yīng)位置經(jīng)過加法樹結(jié)構(gòu)得到一張點(diǎn)卷積結(jié)果特征圖。對(duì)于輸入[N]張?zhí)卣鲌D和[M]個(gè)1×1×[N]的卷積核的點(diǎn)卷積層,也采用對(duì)8通道的卷積計(jì)算引擎資源進(jìn)行[M]×[N8]次復(fù)用。

        3.4" 并行計(jì)算和流水線結(jié)構(gòu)設(shè)計(jì)

        本文充分利用FPGA并行計(jì)算和流水線結(jié)構(gòu)設(shè)計(jì)特點(diǎn)。整個(gè)系統(tǒng)采用分時(shí)復(fù)用8通道卷積計(jì)算引擎,標(biāo)準(zhǔn)卷積、深度卷積和點(diǎn)卷積三種卷積,采用流水線方式兩兩之間進(jìn)行并行計(jì)算。當(dāng)標(biāo)準(zhǔn)卷積產(chǎn)生需要深度卷積的圖像窗口時(shí),控制模塊發(fā)出指令深度卷積開始運(yùn)行,此時(shí)深度卷積和標(biāo)準(zhǔn)卷積在同時(shí)計(jì)算。標(biāo)準(zhǔn)卷積結(jié)束后,點(diǎn)卷積才會(huì)啟動(dòng),此時(shí)深度卷積和點(diǎn)卷積會(huì)同時(shí)計(jì)算,13層的深度卷積和點(diǎn)卷積依次并行計(jì)算。對(duì)于卷積中間產(chǎn)生的特征圖會(huì)存儲(chǔ)于FPGA內(nèi)部存儲(chǔ)器BRAM中,減少對(duì)外部存儲(chǔ)器的訪問。中間特征圖的存儲(chǔ)劃分4個(gè)區(qū)域,分成2組,區(qū)域1和區(qū)域2會(huì)存儲(chǔ)標(biāo)準(zhǔn)卷積和點(diǎn)卷積產(chǎn)生的中間特征圖,因?yàn)闃?biāo)準(zhǔn)卷積和點(diǎn)卷積不會(huì)同時(shí)進(jìn)行卷積操作,區(qū)域3和區(qū)域4存儲(chǔ)深度卷積產(chǎn)生的中間特征圖,兩組區(qū)域均采用“乒乓操作”[11]存儲(chǔ)原理,以防止有用的中間特征圖被覆蓋。

        4" 實(shí)驗(yàn)結(jié)果與分析

        本文實(shí)驗(yàn)選用Xilinx開發(fā)板,采用XC7K325FPGA芯片。硬件開發(fā)使用的是Vivado 2021.1開發(fā)環(huán)境,軟件開發(fā)環(huán)境Python 3.6。

        本文設(shè)計(jì)在PC端采用TensorFlow和Keras深度學(xué)習(xí)框架對(duì)優(yōu)化后的MobileNetV1模型進(jìn)行訓(xùn)練,使用了谷歌的開放圖像數(shù)據(jù)集(Open Images Dataset, OID)作為數(shù)據(jù)集。實(shí)現(xiàn)了對(duì)單一目標(biāo)的檢測,即對(duì)人物進(jìn)行檢測,通過對(duì)模型進(jìn)行訓(xùn)練和優(yōu)化,并獲得了模型的權(quán)重參數(shù)和偏置參數(shù),最終將網(wǎng)絡(luò)參數(shù)發(fā)送給FPGA。FPGA利用邏輯電路搭建網(wǎng)絡(luò)模型,實(shí)現(xiàn)MobileNetV1目標(biāo)檢測硬件加速,對(duì)攝像頭OV5640采集到的圖像進(jìn)行實(shí)時(shí)人物目標(biāo)檢測。系統(tǒng)平臺(tái)搭建如圖10所示,在LCD屏幕實(shí)時(shí)顯示檢測后系統(tǒng)的真實(shí)畫面如圖11所示。

        實(shí)驗(yàn)結(jié)果表明,加速系統(tǒng)各模塊工作正常,若采集到的圖像中檢測到人物目標(biāo)時(shí),則會(huì)用方框進(jìn)行框選標(biāo)記,能夠完成對(duì)人物圖像識(shí)別功能。FPGA側(cè)的資源消耗情況如表2所示。系統(tǒng)整體資源消耗較小,其中DSP資源僅消耗48個(gè),占總資源的5.71%。系統(tǒng)功耗為0.603 W,其中靜態(tài)功耗0.185 W,占31%,動(dòng)態(tài)功耗0.418 W,占69%。該設(shè)計(jì)適用于資源受限的嵌入式平臺(tái)。

        表3給出本文設(shè)計(jì)與其他文獻(xiàn)設(shè)計(jì),在FPGA中部署MobileNetV1網(wǎng)絡(luò)目標(biāo)檢測算法的資源使用量以及性能對(duì)比結(jié)果。本文設(shè)計(jì)大部分資源使用量都遠(yuǎn)低于文獻(xiàn)[12]和文獻(xiàn)[13],但檢測幀率為56.7 f/s,是文獻(xiàn)[12]的3倍以上,是文獻(xiàn)[13]的9倍以上,并且功耗僅為0.603 W,也遠(yuǎn)低于文獻(xiàn)[12?13]。可以看出,本文設(shè)計(jì)的硬件加速器在資源和性能上優(yōu)于其他設(shè)計(jì)實(shí)現(xiàn)。

        5" 結(jié)" 語

        本文設(shè)計(jì)一種基于FPGA與CPU融合方式實(shí)現(xiàn)CNN網(wǎng)絡(luò)的硬件加速器。CPU端通過引入超參數(shù)、層融合、參數(shù)定點(diǎn)化對(duì)模型進(jìn)行簡化,優(yōu)化了基于MobileNetV1網(wǎng)絡(luò)目標(biāo)識(shí)別的硬件部署。利用FPGA并行處理的特性和流水線的設(shè)計(jì)思想,設(shè)計(jì)一種8通道的行緩存乘法與加法樹相結(jié)合卷積架構(gòu),通過對(duì)這種卷積架構(gòu)的循環(huán)使用來完成不同類型的卷積運(yùn)算,既加快了卷積運(yùn)算,也節(jié)省了硬件資源的消耗。本文基于FPGA設(shè)計(jì)的目標(biāo)檢測算法加速器為實(shí)現(xiàn)CNN在硬件平臺(tái)上的高效、高速部署提供了有效的應(yīng)用方案。

        注:本文通訊作者為劉銀萍。

        參考文獻(xiàn)

        [1] ZHANG X, YANG J. A high performance FPGA?based accelerator for MobileNet [C]// 2022 International Conference on Informatics, Networking and Computing. [S.l.: s.n.], 2022: 81?85.

        [2] 朱育琳,蔣林,王欣,等.可重構(gòu)結(jié)構(gòu)下卷積神經(jīng)網(wǎng)絡(luò)加速研究與設(shè)計(jì)[J].傳感器與微系統(tǒng),2023,42(4):67?70.

        [3] WU D, ZHANG Y, JIA X J, et al. A high?performance CNN processor based on FPGA for MobileNets [C]// 29th International Conference on Field Programmable Logic and Applications. New York: IEEE, 2019: 136?143.

        [4] HOWARD A G, ZHU M L, CHEN B, et al. MobileNets: Efficient convolutional neural networks for mobile vision applications [EB/OL]. [2021?05?27]. http://arxiv.org/abs/1704.04861.

        [5] 畢鵬程,羅健欣,陳衛(wèi)衛(wèi).輕量化卷積神經(jīng)網(wǎng)絡(luò)技術(shù)研究[J].計(jì)算機(jī)工程與應(yīng)用,2019,55(16):25?35.

        [6] 廖嘉雯.基于FPGA的MobileNet卷積神經(jīng)網(wǎng)絡(luò)加速器設(shè)計(jì)[D].深圳:深圳大學(xué),2020.

        [7] 竇陽,卿粼波,何小海,等.基于FPGA的CNN加速器設(shè)計(jì)與實(shí)現(xiàn)[J].信息技術(shù)與網(wǎng)絡(luò)安全,2019,38(11):96?101.

        [8] 高強(qiáng),邵春霖,李京潤,等.面向圖卷積神經(jīng)網(wǎng)絡(luò)的FPGA部署及加速研究[J].現(xiàn)代電子技術(shù),2024,47(10):39?46.

        [9] 李莉,陳心宇,高文斌.一種基于FPGA的卷積神經(jīng)網(wǎng)絡(luò)加速器實(shí)現(xiàn)方案[J].北京電子科技學(xué)院學(xué)報(bào),2022,30(4):96?104.

        [10] 武世雄,高巍,尹震宇,等.面向ZYNQ SoC的卷積神經(jīng)網(wǎng)絡(luò)加速器研究[J].小型微型計(jì)算機(jī)系統(tǒng),2022,43(12):2682?2688.

        [11] 李金鳳,黃緯然,趙雨童,等.基于Kintex?7 FPGA的DDR3 SDRAM高速訪存控制器優(yōu)化與實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2021,44(20):112?116.

        [12] 馬澤程.基于FPGA的MobileNet卷積神經(jīng)網(wǎng)絡(luò)加速器的設(shè)計(jì)與研究[D].西安:西安電子科技大學(xué),2022.

        [13] 秦文強(qiáng),吳仲城,張俊,等.基于異構(gòu)平臺(tái)的卷積神經(jīng)網(wǎng)絡(luò)加速系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)工程與科學(xué),2024,46(1):12?20.

        基金項(xiàng)目:國家自然科學(xué)基金項(xiàng)目(61605083);江蘇省重點(diǎn)研發(fā)計(jì)劃項(xiàng)目(BE2020006?2)

        作者簡介:嚴(yán)" 飛(1983—),男,江蘇南京人,博士研究生,副教授,主要研究方向?yàn)槿S測量和嵌入式應(yīng)用。

        鄭緒文(2000—),男,安徽阜陽人,碩士研究生,主要研究方向?yàn)镕PGA的硬件加速圖像處理。

        孟" 川(1999—),男,安徽宿州人,碩士研究生,主要研究方向?yàn)榍度胧綉?yīng)用。

        李" 楚(1998—),男,江蘇徐州人,碩士研究生,主要研究方向?yàn)镕PGA圖像處理技術(shù)。

        劉銀萍(1981—),女,江蘇連云港人,博士研究生,副教授,主要研究方向?yàn)殡姶艑W(xué)和三維反演技術(shù)。

        猜你喜歡
        并行計(jì)算目標(biāo)檢測卷積神經(jīng)網(wǎng)絡(luò)
        視頻中目標(biāo)檢測算法研究
        軟件(2016年4期)2017-01-20 09:38:03
        基于深度卷積神經(jīng)網(wǎng)絡(luò)的物體識(shí)別算法
        行為識(shí)別中的人體運(yùn)動(dòng)目標(biāo)檢測方法
        云計(jì)算中MapReduce分布式并行處理框架的研究與搭建
        矩陣向量相乘的并行算法分析
        深度學(xué)習(xí)算法應(yīng)用于巖石圖像處理的可行性研究
        基于深度卷積網(wǎng)絡(luò)的人臉年齡分析算法與實(shí)現(xiàn)
        軟件工程(2016年8期)2016-10-25 15:47:34
        并行硬件簡介
        移動(dòng)機(jī)器人圖像目標(biāo)識(shí)別
        基于卷積神經(jīng)網(wǎng)絡(luò)的樹葉識(shí)別的算法的研究
        亚洲中文字幕高清av| 亚洲中文字幕高清视频| 日日碰狠狠添天天爽超碰97| 亚洲不卡av不卡一区二区| 久久精品中文字幕极品| 高潮喷水无遮挡毛片视频| 大红酸枝极品老料颜色| 亚洲国产精品自拍成人| 日本最新一区二区三区视频观看| 国产69精品久久久久app下载| 国产精成人品日日拍夜夜免费| 亚洲国产成人精品无码区99| 欧美日韩性视频| 九九精品国产99精品| 极品粉嫩嫩模大尺度视频在线播放| 91精品国产92久久久| 无码中文亚洲av影音先锋| a级毛片无码免费真人| 伊人婷婷在线| 9丨精品国产高清自在线看| 人妻系列少妇极品熟妇| 日韩人妻系列在线观看| 精品av熟女一区二区偷窥海滩| 国产免费av片在线观看| 久久久国产精品ⅤA麻豆| 国产精品久久久亚洲第一牛牛| 久久久成人av毛片免费观看| 黄色影院不卡一区二区| 久久婷婷色香五月综合缴缴情 | 人妻 色综合网站| 无码人妻品一区二区三区精99| 97中文字幕在线观看| 亚洲av色在线观看网站| 男女激情视频网站免费在线| 四虎成人精品在永久免费| 久久久久久国产精品免费免费男同 | 午夜一区二区三区免费观看| 亚洲三级视频一区二区三区| 人妻少妇精品视频专区| 久久精品中文字幕一区| 国产精品27页|