MIT License

项目介绍

CaptainEven/MCMOT 是一个托管在 GitHub 上的开源项目,主要使用 Python 编写,采用 MIT License 许可证,目前获得 410 个 Star、77 次 Fork。

仓库全名
CaptainEven/MCMOT
开源许可证
MIT License
Star 数
410
Fork 数
77
未关闭 Issue
56

README 摘要

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) Tracking demo of VISDrone dataset VisDrone dataset training with 10 object classes VisDrone link VisDrone is a public dataset for 4…

完整内容见 GitHub 原始 README 或本页 。

常见问题

MCMOT 用什么语言开发?

主要使用 Python 编写,采用 MIT License 许可证,目前有 410 个 Star。

MCMOT 可以免费商用吗?

仓库采用 MIT License 许可证,可免费使用与修改,商业使用请遵守许可证条款(例如保留版权声明与许可声明)。

如何获取 MCMOT 的源码?

可以直接克隆仓库:git clone https://github.com/CaptainEven/MCMOT.git,默认分支为 master;安装与运行步骤见仓库 README。

MCMOT 最近还在维护吗?

仓库最近一次更新为 2022年2月9日,当前有 56 个未关闭 Issue;Star 数为 410,可作为社区活跃度的参考。

关于

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

描述取自 GitHub 官方 API,中文内容由 GitRead 中文社区 编辑团队整理。

简要分析

热度分
579
价值分
267
活跃状态
活跃

语言占比

Python
Shell

README

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.

评论

暂无评论