Need help with MCMOT?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

266 Stars 64 Forks MIT License 244 Commits 44 Opened issues


Real time one-stage multi-class & multi-object tracking based on anchor-free detection and ReID

Services available


Need anything else?

Contributors list

# 122,953
207 commits
# 79
1 commit

MCMOT: One-shot multi-class multi-object tracking


This is an extention work of FairMOT, which extends the one-class multi-object tracking to multi-class multi-object tracking

You can refer to origin fork FairMOT

Tracking demo of C5(car, bicycle, person, cyclist, tricycle)

image image image image image

Tracking demo of VISDrone dataset

image image image image image image

VisDrone dataset training with 10 object classes

VisDrone link

VisDrone is a public dataset for 4 CV challenges: object detection, crowd counting, single class multi-object tracking, multi-class multi-object tracking.

  • Download multi-class multi-object tracking part of Visdrone dataset
  • Using script to generate labels.
  • Call the gendottrainfile function in to generate the dot train file for VisDrone mcmot training task.
  • Uncomment cls2id and id2cls in to use the correct class names and class Ids mapping.
    from gen</em>dataset_visdrone import cls2id, id2cls  # visdrone</p>

from genlabelsdetracmcmot import cls2id, id2cls # mcmotc5

* Set cls ids for visdrone training n i.e.

1~10 object classes are what we need
non-interest-zone (0) pedestrian (1) --> 0
people (2) --> 1
bicycle (3) --> 2
car (4) --> 3
van (5) --> 4
truck (6) --> 5
tricycle (7) --> 6
awning-tricycle (8) --> 7
bus (9) --> 8
motor (10) --> 9
others (11) self.parser.addargument('--reidcls_ids', default='0,1,2,3,4,5,6,7,8,9', # '0,1,2,3,4' or '0,1,2,3,4,5,6,7,8,9' help='') # the object classes need to do reid ```

Tracking or detection mode setting

Set idweight to 1 for tracking and 0 for detection mode. ``` self.parser.addargument('--id_weight', type=float, default=1, # 0for detection only and 1 for detection and re-ida help='loss weight for id') # ReID feature extraction or not ```

Pretained model for C5 and VisDrone detection and tracking

HRNet18 backbone with bi-linear upsampling replaced with de-convolution The pre-trained model is for 5 classes(C5) detection & tracking: car, bicycle, person, cyclist, tricycle, which can be used for road traffic video surveillance and analysis.

baidu drive link extract code:ej4p

one drive link

Resnet18 backbone for C5,which is much smaller than HRNet18

ResNet18 one drive link

Resnet18 backbone for VisDrone mcmot

Resnet18 one drive link

Using YOLOV4 as detector

You can also refer to the ropo:MCMOT_YOLOV4 This is MCMOT with CenterNet detection frame work replaced with an anchor-based detection framework.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.