人体reid工程:fast_reid
last人体数据集reid
[深度学习] fast-reid入门教程_fastreid_落痕的寒假的博客-CSDN博客
GitHub - JDAI-CV/fast-reid: SOTA Re-identification Methods and Toolbox
deepsort原理快速弄懂——时效比最高的_⊙月的博客-CSDN博客_deepsort
https://github.com/mikel-brostrom/Yolov5_StrongSORT_OSNet
StrongSORT(deepsort强化版)浅实战+代码解析_weixin_50862344的博客-CSDN博客_deepsort代码解析
卡尔曼滤波算法:该算法的主要作用就是当前的一系列运动变量去预测下一时刻的运动变量,但是第一次的检测结果用来初始化卡尔曼滤波的运动变量。
匈牙利算法:简单来讲就是解决分配问题,就是把一群检测框和卡尔曼预测的框做分配,让卡尔曼预测的框找到和自己最匹配的检测框,达到追踪的效果。
sort过程:
1、获取原始帧
2、利用目标检测器进行目标检测
3、 将检测到的目标的框中的特征提取出来,该特征包括表观特征(方便特征对比避免ID switch)和运动特征(运动特征方便卡尔曼滤波对其进行预测)
4、 计算前后两帧目标之前的匹配程度(利用匈牙利算法和级联匹配),为每个追踪到的目标分配ID。
deepsort:
(210条消息) deepsort原理快速弄懂——时效比最高的_⊙月的博客-CSDN博客_deepsort
在sort基础上优化点:
SORT、DeepSORT_あずにゃん的博客-CSDN博客_sort deepsort
优点:
1、级联匹配(增加度量,相似度估计,也就是计算这个分配问题的代价矩阵。)
将确认态的Tracks的框框和是Detections进行级联匹配(之前每次只要Tracks匹配上都会保存Detections其的外观特征和运动信息,默认保存前100帧,利用外观特征和运动信息和Detections进行级联匹配,这么做是因为确认态(confirmed)的Tracks和Detections匹配的可能性更大)。
2、新轨迹确认
Tracks分为确认态(confirmed),和不确认态(unconfirmed),新产生的Tracks是不确认态的;不确认态的Tracks必须要和Detections连续匹配一定的次数(默认是3)才可以转化成确认态。确认态的Tracks必须和Detections连续失配一定次数(默认30次),才会被删除。
strongsort(加入reid)
(210条消息) StrongSORT论文阅读笔记_Mobu59的博客-CSDN博客
3、行人重识别
(13 封私信 / 80 条消息) 行人重识别(re-ID)与跟踪(tracking)有什么区别? - 知乎 (zhihu.com)
实战
https://blog.csdn.net/h363924219/article/details/124324690
4、bytetrack(只要检测精度足够好,就可以)在sort基础上,依赖检测,区分低分和高分检测框
目标跟踪之 MOT 经典算法:ByteTrack 算法原理以及多类别跟踪_kuweicai的博客-CSDN博客_mot算法
strongsort(在deepsort基础上加了reid)
ocsort
kalman filter: