国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于低比特量化神經(jīng)網(wǎng)絡(luò)的紅外目標(biāo)識(shí)別方法及其FPGA 實(shí)現(xiàn)

2023-03-15 02:04武宏程黃家明張冰逸衛(wèi)俊杰高子揚(yáng)鈕賽賽陳海寶
上海航天 2023年1期
關(guān)鍵詞:比特紅外卷積

武宏程,黃家明,張冰逸,衛(wèi)俊杰,高子揚(yáng),鈕賽賽,陳海寶

(1.空軍裝備部駐上海地區(qū)第一代表室,上海 200235;2.上海交通大學(xué) 電子信息與電氣工程學(xué)院,上海 200240;3.上海航天控制技術(shù)研究所,上海 201109)

0 引言

紅外目標(biāo)識(shí)別系統(tǒng)在軍事和民用領(lǐng)域有非常廣泛的應(yīng)用,如遙感探測(cè)、航空航天、目標(biāo)監(jiān)視等。在軍事領(lǐng)域,智能化紅外目標(biāo)識(shí)別跟蹤系統(tǒng)已成為現(xiàn)階段和未來武器系統(tǒng)的重要組成部分,是制導(dǎo)武器變得更加具有精確性和智能化的一個(gè)重要指標(biāo),也是成像制導(dǎo)和高分辨率武器設(shè)備中的一種關(guān)鍵技術(shù)。在民用領(lǐng)域,紅外目標(biāo)識(shí)別跟蹤也有著廣泛的應(yīng)用前景,已經(jīng)是自主機(jī)器人、防碰撞車輛等智能化系統(tǒng)中起著重要作用的一項(xiàng)功能。因此,對(duì)智能化紅外目標(biāo)識(shí)別跟蹤進(jìn)行理論和應(yīng)用研究,具有重大的理論和實(shí)際意義。

當(dāng)前國內(nèi)外傳統(tǒng)的紅外目標(biāo)識(shí)別一般采用基于特征融合匹配的統(tǒng)計(jì)模式識(shí)別方法,實(shí)效性較強(qiáng)。但該類算法在紅外目標(biāo)運(yùn)動(dòng)特性變化較快和紅外目標(biāo)過小等情形下,無法有效實(shí)現(xiàn)目標(biāo)的檢測(cè)與識(shí)別。圖像目標(biāo)識(shí)別和檢測(cè)的深度學(xué)習(xí)算法和架構(gòu)設(shè)計(jì)是近年計(jì)算機(jī)視覺領(lǐng)域研究的重點(diǎn)。卷積神經(jīng)網(wǎng)絡(luò)不需要人工設(shè)置特征,深度學(xué)習(xí)算法能夠在訓(xùn)練時(shí)通過設(shè)計(jì)好的模型直接從圖像中提取所需要的特征來進(jìn)行目標(biāo)識(shí)別,這種方式能夠提高特征質(zhì)量進(jìn)而極大地提高識(shí)別精度。相比于人,機(jī)器提取特征更加迅速、更加準(zhǔn)確,例如SSD[1]、faster R-CNN[2]和YOLO[3]算法。

卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過程離不開圖形處理器(Graphics Processing Unit,GPU)的支持。網(wǎng)絡(luò)模型訓(xùn)練完畢后,繼續(xù)使用GPU 進(jìn)行神經(jīng)網(wǎng)絡(luò)的前向推理,無疑會(huì)增加整體系統(tǒng)的功耗。得益于較低的運(yùn)行功耗與靈活可配置的硬件資源,在現(xiàn)場(chǎng)可編程門陣列(Field Programmable Gate Array,F(xiàn)PGA)上完成卷積神經(jīng)網(wǎng)絡(luò)的前向推理并進(jìn)行加速,逐漸成為近年來的研究熱點(diǎn)[4-7]。

許多先前工作表明深度學(xué)習(xí)的網(wǎng)絡(luò)模型通常具有很大的冗余[8-10],壓縮深度神經(jīng)網(wǎng)絡(luò)的方法大致可以分為五類:參數(shù)剪枝、參數(shù)量化、低秩參數(shù)分解、卷積核壓縮變換、知識(shí)蒸餾。參數(shù)剪枝關(guān)鍵在于移除模型中冗余或者不重要的參數(shù),而參數(shù)量化則集中于壓縮權(quán)重的占用空間,如從浮點(diǎn)數(shù)壓縮為定點(diǎn)數(shù)或者整數(shù)。低秩分解使用矩陣或張量分解技術(shù),將一個(gè)較大的卷積核分解為幾個(gè)較小的卷積核,從而減少參數(shù)存儲(chǔ)所需的空間。基于緊湊型卷積濾波器的方法依賴于巧妙設(shè)計(jì)的結(jié)構(gòu)性卷積濾波器,從而減少存儲(chǔ)和計(jì)算復(fù)雜度。知識(shí)蒸餾的方法是嘗試提取一個(gè)更加緊湊的模型來產(chǎn)生和一個(gè)更大的網(wǎng)絡(luò)同樣地輸出結(jié)果。其中,參數(shù)量化是一種常用且具有前景的深度神經(jīng)網(wǎng)絡(luò)壓縮方法,尤其是將量化精度限制在低比特時(shí),相比浮點(diǎn)形式存儲(chǔ),權(quán)重和激活值的比特?cái)?shù)同時(shí)減少,從而極大地節(jié)省模型在硬件平臺(tái)運(yùn)行的存儲(chǔ)占用。

本文為了解決卷積神經(jīng)網(wǎng)絡(luò)在嵌入式FPGA上部署面臨的軟硬件協(xié)同設(shè)計(jì)難題,以紅外目標(biāo)識(shí)別的YOLO 網(wǎng)絡(luò)為研究對(duì)象,使用通道級(jí)量化策略和反量化訓(xùn)練過程,并將BN 層與前一卷積層進(jìn)行融合,將其進(jìn)行權(quán)重的2 bit 量化和特征圖的8 bit 量化,并將量化后的網(wǎng)絡(luò)使用Xilinx HLS 進(jìn)行高層次系統(tǒng)設(shè)計(jì)??紤]到采用PYNQ-Z2 作為硬件設(shè)備可能面臨資源不足等問題,本文提出一個(gè)可靈活配置的、歸一化并行卷積計(jì)算單元,可以對(duì)不同尺寸、不同卷積核大小的卷積層進(jìn)行加速。通過對(duì)FPGA的資源和網(wǎng)絡(luò)計(jì)算特性進(jìn)行分析,得到一個(gè)最優(yōu)的并行度。

1 紅外目標(biāo)識(shí)別網(wǎng)絡(luò)

1.1 目標(biāo)識(shí)別網(wǎng)絡(luò)選擇

本文選取YOLO 網(wǎng)絡(luò)用于紅外目標(biāo)識(shí)別,YOLO 網(wǎng)絡(luò)將物體檢測(cè)作為回歸問題求解,是一個(gè)單獨(dú)的端到端的神經(jīng)網(wǎng)絡(luò),可完成從原始圖像的輸入到物體位置和類別一同輸出的整個(gè)過程。不同于兩階段的目標(biāo)識(shí)別網(wǎng)絡(luò),YOLO 作為單階段網(wǎng)絡(luò)沒有使用子網(wǎng)絡(luò)求取目標(biāo)候選框,極大地減小了網(wǎng)絡(luò)模型的復(fù)雜程度,同時(shí)也減小網(wǎng)絡(luò)模型在FPGA 端的部署難度。

YOLOv3-Tiny 網(wǎng)絡(luò)的輸入為分辨率為416×416,三通道的RGB 圖像或灰度圖像。前六個(gè)卷積層均是“卷積—池化—ReLU”級(jí)聯(lián)結(jié)構(gòu),第六層的輸出特征圖尺寸為13×13×512,用作第七層的輸入,第七層至第十層取消池化,維持尺寸為13×13的感受野,第十層也為第一個(gè)檢測(cè)層,卷積結(jié)果不經(jīng)激活函數(shù)直接輸出。圖中,“3×3×3×16”前兩個(gè)值為卷積核的尺寸,第三個(gè)值為卷積核的輸入通道數(shù),最后一個(gè)值為輸出通道數(shù)?!?×2-s-2”中前兩個(gè)值為下采樣滑動(dòng)窗口的尺寸,最后一個(gè)值為滑動(dòng)窗口的步長。YOLOv3-Tiny 模型如圖1 所示。

圖1 YOLOv3-Tiny 模型Fig.1 Diagram of the YOLOv3-Tiny model

圖1 中,上半部分為第二個(gè)檢測(cè)層結(jié)構(gòu)。第五層卷積層的輸出不經(jīng)池化得到一個(gè)尺寸為26×26×256 的特征圖,與第八層輸出特征圖經(jīng)過第十一層維度為1×1×256×128 的權(quán)重,卷積并上采樣后得到的尺寸為26×26×128 的特征圖在通道方向進(jìn)行級(jí)聯(lián),得到一個(gè)尺寸為26×26×384 的特征圖,作為第十二層的輸入。第十三層作為檢測(cè)層給出感受野尺寸26×26×18 的輸出結(jié)果,與下方感受野尺寸為13×13×18 的檢測(cè)層相比,該檢測(cè)層的輸出尺寸更大,具有更大的感受野。該網(wǎng)絡(luò)的預(yù)測(cè)結(jié)果取兩個(gè)檢測(cè)層中置信度較高者。與傳統(tǒng)方法對(duì)比,神經(jīng)網(wǎng)絡(luò)無需人工提取特征;與兩階段方法比,YOLO 在準(zhǔn)確率與網(wǎng)絡(luò)規(guī)模間達(dá)到平衡,且使用兩個(gè)尺度不同的檢測(cè)層,有效地解決紅外小目標(biāo)識(shí)別的難題。

1.2 低比特量化

本文使用通道級(jí)低比特量化替代層級(jí)量化,具體范圍如圖2所示。

圖2 通道級(jí)量化與層級(jí)量化Fig.2 Channel-level quantization and layer-level quantization

將卷積層中的參數(shù)逐通道提取最大最小值,并使用最大最小值量化方法將各通道參數(shù)從32 位浮點(diǎn)型量化為8 bit 或2 bit 整型,實(shí)現(xiàn)卷積層參數(shù)存儲(chǔ)空間的壓縮和卷積運(yùn)算方式的優(yōu)化。相比于層級(jí)量化,通道級(jí)量化能夠適應(yīng)同一卷積層中各個(gè)通道的不同參數(shù)范圍。在卷積層當(dāng)中,各個(gè)通道獨(dú)自對(duì)輸入特征值進(jìn)行卷積,形成輸出中的一層,因此,卷積層中通道內(nèi)差異小于通道間差異。對(duì)卷積層進(jìn)行通道級(jí)量化,能夠使量化區(qū)間更好地適應(yīng)卷積層中的參數(shù)分布,達(dá)到減小量化損失的目的。

圖2 中,WL、WH為當(dāng)前通道卷積核權(quán)重范圍的最小值和最大值。通道級(jí)量化方法在每次更新后統(tǒng)計(jì)每一層內(nèi)各通道權(quán)重的最大、最小值,并將該通道權(quán)重參數(shù)量化為預(yù)先設(shè)置的位數(shù),實(shí)現(xiàn)權(quán)重從浮點(diǎn)型到低比特整型的轉(zhuǎn)換。同時(shí)記錄訓(xùn)練中每一層各通道特征值的最大和最小值,在測(cè)試時(shí)使用訓(xùn)練中記錄的特征值數(shù)據(jù)進(jìn)行量化。權(quán)重按如下方式進(jìn)行量化與反量化:

式(1)為權(quán)重量化方式,對(duì)于第i層第j個(gè)通道的權(quán)重Wi,j,使用該通道對(duì)應(yīng)的極小值和極差進(jìn)行量化,將權(quán)重從32 位量化到bw位。量化后權(quán)重變?yōu)榈捅忍卣停軌虮阌诰矸e運(yùn)算和壓縮存儲(chǔ)。權(quán)重需要進(jìn)行全精度更新,式(2)為權(quán)重反量化方式,對(duì)于第i層第j個(gè)通道的量化參數(shù),使用該通道對(duì)應(yīng)的極小值和極差進(jìn)行反 量化,將權(quán)重從bw位恢復(fù)到32 位。由于量化中存在取整過程,反量化后將不同于Wi,j,因而會(huì)造成量化損失。特征值按如下方式進(jìn)行量化:

式(3)為特征值量化方式,對(duì)于第i層第j個(gè)通道的特征值A(chǔ)i,j,使用該通道對(duì)應(yīng)的極小值和極 差進(jìn)行量化,將特征值從32 位量化到bA位。量化后特征值變?yōu)榈捅忍卣?型。同樣地,由于量化中存在取整過程,反量化后參數(shù)將不同于Ai,j,因而會(huì)造成量化損失。由于卷積生成中間值的量化區(qū)間不同于偏置的量化區(qū)間,模型在卷積后需要將中間值進(jìn)行反量化,便于后續(xù)的偏置相加。中間值按如下方式進(jìn)行反量化:

式(4)為中間值反量化方式,中間值;使用其對(duì)應(yīng)的極小值和極差計(jì)算得到進(jìn)行反量化,將參數(shù)恢復(fù)到32 位。的計(jì)算依賴于的分布情況,為了使中間值恢復(fù)更加簡便,視情況將量化后參數(shù)的均值差校準(zhǔn)到0。

通道級(jí)量化算法如下:算法輸入為第i層輸入特征值A(chǔ)i,第i層第j個(gè)通道權(quán)重Wi,j,第i層偏置Bi,量化位數(shù)bA、bW;算法輸出為輸出特征值A(chǔ)out。

算法 1通道級(jí)量化算法。

2 FPGA 神經(jīng)網(wǎng)絡(luò)加速器實(shí)現(xiàn)

傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)中的計(jì)算部分通常集中在卷積層和全連接層,其中卷積層屬于計(jì)算密集型,權(quán)重參數(shù)相對(duì)少,但可復(fù)用程度高,獲取一次權(quán)重可以參與多次運(yùn)算;全連接層屬于存儲(chǔ)密集型,每個(gè)權(quán)重參數(shù)只參與一次乘加運(yùn)算,權(quán)重不存在可復(fù)用性[11-14]。在嵌入式FPGA 上進(jìn)行全連接層的實(shí)現(xiàn),需要不斷取出需要的權(quán)重,相比卷積層會(huì)導(dǎo)致更為頻繁的片下內(nèi)存訪問,增加網(wǎng)絡(luò)運(yùn)行的能耗??紤]到FPGA 加速器設(shè)計(jì)難度和最終的硬件實(shí)現(xiàn)效能。在硬件設(shè)備上進(jìn)行卷積層的加速,主要是使用循環(huán)重排、展開和分塊等方法,合理利用有限的硬件資源實(shí)現(xiàn)可能的最大加速效果。本文提出的FPGA 設(shè)計(jì)使用一個(gè)計(jì)算核心來滿足不同配置下卷積層的計(jì)算,因此適用于類似YOLO 這類無全連接層的卷積神經(jīng)網(wǎng)絡(luò)。

FPGA 設(shè)計(jì)層面,可以通過調(diào)整硬件系數(shù),即循環(huán)分塊系數(shù)來拓展至其他型號(hào)的FPGA 上[15-16],卷積循環(huán)優(yōu)化如圖3 所示。

圖3 卷積循環(huán)優(yōu)化Fig.3 Schematic diagram of convolutional loop optimization

為了提高FPGA 加速器的計(jì)算性能,多數(shù)設(shè)計(jì)采用全流水線架構(gòu),即對(duì)一個(gè)網(wǎng)絡(luò)中所有卷積層分別進(jìn)行優(yōu)化設(shè)計(jì),每個(gè)卷積層各自使用其計(jì)算單元與存儲(chǔ)單元,從而實(shí)現(xiàn)高并行度、高吞吐率[17-20]。然而此類加速器實(shí)現(xiàn)所使用的FPGA 均具有大量的硬件資源且價(jià)格昂貴,能耗較高,無法滿足嵌入式使用場(chǎng)景的低功耗要求[21],整體架構(gòu)如圖4所示。

圖4 整體架構(gòu)Fig.4 Overall architecture

本文實(shí)現(xiàn)的卷積神經(jīng)網(wǎng)絡(luò)加速器是一個(gè)嵌入式ARM 核CPU 與FPGA 協(xié)同工作的硬件系統(tǒng),該系統(tǒng)的卷積循環(huán)優(yōu)化如圖3 所示,整體架構(gòu)如圖4 所示。其中,R、C、M分別為輸出特征圖的高度、寬度和通道數(shù),Tr、Tc、Tm分別為R、C、M的分塊系數(shù),K為該層的卷積核尺寸,N為輸入特征圖的通道數(shù),Tn為其對(duì)應(yīng)的分塊系數(shù)。輸入數(shù)據(jù)及網(wǎng)絡(luò)模型參數(shù)從CPU 端傳輸至FPGA 計(jì)算后得到網(wǎng)絡(luò)模型的推理結(jié)果,最后CPU 端對(duì)該結(jié)果進(jìn)行讀取。由于網(wǎng)絡(luò)模型參數(shù)與網(wǎng)絡(luò)模型推理過程中產(chǎn)生的特征圖無法全部存儲(chǔ)至嵌入式FPGA 的片上存儲(chǔ)器,需要將每層的輸出特征圖存回CPU 端的DDR 存儲(chǔ)器中,執(zhí)行下一層計(jì)算時(shí),需要將該輸出特征圖重新讀取至片上進(jìn)行處理,無法做到網(wǎng)絡(luò)模型中層與層之間的流水線處理。本文選用YOLOv3-Tiny,一個(gè)輕量級(jí)神經(jīng)網(wǎng)絡(luò)作為FPGA加速器部署目標(biāo),并完成低比特量化,為了充分利用硬件資源,使用同一個(gè)卷積計(jì)算單元,執(zhí)行網(wǎng)絡(luò)不同層所需的計(jì)算任務(wù)。卷積計(jì)算單元的內(nèi)部是一個(gè)高度并行的計(jì)算核心,用于完成神經(jīng)網(wǎng)絡(luò)中核心的乘加運(yùn)算。整體架構(gòu)可用于計(jì)算不同參數(shù)配置下的卷積層和池化層。

3 實(shí)驗(yàn)結(jié)果

3.1 低比特量化結(jié)果

本文使用平均精度均值(Mean Average Precision,mAP)作為最終評(píng)分標(biāo)準(zhǔn)。mAP 的計(jì)算主要由精確率、召回率和交并比(Intersection over Union,IoU)閾值構(gòu)成。精確率是算法檢測(cè)正確的物體/檢測(cè)框的總個(gè)數(shù);召回率是算法檢測(cè)正確的物體/圖像中的總物體;交并比即模型預(yù)測(cè)的檢測(cè)框與真實(shí)框的交集與并集之比;平均精度(Average Precision,AP)是綜合了交并比、精確率與召回率三個(gè)指標(biāo)的評(píng)價(jià)標(biāo)準(zhǔn)。TP 代表一個(gè)正確的定位結(jié)果,即預(yù)測(cè)框和真值框之間的交并比大于規(guī)定的閾值。FP 表示一個(gè)錯(cuò)誤的結(jié)果。FN 表示此處有一個(gè)物體,但檢測(cè)系統(tǒng)將其判斷為背景。TN 表示檢測(cè)系統(tǒng)成功地將背景判斷為背景。精確率為TP/(TP+FP),召回率為TP/(TP+FN),本文采用0.5的交并比閾值。在AMCOM 紅外裝甲車目標(biāo)檢測(cè)數(shù)據(jù)集中驗(yàn)證了移植后目標(biāo)檢測(cè)模型的實(shí)際效果。目標(biāo)檢測(cè)數(shù)據(jù)集可視化檢測(cè)結(jié)果如圖5 和圖6所示。

圖5 紅外裝甲車目標(biāo)檢測(cè)數(shù)據(jù)集可視化檢測(cè)結(jié)果Fig.5 Visual detection results of the detection dataset for infrared armor vehicle objects

圖6 紅外飛行器目標(biāo)檢測(cè)數(shù)據(jù)集可視化檢測(cè)結(jié)果Fig.6 Visual detection results of the detection dataset for infrared flight vehicle objects

本節(jié)使用在VOC 數(shù)據(jù)集上進(jìn)行預(yù)訓(xùn)練的模型,并在AMCOM 紅外裝甲車目標(biāo)檢測(cè)數(shù)據(jù)集上進(jìn)行微調(diào)。本節(jié)中以0.001、0.000 1、0.000 01 的學(xué)習(xí)率依次各訓(xùn)練了2 000 個(gè)批次,最終得到了0.939 的平均精度,可以看出移植后的目標(biāo)檢測(cè)模型依然有著極強(qiáng)的檢測(cè)能力。

步驟1~3 依次添加了:1)權(quán)重的通道級(jí)量化;2)分步驟重訓(xùn)練方案;3)特征值的通道級(jí)量化?;A(chǔ)模型為權(quán)重、特征值層級(jí)量化、常規(guī)訓(xùn)練方案。紅外飛行器目標(biāo)檢測(cè)數(shù)據(jù)集測(cè)試結(jié)果見表1。

表1 紅外飛行器目標(biāo)檢測(cè)數(shù)據(jù)集測(cè)試結(jié)果Tab.1 Test results of the detection dataset for infrared flight vehicle objects

3.2 FPGA 性能分析

本文使用Xilinx 的Vivado 工具套件進(jìn)行硬件系統(tǒng)的開發(fā)與測(cè)試,F(xiàn)PGA 實(shí)現(xiàn)平臺(tái)選型為撼訊科技的PYNQ-Z2 FPGA Development Kit。該平臺(tái)使用的FPGA 芯片為ZYNQ XC7Z020-1CLG400C,該SoC 芯片同時(shí)還集成了一顆雙核Cortex-A9 嵌入式CPU。嵌入式CPU 負(fù)責(zé)產(chǎn)生對(duì)FPGA 的控制信號(hào)以及DDR 存儲(chǔ)器的管理,網(wǎng)絡(luò)模型的參數(shù)及推理階段產(chǎn)生的中間特征圖全部存儲(chǔ)在片下DDR 內(nèi)存中。

本文對(duì)提出的設(shè)計(jì)進(jìn)行測(cè)試及驗(yàn)證基于Xilinx的Zynq-7000 SoC,該SoC 使用不同種類、不同速率的接口和一些互聯(lián)路由結(jié)構(gòu),將嵌入式ARM 核以及傳統(tǒng)外設(shè)控制器(Processing System,PS)與FPGA 可編程邏輯(Programmable Logic,PL)相連。

基于該架構(gòu),開發(fā)者可以使用FPGA 大量的邏輯門資源,設(shè)計(jì)出高速并行的加速邏輯,部署在PL端;PS 端則負(fù)責(zé)初始化具體的任務(wù)邏輯,將繁雜的計(jì)算任務(wù)交給PL 端,PS 端進(jìn)行任務(wù)調(diào)度與控制。PS 端與PL 端進(jìn)行交互的接口主要分為三類。

1)EMIO(Extendable Multiuse I/O):用于將某些接口連接至PL 端的外設(shè),這些外設(shè)控制器位于PS 端,通過EMIO 進(jìn)行連接。

2)GP(General Purpose)端口:使用AXI4 Lite協(xié)議,多用作低速傳輸,常用于控制總線,負(fù)責(zé)讀取、寫入狀態(tài)與數(shù)據(jù)寄存器等。

3)HP(High Performance,HP)端口:使用AXI4 協(xié)議,多用作高速傳輸,常用于數(shù)據(jù)總線,負(fù)責(zé)PL 端的片上緩存與DDR 存儲(chǔ)器的數(shù)據(jù)交互。

加速器設(shè)計(jì)的硬件部分完全使用Xilinx HLS高層次設(shè)計(jì)工具進(jìn)行實(shí)現(xiàn),并將其封裝為一個(gè)IP,軟件調(diào)用部分使用的平臺(tái)是ARM 嵌入式CPU 上的Linux 系統(tǒng)。Xilinx 在這款SoC 的Linux 驅(qū)動(dòng)內(nèi)核上,添加了Python 對(duì)底層外設(shè)的映射和相關(guān)硬件控制,用戶可以訪問SoC 的Linux 內(nèi)核,編寫Python腳本,實(shí)現(xiàn)PS 端的控制。為了給FPGA 即PL 端傳輸數(shù)據(jù),需要在PS 端將數(shù)據(jù)以合適的格式進(jìn)行打包,并存儲(chǔ)在DDR 存儲(chǔ)器中。在本文中,F(xiàn)PGA 片上緩存與DDR 存儲(chǔ)的數(shù)據(jù)交換的控制者為PL 端,PS 端只負(fù)責(zé)將相關(guān)的數(shù)據(jù)地址及需要讀取的數(shù)據(jù)的長度告知PL 端,PL 端通過直接內(nèi)存訪問(Direct Memory Access,DMA)片下的DDR 存儲(chǔ),并讀寫相關(guān)數(shù)據(jù)。PS 端在DDR 存儲(chǔ)器中,開辟虛擬地址與實(shí)際地址一致連續(xù)的內(nèi)存空間。這樣一來無需PS 端的控制,PL 端即可訪問DDR 中正確的存儲(chǔ)位置。

本文所使用的 FPGA PYNQ-Z2(ZYNQ XC7Z020-1CLG400C)含 有280 個(gè)BRAM、220 個(gè)DSP48E、106 400 個(gè)FF 硬件資源和53 200 個(gè)LUT資源,開發(fā)板提供最高25.6 Gbit/s 的傳輸帶寬。

在硬件資源和帶寬的限制下,選擇分塊系數(shù)(Tm=8、Tn=4、Tr=32、Tc=38)作為最終的加速器主要設(shè)計(jì)參數(shù)。卷積神經(jīng)網(wǎng)絡(luò)加速器設(shè)計(jì)在該FPGA 板上的資源使用情況見表2。

表2 FPGA 綜合后硬件資源消耗情況Tab.2 Hardware resource consumption after FPGA synthesis

在表2 中,BRAM(Block RAM)代表FPGA 中專用的RAM 塊資源,DSP(Digital Signal Process)代表FPGA 中的數(shù)字信號(hào)處理單元,F(xiàn)F(Flip Flop)代表觸發(fā)器,LUT(Look-Up Table)代表查找表。從表中可以看出,DSP 和LUT 的資源利用率均在90%以上,這兩種資源多用于計(jì)算單元的組成,其利用率越高,說明卷積計(jì)算的并行度越高,系統(tǒng)能夠達(dá)到的峰值計(jì)算性能也就越高。

由于網(wǎng)絡(luò)中每一層需要等待前一層完成計(jì)算才可以運(yùn)行,YOLOv3-Tiny 中每個(gè)卷積層所需計(jì)算量和達(dá)到的計(jì)算性能可以獨(dú)立評(píng)估。第12 個(gè)卷積層達(dá)到90.6 GOP/s 的峰值性能,平均性能為65.6 GOP/s。低比特量化大大減少了數(shù)據(jù)交換帶來的帶寬消耗,最終系統(tǒng)的功耗為2.5 W。

4 結(jié)束語

本文提出了低比特量化的YOLOv3-Tiny 算法,在對(duì)不同數(shù)量、不同大小的復(fù)雜場(chǎng)景下的紅外目標(biāo)識(shí)別任務(wù)上,當(dāng)權(quán)重量化至2 bit 時(shí)仍保持高識(shí)別率,并在PYNQ-Z2 嵌入式FPGA 開發(fā)板上進(jìn)行加速器實(shí)現(xiàn)。在低比特量化條件下取得優(yōu)異的壓縮效果,原理上在無須改變量化算法與FPGA 加速器架構(gòu)的前提下,即可拓展至各類針對(duì)目標(biāo)識(shí)別任務(wù)及多分類任務(wù)的卷積神經(jīng)網(wǎng)絡(luò)上。得益于低比特量化,提出的神經(jīng)網(wǎng)絡(luò)加速器所需帶寬大幅降低,即使增大并行度,每個(gè)時(shí)鐘周期數(shù)據(jù)交換的次數(shù)增加,仍能保證系統(tǒng)在150 MHz 的工作頻率下運(yùn)行;同時(shí)采用行緩存和窗口緩存實(shí)現(xiàn)滑動(dòng)窗口處理方式,大幅提高卷積計(jì)算并行度,達(dá)到了90.1 GOP/s 的峰值性能。與其他相關(guān)工作對(duì)比,本文提出的FPGA 加速器具有優(yōu)異的能效表現(xiàn),為嵌入式紅外目標(biāo)識(shí)別系統(tǒng)提供一種能效高、識(shí)別精度高的解決方案。

猜你喜歡
比特紅外卷積
網(wǎng)紅外賣
基于3D-Winograd的快速卷積算法設(shè)計(jì)及FPGA實(shí)現(xiàn)
閃亮的中國紅外『芯』
從濾波器理解卷積
TS系列紅外傳感器在嵌入式控制系統(tǒng)中的應(yīng)用
基于傅里葉域卷積表示的目標(biāo)跟蹤算法
比特幣還能投資嗎
比特幣分裂
比特幣一年漲135%重回5530元
基于快速遞推模糊2-劃分熵圖割的紅外圖像分割