多目标跟踪 C++ 实现支持deepsort 和 bytetrack
Posted 西西弗Sisyphus
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了多目标跟踪 C++ 实现支持deepsort 和 bytetrack相关的知识,希望对你有一定的参考价值。
多目标跟踪 C++ 实现支持deepsort 和 bytetrack
flyfish
文章目录
前言
代码采用C++实现,目标检测支持YOLOv5 6.x,跟踪支持deepsort 和 bytetrack。
检测模型可以直接从YOLOv5官网,导出onnx使用
特征提取可以自己训练,导出onnx使用,onnxruntime cpu 推理,方便使用.
特征支持自定义维度例如 128,256,512等
本文源码地址
https://github.com/shaoshengsong/DeepSORT
deepsort v1.2
新增bytetrack跟踪
1 使用方法
主函数中
//test_deepsort(frame, results,mytracker);
test_bytetrack(frame, results,bytetracker);
可以进行各种跟踪模块测试
bytetrack论文
http://arxiv.org/abs/2110.06864
bytetrack代码
https://github.com/ifzhang/ByteTrack
deepsort v1.1
deepsort原论文地址
https://arxiv.org/pdf/1703.07402.pdf
MOT using deepsort yolo5 with C++
操作系统:Ubuntu 18.04
版本更新说明
去除了TensorFlow依赖
为了不依赖硬件GPU,无需cuda,cudnn,更容易编译,使用PC版本。
为了更方便编译,采用CMakeList.txt。
依赖的库
opencv,可以下载opencv-4.6编译安装
Eigen3安装
sudo apt-get install libeigen3-dev
onnxruntime,可以直接解压使用,无需编译
目标检测模型下载地址
https://github.com/ultralytics/yolov5
网盘中有已经导出完成的模型
文件下载
百度网盘
链接:https://pan.baidu.com/s/1igjNK2ty-H5AU_Ut08pkoA
提取码:0000
内容包括
cmake-3.21.4-linux-x86_64.tar.gz
onnxruntime-linux-x64-1.12.1.tgz
coco_80_labels_list.txt
opencv-4.6.0.zip
DeepSORT
yolov5s.onnx
feature.onnx
yolov5x.onnx
使用方法
1 onnxruntime
设置自己的onnxruntime的解压目录
set(ONNXRUNTIME_DIR "/home/a/lib/onnxruntime-linux-x64-1.12.1")
2 模型配置
以下三项根据自己的需要更改
文件tracker/deepsort/include/dataType.h
const int k_feature_dim=512;//feature dim
const std::string k_feature_model_path ="./feature.onnx";
const std::string k_detect_model_path ="./yolov5s.onnx";
3 主函数
选择打开视频文件或者视频流等
cv::VideoCapture capture("./1.mp4");
扩展方式
1 整体分为两部分,新增检测模块放置detector文件夹,新增跟踪模块放置tracker文件夹
多目标跟踪论文 Deep SORT 解读
多目标跟踪论文 Deep SORT 实现
多目标跟踪论文 Deep SORT 数据集说明
多目标跟踪论文 Deep SORT 特征提取CNN Architecture
多目标跟踪论文 Deep SORT 特征训练PyTorch实现
多目标跟踪论文 Deep SORT 特征训练TensorFlow实现
多目标跟踪论文 Deep SORT 评测指标
匈牙利算法
卡尔曼滤波 - 方程组转换为矩阵形式
卡尔曼滤波 - 一个方程背后的样子
卡尔曼滤波 - 匀变速直线运动
卡尔曼滤波 - 冥冥之中自有定数的正态分布
卡尔曼滤波 - 数据融合 data fusion
卡尔曼滤波 - 当前均值与上一次均值的关系
卡尔曼滤波 - 状态空间模型
卡尔曼滤波 - 5个公式出现的顺序
以上是关于多目标跟踪 C++ 实现支持deepsort 和 bytetrack的主要内容,如果未能解决你的问题,请参考以下文章
#私藏项目实操分享#原理讲解-项目实战 <-; 多目标跟踪算法之DeepSORT