0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于CORTEX-M3硬件加速的目标跟踪锁定系统

安芯教育科技 来源:极术社区 作者:极术社区 2022-05-16 10:04 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

1.项目概述

1.1 系统实现功能介绍

在当下,很多应用场景都要用到视频目标跟踪的功能,诸如商业产品、工程实践亦或者军事技术中。它们都提出了高帧率、高精度、高鲁棒性、低功耗的硬性要求,这在当前的技术实现上仍然是一个挑战。此时就需要专用硬件加速器进行目标跟踪算法的部署,以实现低功耗、超高帧率以及高精度的需求。

在本设计中,采取Cortex-M3软核挂载大规模专用硬件加速器,在DIGILENT的NEXYS-VIDEO开发板中通过FPGA来部署硬件级别的多特征融合相关滤波目标跟踪算法加速器,做到最高每秒1000帧的运算速度,若配合高速视频传入,可以达到极高的跟踪实时性。硬件加速器挂载在软核总线中,可以通过寄存器值控制硬件加速器,进行参数设置、回传坐标以及部署智能算法。所设计的硬件加速器深度定制,可以调节从算法运算原理到跟踪模式、搜索范围等多维度的参数。同时在硬件中前置了智能目标检测算法,当有移动的目标出现在视野中,可以自动实现捕捉,传输初始坐标值至跟踪算法。

同时本设计还将通过软核操控云台、触摸屏、8路选择器,串口,按键阵列等外设,进行人机交互,优化跟踪效果,实现跟踪可视化、易操作化以及智能跟踪化。系统通过云台来使得目标始终在视频中央区域,从而进行持续的目标锁定。系统还可以通过四线电阻触摸屏进行初始信息的标定、切换任务。同时通过HDMI屏幕显示目标的实时位置,为系统操作员提供更直观的目标信息。

软核与硬件加速器通过总线寄存器控制,而软核与PC端则通过串口上位机通信,本组基于QT5.9编写专用控制端上位机,通过上位机可以更轻松的操控整套系统,方便的输入XYWH等参数,设置跟踪模式等等功能。

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

在本项目输入输出环路为:触摸屏和上位机作为输入设备,也可以通过智能目标检测功能自动输入坐标,上位机通过Uart串口进行系统参数及状态指令的传输。通过在FPGA内部编写触摸屏的硬件驱动来实现触摸屏坐标的解析传递。上位机与软核相连,软核的应用程序中编写与上位机相适配的程序,对跟踪器进行完全的控制,输出设备为HDMI显示屏和二维云台。在HDMI显示屏中输出目标跟踪框,同时FPGA控制二维云台进行目标的锁定。闭环系统示意图如图1-2所示:

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

1.2 方案设计

本设计综合考虑多种图像特征,选用灰度、饱和度和HoG三种特征融合进行相关滤波,它们三者的优缺点形成互补。

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

我们采用CORTEX-M3加硬件加速器联合设计,系统架构图如下所示:

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

本项目采用Cortex-M3软核做控制部分,大规模专用硬件加速器做滤波跟踪计算和智能目标检测部分,视频输入输出通过HDMI直接进入硬件加速器,绕过软核实现更快的数据处理速度。整个项目的软硬件功能划分如图所示:

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

在软核中,可以通过调用我们编写的TRACKING.h库函数,使用为硬件加速器所写的驱动函数,实现硬件加速器跟踪算法的配置和运行,进行个性化算法配置。其中TRACKING.h库函数中所拥有的驱动函数如图所示。

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

我们设计了控制端上位机,上位机为目标跟踪锁定系统控制端,由QT5软件编写完成。

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

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

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

2.测试结果

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

算法运行在 40MHz,通过 FPGA 内部 32 位计数器实测的滤波循环速度

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

本项目在 NEXYS-VIDEO 开发板中部署,所需的 FPGA 资源如下图所示:

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

所占用的功耗较低,如下图所示:

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

3. 总结与展望

本组使用FPGA硬件加速器 +Cortex-M3软核所实现的基于灰度、饱和度和HoG特征融合的相关滤波跟踪算法,运行稳定,帧率较高,鲁棒性强,功率消耗低,配合摄像头可以在多个应用场景使用。例如机场检测,工地监测,无人机机载跟踪等等。同时使用灰度特征、饱和度特征和HoG特征,对摄像头要求较低,对像素要求较低。在常规目标跟踪中精度很好,超常规算法。

由于多特征融合互补,加卡尔曼滤波轨迹预测,在复杂环境中,即使一个特征受到干扰失效,也能成功通过融合响应跟踪到目标位置。即使两个特征同时受到干扰失效,比如80%以上大面积遮挡,卡尔曼滤波器也能输出预测位置,抗干扰能力较强。

在系统中使用二维云台和触摸屏外设,同时使用智能目标检测算法,实现了目标跟踪和锁定的功能,可以很方便的观察目标跟踪的情况。即可以通过触摸屏,快捷实现跟踪选点,更可以通过智能目标检测算法智能自动捕捉,人机交互方便易用。自主编写的上位机控制系统和可移植驱动函数库,使项目更适应专业的应用场景,而不拘泥于常规应用。

同时设计的系统仅需BRAM缓存,不需要DDR3内存进行缓存,整体使用纯Verilog代码编写,对外设要求较低。同时可以通过软核AXI总线扩展所需的应用。硬件加速器中参数全部引出,且设计了应用函数库,大大降低嵌入式开发所需的工作,很方便的移植到不同平台。

最后,由于硬件加速器的设计工作全部自主完成,根据逻辑分模块编写,所以能很方便的进行改进工作,在其他目标识别,视频跟踪领域,也可以对硬件加速器进行一定的改进来适配不同的场景,可塑性强。

4. 参赛体会

我们组在参加本次集创赛的过程中,踩过很多坑,赶过很多DDL,最后终于一步一步做出想要的系统。如果说最值得分享的经验,就是集创赛是一个比赛周期漫长的竞赛项目,不同于数模的三天,电赛的一周,集创赛拥有大半年的时间来完成题目。有些队伍只花费一个月来完成作品,有些队伍花费几个月,有些队伍甚至有前置的技术铺垫,这对每个队来说都是未知的。相对来说,有付出就会有回报,做的时间越长,在这道题中的感受就越深,所学到的东西就越多。

竞赛是对自己的提升,将时间放在集创赛上绝对是一个很好的选择。但与此同时,也要有效率的进行比赛,尽可能的少出BUG,三个人的团队协作要密切互补,一个人的单打独斗肯定没有团队的力量大。

在集创赛的过程中,由于参加的项目是FPGA数字方向,还要求做软核及上层应用程序,所以对我们参赛队伍的要求是很高的,不仅要会掌握Verilog的编写,FPGA的使用,还要掌握嵌入式软核的交叉编译工作,CPU的调试,总线的知识等等,在我们队伍中由于还要使用上位机,我们还学习了QT程序开发的内容。比赛所涉及的知识广度和深度都很大,需要认真努力的去学习。

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 寄存器
    +关注

    关注

    31

    文章

    5623

    浏览量

    130629
  • 加速器
    +关注

    关注

    2

    文章

    841

    浏览量

    40305
  • Cortex-M3
    +关注

    关注

    9

    文章

    276

    浏览量

    61930

原文标题:【2021集创赛作品分享】第九期 | 基于CORTEX-M3硬件加速的目标跟踪锁定系统

文章出处:【微信号:Ithingedu,微信公众号:安芯教育科技】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    基于ARM Cortex-M3架构用于各类通用微控制器应用的指纹识别芯片-P1032BF1

    ARM Cortex-M3是一款专为嵌入式系统优化的32位RISC(精简指令集)处理器内核,基于 ‌ARMv7-M架构‌,广泛应用于STM32、GD32等微控制器中。
    的头像 发表于 04-21 09:21 170次阅读
    基于ARM <b class='flag-5'>Cortex-M3</b>架构用于各类通用微控制器应用的指纹识别芯片-P1032BF1

    新思科技2026 HAV硬件加速验证技术开放日深圳站圆满落幕

    4 月 2 日,新思科技 2026 硬件加速验证(HAV)技术开放日在深圳湾畔盛大举行。作为新思科技 HAV 技术开放日全国巡回活动的首站,本次活动汇聚了来自新思科技总部及中国技术团队的顶尖专家
    的头像 发表于 04-14 11:37 367次阅读

    深度剖析LPC18S5x/S3x 32位ARM Cortex - M3微控制器

    深度剖析LPC18S5x/S3x 32位ARM Cortex-M3微控制器 在嵌入式应用的广袤领域中,微控制器如同璀璨繁星,而NXP Semiconductors的LPC18S5x/S3x 32位
    的头像 发表于 04-09 09:35 242次阅读

    深入解析Cypress MB9B520M系列32位ARM® Cortex®-M3 FM3微控制器

    深入解析Cypress MB9B520M系列32位ARM® Cortex®-M3 FM3微控制器 在嵌入式控制器领域,低功耗和高性价比一直是追求的
    的头像 发表于 03-29 09:50 359次阅读

    FPGA硬件加速卡设计原理图:1-基于Xilinx XCKU115的半高PCIe x8 硬件加速卡 PCIe半高 XCKU115-3-FLVF1924-E芯片

    FPGA硬件加速, PCIe半高卡, XCKU115, 光纤采集卡, 信号计算板, 硬件加速
    的头像 发表于 02-12 09:52 634次阅读
    FPGA<b class='flag-5'>硬件加速</b>卡设计原理图:1-基于Xilinx XCKU115的半高PCIe x8 <b class='flag-5'>硬件加速</b>卡 PCIe半高 XCKU115-<b class='flag-5'>3</b>-FLVF1924-E芯片

    Cortex-M0和Cortex-M0+的区别

    0处理器具有3级流水线(取指、解析、执行) Cortex-M0+处理器具有2级流水线(取指 + 预解析,解析 + 执行),增加预解析,减少处理运行时间 2、指令集 指令集基于Thumb指令集架构(ISA
    发表于 01-22 06:23

    最小化ARM Cortex-M CPU功耗的方法与技巧分享

    时钟周期,并占用8字节的Flash存储空间。相比之下,在使用Thumb-2指令集的Cortex-M3内核中完成相同运算仅仅需要1个时钟周期,并占用2字节的Flash存储空间。Cortex-M3内核
    发表于 01-21 06:19

    Cortex-M3工作模式及异常

    Cortex-M3 支持大量异常,包括 16-4-1=11个系统异常,和最多 240 个外部中断——简称 IRQ。具体使用了这 240 个中断源中的多少个,则由芯片制造商决定。由外设产生的中断信号
    发表于 01-20 08:24

    基于FD-SST 的无人机目标跟踪系统的设计与实现|技术集结

    应用实现功能1.本应用基于睿擎派,实现了对无人机目标的实时跟踪,并将跟踪结果用于驱动两轴转台完成自动指向。主要功能包括:使用FD-SST算法在视频流中实时跟踪无人机
    的头像 发表于 12-10 19:32 1.3w次阅读
    基于FD-SST 的无人机<b class='flag-5'>目标</b><b class='flag-5'>跟踪</b><b class='flag-5'>系统</b>的设计与实现|技术集结

    常用硬件加速的方法

    之前总结了一些常用硬件加速方法 1)面积换速度:也就是串转并运算,可以多个模块同时计算; 2)时间换空间:时序收敛下通过频率提高性能,虽然面积可能稍微加大点; 3)流水线操作:流水线以面积换性能,以
    发表于 10-29 06:20

    目标追踪的简易实现:模板匹配

    )*(720-50+1)= 826001 次。每次运算都会计算出一个 SAD 值,而我们只要找到这个最小的 SAD 值对应的模板所在位置,就可以认为找到了帧图像中和模板最为接近的一片像素区域。 四、硬件加速思路
    发表于 10-28 07:21

    硬件加速模块的时钟设计

    硬件加速模块需要四个时钟,分别为clk_l , clk_r , clk_c , clk_n 。 clk_l : 整个硬件加速模块为了最大化的节约时间成本而采用了类似处理器的流水线设计,具体上将每一层
    发表于 10-23 07:28

    如何验证硬件加速是否真正提升了通信协议的安全性?

    验证硬件加速是否真正提升通信协议的安全性,需从 安全功能正确性、抗攻击能力增强、安全性能适配、合规一致性 等核心维度展开,结合实验室测试与真实场景验证,避免 “硬件参与即安全提升” 的表面判断。以下
    的头像 发表于 08-27 10:16 1428次阅读
    如何验证<b class='flag-5'>硬件加速</b>是否真正提升了通信协议的安全性?

    有哪些方法可以确保硬件加速与通信协议的兼容性?

    安全风险。以下是具体可落地的方法,按实施阶段和优先级排序: 一、硬件选型阶段:优先选择 “协议原生支持” 的硬件方案 硬件加速的兼容性根基在选型阶段奠定,需明确硬件
    的头像 发表于 08-27 10:07 1444次阅读

    如何利用硬件加速提升通信协议的安全性?

    产品实拍图 利用硬件加速提升通信协议安全性,核心是通过 专用硬件模块或可编程硬件 ,承接软件层面难以高效处理的安全关键操作(如加密解密、认证、密钥管理等),在提升性能的同时,通过硬件
    的头像 发表于 08-27 09:59 1263次阅读
    如何利用<b class='flag-5'>硬件加速</b>提升通信协议的安全性?