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程序开发的内容。比赛所涉及的知识广度和深度都很大,需要认真努力的去学习。

审核编辑 :李倩

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

    关注

    30

    文章

    5028

    浏览量

    117719
  • 加速器
    +关注

    关注

    2

    文章

    743

    浏览量

    36597
  • Cortex-M3
    +关注

    关注

    9

    文章

    268

    浏览量

    59162

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

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

收藏 人收藏

    评论

    相关推荐

    用DE1-SOC进行硬件加速的2D N-Body重力模拟器设计

    该项目的目标是创建一个用DE1-SOC进行硬件加速的2D N-Body重力模拟器。
    的头像 发表于 04-09 11:08 154次阅读
    用DE1-SOC进行<b class='flag-5'>硬件加速</b>的2D N-Body重力模拟器设计

    如何实现Cortex-M3与ADuC7061之间用IIC通讯?

    我想实现Cortex-M3与ADuC7061之间用IIC通讯,Cortex-M3用做主机,ADuC7061用做从机 。我要实现收发数据,ADuC7061应该怎样配置呢,思路是什么?
    发表于 01-15 06:13

    嵌入式多媒体系统硬件加速技术的应用

    电子发烧友网站提供《嵌入式多媒体系统硬件加速技术的应用.pdf》资料免费下载
    发表于 10-26 09:33 0次下载
    嵌入式多媒体<b class='flag-5'>系统</b>中<b class='flag-5'>硬件加速</b>技术的应用

    ARM Cortex-M3定义指南

    的用户的推动下,一般应用程序的复杂性正在增加接口、多媒体需求、系统速度和功能融合。 ARM Cortex-M3处理器,Cortex第一代处理器发布ARM在2006年推出的微处理器主要是针对32位
    发表于 10-11 06:08

    Cortex-M3权威指南

    ,更多的功能模块,更炫的图形界面,……所有这些要求单片机都得照单全收。在这个大环境下,ARM Cortex-M3处理器,作为Cortex系列的处女作,为了让32位处理器入主作庄单片机市场,轰轰烈烈地诞生
    发表于 09-28 06:32

    Alveo卡的区块链硬件加速器解决方案

    电子发烧友网站提供《Alveo卡的区块链硬件加速器解决方案.pdf》资料免费下载
    发表于 09-15 14:42 0次下载
    Alveo卡的区块链<b class='flag-5'>硬件加速</b>器解决方案

    LPCXpresso54114:Cortex-M4/M0+教程

    监视、内存和外围设备窗口)、硬件断点和观察点的非侵入性读/写。 许多恩智浦Cortex-M3M4和M7都有ETM指令跟踪,它还提供代码覆盖
    发表于 09-05 07:56

    Arm Cortex-M3产品介绍

    Cortex-M3处理器专门为高性能、低成本平台开发,用于各种装置,包括微控控器、汽车机体系统、工业控制系统、无线网络和传感器等高性能、低成本平台。特效建筑布局界面 ISA 支持管道内内内存支持管保
    发表于 08-25 08:27

    Cortex™-M3设备通用用户指南

    Cortex-M3处理器是专为微控制器市场设计的高性能32位处理器。 它为开发人员提供了显著的好处,包括: ·卓越的处理性能与快速中断处理相结合·通过广泛的断点和跟踪功能增强系统调试·高效的处理器
    发表于 08-23 07:33

    ARM Cortex-M3 DesignStart™ Eval RTL和FPGA快速入门指南

    (V2M-MPS2+)平台执行硬件原型。 Cortex-M3 DesignStart Eval提供了一个围绕™SSE-050子系统Cortex-M
    发表于 08-12 07:38

    ARM Cortex-M3 DesignStart Eval RTL和测试台用户指南

    Corest-M3 DesignStart Eval为开发人员提供了一种开发和模拟基于ARM Cortex-M3处理器的SoC设计的简单方法。 它允许系统设计人员在模拟器上进行设计和测试,然后使用FPGA进行
    发表于 08-12 07:22

    Arm Cortex-M3 DesignStart™ FPGA Xilinx版用户指南

    Cortex-M3 DesignStart™现场可编程门阵列-Xilinx版封装提供了一种在Xilinx Vivado设计环境中使用Cortex-M3处理器的简单方法。 Cortex-M3处理器专为
    发表于 08-12 07:02

    Cortex-M3 DesignStart Eval用户指南

    本章介绍了Cortex-M3 DesignStart Eval,并给出了FPGA评估的概述Flow,它的目录结构和限制。
    发表于 08-08 07:07

    硬件加速人体姿态估计开源分享

    电子发烧友网站提供《硬件加速人体姿态估计开源分享.zip》资料免费下载
    发表于 06-25 10:27 0次下载
    <b class='flag-5'>硬件加速</b>人体姿态估计开源分享

    基于 FPGA 的目标检测网络加速电路设计

    算法。 本项目设计的目标检测算法硬件加速电路可以应用在智能导航、视频监测、手机拍照、 门禁识别等诸多方面,比如无人汽车驾驶技术,高铁站为方便乘客进站而普遍采用的人脸 识别系统,以及警察抓捕潜逃罪犯而使
    发表于 06-20 19:45