sort学习

跟踪就是确保不同帧的同一目标具有同一目标id

kalman滤波

匈牙利算法

先验状态预测

后验状态更新

max_age

目标所对应的轨迹停止更新状态的最大帧数,也叫目标轨迹的寿命。如果一个当前帧的目标在下一帧中没被检测出来,那么该目标的kalman滤波的先验状态预测将会失去与下一帧目标检测值的匹配的机会,此时轨迹的kalman滤波器状态不会更新。将先验预测作为下一帧该目标的状态,如果此时max_age设置为1,则在下下一帧中,如果该目标得轨迹还是没有得到匹配和更新,它就会被删除,在后续的帧中,就不会跟踪到该目标,跟踪器认为该目标已经走出了帧外,或者该目标被遮挡。

关于目标id的分配

max_age就是目标的轨迹寿命,在SORT代码中与max_age相关的time_since_update(称之为轨迹的“罢工”帧序列长度)有这样的性质,对于每个目标的轨迹,都会经历两个阶段,一个是先验状态预测,一个是后验状态更新,而在这两个阶段之中,其实还有一个阶段,但这个阶段不属于轨迹的kalman滤波的操作范围,所以这个阶段就是匈牙利匹配阶段,可以结合上面的草图的来看(红色箭头就是kalman滤波器先验状态预测阶段,褐色圆点就是匈牙利匹配,然后绿色线条就是kalman状态更新阶段),time_since_update伴随着这3个阶段会有不同的变化规律,如果执行轨迹的状态更新操作一次 ,time_since_update就会归0,如果执行轨迹的先验状态预测一次,time_since_update就会+1,time_since_update用于记录帧中某一目标的轨迹受到更新的情况,对于帧中的某一目标,如果接下来的每一帧中,该目标轨迹的kalman先验状态预测都会得到匹配和更新,则每次time_since_update都会归0,如果出现没有更新的情况,time_since_update就会叠+1,如果这个叠加数量超过规定的“寿命”max_age,并且没有在其后的“max_age+1”帧中得到最后的匹配,则将该目标的轨迹在帧间“轨迹集合tracks”中被删除,这也就不会在其后的帧中生成该目标的先验状态预测,也就是其后的帧中,不会跟踪到该目标,但是说了这么多这跟id有什么关系?因为出现了这个目标的轨迹删除,(重点来了!!)所以即使在随后的帧中检测器又将该目标检测出来,它的id号则是新分配的id号,不会是原来的id号(在SORT中对于目标id号的定义,是叠加定义的,新出现的目标的id号总是大于“旧”目标id号,SORT不会re-id,所以这也是SORT的一个缺点)

关于跟踪结果的选取

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值