【YOLO11】【DeepSort】【NCNN】使用YOLOv11和DeepSort进行行人目标跟踪。(基于ncnn框架,c++实现)

yolov11_deepsort_ncnn

使用YOLOv11和DeepSort进行行人目标跟踪。(基于ncnn框架,c++实现)

Github仓库:https://github.com/zhahoi/yolov11_deepsort_ncnn

写在前面

当前大部分Tracking相关的项目都是基于TensorRT部署的,使用NCNN框架部署的Tracking很少很少,但是对我来说,我更喜欢NCNN框架,因为平台和环境依赖性没那么高,因此想尝试自己用NCNN框架实现一版跟踪项目。

使用的目标检测为YOLOv11的nano版本,而DeepSort算法大部分是参考自yolov5_deepsort_ncnn_qt项目,不过自己对其进行了部分修改,使其更符合本项目的实现。模型的训练权重是官方提供的预训练权重,自己尝试从pt转到ncnn平台,因为有一些参考教程所以没那么复杂。

老实说Deepsort算法的id跟踪极大程度上依赖于提取的外观特征,我觉得这个算法其实不是很鲁棒,因为如果被跟踪的物体(人)动作幅度过大地话(从站立->摔倒->站立),这个跟踪id就可以切换好几次。另外Deepsort算法需要调整的参数很多,要想获得一个更好的效果,需要进行多次调整才行。本项目对于该部分没有做那么多的关注,只专注于最基本的实现。

本仓库的测试平台为Visual Studio2019,因为电脑内存的原因,暂时没办法在Ubuntu上尝试部署。如果你是想在嵌入式端部署的话,需要自己做一些额外的工作。

环境配置

  • Visual Studio 2019
  • ncnn-20250503-full-source
  • opencv-3.4.10
  • eigen3

注:并不需要和本仓库代码的配置环境保持一致,可以根据Visual Studio的版本,下载对应的ncnn和opencv-mobile的版本即可。

推理设置

(1)先在Visual Studio新建一个空白工程,将本仓库代码放到该工程中。把本项目中的.h.cpp文件分别导入到头文件源文件中。操作结果如下:

(2)在工程中载入推理需要依赖的库。



附加依赖项添加的库如下:

shell 复制代码
opencv_world3410.lib
ncnn.lib
glslang.lib

(3)选择开始执行,应该在工程的Release 的目录下可以成功地生成.exe文件。将测试图像复制到Release下的路径。

(4)执行推理。

推理脚本如下:

sh 复制代码
$ YOLOv11-DeepSORT.exe video video_2.mp4   // 推理视频
$ YOLOv11-DeepSORT.exe video 0   // 调用摄像头推理

推理结果

CSDN不支持上传,可以进入该项目Github的主页查看。

写在后面

  1. 本项目有几个需要重点关注的头文件,分别为deepsort.hyolov11.htracker.h。需要配置权重的位置和一些和跟踪结果相关的参数。
  2. 从上面的GIF中可以很直观地看出,当检测目标摔倒之后,其id切换得很快,这是基于外观跟踪算法一个弊端吧。我个人觉得DeepSort算法适合那种简单的行人检测,如果被检测对象动作过于丰富的话,那结果一定是不好的。
  3. 本项目默认开启了GPU加速,如果没有GPU的话,对于少量检测对象的话,其推理速度影响不大,但是如果是很多检测对象的话,那推理速度可就慢了,因为DeepSort本身就不轻量。
  4. 如果有疑问的话,可以开issue提问。如果觉得这个项目还不错的话麻烦给一个star或者fork,可以让我开心一整天。
  5. 某些把我开源的代码拿去打包出售的人能不能去死一死,做个人好嘛。

Reference

相关推荐
岛屿旅人3 分钟前
欧盟《人工智能法案》生效一年主要实施进展概览(一)
网络·人工智能·安全·web安全·网络安全
codebetter4 分钟前
Value error, The repository contains custom code which must be executed to...
人工智能·开源
拓端研究室12 分钟前
专题:2025旅游业AI革命与全球化发展洞察报告|附60+份报告PDF、原数据表汇总下载
人工智能
fanstuck14 分钟前
2014-2024高教社杯全国大学生数学建模竞赛赛题汇总预览分析
大数据·人工智能·数学建模·数据挖掘·数据分析
Sugar_pp18 分钟前
【目标检测】论文阅读3
论文阅读·人工智能·目标检测
Sugar_pp20 分钟前
【目标检测】论文阅读4
论文阅读·人工智能·目标检测
勤劳的进取家22 分钟前
论文阅读:Gorilla: Large Language Model Connected with Massive APIs
论文阅读·人工智能·语言模型·自然语言处理·prompt
AKAMAI24 分钟前
了解视频处理单元(VPU)、图形处理器(GPU)与中央处理器(CPU)
人工智能·云计算
Y2003091632 分钟前
支持向量机核心知识总结
算法·机器学习·支持向量机
沃丰科技42 分钟前
沃丰科技出海客服系统对接沃尔玛全球电商平台,赋能中企出海
人工智能