1. 项目概述:当YOLOv11遇上DeepSort
去年在商场做客流统计项目时,我试遍了各种目标检测方案,直到发现YOLOv11与DeepSort这对黄金组合。这个基于PyTorch框架的行人检测追踪系统,不仅实现了95%以上的实时检测准确率,还能在i5处理器上跑到30FPS。最让我惊喜的是,它完美解决了传统方案中ID跳变的问题——通过DeepSort的级联匹配算法,即使在人群密集场景下,追踪稳定性也能保持在90%以上。
这个项目包含三个核心模块:
- 检测引擎:采用最新发布的YOLOv11s(small版本),在COCO预训练权重基础上微调,模型体积仅23MB却能达到0.78的mAP
- 追踪模块:集成改进版DeepSort,使用马氏距离+余弦距离的双重度量方式,有效降低遮挡导致的ID切换
- 交互界面:基于PySide6开发的GUI,包含视频源切换、结果导出、参数调节等实用功能
实测发现:当检测框置信度阈值设为0.6、NMS阈值0.45时,系统在MOT17测试集上达到MOTA=0.72的性能,比原始YOLOv8+DeepSort组合提升15%
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 环境搭建与数据准备
2.1 开发环境配置
推荐使用Anaconda创建专属Python环境,避免依赖冲突。这是我验证过的环境配方:
bash复制conda create -n yolo11 python=3.8
conda activate yolo11
pip install torch==1.12.1+cu113 torchvision==0.13.1+cu113 --extra-index-url https://download.pytorch.org/whl/cu113
pip install -r requirements.txt # 项目提供的依赖文件
特别注意三个关键组件版本:
- CUDA 11.3:与PyTorch 1.12.1完美兼容
- OpenCV 4.5.4:需包含contrib模块以支持DeepSort特征提取
- PySide6 6.4.2:Qt库的Python绑定,比PyQt5有更好的LICENSE
2.2 数据集处理技巧
项目支持自定义数据集训练,目录结构应如下:
