?

神經網絡異構加速跟蹤系統設計與實現

2022-11-18 03:43郭風祥焦禹銘宋慶增
小型微型計算機系統 2022年11期
關鍵詞:寄存器卷積模塊

吳 凱,黨 鑫,郭風祥,焦禹銘,宋慶增

(天津工業大學 計算機科學與技術學院,天津 300387)

1 引 言

人工智能技術早在上個世紀五十年代便被研究者們提出和建立,人工智能技術的初衷是為了讓機器可以模擬、擴展、延伸人的智能.目前,深度學習技術是人工智能領域最熱門的研究方向,深度學習技術自2006年被提出以來,已被廣泛的應用在計算機視覺,語音處理,數據挖掘等多個領域.在計算機視覺領域當中,目標檢測是指在給定的目標范圍內提取出有效的目標區域.近年來,目標檢測技術在監控、搜尋、跟蹤等任務中做出了極大地貢獻,降低了這些任務所需要的人力成本,提高了任務的執行效率.

在目標跟蹤領域,最近的研究表明,跟蹤算法使用卷積神經網絡來提取特征和分類,可以使算法具備區分背景和非背景的能力,提升算法魯棒性[1].目標跟蹤系統的效果往往會被作為關鍵環節的特征提取所影響[2].目前的卷積神經網絡模型已朝向越來越龐大和復雜的趨勢發展,對算力的要求也逐漸提高,所以在目標跟蹤系統中使用神經網絡作為提取特征的手段,會極大的影響系統的實時性.目前對目標跟蹤系統的部署通常在云端和邊緣計算設備端,在云端的部署當中,通常云端需要處理多個視頻流,對云端的算力和數據傳輸的網絡延遲需求也比較高,在實時性極高的邊緣計算場景當中,邊緣計算設備對神經網絡模型帶來的龐大算力需求和功耗問題又難以解決[3].

近期,研究者們在軟件層面使用模型壓縮技術,如剪枝、量化等輕量化網絡方法,使得算法更加適應嵌入式端的移植[4].在硬件層面,使用異構計算進行算法的加速也逐漸成為主流,常見的異構加速平臺有GPU(Graphics Processing Unit)、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)3種,其中GPU具有數千計算內核,可以進行海量數據的并行計算,但與之而來的數據帶寬需求和功耗也十分巨大.ASIC為定制電路,成品具有功耗低性能強的特點,但是缺點在于靈活性差,一旦流片便無法更改,同時具有較長的設計周期[5].FPGA別名現場可編程邏輯陣列,具有可重構,低功耗,高度并行的特點,開發周期短,靈活度高,適合目前計算量大但更新迭代快速的神經網絡算法[6].

本文針對目標跟蹤系統部署在資源受限的移動平臺面對的需求和問題,從軟件算法和硬件電路兩個層面進行優化,選取設計更為靈活的高性能FPGA平臺進行系統設計和搭建,采取軟硬件協同設計的方法,對計算任務合理的劃分,使得該目標跟蹤系統獲得更好的性能和功耗優勢.

2 算法設計

2.1 兩段式目標跟蹤

本設計采取兩段式目標跟蹤方法,將目標跟蹤分為detection+track,即為先進行目標檢測繼而對檢測出來相同的目標進行匹配的方式實現目標跟蹤,摒棄了傳統的端到端式的目標跟蹤方法,此設計可以根據跟蹤效果對detection部分和track部分分別采取優化手段,以達到更好的跟蹤效果,算法的處理流程如圖1所示.

圖1 算法處理流程

從圖1中可以看出,算法分為兩部分,首先對輸入視頻流進行初始化操作,執行預處理和視頻分幀,然后進入YOLOv5檢測算法,接下來進入跟蹤流程,將檢測算法處理后得到的檢測框和特征信息進行篩查,去除小于置信度的目標,對檢測框進行非極大值抑制,消除一個目標身上多個框的情況,然后算法會對每個目標使用卡爾曼濾波預測目標在當前幀的位置,來確定目標是否消失或出現新目標并確認狀態,之后將預測結果和檢測結果進行匹配,此時會區分目標的狀態.對確認狀態正常的目標進行級聯匹配,未確認狀態的目標會進行IOU交并比檢測,重新確定位置并匹配,之后將進行下一幀的處理,更新參數,并對未匹配的目標進行刪除,最后保存結果進行輸出.

2.2 基于YOLOv5的目標檢測

在使用目標檢測為基礎的兩段式目標跟蹤系統中,目標檢測的效果對跟蹤系統的性能有著至關重要的影響.目前基于深度學習為基礎的目標檢測算法主要分為單階段目標檢測和雙階段目標檢測兩種,單階段目標檢測算法將輸入特征圖當中的目標位置和類別信息進行回歸分析,直接給出結果,而雙階段目標檢測算法要先對所檢測目標進行候選區域提取,再對候選區中的目標分類和候選區域的坐標進行回歸修正,最后得出目標檢測結果.單階段的主流目標檢測算法為YOLO(YOLO、YOLOv2、YOLOv3、YOLOv4)[7-10]系列算法;雙階段的主流目標檢測算法為R-CNN((R-CNN、Faster R-CNN、Mask-RCNN)[11-13]系列算法.YOLO系列算法在檢測的精度效果上不如后者,但是在檢測速度上有著明顯的優勢.YOLOv5并不是YOLO系列的作者Joseph Redmon開發的,且其檢測精度略低于YOLOv4,但YOLOv5勝在靈活性與檢測速度,更加適用于部署在移動端系統當中.最新的研究結果表明YOLOv5的大小最小僅有27mb,但是使用darknet 架構的YOLOv4有244 MB,對比之下YOLOv5比v4小近90%,二者卻有著接近的檢測精度[14].YOLOv5與其他目標檢測算法在coco數據集上的測試速度如表1所示.

表1 目標檢測算法速度

YOLOv5與v4、v3相比擁有較高的精度,和最快的檢測速度.同時Yolov5 按照神經網絡的體量大小分為 Yolov5s、Yolov5m、Yolov5l、Yolov5x網絡,4種網絡的結構完全一致,方便研究者根據需求靈活使用.本設計為了跟蹤系統實時化的需求,采用了檢測速度較快,同時保證一定精度的Yolov5m作為使用模型.

YOLOv5的結構分為4個部分:輸入端,Backbone,Neck和prediction.其中輸入端YOLOv5采用了 Mosaic 的數據增強方法,該方法原理是將圖片隨機的進行調用,使其大小、角度隨機分布生成,使其堆疊,該技術可以極大地擴充數據集數據量,從而使模型學習到更多的目標特征信息,提升模型的識別能力.YOLOv5的輸入端使用了并行度的設計,使YOLOv5可以同時計算4張輸入圖片,變相的提升了mini-batch的參數值,這樣可以優化算法對計算資源和內存的使用.YOLOv5同樣引入了聚類算法,可以使用聚類來設計anchor的值,在算法訓練的過程中還可以從訓練集中計算出新的anchor值.算法在預測過程中會對圖片的大小進行自適應調整,將圖片的黑邊減少,以減少多余的計算量,從而加快預測速度.Backbone中YOLOv5采用了Focus 結構和 CSP 結構,Neck中采用了FPN+PAN的結構,FPN是一種使用上采樣對數據信息進行融合的自頂向下的方法,可以獲得預測數據的特征圖.而PAN相反采用的是自底向上的特征金字塔形式,將淺表層的定位信息傳遞至更深的層次當中,加強多個尺度的定位能力.最后的prediction層包含損失函數和非極大值抑制(NMS)YOLOv5采用的GIOU損失函數可以有效地解決邊界問題.同時NMS可以處理同一目標上的多個目標框重合問題,選出最優解.

2.3 基于卡爾曼濾波和匈牙利方法的跟蹤算法改進

本設計采用兩段式目標跟蹤,在視頻流數據通過YOLOv5處理后,會進入跟蹤算法的處理階段.跟蹤算法使用的是Wojke N[15]等人提出的設計思想為卡爾曼濾波和匈牙利方法結合的Deepsort跟蹤框架,是一種可以處理在線實時目標跟蹤的算法.Deepsort算法是根據Sort算法進行改進,在mot16數據集上Deepsort算法和其他在線目標跟蹤算法的效果如表2所示.EAMTT和POI算法速度太慢不滿足跟蹤系統的實時性要求.Deepsort與Sort算法相比,擁有更高的跟蹤精度,并且在對遮擋目標的追蹤效果有更好的優勢,速度仍舊可以滿足實時的要求.

表2 在線跟蹤算法參數

該方法使用(u,v,r,h,u′,v′,r′,h′)這8種參數來表示待跟蹤目標的運動狀態信息(u,v)用來確定檢測框的中心坐標,r為檢測框的長和寬的比值,h為檢測框的高度,(u′,v′,r′,h′)這4個變量描述的是對應參數的移動速度信息.過程為在目標檢測算法檢測到目標當前幀所在的坐標時,會使用卡爾曼濾波的方法預測目標下一幀的位置信息,預測模型是線性和時勻速的.接下來算法將會使用預測得來的目標框和實際得到的下一幀的目標框之間的馬氏距離來作為二者是否為同一目標的度量標準.

使用馬氏距離作為度量標準可能會導致軌跡匹配的不穩定性.尤其是在多目標跟蹤或者目標密集的場景下,馬氏距離往往會失去作為度量標準的效力,目標的身份ID號轉變會變得更加的頻繁.因此除了預測框和目標框之間的馬氏距離,Deepsort算法創新式的在每個目標當中加入了通過深度神經網絡提取而來的外觀特征向量,對確定的目標算法會建立一個基于該目標獨有的特征集.針對目標的運動變化,速度與角度的改變使得目標的外觀特征逐漸改變,算法通過計算外觀特征向量集與檢測到的每一個目標外觀特征向量集的最小余弦距離來判斷軌跡是否屬于同一目標.

Deepsort算法在匹配檢測框和預測框的時候,采用的是基于匈牙利方法的級聯匹配模式.使用級聯匹配方法可以優先匹配更加頻繁出現的軌跡,使遮擋時間短的軌跡優先與現有的檢測框進行匹配,有效解決因為目標發生遮擋期間使得卡爾曼濾波對丟失的軌跡不再進行持續預測而導致的跟蹤失敗問題.為了對抗遮擋問題,本設計還對算法進行一些調整,在匹配過程中,優化TLOST參數.當目標通過匈牙利算法對檢測框的移動數據和深度學習進行初步軌跡匹配之后,確定匹配成功的,將會更新軌跡信息,如果出現未匹配成功的情況,會對未匹配的軌跡和其他未匹配的檢測框進行二次匹配,在經過TLOST幀后仍未有檢測框與之匹配,系統將會判斷該軌跡已經終止,可以通過增大TLOST幀數值來有效解決短時間內的目標遮擋問題,但會因為算法待機等待時間的增加而產生多余計算量.

在原Deepsort算法完成級聯匹配時,有部分沒有進行匹配的軌跡是因為遮擋產生的,而遮擋極有可能是因為目標之間的重合產生的,可以假設至少有一個已完成級聯匹配的目標與其他目標發生了重疊,導致目標被遮擋,無法完成軌跡的更新.此時可以計算所有匹配成功目標和未匹配成功目標的交并比,設定一個閾值,當其中兩個目標的交并比大于此閾值,就可以認定目標之間發生重疊遮擋現象,之后將發生重疊的未匹配成功目標的預測軌跡視為該目標的實際位置,繼續完成匹配,這樣可以減少因為目標重疊而產生的遮擋問題而導致的跟蹤失敗.

3 整體設計

3.1 整體框架

根據兩段式目標跟蹤的特點,本設計采取了軟硬件協同設計的優化方法.為了滿足實時性和最大資源利用率的需求,將系統任務劃分成控制和運算兩大部分,控制部分包含配置,通信,串行邏輯等,本次設計將此部分任務劃分給主機端使用CPU實現,CPU適用于串行和多線程多任務處理.運算部分主要是YOLO目標檢測的向前推斷部分,包含大量并行的乘除法,通過FPGA中高并行度的可編程邏輯來實現,主機端和FPGA板卡通過PCIE接口進行通信,系統的整體結構如圖2所示.

圖2 整體架構

輸入端負責視頻數據的采集,并將視頻流傳送回主機,主機負責將視頻流初始化,進行分幀操作,再通過上位機將每一幀的圖像通過PCIE接口傳入FPGA板卡,FPGA板卡內數據通過AXI總線進行數據交互,通過AXI Lite進行指令交互.圖像數據會暫存在DDR中,經由上位機發送指令進行卷積計算加速,再將處理后的結果送回DDR,再由AXI總線經過PCIE接口將數據傳送回主機,完成加速處理操作.最后主機將數據進行YOLO后處理,執行跟蹤算法,流程結束.

3.2 計算模塊設計

在目標檢測向前推斷階段,包含大量的卷積運算,卷積運算包含大量的乘法和加法.為了更高效的進行卷積運算,本文設計了由多個并行計算單元組成的卷積加速模塊,如圖3所示.

圖3 計算模塊設計

每一個并行計算單元可以根據不同的計算任務需求來調整計算單元的類別,來完成3*3卷積,1*1卷積或者reshape操作.計算單元通過一個控制寄存器來進行操控,使用者通過上位機發送指令,經過AXI Lite總線傳遞指令,計算單元通過解析控制寄存器里的指令來完成復位、計算、數據傳輸等操作.計算所需的圖片數據和權重將會由AXI總線進行傳輸,在開始計算時數據會通過一組直接存儲器訪問(Direct Memory Access,DMA)經由AXI總線搬運至計算單元,在計算單元的前后兩側都設置一個AXI switch通路選擇器,在計算任務開始時,AXI switch會根據計算任務的需求,將從DDR傳入的數據發送給相應的計算單元,當計算任務結束時,數據會傳入另一個AXI switch中,再將數據寫回DDR相應的地址中.本次設計中有幾種不同功能的PE單元,以卷積3*3為例,如圖4所示.

圖4 3*3卷積計算單元

3*3標準卷積單元由數據生成、FPGA乘加計算資源、用來存儲特征圖數據和權重的Bram、指令寄存器、控制步長的Stride、減少過擬合的POOL等元素組成.Switch模塊用于控制數據通路的選擇,指令由PC上位機發出,經過AXI LITE端口進入模塊內的指令寄存器當中,通過解析指令可以選擇加載權重數據進入Block RAM或加載特征圖數據開始計算.數據生成模塊是一個將輸入的特征圖數據經過一些復用操作,變成適用于卷積操作的并行數據,方便和權重一起進入乘加樹進行并行計算.Block RAM負責儲存一層計算所需要的權重數據,是一塊使用資源較大的BRAM,方便后續計算的數據讀取,權重數據由上位機發出的控制指令調入.Weight RAM是一塊使用資源比較小的RAM負責暫存一次計算使用的權重數據,開始計算時從數據生成模塊處理好的并行特征圖數據和Weight RAM里暫存的權重數據會進入到乘加樹進行模擬卷積操作.指令寄存器是用來儲存、解析上位機發出的指令,發出控制信號,控制計算模塊進行數據加載和計算.乘加樹模塊是FPGA里的一些乘法器、加法器、DSP資源,特征圖數據和權重數據會進入乘加樹模塊進行模擬卷積操作.數據截斷模塊會對乘加樹模塊計算出來的數據和Weight RAM里的權重進行截斷操作,截斷操作會將數據的低三位截斷,以方便后續的計算.經行截斷以后的數據會進入Stride模塊,Stride模塊會控制數據是否進行步長的跨度操作.最后數據會進入POOL然后截斷輸出.

3.3 計算優化策略

基于高速設計和最大化資源利用率的原則,在進行卷積運算時,本設計采用了數據復用、權重共享的方法,特此在數據生成模塊加入了Padding、四變三、和三變九功能.在卷積運算中,為了更好地對圖像的邊界信息進行處理,獲取更完整的Feature Map,會對輸入圖像進行Padding操作,實為補零操作.為了更高的效率,本設計將此功能在FPGA中實現,省去上位機處理和傳輸數據的時間.

在FPGA內部實現Padding操作,需要借助有限狀態機(Finite State Machine,FSM),對一張圖片進行補零操作,在每一張圖片數據進入時需要補一行零,后續還有左補零和右補零操作,在最后一行又需要補一行零才能完成這一復雜的操作.因此需要使用狀態機將電路分成不同的操作狀態,同時使用上位機指令進行補零的操控.

在進行Padding操作之后,還需要對輸入的數據進行一些數據生成操作.在FPGA中,面對大量的流式數據運算,往往將數據暫存在FIFO當中,再將其取出進行計算操作,常規的卷積3*3操作需要一次對需要進行卷積的9個像素點做點乘操作,我們一次將卷積所需的3行數據傳入FIFO,再從FIFO當中依次讀出進行計算,但這樣做一個時鐘只能做第1行、第2行、第3行的一個像素點的點乘,完整一次3*3標準卷積需要3個時鐘,速度慢,還會增加后續數據的等待時間,有可能造成數據丟失的問題.

針對這些問題,本次設計對進行卷積之前的數據處理進行了優化,首先設計1個四變三模塊,該模塊使用4個分布式Ram,分別為ram0、ram1、ram2、ram3,對padding操作完成后的數據進行儲存,首先將三行數據分別讀入ram0,ram1,ram2在3行數據讀滿之后,開啟一次卷積計算,待3行數據計算的同時,將第4行數據讀入ram3,計算完畢之后,使用ram1,ram2,ram3當中的3行數據,再次開啟一次卷積計算,同時將第5行的數據讀入ram0,以此類推,四變三操作的示意圖如圖5所示.

圖5 四變三操作

四變三操作增加了數據的復用率,節省了數據準備的時間,極大地加快了卷積運算的效率.經過四變三之后,我們得到了一次卷積計算的三行數據,但是一次3*3卷積計算需要9個像素點方能計算完成,還需要對數據進一步優化處理.為此,本設計采用三變九模塊,將傳入的每行數據復制3份,在每1行的復制當中,第1次的復制完全保留,第2次的復制去掉第1個數據,第3次的復制去掉前兩個數據.三變九模塊的示意圖如圖6所示.

圖6 三變九操作

3.4 8bit量化

由于FPGA的電路特性,導致其對浮點數據不能很好地支持.神經網絡模型當中絕大部分參數為浮點型,在進行向前推斷階段,會消耗大量的計算資源,不適合使用FPGA進行處理.研究表明,使用8bit,16bit定點數據進行推斷,不會損失過多精度,在速度上反而更有優勢[16].因此為了更適應FPGA當中部署神經網絡,加快模型的推斷速度,需要對浮點模型進行數據量化操作.

本次設計采用線性量化,線性量化的公式為:

(1)

其中s是縮放的系數,z代表零點.

XQ=clamp(0,Nl-1,XINT)

(2)

Clamp代表截斷操作,Nl由量化所需要的位數決定.在進行卷積運算時,可將原卷積公式轉化為下述公式,完成量化操作.

(3)

4 上位機和指令集設計

4.1 上位機流程

本設計的上位機使用Python語言編寫,主要涉及視頻分幀/抽幀、圖像預處理、FPGA數據和計算調度,YOLO后處理和Deepsort跟蹤部分.在視頻抽幀分幀,圖像預處理時,我們會借助OpenCV的函數庫來實現,將視頻流轉化為所需的一幀一幀的圖像,再將圖像進行一些縮放操作,方便后續計算任務.YOLO后處理包含解碼和非極大值抑制等,用來解析檢測的結果,消除多余的重疊框.Deepsort算法使用卡爾曼濾波和匈牙利方法對檢測結果進行跟蹤處理.以上操作均為串行操作,在主機CPU上運行會有極高的效率.

4.2 指令集設計

在FPGA對神經網絡進行加速的階段,FPGA內的數據傳輸和計算開始、復位等指令,均由上位機發出.為了更方便高效的完成對FPGA的調度,本設計定制了一套精簡的AI指令集[17-19].指令集包含對FPGA整體的復位,各個模塊的復位、開始信號、數據通路的選擇,DMA搬運數據的地址和開始信號,還有一些需要配置的參數如Padding時填零個數,Stride時的步長,都由指令集進行配置.Control寄存器為讀寫雙向,上位機可以通過讀寫該寄存器,來控制和獲得計算模塊的當前狀態,Switch寄存器為只寫寄存器,上位機通過配置該寄存器,可以完成對4種算子的操控,在每層計算開始之前,會配置該寄存器,來選擇進行標準卷積、DW、PW、或者是Reshape操作.Config寄存器,為參數寄存器,每次計算所需的特征圖數據,和權重數據,都由該寄存器進行配置,該寄存器有四條指令,分別為從DDR中讀出的數據數量,讀出的數據所在地址,和寫入DDR的數據數量,和寫入DDR的數據地址.Compute寄存器一共有4組,分別對應12組指令,在每層計算開始之前,會該4組寄存器進行詳細配置,計算模塊會對計算指令進行解析操作,從而完成計算指令所對應的計算操作,該指令集信息如圖7所示.

圖7 指令集設計

5 實驗結果

5.1 實驗設置

實驗使用的目標檢測模型為YOLOv5m,數據集為曠世的CrowdHuman數據集[20],硬件方面上,選擇Xilinx 的FPGA,芯片為16nm的Virtex UltraScale+VU9P.設計全部采用Verilog HDL語言實現,開發工具為Xilinx 的Vivado 2019.2,計算模塊和IP核使用Vivado的block design技術進行連接,并進行綜合布線.對照組使用目前主流的GPU NVIDIA GeForce GTX 1080TI和NVIDIA的嵌入式GPU Jetson Xavier.

5.2 資源使用情況

本設計采用的時鐘主頻為200Mhz,根據YOLOv5m目標檢測模型的特點,在FPGA內部實現3*3標準卷積代替YOLOv5m向前推斷中的卷積操作,經過優化設計,最終在VU9P板卡中使用的資源情況如表3所示.

表3 VU9P資源使用情況

5.3 YOLOv5m平臺性能對比

在兩段式目標跟蹤系統當中,目標檢測的精確度和速度會極大地影響跟蹤算法的效果.本文分別在VU9P、GTX 1080TI、Jetson Xavier上使用自己錄制的行人視頻,在使用CrowdHuman數據集訓練好的YOLOv5m模型中,使用480×800的圖像輸入尺寸進行測試.表4為性能的對比.由于在FPGA當中使用了INT8格式,對比GPU使用的浮點格式,會造成一定的精度損失,但精度仍然只比嵌入式GPU下降3%,但其速度明顯快于GTX 1080TI和Jetson Xavier.雖然損失了一定的精確度,但是在部署系的速度和功耗比上,VU9P都要優于GTX 1080TI和Jetson Xavier.

表4 YOLOv5m不同平臺性能對比

5.4 跟蹤算法性能對比

經過YOLOv5m的實驗后,繼續開發上位機,使系統完善,使用Python復現和改進Deepsort跟蹤算法,使用MOT20數據集基于MOT20[21]基準對本跟蹤算法進行測試,下載官網數據進行測試.MOT20測試數據集場景多為大量行人,十分擁擠的挑戰性測試場景,對跟蹤算法的抗遮擋性和目標發生重疊時的處理能力有較大的考察意義.在使用一樣的參數和閾值設定下與原Deepsort算法進行對比實驗效果如表5所示.

表5 跟蹤算法性能對比

通過對比可知,本文經過改進的Deepsort跟蹤精度有少量的提升,在軌跡匹配失敗時,使用交并比來檢測目標是否發生重疊現象,設定閾值,防止目標由于重疊問題發生匹配失敗現象,實驗結果可知身份編號轉變的數值IDS,有較大幅度的降低,證明了本次改進針對遮擋目標和目標消失時的軌跡再匹配有一定程度的改善,避免了部分目標丟失的情況.

5.5 整體性能對比

對接上位機與改進后的跟蹤算法,使異構系統可以完整的運行YOLOv5m+Deepsort.使用自己錄制的行人視頻進行測試,同時在GTX 1080TI、Jetson Xavier進行同樣的實驗.測試服務器CPU為Inter I9 7960,圖像縮放尺寸為480×800,測試處理結果拋去權重加載,視頻圖像預處理的時間,只測試設備處理所有視頻幀到跟蹤算法輸出結果的時間.實驗結果如表6所示.經測試該系統可以達到實時處理效果.

表6 跟蹤系統不同平臺性能對比

6 總 結

本文針對目標跟蹤部署在資源受限的移動平臺中遇到的功耗問題和實時性需求,設計并集成了一種基于FPGA的神經網絡異構加速跟蹤系統.在硬件層面基于卷積神經網絡特點設計卷積加速器結構,可以實現在低功耗條件下進行卷積算法的加速.在算法層面上改進Deepsort跟蹤算法達到更好的跟蹤效果.在系統層面上創新性的結合了當下流行的目標檢測算法YOLOv5和在線目標跟蹤框架Deepsort,使用8bit定點數據并根據軟硬件協同優化設計的方法合理分配計算任務,完成跟蹤算法的異構加速部署,系統處理速度可以達到實時水平,滿足在資源受限平臺上的部署.

猜你喜歡
寄存器卷積模塊
28通道收發處理模塊設計
“選修3—3”模塊的復習備考
基于3D-Winograd的快速卷積算法設計及FPGA實現
一種并行不對稱空洞卷積模塊①
Lite寄存器模型的設計與實現
常用電子測速法在某數字信號處理器中的應用*
從濾波器理解卷積
基于傅里葉域卷積表示的目標跟蹤算法
移位寄存器及算術運算應用
集成水空中冷器的進氣模塊
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合