• Stars
    star
    380
  • Rank 112,096 (Top 3 %)
  • Language
    Python
  • License
    MIT License
  • Created over 4 years ago
  • Updated over 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

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

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 gen_dataset_visdrone.py script to generate labels.
  • Call the gen_dot_train_file function in gen_dataset_visdrone.py to generate the dot train file for VisDrone mcmot training task.
  • Uncomment cls2id and id2cls in multitracker.py to use the correct class names and class Ids mapping.
from gen_dataset_visdrone import cls2id, id2cls  # visdrone
# from gen_labels_detrac_mcmot import cls2id, id2cls  # mcmot_c5
  • Set cls ids for visdrone training n opts.py 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.add_argument('--reid_cls_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 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.

More Repositories

1

Vehicle-Car-detection-and-multilabel-classification

使用YOLO_v3_tiny和B-CNN实现街头车辆的检测和车辆属性的多标签识别 Using yolo_v3_tiny to do vehicle or car detection and attribute's multilabel classification or recognize
Python
575
star
2

RepNet-MDNet-VehicleReID

Implementing RepNet(a two-stream multitask learning network) to do vehicle Re-identification, vehicle search(or vehicle match) with PyTorch 可用于车辆细粒度识别,车辆再识别,车辆匹配,车辆检索,RepNet/MDNet的一种PyTorch实现
Python
240
star
3

FairMOTVehicle

A fork of FairMOT used to do vehicle MOT.用于跟踪车辆的多目标跟踪, 自定义数据进行单类别多目标实时跟踪
Python
181
star
4

VideoCaption

视频的文本摘要(标注),输入一段视频,通过深度学习网络和人工智能程序识别视频主要表达的意思(Input a video output a txt decribing the video)。
Python
169
star
5

FaceRecognition

Face recognition using triplet loss, implementing FaceNet with pytorch.人脸识别项目,提供一个小型数据集用作验证,使用三元组损失函数(Triplet loss)提升准确率和泛化能力,对FaceNet进行了一种实现。
Python
127
star
6

MCMOT-ByteTrack

Python
104
star
7

YOLOV4_MCMOT

Using YOLOV4 as detector for MCMOT.
Python
103
star
8

DenseBox

Implemention of Baidu's DenseBox used for multi-task learning of object detection and landmark(key-point) localization 用PyTorch实现了百度的DenseBox并针对任意宽高比矩形(不仅限于方形)的目标检测做了优化,不仅可以输出关键点的热力图(heatmap)而且可以输出每个bbox对应关键点坐标
Python
94
star
9

MOTEvaluate

Python
21
star
10

SFM_OpenCV

A SFM project implemented with Opencv
C++
18
star
11

ByteTrack-MCMOT-TensorRT

MCMOT TensorRT deployment(C/C++) based on ByteTrack.
C++
16
star
12

Depthmap-refinement-upsampling-

Implemention of paper "Spatial-Depth Super Resolution for Range Images" with python
Python
16
star
13

SFM_PMVS_3DReconstruct_python

SFM PMVS 3D sparse to dense reconstruct in python.
Python
11
star
14

BinoCameraCalibrate

Binocular camera calibration and rectification using OpenCV.
C++
11
star
15

Algorithms

Algorithms's implementions for testing 一些机器学习,统计,三维重建等算法实现和测试
Python
8
star
16

PyScripts

Python
7
star
17

ExposureFusionPy

Implementing ExposureFusion algorithm using OpenCV and Numpy in Python3.
Python
5
star
18

MonoCameraCalibrate

C++
4
star
19

ExposureFusionCpp

C++
4
star
20

TestKalman

Python
3
star
21

StereoCalibrateRectify

C++
3
star
22

MonoDepthV1

Python
3
star
23

PytorchToCaffe

Python
3
star
24

MyNanoDet

Using custom dataset for training.
Python
3
star
25

TestOpenCVCuda

Test openCV with CUDA
C++
3
star
26

MonoDepthV2

Jupyter Notebook
3
star
27

SelfSuperviseAidedBlindIQA

SelfSuperviseAidedBlindIQA
Python
2
star
28

Stereo3DReconstruct

Python
2
star
29

MyHDRUNet

Python
2
star
30

MyEnlightenGAN

Python
2
star
31

My_CRNN

2
star
32

ColmapMVSMy

C++
2
star
33

MySlamExperiments

C++
Python
2
star
34

RealChineseLiscensePlateGenerator

Python
2
star
35

CaptainEven

1
star
36

MyMVE

C++
1
star