@@ -15,6 +15,7 @@ git checkout v2 # change to v2 branch !!
15
15
16
16
## 🗺️ 最近更新
17
17
18
+ - *** 2025.4.7*** 增加更多Re-ID模型 (ShuffleNet, VehicleNet, MobileNet), 修复一些bug (例如在轨迹为非活动状态时停止更新边界框长宽), 增加一些小功能 (例如可以修改两阶段关联策略的最低阈值,原来是固定的0.1; 增加将IoU和检测置信度融合的选项)
18
19
- *** 2025.4.3*** 增加了ultralytics库最新版本的支持,修复了hybrid sort中的一些bug.
19
20
20
21
@@ -30,9 +31,10 @@ git checkout v2 # change to v2 branch !!
30
31
31
32
- SORT
32
33
- DeepSORT
33
- - ByteTrack ([ ECCV2022] ( https://arxiv.org/pdf/2110.06864 ) )
34
- - Bot-SORT ([ arxiv2206] ( https://arxiv.org/pdf/2206.14651.pdf ) )
34
+ - ByteTrack ([ ECCV2022] ( https://arxiv.org/pdf/2110.06864 ) ) 以及 ByetTrack-ReID
35
+ - Bot-SORT ([ arxiv2206] ( https://arxiv.org/pdf/2206.14651.pdf ) ) 以及 Bot-SORT-ReID
35
36
- OCSORT ([ CVPR2023] ( https://openaccess.thecvf.com/content/CVPR2023/papers/Cao_Observation-Centric_SORT_Rethinking_SORT_for_Robust_Multi-Object_Tracking_CVPR_2023_paper.pdf ) )
37
+ - DeepOCSORT ([ ICIP2023] ( https://arxiv.org/abs/2302.11813 ) )
36
38
- C_BIoU Track ([ arxiv2211] ( https://arxiv.org/pdf/2211.14317v2.pdf ) )
37
39
- Strong SORT ([ IEEE TMM 2023] ( https://arxiv.org/pdf/2202.13514 ) )
38
40
- Sparse Track ([ arxiv 2306] ( https://arxiv.org/pdf/2306.05238 ) )
@@ -41,8 +43,17 @@ git checkout v2 # change to v2 branch !!
41
43
42
44
REID模型支持:
43
45
46
+ 行人重识别模型:
44
47
- OSNet
45
- - DeepSORT中的
48
+ - Extractor from DeepSort
49
+ - ShuffleNet
50
+ - MobileNet
51
+
52
+ 车辆重识别模型:
53
+
54
+ - VehicleNet ([ AICIty-reID-2020] ( https://github.com/layumi/AICIty-reID-2020 ) )
55
+
56
+ > ** 部分重识别模型的权重** : [ 百度网盘] ( https://pan.baidu.com/s/1QbVoBz4mPpf4Qsqq1PYXkQ ) 提取码: c655
46
57
47
58
亮点包括:
48
59
- 支持的跟踪器比MMTracking多
@@ -51,10 +62,6 @@ REID模型支持:
51
62
52
63
![ gif] ( figure/demo.gif )
53
64
54
- ## 🗺️ 路线图
55
-
56
- - [ x ] Add UCMC Track
57
- - [ ] Add more ReID modules.
58
65
59
66
## 🔨 安装
60
67
@@ -154,11 +161,11 @@ python train_aux.py --dataset visdrone --workers 8 --device <$GPU_id$> --batch-s
154
161
python tracker/yolo_ultralytics_utils/train_yolo_ultralytics.py --model_weight weights/yolo11m.pt --data_cfg tracker/yolo_ultralytics_utils/data_cfgs/visdrone_det.yaml --epochs 30 --batch_size 8 --img_sz 1280 --device 0
155
162
```
156
163
157
-
164
+ > 关于重识别模型的训练, 请先参照对应模型的原论文或代码. 行人重识别模型例如 ShuffleNet, OSNet 参考 [ torchreid ] ( https://github.com/KaiyangZhou/deep-person-reid ) , 车辆重识别模型参考 [ AICIty-reID-2020 ] ( https://github.com/layumi/AICIty-reID-2020 ) .
158
165
159
166
### 😊 跟踪!
160
167
161
- 如果你只是想运行一个demo:
168
+ ** 如果你只是想运行一个demo** :
162
169
163
170
``` bash
164
171
python tracker/track_demo.py --obj ${video path or images folder path} --detector ${yolox, yolov7 or yolo_ultra} --tracker ${tracker name} --kalman_format ${kalman format, sort, byte, ...} --detector_model_path ${detector weight path} --save_images
@@ -175,26 +182,46 @@ python tracker/track_demo.py --obj ${video path or images folder path} --detecto
175
182
python tracker/track_demo.py --obj M0203.mp4 --detector yolov8 --tracker deepsort --kalman_format byte --detector_model_path weights/yolov8l_UAVDT_60epochs_20230509.pt --save_images
176
183
```
177
184
178
- 如果你想在数据集上测试:
185
+ ** 如果你想在数据集上测试** :
179
186
180
187
``` bash
181
188
python tracker/track.py --dataset ${dataset name, related with the yaml file} --detector ${yolox, yolo_ultra_v8 or yolov7} --tracker ${tracker name} --kalman_format ${kalman format, sort, byte, ...} --detector_model_path ${detector weight path}
182
189
```
183
190
184
- 例如:
191
+ 此外, 还可以指定
192
+
193
+ ` --reid ` : 启用reid模型(目前对ByteTrack, BoT-SORT, OCSORT有用)
194
+
195
+ ` --reid_model ` : 采用那种模型: 参照` tracker/trackers/reid_models/engine.py ` 中的` REID_MODEL_DICT ` 选取
196
+
197
+ ` --reid_model_path ` : 加载的重识别模型权重路径
198
+
199
+ ` --conf_thresh_low ` : 对于两阶段关联模型(ByteTrack, BoT-SORT等), 最低置信度阈值(默认0.1)
200
+
201
+ ` --fuse_detection_score ` : 如果加上, 就融合IoU的值和检测置信度的值, 例如BoT-SORT的源码是这样做的
202
+
203
+ ` --save_images ` : 保存结果图片
204
+
205
+ *** 各种跟踪算法运行示例*** :
185
206
186
207
- SORT: ` python tracker/track.py --dataset uavdt --detector yolo_ultra_v8 --tracker sort --kalman_format sort --detector_model_path weights/yolov8l_UAVDT_60epochs_20230509.pt `
187
208
188
209
- DeepSORT: ` python tracker/track.py --dataset visdrone_part --detector yolov7 --tracker deepsort --kalman_format byte --detector_model_path weights/yolov8l_VisDroneDet_35epochs_20230605.pt `
189
210
190
211
- ByteTrack: ` python tracker/track.py --dataset uavdt --detector yolo_ultra_v8 --tracker bytetrack --kalman_format byte --detector_model_path weights/yolov8l_UAVDT_60epochs_20230509.pt `
191
212
213
+ - ByteTrack-ReID: ` python tracker/track.py --dataset uavdt --detector yolo_ultra_v8 --tracker bytetrack --kalman_format byte --detector_model_path weights/yolov8l_UAVDT_60epochs_20230509.pt --reid --reid_model osnet_x0_25 --reid_model_path weights/osnet_x0_25.pth `
214
+
192
215
- OCSort: ` python tracker/track.py --dataset mot17 --detector yolox --tracker ocsort --kalman_format ocsort --detector_model_path weights/bytetrack_m_mot17.pth.tar `
193
216
217
+ - DeepOCSORT: ` python tracker/track.py --dataset mot17 --detector yolox --tracker ocsort --kalman_format ocsort --detector_model_path weights/bytetrack_m_mot17.pth.tar --reid --reid_model shufflenet_v2_x1_0 --reid_model_path shufflenetv2_x1-5666bf0f80.pth `
218
+
194
219
- C-BIoU Track: ` python tracker/track.py --dataset uavdt --detector yolo_ultra_v8 --tracker c_bioutrack --kalman_format bot --detector_model_path weights/yolov8l_UAVDT_60epochs_20230509.pt `
195
220
196
221
- BoT-SORT: ` python tracker/track.py --dataset uavdt --detector yolox --tracker botsort --kalman_format bot --detector_model_path weights/yolox_m_uavdt_50epochs.pth.tar `
197
222
223
+ - BoT-SORT-ReID: ` python tracker/track.py --dataset uavdt --detector yolox --tracker botsort --kalman_format bot --detector_model_path weights/yolox_m_uavdt_50epochs.pth.tar --reid --reid_model vehiclenet --reid_model_path vehicle_net_resnet50.pth `
224
+
198
225
- Strong SORT: ` python tracker/track.py --dataset visdrone_part --detector yolo_ultra_v8 --tracker strongsort --kalman_format strongsort --detector_model_path weights/yolov8l_VisDroneDet_35epochs_20230605.pt `
199
226
200
227
- Sparse Track: ` python tracker/track.py --dataset uavdt --detector yolo_ultra_v11 --tracker sparsetrack --kalman_format bot --detector_model_path weights/yolov8l_UAVDT_60epochs_20230509.pt `
0 commit comments