999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于FPGA的MobileNetV1目標檢測加速器設計

2025-01-06 00:00:00嚴飛鄭緒孟川李楚劉銀萍
現代電子技術 2025年1期

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

關鍵詞: 卷積神經網絡; 目標檢測; FPGA; MobileNetV1; 并行計算; 硬件加速

中圖分類號: TN492?34; TP391" " " " " " " " " " " 文獻標識碼: A" " " " " " " " " "文章編號: 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" 引" 言

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

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

綜上考慮,本文設計通過CPU訓練優化后的網絡模型,并在FPGA中搭建網絡模型硬件架構,實現MobileNetV1卷積神經網絡在FPGA中的部署,完成目標檢測的加速。

1" MobileNetV1網絡模型

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

2" 網絡模型優化

2.1" 超參數引入

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

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

2.2" 網絡參數定點量化

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

2.3" 批量歸一化層融合

MobileNetV1網絡模型中標準卷積層和深度可分離卷積層的結構都是由卷積計算、批量歸一化(Batch Normalization, BN)和激活函數(ReLU)組成的,如圖2所示。

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

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

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

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

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

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

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

[y=wx+b] (5)

式中:[w]為權重參數;[b]為偏置參數。

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

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

通過批量歸一化層和卷積層的融合,減少批量歸一化層的計算量和網絡參數,以降低硬件實現的復雜性,提高網絡在硬件上的執行效率。

3" 硬件加速系統設計

3.1" 系統總體架構

根據當前的研究,實現卷積神經網絡加速器的架構主要有兩種方式:一種是通過PC中的CPU和FPGA硬件資源實現;另一種是FPGA利用內部的PS(Processor System)端和PL(Programmable Logic)端實現網絡加速[10]。本文設計采用第一種方式。PC端負責訓練優化后的MobileNetV1網絡,通過UART串口將權值參數和偏置參數傳輸到FPGA中BRAM緩存;FPGA負責卷積運算的整個過程。MobileNetV1并行加速方案的總體設計結構框圖如圖3所示。

3.2" 控制模塊設計

控制模塊控制網絡各個模塊的計算流程。當圖像數據、權重參數和偏置參數存儲到緩存模塊中,控制模塊開啟。將輸入圖像中3個通道的圖像和8個3×3×3的標準卷積核進行標準卷積,標準卷積后產生的特征圖和8個3×3的深度卷積核進行第一層深度卷積,深度卷積產生的特征圖和16個1×1×3的點卷積核進行第一層點卷積;然后,深度卷積和點卷積依次進行,直至13層深度可分離卷積運算結束,輸出的特征圖經過池化模塊后,通過全連接模塊輸出結果。

3.3" 卷積模塊設計

卷積模塊是CNN的核心組成。卷積窗口在輸入圖像上逐步移動,窗口內的每個權值參數與窗口中的像素點進行內積。不同卷積層的卷積運算是獨立的,而同一卷積層也可以多通道同時進行,并且所有的卷積操作過程完全相同,因此本文設計采用了并行的方式來實現8通道的卷積計算,結構如圖4所示。

每個通道的卷積模塊中,卷積操作由乘法和加法運算組成。標準卷積和深度卷積的卷積核大小為3×3,可采用兩組寄存器串聯和一個正在輸入的當前行圖像數據組成三行行緩存結構,如圖5所示。

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

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

由上述的行緩存乘法結構和卷積加法樹結構搭建出卷積計算引擎,通過對卷積計算引擎的不斷復用實現標準卷積、深度卷積和點卷積這三種不同卷積類型。

對于標準卷積實現如圖7所示,網絡中第一層是標準卷積,輸入的是3通道的RGB圖像和8個3×3×3卷積核,輸出8張特征圖。把RGB圖像每個通道復制8個,每個色彩通道相同的8個圖像與8個3×3卷積核同時進行卷積,每個色彩通道經過一個行緩存乘法結構得到的結果經過1個加法樹結構分別得到8個通道的卷積結果,R、G、B通道和3層卷積核依次使用一次8通道的卷積計算引擎資源,最后再把RGB的3個色彩通道對應的卷積通道相加即可得到8張特征圖。

對于深度卷積實現如圖8所示,每次輸入8張特征圖和8個3×3的卷積核,經過1個行緩存乘法結構得到的結果經過1個加法樹結構分別得到8個通道的卷積結果。后續由于深度卷積核的不斷增加,要進行深度卷積的特征圖也會增加,如果將所有特征圖的深度卷積都進行并行運算,會浪費大量的硬件資源,本文設計采用對8通道的卷積計算引擎資源進行復用直至本層卷積結束,對于某層深度卷積核個數為[n],則需要對卷積引擎復用[n 8]次。

對于點卷積的實現過程如圖9所示,輸入經過深度卷積的8張特征圖和1個1×1×8的卷積核,卷積核每一層的權重參數進行復制后與8張特征圖進行行緩存乘法,8個通道并行運算,然后8個通道的結果對應位置經過加法樹結構得到一張點卷積結果特征圖。對于輸入[N]張特征圖和[M]個1×1×[N]的卷積核的點卷積層,也采用對8通道的卷積計算引擎資源進行[M]×[N8]次復用。

3.4" 并行計算和流水線結構設計

本文充分利用FPGA并行計算和流水線結構設計特點。整個系統采用分時復用8通道卷積計算引擎,標準卷積、深度卷積和點卷積三種卷積,采用流水線方式兩兩之間進行并行計算。當標準卷積產生需要深度卷積的圖像窗口時,控制模塊發出指令深度卷積開始運行,此時深度卷積和標準卷積在同時計算。標準卷積結束后,點卷積才會啟動,此時深度卷積和點卷積會同時計算,13層的深度卷積和點卷積依次并行計算。對于卷積中間產生的特征圖會存儲于FPGA內部存儲器BRAM中,減少對外部存儲器的訪問。中間特征圖的存儲劃分4個區域,分成2組,區域1和區域2會存儲標準卷積和點卷積產生的中間特征圖,因為標準卷積和點卷積不會同時進行卷積操作,區域3和區域4存儲深度卷積產生的中間特征圖,兩組區域均采用“乒乓操作”[11]存儲原理,以防止有用的中間特征圖被覆蓋。

4" 實驗結果與分析

本文實驗選用Xilinx開發板,采用XC7K325FPGA芯片。硬件開發使用的是Vivado 2021.1開發環境,軟件開發環境Python 3.6。

本文設計在PC端采用TensorFlow和Keras深度學習框架對優化后的MobileNetV1模型進行訓練,使用了谷歌的開放圖像數據集(Open Images Dataset, OID)作為數據集。實現了對單一目標的檢測,即對人物進行檢測,通過對模型進行訓練和優化,并獲得了模型的權重參數和偏置參數,最終將網絡參數發送給FPGA。FPGA利用邏輯電路搭建網絡模型,實現MobileNetV1目標檢測硬件加速,對攝像頭OV5640采集到的圖像進行實時人物目標檢測。系統平臺搭建如圖10所示,在LCD屏幕實時顯示檢測后系統的真實畫面如圖11所示。

實驗結果表明,加速系統各模塊工作正常,若采集到的圖像中檢測到人物目標時,則會用方框進行框選標記,能夠完成對人物圖像識別功能。FPGA側的資源消耗情況如表2所示。系統整體資源消耗較小,其中DSP資源僅消耗48個,占總資源的5.71%。系統功耗為0.603 W,其中靜態功耗0.185 W,占31%,動態功耗0.418 W,占69%。該設計適用于資源受限的嵌入式平臺。

表3給出本文設計與其他文獻設計,在FPGA中部署MobileNetV1網絡目標檢測算法的資源使用量以及性能對比結果。本文設計大部分資源使用量都遠低于文獻[12]和文獻[13],但檢測幀率為56.7 f/s,是文獻[12]的3倍以上,是文獻[13]的9倍以上,并且功耗僅為0.603 W,也遠低于文獻[12?13]。可以看出,本文設計的硬件加速器在資源和性能上優于其他設計實現。

5" 結" 語

本文設計一種基于FPGA與CPU融合方式實現CNN網絡的硬件加速器。CPU端通過引入超參數、層融合、參數定點化對模型進行簡化,優化了基于MobileNetV1網絡目標識別的硬件部署。利用FPGA并行處理的特性和流水線的設計思想,設計一種8通道的行緩存乘法與加法樹相結合卷積架構,通過對這種卷積架構的循環使用來完成不同類型的卷積運算,既加快了卷積運算,也節省了硬件資源的消耗。本文基于FPGA設計的目標檢測算法加速器為實現CNN在硬件平臺上的高效、高速部署提供了有效的應用方案。

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

參考文獻

[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] 朱育琳,蔣林,王欣,等.可重構結構下卷積神經網絡加速研究與設計[J].傳感器與微系統,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] 畢鵬程,羅健欣,陳衛衛.輕量化卷積神經網絡技術研究[J].計算機工程與應用,2019,55(16):25?35.

[6] 廖嘉雯.基于FPGA的MobileNet卷積神經網絡加速器設計[D].深圳:深圳大學,2020.

[7] 竇陽,卿粼波,何小海,等.基于FPGA的CNN加速器設計與實現[J].信息技術與網絡安全,2019,38(11):96?101.

[8] 高強,邵春霖,李京潤,等.面向圖卷積神經網絡的FPGA部署及加速研究[J].現代電子技術,2024,47(10):39?46.

[9] 李莉,陳心宇,高文斌.一種基于FPGA的卷積神經網絡加速器實現方案[J].北京電子科技學院學報,2022,30(4):96?104.

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

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

[12] 馬澤程.基于FPGA的MobileNet卷積神經網絡加速器的設計與研究[D].西安:西安電子科技大學,2022.

[13] 秦文強,吳仲城,張俊,等.基于異構平臺的卷積神經網絡加速系統設計[J].計算機工程與科學,2024,46(1):12?20.

基金項目:國家自然科學基金項目(61605083);江蘇省重點研發計劃項目(BE2020006?2)

作者簡介:嚴" 飛(1983—),男,江蘇南京人,博士研究生,副教授,主要研究方向為三維測量和嵌入式應用。

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

孟" 川(1999—),男,安徽宿州人,碩士研究生,主要研究方向為嵌入式應用。

李" 楚(1998—),男,江蘇徐州人,碩士研究生,主要研究方向為FPGA圖像處理技術。

劉銀萍(1981—),女,江蘇連云港人,博士研究生,副教授,主要研究方向為電磁學和三維反演技術。

主站蜘蛛池模板: 一区二区三区在线不卡免费| 狠狠躁天天躁夜夜躁婷婷| 91精品国产情侣高潮露脸| 亚洲无码高清视频在线观看| 日本精品一在线观看视频| 国产成人高清在线精品| 亚洲成年人片| 这里只有精品在线播放| 狼友视频国产精品首页| 最新日韩AV网址在线观看| 国产jizzjizz视频| 欧美亚洲一区二区三区在线| 欧美区日韩区| 91精品福利自产拍在线观看| 国产一区二区视频在线| 一本大道东京热无码av| 在线日韩一区二区| 久久精品日日躁夜夜躁欧美| 午夜日b视频| 亚洲日本中文字幕乱码中文| 欧美福利在线| 国产成人亚洲无吗淙合青草| 亚洲av色吊丝无码| 黄色网页在线播放| 国产黑丝一区| 97国产在线播放| 青青草原国产精品啪啪视频| 久久中文无码精品| 亚洲免费毛片| 亚洲精品第1页| 中文无码毛片又爽又刺激| 亚洲福利一区二区三区| 67194亚洲无码| 日韩在线视频网站| 男人天堂伊人网| 99视频在线看| 亚洲第一黄片大全| 无码国内精品人妻少妇蜜桃视频| 国产精品女人呻吟在线观看| 亚洲天堂免费观看| 少妇露出福利视频| 狠狠综合久久| 国产素人在线| 国产制服丝袜91在线| 8090成人午夜精品| 国产中文在线亚洲精品官网| 成人福利在线视频| 尤物成AV人片在线观看| 2020国产免费久久精品99| 久久久精品久久久久三级| 国产在线自乱拍播放| 国产成人精品18| 中日无码在线观看| 5388国产亚洲欧美在线观看| 亚洲第一网站男人都懂| 久久香蕉欧美精品| 国产精品福利在线观看无码卡| 日韩无码白| 国产成+人+综合+亚洲欧美| 日韩高清欧美| 国产女人在线视频| 六月婷婷激情综合| 中文字幕人成乱码熟女免费| 激情无码视频在线看| 天天婬欲婬香婬色婬视频播放| a级毛片免费网站| 欧美国产日韩另类| 少妇精品网站| 亚洲免费成人网| 色哟哟国产精品| 99精品热视频这里只有精品7| 欧美一级高清视频在线播放| 午夜不卡视频| 在线观看无码a∨| 国产69精品久久久久妇女| 国产尤物在线播放| 国产综合精品一区二区| 91无码国产视频| 凹凸国产熟女精品视频| 亚洲精品天堂自在久久77| 亚洲中文字幕久久无码精品A| 国产91精品调教在线播放|