目标跟踪难点及算法介绍

目标跟踪是计算机视觉领域的一个重要问题,目前广泛应用在体育赛事转播、安防监控和无人机、无人车、机器人等领域。

 

简单来说,目标跟踪就是在连续的视频序列中,建立所要跟踪物体的位置关系,得到物体完整的运动轨迹。给定图像第一帧的目标坐标位置,计算在下一帧图像中目标的确切位置。在运动的过程中,目标可能会呈现一些图像上的变化,比如姿态或形状的变化、尺度的变化、背景遮挡或光线亮度的变化等。目标跟踪算法的研究也围绕着解决这些变化和具体的应用展开。

目前目标跟踪的难点主要包含:

形态变化 - 姿态变化是目标跟踪中常见的干扰问题。运动目标发生姿态变化时, 会导致它的特征以及外观模型发生改变, 容易导致跟踪失败。例如:体育比赛中的运动员、马路上的行人。

尺度变化 - 尺度的自适应也是目标跟踪中的关键问题。当目标尺度缩小时, 由于跟踪框不能自适应跟踪, 会将很多背景信息包含在内, 导致目标模型的更新错误;当目标尺度增大时, 由于跟踪框不能将目标完全包括在内, 跟踪框内目标信息不全, 也会导致目标模型的更新错误。因此, 实现尺度自适应跟踪是十分必要的。

遮挡与消失 - 目标在运动过程中可能出现被遮挡或者短暂的消失情况。当这种情况发生时, 跟踪框容易将遮挡物以及背景信息包含在跟踪框内, 会导致后续帧中的跟踪目标漂移到遮挡物上面。若目标被完全遮挡时, 由于找不到目标的对应模型, 会导致跟踪失败。

图像模糊 - 光照强度变化, 目标快速运动, 低分辨率等情况会导致图像模型, 尤其是在运动目标与背景相似的情况下更为明显。因此, 选择有效的特征对目标和背景进行区分非常必要。

跟踪算法主要从经典算法到基于核相关滤波算法,再到基于深度学习的跟踪算法。

早期经典的跟踪方法比如 Meanshift、Particle Filter 和 Kalman Filter。Meanshift 方法是一种基于概率密度分布的跟踪方法,使目标的搜索一直沿着概率梯度上升的方向,迭代收敛到概率密度分布的局部峰值上。首先 Meanshift 会对目标进行建模,比如利用目标的颜色分布来描述目标,然后计算目标在下一帧图像上的概率分布,从而迭代得到局部最密集的区域。Meanshift 适用于目标的色彩模型和背景差异比较大的情形,早期也用于人脸跟踪。由于 Meanshift 方法的快速计算,它的很多改进方法也一直适用至今。

粒子滤波(Particle Filter)方法是一种基于粒子分布统计的方法。以跟踪为例,首先对跟踪目标进行建模,并定义一种相似度度量确定粒子与目标的匹配程度。在目标搜索的过程中,它会按照一定的分布(比如均匀分布或高斯分布)撒一些粒子,统计这些粒子的相似度,确定目标可能的位置。在这些位置上,下一帧加入更多新的粒子,确保在更大概率上跟踪上目标。Kalman Filter 常被用于描述目标的运动模型,它不对目标的特征建模,而是对目标的运动模型进行了建模,常用于估计目标在下一帧的位置。另外,经典的跟踪方法还有基于特征点的光流跟踪,在目标上提取一些特征点,然后在下一帧计算这些特征点的光流匹配点,统计得到目标的位置。在跟踪的过程中,需要不断补充新的特征点,删除置信度不佳的特征点,以此来适应目标在运动中的形状变化。本质上可以认为光流跟踪属于用特征点的集合来表征目标模型的方法。

基于核相关滤波的跟踪算法如MOSSE、CSK、KCF、BACF、SAMF将通信领域的相关滤波(衡量两个信号的相似程度)引入到了目标跟踪中,相关滤波的跟踪算法始于 2012 年 P.Martins 提出的 CSK 方法,作者提出了一种基于循环矩阵的核跟踪方法,并且从数学上完美解决了密集采样(Dense Sampling)的问题,利用傅立叶变换快速实现了检测的过程。在训练分类器时,一般认为离目标位置较近的是正样本,而离目标较远的认为是负样本。利用快速傅立叶变换,CSK 方法的跟踪帧率能达到 100~400fps,奠定了相关滤波系列方法在实时性应用中的基石。

利用深度学习训练网络模型,得到的卷积特征输出表达能力更强,在目标跟踪上,初期的应用方式是把网络学习到的特征,直接应用到相关滤波或 Struck 的跟踪框架里面,从而得到更好的跟踪结果,网络不同层的卷积输出都可以作为跟踪的特征。

  • 28
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
3D目标跟踪算法是一种用于追踪三维目标的方法。其中引用的内容涉及到一个具体的算法的细节和损失函数的计算。 该算法首先通过网络输出3来估计目标框的位置,其中第五位表示目标的目标程度得分。然后根据网络输出4和真实位置之间的距离,计算目标框的标签。 损失函数分为几个部分,其中loss_box是通过计算预测框和真实框之间的位置差异来衡量。只有正样本被用来进行训练。损失函数通过计算正样本的平均损失值,并乘以目标的目标程度得分,然后除以正样本的总数来计算。 综合考虑了分类损失、回归损失和目标程度得分之间的权重,得到总的损失值。其中分类损失的权重是0.2,回归损失的权重是1.5,目标程度得分的权重是0.2。 网络的输出3由两个部分组成:proposal_offsets和center_xyzs。它们被拼接在一起形成一个(batch, 5, 64)的输出。此外,目标特定特征通过经过3层卷积层得到(batch, 1, M2),然后经过Sigmoid函数处理得到(batch, M2),作为网络的输出1:estimation_cla。 另外,通过聚合投票方法得到的特征(batch, 256, M2)也是网络的输出2。这些特征包括了用于分类任务的分数(batch, M2)和用于投票聚合的位置信息(batch, 257, M2)。 最后,验证步骤用于检验目标跟踪算法的性能。 总结起来,3D目标跟踪算法通过网络输出关于目标位置、目标程度得分、分类分数和位置信息的多个部分,并利用损失函数来训练和优化模型的性能。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

爱丽仔

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

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

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

打赏作者

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

抵扣说明:

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

余额充值