基于Arm的 多目标跟踪算法 Deepsort

目前基于边缘设备arm优化了下多目标跟踪算法deepsort,优化后的算法只需基于CPU运行无各种环境或者框架依赖,大大提高了跟踪算法的可移植性,该算法在RK3399 pro上面同时跟踪20个目标的耗时可以做到5ms左右,真正的实时多目标跟踪。目前多目标跟踪算法已经应用在Arm边缘设备(RK3399, jetson nx)用来做人流量统计算法 和车流量统计算法。
在这里插入图片描述

基于深度学习的多目标跟踪算法的几种改进方向,其中有一种便是将深度表观特征应用到多目标跟踪问题中,deep-sort多目标跟踪算法便是这类算法中较为常用的一个。deep-sort 是在 sort 目标跟踪的基础上引入了表观特征提取网络,该网络是在行人重识别数据集上离线训练得到的,在目标跟踪过程中提取目标的表观特征进行最近邻匹配,这样可以有效的改善遮挡情况下的目标追踪效果。
算法可以分为四个核心部分,轨迹处理和状态估计、相关性度量、级联匹配、深度特征描述器。轨迹处理和状态估计部分的算法和 sort 算法类似,主要分为运动状态估计和目标创建与移除。deep-sort 算法通过(u,v,gama,h,x1,y1,gama1,h1), 这八个参数描述目标的运动状态,其中 (u,v) 为目标锚点框的中心坐标,gama是目标锚点框的长宽比,h 表示目标锚点框的高度,其余四个变量为目标对应在图像坐标种的运动信息。通过一个基于常量速度模型和线性观测模型的标准卡尔曼滤波器对目标的运动状态进行预测,预测的结果为(u,v,gama,h)。设置一个阈值Amax,设置一个计数器ak 表示第 k 个追踪目标最后一次出现到当前帧所间隔的帧数,每次目标出现都将刷新计数器,即将计数器置为 0,若ak>Amax则,目标 k 追踪结束。若目标匹配过程中,有目标始终无法与已存在路径相匹配,则认为该目标可能为新出现的目标,如果接下来的 3 帧都连续检测到了该目标,则该目标将被认定为新出现的跟踪目标,并以此目标为起始目标生成新的跟踪路径,否则不生成新的跟踪路径。

##什么是deepsort?

多目标追踪算法:核心思想是将目标检测和目标跟踪分离开来,首先使用目标检测算法对视频帧中的目标进行检测,然后将检测到的目标转化为特征向量,使用深度学习模型对目标特征进行学习, 最后使用卡尔曼滤波器对目标进行跟踪,实现对目标的连续跟踪。 DeepSort的优点是实时性高、准确率高、鲁棒性强,可以应用于多种场景,如人脸识别、车辆跟 踪等。同时,DeepSort还具有可扩展性强的优点,可以根据不同的应用场景进行定制化的优化。

##卡尔滤波器:

**原理:**通过对现有数据和模型的分析,对系统状态进行预测,并将预测结果与实际观测数据进 行比较,得出系统状态的估计值。然后,利用估计值更新模型,进一步提高状态估计的准确性。

**原理解析:**基于前一帧图像的状态估计值和当前帧图像的观测值,对目标在下一帧图像中的状态进行预测,因此可以说是对目标轨迹的预测。但由于卡尔曼滤波器具有较高的准确性和鲁棒性, 所以预测的轨迹往往可以较好地反映目标的真实运动状态,从而实现对目标的连续跟踪。 卡尔滤波器本质是根据现有数据的分析进行预测而表现出追踪的效果 例子: 假设有一个视频,场景是狗在追一个人,我们用DeepSort算法对这个视频进行目标跟踪。我们假 设视频的帧率为10fps,以下是前三帧的预测过程: 第一帧:狗和人的位置都被检测出来,我们将它们的位置信息输入到卡尔曼滤波器中,得到狗和人 的状态估计值。假设狗和人的状态估计值分别为(x1, y1, vx1, vy1)和(x2, y2, vx2, vy2),这里的(x, y)表示位置,(vx, vy)表示速度。由于这是第一帧,我们无法进行预测,因此直接将状态估计值作 为当前状态。 第二帧:狗和人在第二帧中的位置发生了变化,我们将它们的位置信息输入到卡尔曼滤波器中,得 到狗和人的状态估计值。假设得到的状态估计值为(x1’, y1’, vx1’, vy1’)和(x2’, y2’, vx2’, vy2’)。由 于卡尔曼滤波器具有较好的预测性能,我们可以根据前一帧的状态估计值和当前帧的观测值,对狗 和人在下一帧中的状态进行预测。假设预测得到的状态为(x1’‘, y1’‘, vx1’‘, vy1’‘)和(x2’‘, y2’‘, vx2’‘, vy2’‘),则可以将它们作为下一帧的状态估计值。 第三帧:狗和人在第三帧中的位置发生了变化,我们将它们的位置信息输入到卡尔曼滤波器中,得 到狗和人的状态估计值。假设得到的状态估计值为(x1’‘’, y1’‘’, vx1’‘’, vy1’‘’)和(x2’‘’, y2’‘’, vx2’‘’, vy2’‘’)。同样地,我们可以根据前一帧的状态估计值和当前帧的观测值,对狗和人在下一帧中的状 态进行预测。假设预测得到的状态为(x1’‘’‘, y1’‘’‘, vx1’‘’‘, vy1’‘’‘)和(x2’‘’‘, y2’‘’‘, vx2’‘’‘, vy2’‘’'),则 可以将它们作为下一帧的状态估计值。

##匈牙利算法

在deepsort的应用: 匈牙利算法在DeepSORT中的作用是将当前帧中的目标与前一帧中的目标进行匹配。具体怎么匹配 呢?用==马氏距离==来匹配 对于每一帧,DeepSORT会使用卡尔曼滤波来预测目标的位置和速度,然后通过匈牙利算法来将当 前帧中的目标与前一帧中的目标进行匹配。如果匹配成功,就更新目标的位置和速度;如果匹配失 败,则将当前帧中的目标作为新的目标进行跟踪。 匈牙利算法简介: 一种解决二分图最大匹配问题的算法,也叫做增广路算法。它的基本思想是通过不断寻找增广路来 不断扩展匹配,直到找不到增广路为止。

马氏距离

马氏距离在deepsort的应用: DeepSORT使用一个预训练的深度学习模型来提取目标的外观特征,然后使用这些特征来计算目标 之间的马氏距离,马氏距离计算数值表达的是目标之间的相似度。计算马氏距离后,DeepSORT会 将相似度用于匈牙利算法进行目标关联。具体来说,匈牙利算法会将当前帧中的目标与前一帧中的 目标进行匹配,以实现目标的跟踪。在匹配时,匈牙利算法会使用计算得到的马氏距离来判断目标 之间的相似度,从而确定它们之间的匹配关系。
在这里插入图片描述
547691062@qq.com

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
基于ARM+FPGA的目标检测是一种利用ARM处理器和FPGA协同工作的设计方案。在这种方案中,ARM处理器负责整体控制和算法处理,而FPGA则负责高速数据处理和并行计算。引用\[2\]中提到的一种设计方案中,使用了STM32作为主控制器,FPGA作为辅助控制器。STM32通过串口与FPGA进行通信,将插补信息发送给FPGA进行插补运算,并通过隔离电路将信号发送到各个电机驱动器,实现目标运动轨迹的控制。引用\[3\]中也提到了基于RK3588和Xilinx Artix-7 FPGA的设计方案,其中RK3588与FPGA通过多种通信接口连接,实现数据的传输和处理。这些设计方案都充分利用了ARM和FPGA的优势,提高了目标检测的实时性和性能。 #### 引用[.reference_title] - *1* *2* [基于 STM32+FPGA 的多轴运动控制器的设计](https://blog.csdn.net/YEYUANGEN/article/details/129003308)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [RK3588+FPGA+Cameralink高速相机解决方案](https://blog.csdn.net/YEYUANGEN/article/details/131051184)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

NineDays66

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值