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