项目简介
本项目是为AICUP举办的跨相机多目标车辆追踪竞赛开发的解决方案。基于PyTorch深度学习框架和YOLOv9目标检测模型,实现了从环境搭建、模型训练到目标追踪的全流程操作,适用于智能交通系统、自动驾驶等领域。
项目的主要特性和功能
- 跨相机追踪:支持在多个相机视角下对车辆进行连续且准确的追踪,实现跨相机的无缝跟踪。
- 模型训练:提供YOLOv9模型的训练脚本,支持自定义数据集的训练,用户可按需调整训练参数。
- 实时检测:通过YOLOv9模型实现对车辆的实时检测和追踪。
- 结果输出:支持将追踪结果输出为文本文件,便于后续分析和评估。
安装使用步骤
1. 环境准备
确保已安装Python 3.10.14及以上版本、PyTorch 2.1.0及以上版本,然后通过以下命令安装项目所需的依赖包:
bash
pip install -r requirements.txt
2. 数据准备
准备符合YOLOv9模型要求的数据集,保证数据集格式正确。
3. 下载模型权重
下载TAPNET的预训练权重,并将其放入checkpoints
目录中:
bash
wget https://storage.googleapis.com/dm-tapnet/bootstap/bootstapir_checkpoint_v2.pt -O checkpoints/bootstapir_checkpoint_v2.pt
4. 模型训练
使用以下命令启动YOLOv9模型的训练:
bash
python train_dual.py --workers 8 --device 1 --batch 2 --data data/AICUP.yaml --img 1280 --cfg models/detect/yolov9-e.yaml --weights 'checkpoints/bootstapir_checkpoint_v2.pt' --name yolov9-e --hyp hyp.scratch-high.yaml --min-items 0 --epochs 10 --close-mosaic 15
5. 目标追踪
单数据夹追踪
使用以下命令对单个数据夹进行目标追踪:
bash
python mc_demo_yolov9.py --weights "checkpoints/yolov9-e_final.pt" --source "data/test_folder" --device "0,1" --name "output_folder" --fuse-score --agnostic-nms
竞赛结果输出
使用以下命令输出竞赛结果:
bash
bash track_all_timestamps_v9.sh --weights "checkpoints/yolov9-e_final.pt" --source-dir "data/test_folder" --device "0"
追踪结果将输出到指定的文件夹中,文件名为output_folder.txt
。
参考
项目文档、YOLOv9官方文档以及相关论文可提供参考,使用本系统时,建议仔细阅读相关文档和论文,以充分了解系统的使用方法和原理。
下载地址
点击下载 【提取码: 4003】