CaptainEven / MCMOT

Real time one-stage multi-class & multi-object tracking based on anchor-free detection and ReID
MIT License
386 stars 82 forks source link
anchor-free detection multi-class multi-object one-shot real-time tracking

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.

Tracking or detection mode setting

Set id_weight to 1 for tracking and 0 for detection mode.

        self.parser.add_argument('--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.

Using ByteTrack

You can also refer to the ropo:MCMOT-ByteTrack
Using YOLOX as front-end and using ByteTrack as back-end.