劉 謙,王林林,周文勃
(1.中國科學院國家空間科學中心,北京 100190;2.中國科學院大學 計算機科學與技術(shù)學院,北京 100049)
近年來,卷積神經(jīng)網(wǎng)絡(luò)目標識別算法在人臉識別、自動駕駛以及物體識別等民用領(lǐng)域獲得了巨大的成功。目前國內(nèi)航天技術(shù)也逐漸向智能化轉(zhuǎn)變,在航天設(shè)備上應(yīng)用智能化的目標檢測系統(tǒng)受到越來越多的關(guān)注。然而星載硬件計算資源十分匱乏,如何將基于卷積神經(jīng)網(wǎng)絡(luò)的目標檢測算法部署到資源有限的宇航級芯片上是亟需解決的一項技術(shù)難題[1]。
現(xiàn)場可編程門陣列(Field Programmable Gate Array,FPGA)作為航天常用主控器件,具有功耗低、可重構(gòu)以及并行計算能力強等優(yōu)點,利用其高度的并行計算能力能夠以較低的功耗實現(xiàn)高效的卷積計算,在卷積加速方面能夠表現(xiàn)出獨特的優(yōu)勢[2]。因此,本文提出采用FPGA作為硬件加速單元實現(xiàn)基于卷積神經(jīng)網(wǎng)絡(luò)的目標檢測加速系統(tǒng)。
目前基于FPGA的卷積加速器研究主要集中在3×3標準卷積加速的優(yōu)化上,對于目標檢測常用的YOLO網(wǎng)絡(luò)的網(wǎng)絡(luò)加速優(yōu)化研究還較少。由于目標檢測網(wǎng)絡(luò)較卷積計算有著更加復(fù)雜的結(jié)構(gòu),因此研究如何實現(xiàn)高效的網(wǎng)絡(luò)加速更具有意義。在YOLO目標檢測網(wǎng)絡(luò)中卷積一般為兩種,分別是1×1卷積和3×3卷積。對于YOLO目標檢測網(wǎng)絡(luò)的加速,文獻[3-4]中提出的加速結(jié)構(gòu)分別對1×1卷積和3×3卷積進行了硬件設(shè)計,兩種卷積計算單元相互獨立,計算資源互不共享。由于卷積神經(jīng)網(wǎng)絡(luò)目標檢測算法每次只對一種卷積進行計算,因此此類結(jié)構(gòu)中總有一部分計算單元會空閑,從而使硬件利用率較低。而文獻[5]中提出卷積復(fù)用的方法,將1×1卷積權(quán)重放置在3×3卷積核權(quán)重第5位,剩余8位權(quán)重置零。該方法用3×3卷積直接代替1×1卷積,雖然大幅提高了硬件利用率,但是1×1卷積計算時每計算1次會產(chǎn)生8次無效計算和無效數(shù)據(jù)傳輸,因此造成了1×1卷積計算效率低下。文獻[6]中提出了一種策略,將3×3卷積轉(zhuǎn)換成1×1卷積進行計算,并對YOLOv5s網(wǎng)絡(luò)實現(xiàn)了加速計算,但是該方法卻犧牲了部分并行性,計算性能較差。文獻[7]采用了基于Winograd算法的硬件加速結(jié)構(gòu)完成了對3×3、5×5以及11×11尺寸的卷積加速,并取得了較好的加速效果,但該方法并不支持1×1卷積的計算。由于YOLOv5目標檢測網(wǎng)絡(luò)中具有大量的1×1卷積計算,因此該方法并不適合用于加速YOLOv5目標檢測網(wǎng)絡(luò)。
為解決以上文獻中所提結(jié)構(gòu)的缺點,本文提出了一種將1×1卷積和3×3卷積計算單元復(fù)用共享的結(jié)構(gòu)。在大幅提高硬件利用率的同時,既可以計算1×1卷積也可以計算3×3卷積,同時1×1卷積計算時也不會產(chǎn)生無效計算和無效數(shù)據(jù)傳輸,解決了文獻[3-7]中加速器結(jié)構(gòu)硬件利用率低、計算效率低以及不支持1×1卷積計算等問題。此外,該硬件加速器還利用了層融合、多維度并行卷積加速、模型量化降低資源消耗等方法以較低的FPGA資源消耗獲得了較高的計算能力,實現(xiàn)了卷積神經(jīng)網(wǎng)絡(luò)目標檢測的高效計算。最后本文以通用目標檢測算法YOLOv5s算法為基礎(chǔ),并以天體表面隕石坑的識別為主,驗證了所提出的加速器結(jié)構(gòu)的有效性。
YOLOv5目標檢測算法由Ultralytics LLC公司于2020年5月提出,是目前優(yōu)秀的目標檢測算法之一。通過YOLOv5算法能夠?qū)崿F(xiàn)多目標高精度的目標檢測,可以解決傳統(tǒng)目標檢測算法要求檢測背景簡單以及需要被檢測目標特征明顯類型單一等問題。YOLOv5目標檢測網(wǎng)絡(luò)結(jié)構(gòu)共有5個主流版本,分別是YOLOv5n、YOLOv5s、YOLOv5m、YOLOv5l和YOLOv5x。
本文綜合速度、精度等方面的因素采用了YOLOv5s,并對YOLOv5s算法結(jié)構(gòu)進行了微調(diào):
一是將原算法模型的激活層由SiLU替換為Leaky ReLU。由于SiLU激活函數(shù)中包括指數(shù)、乘法、除法和加法計算,其計算復(fù)雜度高,而Leaky ReLU激活函數(shù)中僅包含一個乘法計算計算復(fù)雜度低,因此采用Leaky ReLU激活函數(shù)能夠在一定程度上降低計算量。
二是保留了YOLOv5s-5.0中的FOCUS結(jié)構(gòu)和YOLOv5s-6.0中的SPPF結(jié)構(gòu),SPPF結(jié)構(gòu)中只采用了一種尺寸5×5的Maxpool,相較于SPP結(jié)構(gòu)中3種不同尺寸(5×5、9×9、13×13)的Maxpool在FPGA上僅需要設(shè)計一種尺寸Maxpool,能夠簡化FPGA對Maxpool的設(shè)計。
以上算法修改均能夠有效減少FPGA資源使用,且對算法本身影響不大。調(diào)整后的YOLOv5s網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
圖1 調(diào)整后YOLOv5s網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 Network architecture of adjusted YOLO V5s
YOLOv5s算法中CBS計算過程包括卷積、BN(Batch Normalization)和Leaky ReLU三部分。在模型訓練過程中BN層能夠解決梯度消失和梯度爆炸的問題,并可以加快網(wǎng)絡(luò)的收斂提高訓練效率,同時也可以提高網(wǎng)絡(luò)穩(wěn)定性。而在前向推理過程中BN層卻降低了模型的性能,所以在推理過程中可以通過層融合的方式將BN層融合到卷積層中,從而達到降低計算量、提高模型性能的效果[8]。卷積層BN層融合過程如下:
在BN層中μ表示輸入的均值如式(1)所示,式中x表示輸入特征圖中的元素,m表示輸入特征圖中元素的個數(shù)。δ2為輸入的方差,如式(2)所示。
(1)
(2)
BN計算公式如式(3)所示,式中γ為尺度因子,β為偏移因子。尺度因子優(yōu)化了特征數(shù)據(jù)分布的寬窄,偏移因子則優(yōu)化了數(shù)據(jù)的偏移量,在模型訓練過程中這兩個參數(shù)自動學習,訓練結(jié)束后數(shù)值固定。ε為一個大于0且極小的數(shù)值,用于防止方差δ2為0的異常情況出現(xiàn)。式(4)為卷積計算公式,其中W表示卷積核,X表示輸入特征圖,B表示偏置,Y表示輸出特征圖。將式(4)代入到BN計算中得到卷積和BN計算的總公式(5),式中Y′表示卷積和BN計算后的輸出特征圖。
(3)
Y=WX+B
(4)
(5)
將式(5)展開可得出新的卷積核W′如式(6)所示,新的偏置B′如式(7)所示。
(6)
(7)
層融合的方法通過提前計算獲得新的卷積核W′和偏置B′,從而將BN層融合到卷積層中,有效降低了模型推理階段FPGA上的計算量,減少FPGA片上DSP48E、LUT等資源的消耗。同時由于計算步驟減少,所以也能夠在一定程度上減小推理延時,提高系統(tǒng)整體性能。
在深度學習領(lǐng)域量化是一種常用的能夠有效降低存儲空間和計算成本的方法[9],可以有效壓縮模型大小。在FPGA上采用量化方法用低位寬的定點乘法器、加法器代替高位寬的浮點乘法器、加法器可以大幅降低FPGA邏輯資源的使用,提高資源緊缺情況下FPGA上的計算能力。本文對模型進行了量化,將32位單精度浮點轉(zhuǎn)換為16位定點數(shù),在FPGA中設(shè)計16位定點乘法器、加法器來完成卷積層的計算。
根據(jù)圖1中YOLOv5s網(wǎng)絡(luò)結(jié)構(gòu)框圖可以看出其內(nèi)部由基礎(chǔ)模塊構(gòu)成,包括卷積Conv模塊、ADD模塊、Maxpool模塊、Silce模塊、上采樣模塊和Concat模塊。其中卷積分為兩類,分別為1×1卷積和3×3標準卷積,在YOLOv5s算法中一共了包含43層1×1卷積和19層3×3標準卷積,該部分是YOLOv5s算法中計算最復(fù)雜的部分,需要在FPGA設(shè)計并行計算單元以達到計算加速效果。本文對YOLOv5s算法中計算量較大的模塊在FPGA上進行了硬件加速設(shè)計,包括Conv1×1卷積、Conv3×3卷積、ADD、Maxpool和上采樣模塊。
加速器整體架構(gòu)如圖2所示,該架構(gòu)中包括CPU和FPGA兩個部分。其中CPU部分為雙核ARM Cortex-A9 MPCore,該部分外掛DDR3內(nèi)存,用于緩存特征圖和權(quán)重數(shù)據(jù)以及運算過程中產(chǎn)生的中間數(shù)據(jù),外掛NAND FLASH用于存儲輸入的圖像文件和權(quán)重文件以及存儲計算后的輸出文件。UART接口用于監(jiān)控加速器各個階段的計算耗時,輸出所識別到的隕石坑在圖像中的坐標信息。CPU部分主要進行圖像和權(quán)重等文件的讀取、將圖像和權(quán)重文件轉(zhuǎn)存到DDR3、配置FPGA端加速器以及處理YOLOv5s中簡單的計算如Silce和Concat。
圖2 系統(tǒng)整體架構(gòu)Fig.2 Overall system architecture
FPGA端設(shè)計有主計算單元和輔計算單元兩個部分。其中主計算單元包括3×3卷積緩存模塊、1×1卷積緩存模塊、通用并行計算模塊和ADD計算模塊。在主計算單元中由于涉及的數(shù)據(jù)量較大且數(shù)據(jù)傳輸延時較長,所以在主計算單元中采用雙緩存乒乓機制用于掩蓋數(shù)據(jù)傳輸所消耗的時間。輔計算單元包括Maxpool計算模塊和上采樣計算模塊。
CPU和FPGA之間通過AXI(Advanced eXtensible Interface)總線交互數(shù)據(jù),采用了1個AXI-GP接口和4個AXI-HP接口。其中AXI-GP接口用于FPGA和CPU之間的控制信號傳輸,實現(xiàn)加速器的偏移地址配置以及其他參數(shù)配置。而AXI-HP接口負責計算過程中DDR3內(nèi)存與FPGA的高速數(shù)據(jù)交換,AXI-HP接口和DDR之間具有專有控制器可以直接實現(xiàn)FPGA與內(nèi)存的高速數(shù)據(jù)交換,由于不需要經(jīng)過CPU從而大大提高了數(shù)據(jù)傳輸效率,適合大數(shù)據(jù)吞吐量的應(yīng)用場景。
3.2.1 循環(huán)分塊策略
由于FPGA的片上存儲BRAM(Block Random Access Memory)資源十分有限,而卷積計算過程中的權(quán)重、偏置以及特征圖會占用大量的存儲資源,所以無法直接將整個特征圖存儲到FPGA的片上存儲中。因此本文采用對特征圖進行循環(huán)分塊的設(shè)計策略,將片外DDR3中存儲的完整特征圖分為數(shù)個小塊,分批次存儲到FPGA片上存儲BRAM中進行后續(xù)的卷積計算,解決了FPGA片上存儲資源不足的問題。循環(huán)分塊過程如圖3所示,分塊后的小特征圖存儲在雙緩存結(jié)構(gòu)中。
圖3 循環(huán)分塊過程Fig.3 Cyclic chunking process
3.2.2 雙緩存與緩存分割
為進一步提高整個系統(tǒng)的吞吐量,掩蓋AXI總線和內(nèi)存之間的傳輸延時,本文設(shè)計了一種雙緩存機制,使加速器可以在AXI總線傳輸特征圖的過程中同時進行卷積計算。雙緩存結(jié)構(gòu)如圖4所示,當計算單元讀取緩存1中的數(shù)據(jù)進行卷積計算的過程中,緩存2可以同時用于接收AXI總線中的數(shù)據(jù),而緩存2用于計算時,緩存1則可以用于接收數(shù)據(jù),以此往復(fù)。該結(jié)構(gòu)可以使計算單元一直處于工作狀態(tài),從而在一定程度上提高整個系統(tǒng)的工作效率。
圖4 雙緩存結(jié)構(gòu)示意Fig.4 Dual cache architecture schematic
此外,由于FPGA中的BRAM僅能配置為雙端口進行讀寫,讀寫速率受端口數(shù)量的限制。為解決此類問題,本文采用數(shù)組分割的方式,將分割后的數(shù)組存儲在不同的BRAM中,用數(shù)個小容量緩存代替一個大容量緩存,從而可以實現(xiàn)多個端口同時讀寫數(shù)據(jù)提高數(shù)據(jù)吞吐量,為后續(xù)并行計算結(jié)構(gòu)提供充足的數(shù)據(jù)量。
本文中1×1卷積和3×3卷積采用了復(fù)用的計算單元,需要計算單元盡可能兼容兩種卷積計算,因此本文設(shè)計了輸入-輸出通道并行的加速結(jié)構(gòu),該結(jié)構(gòu)中計算單元的硬件結(jié)構(gòu)與卷積核尺寸無關(guān)。其計算單元中包含64個數(shù)據(jù)處理單元(Processing Element,PE),PE由8個輸入并行數(shù)據(jù)選擇器、4個乘法器、1個加法樹以及1個累加結(jié)構(gòu)構(gòu)成。每個PE單元具有8個輸入通道其中1×1卷積和3×3卷積各4個通道,通過數(shù)據(jù)選擇器選擇其中4個通道至后續(xù)的運算結(jié)構(gòu),因此實現(xiàn)了1×1卷積和3×3卷積的計算資源共享。PE計算單元結(jié)構(gòu)如圖5所示。
圖5 PE結(jié)構(gòu)示意Fig.5 PE architecture schematic
在YOLOv5s算法中的通道數(shù)最大達到了1 024,受限于FPGA資源無法將1 024個通道全部在FPGA上實現(xiàn)并行,所以實際輸入的特征圖通道數(shù)遠大于PE單元的設(shè)計輸入通道,因此,輸入的特征圖只能分批進入PE單元中進行計算。此外,對于3×3卷積每一個通道的每一個輸出數(shù)據(jù)也都會進行9次卷積核內(nèi)計算,且輸出通道的計算結(jié)果是分批輸入特征圖卷積累加的結(jié)果,因此在PE單元中增加了累加結(jié)構(gòu)用于將不同批次進入PE單元的輸出數(shù)據(jù)以及3×3卷積核內(nèi)計算數(shù)據(jù)進行累加,實現(xiàn)完整的多通道卷積計算。為提高PE結(jié)構(gòu)的運行頻率和吞吐量,本文在PE單元的硬件結(jié)構(gòu)中插入了中間寄存器進行了6級流水設(shè)計,使加速器可以在高時鐘頻率下穩(wěn)定工作。
在YOLOv5s中最后一層卷積不需要激活函數(shù),所以由累加器輸出的特征圖還需要通過數(shù)據(jù)選擇器,選擇特征圖是否經(jīng)過激活函數(shù)。激活函數(shù)根據(jù)調(diào)整后的算法結(jié)構(gòu)采用Leaky ReLU,該激活函數(shù)較SiLU激活函數(shù)具有電路結(jié)構(gòu)簡單的優(yōu)點,適合在計算資源緊張的嵌入式環(huán)境應(yīng)用,其計算公式如式(8),本文中a采用0.01。
(8)
由于Leaky ReLU激活函數(shù)計算簡單,計算延時低僅需要1個時鐘周期,故本文中一共設(shè)計了4個并行Leaky ReLU計算單元對應(yīng)在4個AXI輸出接口之前,其結(jié)構(gòu)電路如圖6所示。
圖6 Leaky ReLU結(jié)構(gòu)示意Fig.6 Leaky ReLU architecture schematic
ADD本質(zhì)是將兩個輸入層相加,該部分要求輸入層的通道數(shù)、特征圖尺寸完全相等。由于ADD單元的計算結(jié)構(gòu)與卷積計算單元有著較大的差異,難以實現(xiàn)與卷積計算共享硬件資源的計算結(jié)構(gòu),因此本文對ADD結(jié)構(gòu)進行了單獨的硬件加速設(shè)計。ADD硬件加速模塊的結(jié)構(gòu)如圖7所示。
圖7 ADD結(jié)構(gòu)示意Fig.7 ADD architecture schematic
該部分同樣采用雙緩存結(jié)構(gòu)用于提高吞吐量。為降低尋址難度,該部分采用一維形式分塊,將n×n特征圖所有的數(shù)據(jù)按照Tp個特征點分批為n×n/Tp次,同時按照Tn個通道將輸入通道N按N/Tn次分批處理,將Tn個通道的Tp個特征點數(shù)據(jù)一次性由DDR3傳輸?shù)紽PGA端并緩存到片上BRAM中,充分利用AXI-HP總線的突發(fā)傳輸模式有效降低傳輸延時,其中Tn為32,Tp為400。其加法計算部分采用三級流水,分別為讀數(shù)據(jù)階段、加法計算階段和寫數(shù)據(jù)階段,用于提高系統(tǒng)工作頻率。
Maxpool在算法中主要起到減小特征圖尺寸,控制過擬合的作用[10]。對于最大池化模塊Maxpool的處理,首先按照Maxpool的窗口尺寸將特征圖分為5×5的小塊,然后將5×5分塊的特征圖存儲到輸入緩存中,之后通過比較器樹比較5×5特征圖中25個特征點的大小,取最大值并將該值作為輸出特征圖中的一個特征點存入到輸出緩存中。其處理過程和計算單元結(jié)構(gòu)圖如圖8所示。
圖8 5×5 Maxpool結(jié)構(gòu)示意Fig.8 5×5 Maxpool architecture schematic
YOLOv5s中所使用的上采樣模塊作用是將輸入特征圖擴大4倍,即1個輸入特征點對應(yīng)4個輸出特征點。該部分在FPGA上實現(xiàn)的結(jié)構(gòu)較為簡單,僅僅涉及緩存的讀寫,具體操作是將輸入緩存中的1個特征點取出并轉(zhuǎn)存到輸出緩存中對應(yīng)的4個特征點上。
本實驗在YOLOv5s模型訓練階段采用了自制數(shù)據(jù)集,使用了124張來自月球和火星的隕石坑圖片,圖片尺寸為640×640,用于驗證小樣本數(shù)據(jù)集下目標檢測算法的有效性。采用的訓練平臺硬件環(huán)境為Intel i7-1100 CPU,RTX3080 GPU,16 GB內(nèi)存。
在加速效果測試中,為比較不同平臺間的差異采用了兩種平臺,分別為實驗平臺1,Xilinx公司ZC706開發(fā)板,該開發(fā)板采用的主芯片型號為XC7Z045,XC7Z045芯片集成雙核ARM Cortex-A9 CPU和Kintex-7 FPGA,FPGA中具備900個DSP48E單元、218 600個LUT邏輯資源以及545個BRAM36K存儲資源;實驗平臺2,微相公司ZYNQ開發(fā)板,該開發(fā)板主芯片為XC7Z020,XC7Z020芯片集成雙核ARM Cortex-A9 CPU和Artix-7 FPGA,FPGA中具備220個DSP48E單元、53 200個LUT邏輯資源以及140個BRAM36K存儲資源。
XC7Z045芯片中FPGA片上資源使用情況如表1所示,其中DSP48E1一共使用了65%,主要用于組成卷積計算結(jié)構(gòu)中的乘法器和加法器以及ADD模塊中的加法器;BRAM36K使用了58.07%,主要用于FPGA片上對特征圖、權(quán)重等的緩存,以及構(gòu)成雙緩沖結(jié)構(gòu)等;而LUT、LUTRAM以及FF等資源主要用于加速器邏輯控制、加速器內(nèi)部流水線構(gòu)成等。
表1 XC7Z045芯片資源占用率Tab.1 XC7Z045 chip resource usage
XC7Z020芯片中FPGA片上資源使用情況如表2所示,各部分資源的作用與XC7Z045相似。
表2 XC7Z020芯片資源占用率Tab.2 XC7Z020 chip resource usage
實驗表明,該目標檢測系統(tǒng)能夠正確讀取FLASH中的圖像和權(quán)重文件并進行YOLOv5s算法的計算,能夠準確識別出圖像中的天體隕石坑位置。部分天體隕石坑的識別結(jié)果如圖9所示,矩形框所框出的位置為隕石坑所在位置。表3對原始YOLOv5s網(wǎng)絡(luò)和本文中的YOLOv5s網(wǎng)絡(luò)的檢測效果做了對比,可見本文中的YOLOv5s網(wǎng)絡(luò)保持了與原始網(wǎng)絡(luò)效果相近,雖然指標有一定的損失,但是本文網(wǎng)絡(luò)更加適合在FPGA上實現(xiàn),與文獻[6]相比在相同硬件平臺下,采用本文中的加速器結(jié)構(gòu)和YOLOv5s網(wǎng)絡(luò)結(jié)構(gòu)獲得了數(shù)倍的計算性能提升,其利遠大于弊。
表3 與原始網(wǎng)絡(luò)的識別效果對比Tab.3 Recognition results compared with the original network
圖9 隕石坑識別結(jié)果Fig.9 Crater identification results
通過實驗將本文中所提出的FPGA加速結(jié)構(gòu)與RTX2060、樹莓派兩種平臺在功耗、速度以及芯片架構(gòu)、能效等方面做了比較,結(jié)果見表4。在FPGA平臺下的能效(單位:J/picture)是CPU平臺的11~41倍,是GPU平臺的2.3倍。通過分析可以得出,FPGA平臺上實現(xiàn)的YOLOv5s算法在能效方面較CPU和GPU平臺具有顯著優(yōu)勢,能夠?qū)崿F(xiàn)低功耗情景下的高性能計算。
表4 不同平臺間計算速度對比Tab.4 Comparison of computing speed between platforms
在加速器方面,將本文中提出的加速結(jié)構(gòu)與其他文獻中加速結(jié)構(gòu)在計算性能、能效以及DSP利用率等方面進行了比較,結(jié)算如表5所示。表中GOPS表示加速器每秒乘法和加法的總計算次數(shù),GOPS·W-1表示能效比,GOPS·DSP-1表示DSP效率。通過對比可以看出,本文所提出的加速器結(jié)構(gòu)在計算能力、能效比、DSP效率等方面均有著較好的表現(xiàn),平臺2(XC7Z020平臺)與文獻[6]在相同算法、相同硬件平臺情況下其計算性能提高了4.46倍,能效比提高了3.69倍,DSP利用效率提高了4.49倍。此外,平臺1(XC7Z045平臺)與平臺2(XC7Z020平臺)相比,平臺1實現(xiàn)了更強的計算能力,原因是平臺1硬件資源較多可以實現(xiàn)更高的并行度,但在能效比和DSP效率上兩者基本保持一致,受不同平臺的影響較小,因此本文中的加速結(jié)構(gòu)可以在不同硬件平臺上進行移植,同樣可以實現(xiàn)較高的能效和DSP利用率。通過以上對比可知,本文所提出的YOLOv5s網(wǎng)絡(luò)FPGA加速結(jié)構(gòu)具有資源使用量少、效率高等特點,在相同器件上能夠提供更強的計算能力。
表5 加速性能對比Tab.5 Accelerated performance comparison
本文研究了基于YOLOv5s目標檢測網(wǎng)絡(luò)的加速設(shè)計,并提出了一種適用于YOLOv5s網(wǎng)絡(luò)結(jié)構(gòu)的FPGA硬件加速結(jié)構(gòu),實現(xiàn)了對YOLOv5s算法各個階段的加速工作,完成了對天體隕石坑的目標識別檢測。此外,還提出了一種1×1卷積和3×3卷積硬件計算資源共享的結(jié)構(gòu),實驗表明該結(jié)構(gòu)較其他結(jié)構(gòu)在能效、資源利用效率等方面具有一定的優(yōu)勢,在資源受限的領(lǐng)域具有重要的意義,為日后的航天器智能化提供了新思路。
本文中的加速結(jié)構(gòu)已經(jīng)在不同的FPGA平臺上獲得了較理想的加速效果,因此下一步研究工作可以聚焦在采用宇航級FPGA芯片的驗證工作上,實現(xiàn)可以實際應(yīng)用于航天領(lǐng)域的目標檢測系統(tǒng)。