BoxMOT 项目使用教程
1. 项目介绍
BoxMOT 是一个开源项目,提供了可插拔的最新(SOTA)跟踪模块,适用于分割、目标检测和姿态估计模型。该项目支持多种跟踪方法,包括基于外观描述和运动的方法。BoxMOT 提供了轻量级和重量级的 ReID 模型,用户可以根据需求自动下载。此外,BoxMOT 还提供了与流行的目标检测模型(如 YOLOv8、YOLOv9 和 YOLOv10)一起使用的示例。
2. 项目快速启动
2.1 安装
首先,确保你有一个 Python 3.9 或更高版本的环境。如果你想要运行 YOLOv8、YOLOv9 或 YOLOv10 的示例,可以按照以下步骤进行安装:
git clone https://github.com/mikel-brostrom/boxmot.git
cd boxmot
pip install poetry
poetry install --with yolo
poetry shell
如果你只想导入跟踪模块,可以简单地使用以下命令:
pip install boxmot
2.2 使用示例
2.2.1 跟踪 YOLO 模型
# 仅跟踪边界框
python tracking/track.py --yolo-model yolov10n
python tracking/track.py --yolo-model yolov9s
python tracking/track.py --yolo-model yolov8n
# 跟踪边界框和分割掩码
python tracking/track.py --yolo-model yolov8n-seg
# 跟踪边界框和姿态估计
python tracking/track.py --yolo-model yolov8n-pose
2.2.2 选择跟踪方法
python tracking/track.py --tracking-method deepocsort strongsort ocsort bytetrack botsort imprassoc
2.2.3 选择 ReID 模型
python tracking/track.py --source 0 --reid-model lmbn_n_cuhk03_d.pt
3. 应用案例和最佳实践
3.1 视频跟踪
BoxMOT 可以应用于大多数视频格式,包括本地视频文件、摄像头输入、YouTube 视频等。以下是一个示例:
python tracking/track.py --source vid.mp4 --yolo-model yolov8n --tracking-method deepocsort
3.2 自定义类别的跟踪
默认情况下,BoxMOT 会跟踪所有 MS COCO 类别。如果你只想跟踪特定类别,可以使用 --classes
参数:
python tracking/track.py --source 0 --yolo-model yolov8s.pt --classes 16 17 # 仅跟踪猫和狗
4. 典型生态项目
BoxMOT 作为一个多目标跟踪工具,可以与其他开源项目结合使用,以实现更复杂的功能。以下是一些典型的生态项目:
- YOLOv8: 一个流行的目标检测模型,BoxMOT 提供了与 YOLOv8 集成的示例。
- Torchvision: 提供了丰富的计算机视觉工具,BoxMOT 可以与 Torchvision 结合使用,实现更复杂的跟踪任务。
- TensorRT: 用于加速深度学习推理的工具,BoxMOT 支持将 ReID 模型导出为 TensorRT 格式,以提高推理速度。
通过结合这些生态项目,BoxMOT 可以应用于各种复杂的计算机视觉任务,如实时视频分析、自动驾驶、安防监控等。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考