Are you sure you want to delete this task? Once this task is deleted, it cannot be recovered.
Feng Ni 54a5f0925f | 1 year ago | |
---|---|---|
.. | ||
bytetrack | 1 year ago | |
deepsort | 1 year ago | |
fairmot | 1 year ago | |
headtracking21 | 1 year ago | |
jde | 1 year ago | |
mcfairmot | 1 year ago | |
mtmct | 2 years ago | |
ocsort | 1 year ago | |
pedestrian | 2 years ago | |
vehicle | 2 years ago | |
DataDownload.md | 1 year ago | |
README.md | 1 year ago | |
README_en.md | 1 year ago |
简体中文 | English
多目标跟踪(Multi-Object Tracking, MOT)是对给定视频或图片序列,定位出多个感兴趣的目标,并在连续帧之间维持个体的ID信息和记录其轨迹。
当前主流的做法是Tracking By Detecting方式,算法主要由两部分组成:Detection + Embedding。Detection部分即针对视频,检测出每一帧中的潜在目标。Embedding部分则将检出的目标分配和更新到已有的对应轨迹上(即ReID重识别任务),进行物体间的长时序关联。根据这两部分实现的不同,又可以划分为SDE系列和JDE系列算法。
PaddleDetection中提供了SDE和JDE两个系列的多种算法实现:
注意:
PaddleDetection团队提供了实时多目标跟踪系统PP-Tracking,是基于PaddlePaddle深度学习框架的业界首个开源的实时多目标跟踪系统,具有模型丰富、应用广泛和部署高效三大优势。
PP-Tracking支持单镜头跟踪(MOT)和跨镜头跟踪(MTMCT)两种模式,针对实际业务的难点和痛点,提供了行人跟踪、车辆跟踪、多类别跟踪、小目标跟踪、流量统计以及跨镜头跟踪等各种多目标跟踪功能和应用,部署方式支持API调用和GUI可视化界面,部署语言支持Python和C++,部署平台环境支持Linux、NVIDIA Jetson等。
PP-Tracking单镜头跟踪采用的方案是FairMOT,跨镜头跟踪采用的方案是DeepSORT。
教程请参考PP-Tracking之手把手玩转多目标跟踪。
教程请参考PP-Tracking Python部署文档。
教程请参考PP-Tracking C++部署文档。
教程请参考PP-Tracking可视化界面使用文档。
PaddleDetection团队提供了实时行人分析工具PP-Human,是基于PaddlePaddle深度学习框架的业界首个开源的产业级实时行人分析工具,具有模型丰富、应用广泛和部署高效三大优势。
PP-Human支持图片/单镜头视频/多镜头视频多种输入方式,功能覆盖多目标跟踪、属性识别、行为分析及人流量计数与轨迹记录。能够广泛应用于智慧交通、智慧社区、工业巡检等领域。支持服务器端部署及TensorRT加速,T4服务器上可达到实时。
PP-Human跟踪采用的方案是ByteTrack。
PP-Human实时行人分析全流程实战教程链接。
PP-Human赋能社区智能精细化管理教程链接。
一键安装MOT相关的依赖:
pip install -r requirements.txt
# 或手动pip安装MOT相关的库
pip install lap motmetrics sklearn filterpy
注意:
apt-get update && apt-get install -y ffmpeg
。关于模型选型,PaddleDetection团队提供的总结建议如下:
MOT方式 | 经典算法 | 算法流程 | 数据集要求 | 其他特点 |
---|---|---|---|---|
SDE系列 | DeepSORT,ByteTrack | 分离式,两个独立模型权重先检测后ReID,也可不加ReID | 检测和ReID数据相对独立,不加ReID时即纯检测数据集 | 检测和ReID可分别调优,鲁棒性较高,AI竞赛常用 |
JDE系列 | FairMOT | 联合式,一个模型权重端到端同时检测和ReID | 必须同时具有检测和ReID标注 | 检测和ReID联合训练,不易调优,泛化性不强 |
注意:
不使用ReID的SDE系列 < JDE系列 < 使用ReID的SDE系列
;PaddleDetection团队提供了众多公开数据集或整理后数据集的下载链接,参考数据集下载汇总,用户可以自行下载使用。
根据模型选型总结,MOT数据集可以分为两类:一类纯检测框标注的数据集,仅SDE系列可以使用;另一类是同时有检测和ReID标注的数据集,SDE系列和JDE系列都可以使用。
SDE数据集是纯检测标注的数据集,用户自定义数据集可以参照DET数据准备文档准备。
以MOT17数据集为例,下载并解压放在PaddleDetection/dataset/mot
目录下:
wget https://bj.bcebos.com/v1/paddledet/data/mot/MOT17.zip
并修改数据集部分的配置文件如下:
num_classes: 1
TrainDataset:
!COCODataSet
dataset_dir: dataset/mot/MOT17
anno_path: annotations/train_half.json
image_dir: images/train
data_fields: ['image', 'gt_bbox', 'gt_class', 'is_crowd']
EvalDataset:
!COCODataSet
dataset_dir: dataset/mot/MOT17
anno_path: annotations/val_half.json
image_dir: images/train
TestDataset:
!ImageFolder
dataset_dir: dataset/mot/MOT17
anno_path: annotations/val_half.json
数据集目录为:
dataset/mot
|——————MOT17
|——————annotations
|——————images
JDE数据集是同时有检测和ReID标注的数据集,首先按照以下命令image_lists.zip
并解压放在PaddleDetection/dataset/mot
目录下:
wget https://bj.bcebos.com/v1/paddledet/data/mot/image_lists.zip
然后按照以下命令可以快速下载各个公开数据集,也解压放在PaddleDetection/dataset/mot
目录下:
# MIX数据,同JDE,FairMOT论文使用的数据集
wget https://bj.bcebos.com/v1/paddledet/data/mot/MOT17.zip
wget https://bj.bcebos.com/v1/paddledet/data/mot/Caltech.zip
wget https://bj.bcebos.com/v1/paddledet/data/mot/CUHKSYSU.zip
wget https://bj.bcebos.com/v1/paddledet/data/mot/PRW.zip
wget https://bj.bcebos.com/v1/paddledet/data/mot/Cityscapes.zip
wget https://bj.bcebos.com/v1/paddledet/data/mot/ETHZ.zip
wget https://bj.bcebos.com/v1/paddledet/data/mot/MOT16.zip
数据集目录为:
dataset/mot
|——————image_lists
|——————caltech.all
|——————citypersons.train
|——————cuhksysu.train
|——————eth.train
|——————mot16.train
|——————mot17.train
|——————prw.train
|——————Caltech
|——————Cityscapes
|——————CUHKSYSU
|——————ETHZ
|——————MOT16
|——————MOT17
|——————PRW
这几个相关数据集都遵循以下结构:
MOT17
|——————images
| └——————train
| └——————test
└——————labels_with_ids
└——————train
所有数据集的标注是以统一数据格式提供的。各个数据集中每张图片都有相应的标注文本。给定一个图像路径,可以通过将字符串images
替换为labels_with_ids
并将.jpg
替换为.txt
来生成标注文本路径。在标注文本中,每行都描述一个边界框,格式如下:
[class] [identity] [x_center] [y_center] [width] [height]
class
为类别id,支持单类别和多类别,从0
开始计,单类别即为0
。identity
是从1
到num_identities
的整数(num_identities
是数据集中所有视频或图片序列的不同物体实例的总数),如果此框没有identity
标注,则为-1
。[x_center] [y_center] [width] [height]
是中心点坐标和宽高,注意他们的值是由图片的宽度/高度标准化的,因此它们是从0到1的浮点数。注意:
用户自定义数据集准备请参考MOT数据集准备教程去准备。
@inproceedings{Wojke2017simple,
title={Simple Online and Realtime Tracking with a Deep Association Metric},
author={Wojke, Nicolai and Bewley, Alex and Paulus, Dietrich},
booktitle={2017 IEEE International Conference on Image Processing (ICIP)},
year={2017},
pages={3645--3649},
organization={IEEE},
doi={10.1109/ICIP.2017.8296962}
}
@inproceedings{Wojke2018deep,
title={Deep Cosine Metric Learning for Person Re-identification},
author={Wojke, Nicolai and Bewley, Alex},
booktitle={2018 IEEE Winter Conference on Applications of Computer Vision (WACV)},
year={2018},
pages={748--756},
organization={IEEE},
doi={10.1109/WACV.2018.00087}
}
@article{wang2019towards,
title={Towards Real-Time Multi-Object Tracking},
author={Wang, Zhongdao and Zheng, Liang and Liu, Yixuan and Wang, Shengjin},
journal={arXiv preprint arXiv:1909.12605},
year={2019}
}
@article{zhang2020fair,
title={FairMOT: On the Fairness of Detection and Re-Identification in Multiple Object Tracking},
author={Zhang, Yifu and Wang, Chunyu and Wang, Xinggang and Zeng, Wenjun and Liu, Wenyu},
journal={arXiv preprint arXiv:2004.01888},
year={2020}
}
PaddleDetection是一个基于PaddlePaddle的目标检测端到端开发套件,在提供丰富的模型组件和测试基准的同时,注重端到端的产业落地应用,通过打造产业级特色模型|工具、建设产业应用范例等手段,帮助开发者实现数据准备、模型选型、模型训练、模型部署的全流程打通,快速进行落地应用。
Python Markdown C++ Text Shell other
Dear OpenI User
Thank you for your continuous support to the Openl Qizhi Community AI Collaboration Platform. In order to protect your usage rights and ensure network security, we updated the Openl Qizhi Community AI Collaboration Platform Usage Agreement in January 2024. The updated agreement specifies that users are prohibited from using intranet penetration tools. After you click "Agree and continue", you can continue to use our services. Thank you for your cooperation and understanding.
For more agreement content, please refer to the《Openl Qizhi Community AI Collaboration Platform Usage Agreement》