littlebot
Published on 2025-03-30 / 0 Visits
0

【源码】基于PyTorch和YOLOv9的跨相机多目标车辆追踪系统

项目简介

本项目是为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】