1.項目概述
1.1 系統(tǒng)實現(xiàn)功能介紹
在當下,很多應(yīng)用場景都要用到視頻目標跟蹤的功能,諸如商業(yè)產(chǎn)品、工程實踐亦或者軍事技術(shù)中。它們都提出了高幀率、高精度、高魯棒性、低功耗的硬性要求,這在當前的技術(shù)實現(xiàn)上仍然是一個挑戰(zhàn)。此時就需要專用硬件加速器進行目標跟蹤算法的部署,以實現(xiàn)低功耗、超高幀率以及高精度的需求。
在本設(shè)計中,采取Cortex-M3軟核掛載大規(guī)模專用硬件加速器,在DIGILENT的NEXYS-VIDEO開發(fā)板中通過FPGA來部署硬件級別的多特征融合相關(guān)濾波目標跟蹤算法加速器,做到最高每秒1000幀的運算速度,若配合高速視頻傳入,可以達到極高的跟蹤實時性。硬件加速器掛載在軟核總線中,可以通過寄存器值控制硬件加速器,進行參數(shù)設(shè)置、回傳坐標以及部署智能算法。所設(shè)計的硬件加速器深度定制,可以調(diào)節(jié)從算法運算原理到跟蹤模式、搜索范圍等多維度的參數(shù)。同時在硬件中前置了智能目標檢測算法,當有移動的目標出現(xiàn)在視野中,可以自動實現(xiàn)捕捉,傳輸初始坐標值至跟蹤算法。
同時本設(shè)計還將通過軟核操控云臺、觸摸屏、8路選擇器,串口,按鍵陣列等外設(shè),進行人機交互,優(yōu)化跟蹤效果,實現(xiàn)跟蹤可視化、易操作化以及智能跟蹤化。系統(tǒng)通過云臺來使得目標始終在視頻中央?yún)^(qū)域,從而進行持續(xù)的目標鎖定。系統(tǒng)還可以通過四線電阻觸摸屏進行初始信息的標定、切換任務(wù)。同時通過HDMI屏幕顯示目標的實時位置,為系統(tǒng)操作員提供更直觀的目標信息。
軟核與硬件加速器通過總線寄存器控制,而軟核與PC端則通過串口上位機通信,本組基于QT5.9編寫專用控制端上位機,通過上位機可以更輕松的操控整套系統(tǒng),方便的輸入XYWH等參數(shù),設(shè)置跟蹤模式等等功能。
在本項目輸入輸出環(huán)路為:觸摸屏和上位機作為輸入設(shè)備,也可以通過智能目標檢測功能自動輸入坐標,上位機通過Uart串口進行系統(tǒng)參數(shù)及狀態(tài)指令的傳輸。通過在FPGA內(nèi)部編寫觸摸屏的硬件驅(qū)動來實現(xiàn)觸摸屏坐標的解析傳遞。上位機與軟核相連,軟核的應(yīng)用程序中編寫與上位機相適配的程序,對跟蹤器進行完全的控制,輸出設(shè)備為HDMI顯示屏和二維云臺。在HDMI顯示屏中輸出目標跟蹤框,同時FPGA控制二維云臺進行目標的鎖定。閉環(huán)系統(tǒng)示意圖如圖1-2所示:
1.2 方案設(shè)計
本設(shè)計綜合考慮多種圖像特征,選用灰度、飽和度和HoG三種特征融合進行相關(guān)濾波,它們?nèi)叩膬?yōu)缺點形成互補。
我們采用CORTEX-M3加硬件加速器聯(lián)合設(shè)計,系統(tǒng)架構(gòu)圖如下所示:
本項目采用Cortex-M3軟核做控制部分,大規(guī)模專用硬件加速器做濾波跟蹤計算和智能目標檢測部分,視頻輸入輸出通過HDMI直接進入硬件加速器,繞過軟核實現(xiàn)更快的數(shù)據(jù)處理速度。整個項目的軟硬件功能劃分如圖所示:
在軟核中,可以通過調(diào)用我們編寫的TRACKING.h庫函數(shù),使用為硬件加速器所寫的驅(qū)動函數(shù),實現(xiàn)硬件加速器跟蹤算法的配置和運行,進行個性化算法配置。其中TRACKING.h庫函數(shù)中所擁有的驅(qū)動函數(shù)如圖所示。
我們設(shè)計了控制端上位機,上位機為目標跟蹤鎖定系統(tǒng)控制端,由QT5軟件編寫完成。
在硬件加速器中,使用多個模塊共同配合完成工作,其模塊圖如下所示:
2.測試結(jié)果
算法運行在 40MHz,通過 FPGA 內(nèi)部 32 位計數(shù)器實測的濾波循環(huán)速度
本項目在 NEXYS-VIDEO 開發(fā)板中部署,所需的 FPGA 資源如下圖所示:
所占用的功耗較低,如下圖所示:
3. 總結(jié)與展望
本組使用FPGA硬件加速器 +Cortex-M3軟核所實現(xiàn)的基于灰度、飽和度和HoG特征融合的相關(guān)濾波跟蹤算法,運行穩(wěn)定,幀率較高,魯棒性強,功率消耗低,配合攝像頭可以在多個應(yīng)用場景使用。例如機場檢測,工地監(jiān)測,無人機機載跟蹤等等。同時使用灰度特征、飽和度特征和HoG特征,對攝像頭要求較低,對像素要求較低。在常規(guī)目標跟蹤中精度很好,超常規(guī)算法。
由于多特征融合互補,加卡爾曼濾波軌跡預測,在復雜環(huán)境中,即使一個特征受到干擾失效,也能成功通過融合響應(yīng)跟蹤到目標位置。即使兩個特征同時受到干擾失效,比如80%以上大面積遮擋,卡爾曼濾波器也能輸出預測位置,抗干擾能力較強。
在系統(tǒng)中使用二維云臺和觸摸屏外設(shè),同時使用智能目標檢測算法,實現(xiàn)了目標跟蹤和鎖定的功能,可以很方便的觀察目標跟蹤的情況。即可以通過觸摸屏,快捷實現(xiàn)跟蹤選點,更可以通過智能目標檢測算法智能自動捕捉,人機交互方便易用。自主編寫的上位機控制系統(tǒng)和可移植驅(qū)動函數(shù)庫,使項目更適應(yīng)專業(yè)的應(yīng)用場景,而不拘泥于常規(guī)應(yīng)用。
同時設(shè)計的系統(tǒng)僅需BRAM緩存,不需要DDR3內(nèi)存進行緩存,整體使用純Verilog代碼編寫,對外設(shè)要求較低。同時可以通過軟核AXI總線擴展所需的應(yīng)用。硬件加速器中參數(shù)全部引出,且設(shè)計了應(yīng)用函數(shù)庫,大大降低嵌入式開發(fā)所需的工作,很方便的移植到不同平臺。
最后,由于硬件加速器的設(shè)計工作全部自主完成,根據(jù)邏輯分模塊編寫,所以能很方便的進行改進工作,在其他目標識別,視頻跟蹤領(lǐng)域,也可以對硬件加速器進行一定的改進來適配不同的場景,可塑性強。
4. 參賽體會
我們組在參加本次集創(chuàng)賽的過程中,踩過很多坑,趕過很多DDL,最后終于一步一步做出想要的系統(tǒng)。如果說最值得分享的經(jīng)驗,就是集創(chuàng)賽是一個比賽周期漫長的競賽項目,不同于數(shù)模的三天,電賽的一周,集創(chuàng)賽擁有大半年的時間來完成題目。有些隊伍只花費一個月來完成作品,有些隊伍花費幾個月,有些隊伍甚至有前置的技術(shù)鋪墊,這對每個隊來說都是未知的。相對來說,有付出就會有回報,做的時間越長,在這道題中的感受就越深,所學到的東西就越多。
競賽是對自己的提升,將時間放在集創(chuàng)賽上絕對是一個很好的選擇。但與此同時,也要有效率的進行比賽,盡可能的少出BUG,三個人的團隊協(xié)作要密切互補,一個人的單打獨斗肯定沒有團隊的力量大。
在集創(chuàng)賽的過程中,由于參加的項目是FPGA數(shù)字方向,還要求做軟核及上層應(yīng)用程序,所以對我們參賽隊伍的要求是很高的,不僅要會掌握Verilog的編寫,F(xiàn)PGA的使用,還要掌握嵌入式軟核的交叉編譯工作,CPU的調(diào)試,總線的知識等等,在我們隊伍中由于還要使用上位機,我們還學習了QT程序開發(fā)的內(nèi)容。比賽所涉及的知識廣度和深度都很大,需要認真努力的去學習。
審核編輯 :李倩
-
寄存器
+關(guān)注
關(guān)注
31文章
5367瀏覽量
121222 -
加速器
+關(guān)注
關(guān)注
2文章
808瀏覽量
38104 -
Cortex-M3
+關(guān)注
關(guān)注
9文章
270瀏覽量
59595
原文標題:【2021集創(chuàng)賽作品分享】第九期 | 基于CORTEX-M3硬件加速的目標跟蹤鎖定系統(tǒng)
文章出處:【微信號:Ithingedu,微信公眾號:安芯教育科技】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
Cortex-M3/M4F指令集技術(shù)用戶手冊
![<b class='flag-5'>Cortex-M3</b>/<b class='flag-5'>M</b>4F指令集技術(shù)用戶手冊](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
使用STT全面提升自動駕駛中的多目標跟蹤
![使用STT全面提升自動駕駛中的多<b class='flag-5'>目標</b><b class='flag-5'>跟蹤</b>](https://file1.elecfans.com/web1/M00/F3/C9/wKgaoWce8qWAFGkrAAAvAz45dB8054.png)
TDA4VM上的硬件加速運動恢復結(jié)構(gòu)算法
![TDA4VM上的<b class='flag-5'>硬件加速</b>運動恢復結(jié)構(gòu)算法](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
基于ARM Cortex-M3單片機研發(fā)的國產(chǎn)指紋芯片 - P1032BF1
![基于ARM <b class='flag-5'>Cortex-M3</b>單片機研發(fā)的國產(chǎn)指紋芯片 - P1032BF1](https://file.elecfans.com/web2/M00/AC/C2/pYYBAGSKapSAB8kMAAE4sduPCHo233.png)
基于 FPGA 的目標跟蹤電磁炮系統(tǒng)
PSoC 6 MCUBoot和mbedTLS是否支持加密硬件加速?
求助,關(guān)于cortex-M3的壓棧問題求解
新思科技硬件加速解決方案技術(shù)日在成都和西安站成功舉辦
STM32F103VE添加DSP庫報錯ld.exe: cannot find -l-mcpu=cortex-m3是什么原因呢?
Cortex-M3芯片有哪些
Cortex-M3芯片怎么樣
FM3 CY9BFx1xS/T系列Arm Cortex-M3微控制器Cypress
【國產(chǎn)FPGA+OMAPL138開發(fā)板體驗】(原創(chuàng))7.硬件加速Sora文生視頻源代碼
音視頻解碼器硬件加速:實現(xiàn)更流暢的播放效果
![音視頻解碼器<b class='flag-5'>硬件加速</b>:實現(xiàn)更流暢的播放效果](https://file1.elecfans.com/web2/M00/C1/39/wKgaomXUUOaACuUKAAGt-k1tox4555.jpg)
評論