https://github.com/bestsongc/yolov7-tracker
Yolo v5, v7, v8 and several Multi-Object Tracker(SORT, DeepSORT, ByteTrack, BoT-SORT, etc.) in MOT17 and VisDrone2019 Dataset. It uses a unified style and integrated tracker for easy embedding in your own projects.
Science Score: 10.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
○codemeta.json file
-
○.zenodo.json file
-
○DOI references
-
✓Academic publication links
Links to: arxiv.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (7.0%) to scientific vocabulary
Last synced: 10 months ago
·
JSON representation
Repository
Yolo v5, v7, v8 and several Multi-Object Tracker(SORT, DeepSORT, ByteTrack, BoT-SORT, etc.) in MOT17 and VisDrone2019 Dataset. It uses a unified style and integrated tracker for easy embedding in your own projects.
Basic Info
Statistics
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
- Releases: 0
Fork of JackWoo0831/Yolov7-tracker
Created over 2 years ago
· Last pushed almost 3 years ago
https://github.com/Bestsongc/Yolov7-tracker/blob/master/
# YOLO v7 + tracker
## 0.
**2023.9.16**: `track_demo.py`, `yolov7``non_maximum_supress`, , bug
**2023.5.6[]**: v5, v7, (), ***bug, ***. , v8, resize, .
## 1.
1. , tracker, , ,
2.
3. tracker"./tracker/", detector.
## 2. tracker:
SORT,
DeepSORT,
ByteTrack([ECCV2022](https://arxiv.org/pdf/2110.06864)),
DeepMOT([CVPR2020](https://openaccess.thecvf.com/content_CVPR_2020/papers/Xu_How_to_Train_Your_Deep_Multi-Object_Tracker_CVPR_2020_paper.pdf)),
BoT-SORT([arxiv2206](https://arxiv.org/pdf/2206.14651.pdf)),
UAVMOT([CVPR2022](https://openaccess.thecvf.com/content/CVPR2022/papers/Liu_Multi-Object_Tracking_Meets_Moving_UAV_CVPR_2022_paper.pdf))
C_BIoUTracker([arxiv2211](https://arxiv.org/pdf/2211.14317v2.pdf))
## 3. TODO
- [x] UAVMOT([CVPR2022](https://openaccess.thecvf.com/content/CVPR2022/papers/Liu_Multi-Object_Tracking_Meets_Moving_UAV_CVPR_2022_paper.pdf))
- [ ] (, )...
- [x] MOT challenge
- [x] Re-ID(OSNet, ...)
## 4.
### VisDrone
VisDrone2019-MOT train10 epochs, YOLO v7 w6, COCO. GPU: single Tesla A100, epoch40min.
VisDrone2019-MOT test dev, .
YOLO v7 VisDrone:
> https://pan.baidu.com/s/1m13Q8Lx_hrPVFZI6lLDrWQ
> ndkf
| Tracker | MOTA | IDF1 | IDS | fps |
|:--------------|:-------:|:------:|:------:|:------:|
|SORT | **26.4** | 36.4 |3264 |12.2 |
|DeepSORT | 16.4 | 33.1 | 1387 | 12.51|
|ByteTrack | 25.1 | 40.8| 1590 | 14.32|
|DeepMOT | 15.0 | 24.8|3666 |7.64|
|BoT-SORT | 23.0 | **41.4**|**1014** |5.41|
|UAVMOT | 25.0 | 40.5 | 1644 |**18.56**|
> fps

### MOT17
MOT17 train15epochs, YOLO v7 w6, COCO. GPU: single Tesla A100, epoch3.5min.
03C_BIoU Tracker:

## 5.
- python=3.7.0 pytorch=1.7.0 torchvision=0.8.0 cudatoolkit=11.0
- [py-motmetrics](https://github.com/cheind/py-motmetrics) (`pip install motmetrics`)
- cython-bbox (`pip install cython_bbox`)
- opencv
## 6.
YOLO v7, [YOLO v5 train custom data](https://github.com/ultralytics/yolov5/wiki/Train-Custom-Data)
```shell
class x_center y_center width height
```
x_center y_center width height****.
VisDrone, :
```shell
python tools/convert_VisDrone_to_yolov2.py --split_name VisDrone2019-MOT-train --generate_imgs
```
> .
, YOLO v7-w6(single GPU):
```shell
python train_aux.py --dataset visdrone --workers 8 --device <$GPU_id$> --batch-size 16 --data data/visdrone_all.yaml --img 1280 1280 --cfg cfg/training/yolov7-w6.yaml --weights <$YOLO v7 pretrained model path$> --name yolov7-w6-custom --hyp data/hyp.scratch.custom.yaml
```
> [YOLO v7](https://github.com/WongKinYiu/yolov7)
## 7. `track.py`
, MOT`()------`, :
~~~
{DATASET ROOT}
|-- dataset name
| |-- train
| | |-- sequence name
| | | |--images
| | |-- ...
| |-- val
| | |-- ...
| |-- test
| | |-- ...
~~~
YOLO, (data_foramt = origin), YOLO(data_foramt = yolo). .
***1. origin***
origin, **yolotxt.** `track.py` `track_yolov5.py`**DATA_ROOT**. VisDrone, VisDrone2019, `/data/datasets/VisDrone2019/VisDrone2019-MOT-test-dev`, annotationssequences, , DATA_ROOT:
```
DATA_ROOT/data/datasets/VisDrone2019/VisDrone2019-MOT-test-dev/sequences, DATA_ROOT.
```
***2. yolo[]***
yoloyolotxt. yolotxt, :
```
VisDrone2019/images/VisDrone2019-MOT-test-dev/uav0000120_04775_v/0000001.jpg
```
`/data/datasets/VisDrone2019/images/VisDrone2019-MOT-test-dev/uav0000120_04775_v/0000001.jpg`, `/`, , yolo, :
```
1. txt.
2. tracker/tracker_dataloader.pyTrackerLoader, self.DATA_ROOT, txt.
```
***, . , , TrackerLoaderself.img_files.***
## 8.
******, , `opts.data_format`, `yolo`, `yolo`(`./visdrone/test.txt`), `track.py``DATA_ROOT`, `test.txt`. , . `track.py`, `track_dataloder.py``TrackerLoader`.
> model_path detector model, runs/train/yolov7-w6-custom4/weights/best.pt
***SORT*** :
```shell
python tracker/track.py --dataset visdrone --data_format origin --tracker sort --model_path runs/train/yolov7-w6-custom4/weights/best.pt
```
***DeepSORT***:
```shell
python tracker/track.py --dataset visdrone --data_format origin --tracker deepsort --model_path runs/train/yolov7-w6-custom4/weights/best.pt
```
***ByteTrack***:
```shell
python tracker/track.py --dataset visdrone --data_format origin --tracker bytetrack --model_path runs/train/yolov7-w6-custom4/weights/best.pt
```
***DeepMOT***:
```shell
python tracker/track.py --dataset visdrone --data_format origin --tracker deepmot --model_path runs/train/yolov7-w6-custom4/weights/best.pt
```
***BoT-SORT***:
```shell
python tracker/track.py --dataset visdrone --data_format origin --tracker botsort --model_path runs/train/yolov7-w6-custom4/weights/best.pt
```
***UAVMOT***
```shell
python tracker/track.py --dataset visdrone --data_format origin --tracker uavmot --model_path runs/train/yolov7-w6-custom4/weights/best.pt
```
***StrongSORT***( )
```shell
python tracker/track.py --dataset visdrone --data_format origin --tracker strongsort --model_path runs/train/yolov7-w6-custom4/weights/best.pt --reid_model_path weights/osnet_x1_0.pth
```
***C_BIoUTracker***
```shell
python tracker/track.py --dataset visdrone --data_format origin --tracker c_biou --model_path runs/train/yolov7-w6-custom4/weights/best.pt
```
***MOT17***: :
```shell
python tracker/track.py --dataset mot17 --data_format yolo --tracker ${TRACKER} --model_path ${MODEL_PATH}
```
******:
```shell
python tracker/track_demo.py --obj demo.mp4
```
> StrongSORTOSNet, https://github.com/mikel-brostrom/Yolov5_StrongSORT_OSNet/blob/master/strong_sort/deep/reid_model_factory.py
>
> ```shell
> --save_images --save_videos
> ```
> .
## 9. ./trackerdetector
detector
```shell
(batch_size, num_objects, x_center, y_center, width, height, obj_conf, category)
```
yolo
```shell
(batch_size, num_objects, x_center, y_center, width, height, obj_conf, category_conf0, category_conf1, category_conf2, ...)
```
> : batch_size1.
## run_yolov7.txt
## 10.
**2023.3.14**`DeepSORT``C_BIoUTracker`bug.
**2023.2.28**`track_demo.py`, .
**2023.2.24********YOLO v8**, `tracker/track_demo.py``tracker/track_yolov8.py`. , , `obj`, :
```shell
python tracker/track_demo.py --obj demo.mp4
```
YOLO v8 . YOLO v8[YOLO v8](https://github.com/ultralytics/ultralytics)
**2023.2.11**TrackEval, [issue35](https://github.com/JackWoo0831/Yolov7-tracker/issues/35)
**2023.2.10**[DeepSORT](https://github.com/JackWoo0831/Yolov7-tracker/blob/master/tracker/deepsort.py), DeepSORT****, DeepSORT.
**2023.1.15****MOT17**, MOT17yolo(`./tools/convert_MOT17_to_yolo.py`), , >=0.75. , . tracker, `data_format`yolo, txt.
**2023.1.14**DanceTrackSOTA[C_BIoUTracker](https://arxiv.org/pdf/2211.14317v2.pdf), IoU, Kalman. , . ****.
**2022.11.26**[TrackEval](https://github.com/JonathonLuiten/TrackEval), MOT, VisDroneUAVDT. `yaml`, . TrackEval, `track.py``track_yolov5.py``parser.add_argument('--track_eval', type=bool, default=True, help='Use TrackEval to evaluate')``False`.
**2022.11.10**, README`track.py`.
**2022.11.09**BoT-SORT[issue 16](https://github.com/JackWoo0831/Yolov7-tracker/issues/16), .
**2022.11.08**track.py, track_yolov5.py, basetrack.pytracker_dataloader.py, yolobug, ().
**2022.10.22**, (linear assignment, ), cascade matching([StrongSORT](https://github.com/dyhBUPT/StrongSORT/blob/master/deep_sort/tracker.py)line94-134)
**2022.10.15**yolo v5, track.py, trackerv5([repo](https://github.com/ultralytics/yolov5)). [yolo v5](https://github.com/JackWoo0831/Yolov7-tracker/blob/master/tracker/track_yolov5.py).
**2022.09.27[]**STrackupdate, , **```./tracker```**.
StrongSORT, work:(,
Owner
- Name: Bestsongc
- Login: Bestsongc
- Kind: user
- Repositories: 1
- Profile: https://github.com/Bestsongc