0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

基于CORTEX-M3硬件加速的目標跟蹤鎖定系統(tǒng)

安芯教育科技 ? 來源:極術社區(qū) ? 作者:極術社區(qū) ? 2022-05-16 10:04 ? 次閱讀

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ù),設置跟蹤模式等等功能。

493fe672-d4b5-11ec-bce3-dac502259ad0.png

在本項目輸入輸出環(huán)路為:觸摸屏和上位機作為輸入設備,也可以通過智能目標檢測功能自動輸入坐標,上位機通過Uart串口進行系統(tǒng)參數(shù)及狀態(tài)指令的傳輸。通過在FPGA內(nèi)部編寫觸摸屏的硬件驅(qū)動來實現(xiàn)觸摸屏坐標的解析傳遞。上位機與軟核相連,軟核的應用程序中編寫與上位機相適配的程序,對跟蹤器進行完全的控制,輸出設備為HDMI顯示屏和二維云臺。在HDMI顯示屏中輸出目標跟蹤框,同時FPGA控制二維云臺進行目標的鎖定。閉環(huán)系統(tǒng)示意圖如圖1-2所示:

49894998-d4b5-11ec-bce3-dac502259ad0.png

1.2 方案設計

本設計綜合考慮多種圖像特征,選用灰度、飽和度和HoG三種特征融合進行相關濾波,它們?nèi)叩膬?yōu)缺點形成互補。

499de3e4-d4b5-11ec-bce3-dac502259ad0.jpg

我們采用CORTEX-M3加硬件加速器聯(lián)合設計,系統(tǒng)架構(gòu)圖如下所示:

49bbf898-d4b5-11ec-bce3-dac502259ad0.png

本項目采用Cortex-M3軟核做控制部分,大規(guī)模專用硬件加速器做濾波跟蹤計算和智能目標檢測部分,視頻輸入輸出通過HDMI直接進入硬件加速器,繞過軟核實現(xiàn)更快的數(shù)據(jù)處理速度。整個項目的軟硬件功能劃分如圖所示:

4a1ffcf8-d4b5-11ec-bce3-dac502259ad0.png

在軟核中,可以通過調(diào)用我們編寫的TRACKING.h庫函數(shù),使用為硬件加速器所寫的驅(qū)動函數(shù),實現(xiàn)硬件加速器跟蹤算法的配置和運行,進行個性化算法配置。其中TRACKING.h庫函數(shù)中所擁有的驅(qū)動函數(shù)如圖所示。

4aab21a2-d4b5-11ec-bce3-dac502259ad0.png

我們設計了控制端上位機,上位機為目標跟蹤鎖定系統(tǒng)控制端,由QT5軟件編寫完成。

4acd0b8c-d4b5-11ec-bce3-dac502259ad0.png

在硬件加速器中,使用多個模塊共同配合完成工作,其模塊圖如下所示:

4aec43ee-d4b5-11ec-bce3-dac502259ad0.png

2.測試結(jié)果

4b2c24be-d4b5-11ec-bce3-dac502259ad0.png

算法運行在 40MHz,通過 FPGA 內(nèi)部 32 位計數(shù)器實測的濾波循環(huán)速度

4b8807ca-d4b5-11ec-bce3-dac502259ad0.png

本項目在 NEXYS-VIDEO 開發(fā)板中部署,所需的 FPGA 資源如下圖所示:

4bc2f448-d4b5-11ec-bce3-dac502259ad0.png

所占用的功耗較低,如下圖所示:

4be46592-d4b5-11ec-bce3-dac502259ad0.png

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)容。比賽所涉及的知識廣度和深度都很大,需要認真努力的去學習。

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 寄存器
    +關注

    關注

    31

    文章

    5294

    瀏覽量

    119814
  • 加速器
    +關注

    關注

    2

    文章

    790

    瀏覽量

    37674
  • Cortex-M3
    +關注

    關注

    9

    文章

    269

    瀏覽量

    59406

原文標題:【2021集創(chuàng)賽作品分享】第九期 | 基于CORTEX-M3硬件加速的目標跟蹤鎖定系統(tǒng)

文章出處:【微信號:Ithingedu,微信公眾號:安芯教育科技】歡迎添加關注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關推薦

    TDA4VM上的硬件加速運動恢復結(jié)構(gòu)算法

    電子發(fā)燒友網(wǎng)站提供《TDA4VM上的硬件加速運動恢復結(jié)構(gòu)算法.pdf》資料免費下載
    發(fā)表于 09-24 11:39 ?0次下載
    TDA4VM上的<b class='flag-5'>硬件加速</b>運動恢復結(jié)構(gòu)算法

    PSoC 6 MCUBoot和mbedTLS是否支持加密硬件加速?

    。 使用 MCUBoot 驗證兩個應用程序時,運行時間大約需要五秒鐘。 在 README.md 的 \"安全 \"一欄中寫道 與軟件實現(xiàn)相比,硬件加速加密技術將啟動時間縮短了四倍多
    發(fā)表于 05-29 08:17

    求助,關于cortex-M3的壓棧問題求解

    我們都知道cortex-m3中斷時是硬件自動壓棧的,這樣可以減少中斷響應和恢復時間。中斷硬件壓棧的寄存器為xPSR, PC, LR, R12, R0-R3,為什么其他寄存器不需要壓棧呢
    發(fā)表于 04-28 08:18

    新思科技硬件加速解決方案技術日在成都和西安站成功舉辦

    近日,【新思科技技術日】硬件加速驗證解決方案專場成都站和西安站順利舉行,來自國內(nèi)領先的系統(tǒng)級公司、芯片設計公司以及高校的250多名開發(fā)者們積極參與。
    的頭像 發(fā)表于 04-19 17:35 ?413次閱讀

    用DE1-SOC進行硬件加速的2D N-Body重力模擬器設計

    該項目的目標是創(chuàng)建一個用DE1-SOC進行硬件加速的2D N-Body重力模擬器。
    的頭像 發(fā)表于 04-09 11:08 ?480次閱讀
    用DE1-SOC進行<b class='flag-5'>硬件加速</b>的2D N-Body重力模擬器設計

    Cortex-M3芯片有哪些

    Cortex-M3芯片是一款基于ARM架構(gòu)的低功耗、高性能的嵌入式處理器。目前市面上有眾多廠商生產(chǎn)了基于Cortex-M3內(nèi)核的芯片,如意法半導體的STM32F系列、恩智浦半導體的LPC1800系列等。這些芯片廣泛應用于工業(yè)控制、智能家居、物聯(lián)網(wǎng)等領域。
    的頭像 發(fā)表于 03-11 17:07 ?1488次閱讀

    Cortex-M3芯片怎么樣

    Cortex-M3芯片是一款高性能、低功耗的32位RISC處理器,特別適用于嵌入式系統(tǒng)和實時控制領域。其架構(gòu)采用哈佛結(jié)構(gòu),實現(xiàn)指令和數(shù)據(jù)存儲器的獨立訪問,提高了系統(tǒng)效率。Cortex-M3
    的頭像 發(fā)表于 03-08 16:00 ?1176次閱讀

    音視頻解碼器硬件加速:實現(xiàn)更流暢的播放效果

    隨著多媒體內(nèi)容的日益豐富和高清化,傳統(tǒng)的軟件解碼已經(jīng)難以滿足人們對流暢播放體驗的需求。因此,音視頻解碼器硬件加速技術的出現(xiàn),為提升播放效果帶來了革命性的改變。 硬件加速的原理 硬件加速的核心
    的頭像 發(fā)表于 02-21 14:40 ?880次閱讀
    音視頻解碼器<b class='flag-5'>硬件加速</b>:實現(xiàn)更流暢的播放效果

    強大的Arm? Cortex?-M3內(nèi)核(下)

    經(jīng)過前一期的芝識課堂,我們了解了東芝MCU產(chǎn)品所基于Arm Cortex-M3內(nèi)核的基本結(jié)構(gòu)和寄存器分配的細節(jié)。
    的頭像 發(fā)表于 01-25 09:25 ?1079次閱讀
    強大的Arm? <b class='flag-5'>Cortex</b>?-<b class='flag-5'>M3</b>內(nèi)核(下)

    如何實現(xiàn)Cortex-M3與ADuC7061之間用IIC通訊?

    我想實現(xiàn)Cortex-M3與ADuC7061之間用IIC通訊,Cortex-M3用做主機,ADuC7061用做從機 。我要實現(xiàn)收發(fā)數(shù)據(jù),ADuC7061應該怎樣配置呢,思路是什么?
    發(fā)表于 01-15 06:13

    ES32M0502系列電機控制MCU新品發(fā)布

    ES32M0502系列MCU產(chǎn)品,采用全新SoC架構(gòu)及軟硬件協(xié)同優(yōu)化設計,支持Cortex-M0在96MHz主頻運行,配合軟件算法硬件加速器,可以達到國外
    的頭像 發(fā)表于 01-08 10:41 ?499次閱讀
    ES32<b class='flag-5'>M</b>0502系列電機控制MCU新品發(fā)布

    Cortex-M3 技術參考手冊

    電子發(fā)燒友網(wǎng)站提供《Cortex-M3 技術參考手冊.pdf》資料免費下載
    發(fā)表于 12-25 09:18 ?3次下載

    在Sigma 300里面使用硬件加速器slew,slew mode為RC type時不同的time constant的值有什么用?

    請問下在Sigma 300里面使用硬件加速器slew,slew mode為RC type時,對應的time constant 與數(shù)據(jù)從當前值到目標值得時間有什么關系,或者說不同的time constant的值有什么用? 謝謝, 中 J Jj
    發(fā)表于 11-29 07:25

    集成電源管理的超低功耗ARM Cortex-M3 MCU數(shù)據(jù)手冊

    電子發(fā)燒友網(wǎng)站提供《集成電源管理的超低功耗ARM Cortex-M3 MCU數(shù)據(jù)手冊.pdf》資料免費下載
    發(fā)表于 11-28 10:49 ?0次下載
    集成電源管理的超低功耗ARM <b class='flag-5'>Cortex-M3</b> MCU數(shù)據(jù)手冊

    基于Cortex-M3的全自動焊接機設計

    電子發(fā)燒友網(wǎng)站提供《基于Cortex-M3的全自動焊接機設計.doc》資料免費下載
    發(fā)表于 11-14 10:46 ?0次下載
    基于<b class='flag-5'>Cortex-M3</b>的全自動焊接機設計