1
1
# YOLO v7 + 各种tracker实现多目标跟踪
2
2
3
- ## 注意
3
+ ## 更新记录
4
4
5
- ** 20221022 ** 本代码的匹配代码比较简单, 不一定会达到最好的效果(每次匹配只用一次linear assignment, 没有和历史帧的特征相匹配), 您可以使用cascade matching的方式(参见 [ StrongSORT ] ( https://github.com/dyhBUPT/StrongSORT/blob/master/deep_sort/tracker.py ) 的line94-134)
5
+ ** 2022.11.08 ** 更新了track.py, track_yolov5.py, basetrack.py和tracker_dataloader.py, 修复了yolo格式读取数据以及保存视频功能的一些bug, 并增加了隔帧检测的功能(大多数时候用不到).
6
6
7
- ** 2022101 ** 5增加了对yolo v5的支持, 只需替换track.py, 将tracker文件夹放到v5的根目录(我测试的是官方的 [ repo ] ( https://github.com/ultralytics/yolov5 ) )下即可. 代码在 [ yolo v5 ] ( https://github.com/JackWoo0831/Yolov7-tracker/ blob/master/other/track_yolov5 .py) .
7
+ ** 2022.10.22 ** 本代码的匹配代码比较简单, 不一定会达到最好的效果(每次匹配只用一次linear assignment, 没有和历史帧的特征相匹配), 您可以使用cascade matching的方式(参见 [ StrongSORT ] ( https://github.com/dyhBUPT/StrongSORT/ blob/master/deep_sort/tracker .py ) 的line94-134)
8
8
9
- ** 20220927** 修复了STrack类中update不更新外观的问题, 代码有较大更改, ** 您可能需要重新下载``` ./tracker ``` 文件夹** .
9
+ ** 2022.10.15** 增加了对yolo v5的支持, 只需替换track.py, 将tracker文件夹放到v5的根目录(我测试的是官方的[ repo] ( https://github.com/ultralytics/yolov5 ) )下即可. 代码在[ yolo v5] ( https://github.com/JackWoo0831/Yolov7-tracker/blob/master/tracker/track_yolov5.py ) .
10
+
11
+ ** 2022.09.27** 修复了STrack类中update不更新外观的问题, 代码有较大更改, ** 您可能需要重新下载``` ./tracker ``` 文件夹** .
10
12
尝试加入StrongSORT, 但是目前还不work:(, 尽力调一调
11
13
12
14
## 亮点
@@ -27,7 +29,7 @@ UAVMOT([CVPR2022](https://openaccess.thecvf.com/content/CVPR2022/papers/Liu_Mult
27
29
- [x] 集成UAVMOT([ CVPR2022] ( https://openaccess.thecvf.com/content/CVPR2022/papers/Liu_Multi-Object_Tracking_Meets_Moving_UAV_CVPR_2022_paper.pdf ) )
28
30
- [ ] 达到更好的结果(缓解类别不平衡, 小目标等等)...
29
31
- [ ] MOT challenge数据集
30
- - [ ] 更换Re-ID模型
32
+ - [x ] 更换Re-ID模型(更换了OSNet, 效果不好...)
31
33
32
34
33
35
## 效果
@@ -79,6 +81,8 @@ python train_aux.py --dataset visdrone --workers 8 --device <$GPU_id$> --batch-s
79
81
80
82
## 跟踪
81
83
84
+ *** 在跟踪之前*** , 您需要选择读取数据的方式, 即` opts.data_format ` 参数, 如果选择` yolo ` 格式, 您需要在工程根目录下按照` yolo ` 的方式(例如本仓库的` ./visdrone/test.txt ` ), 您需要修改` track.py ` 中的` DATA_ROOT ` 等变量, 与` test.txt ` 中的路径配合起来. 如果使用数据集原本的路径, 要根据数据集本身的路径特点进行调整. 一是` track.py ` 中的路径变量, 二是` track_dataloder.py ` 中` TrackerLoader ` 类的初始化函数中的路径.
85
+
82
86
> model_path 参数为训练后的detector model, 假设路径为 runs/train/yolov7-w6-custom4/weights/best.pt
83
87
84
88
*** SORT*** :
0 commit comments