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