README.md

    DeepSORT

    MOT(Multi-object tracking) using yolov5 with C++ support deepsort and bytetrack

    flyfish

    前言

    代码采用C++实现,目标检测支持YOLOv5 6.2,跟踪支持deepsort and bytetrack。 检测模型可以直接从YOLOv5官网,导出onnx使用 特征提取可以自己训练,导出onnx使用,onnxruntime cpu 推理,方便使用. 特征支持自定义维度例如 128,256,512等

    本文源码地址

    https://github.com/shaoshengsong/DeepSORT

    deepsort v1.12

    新增bytetrack跟踪

    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文件夹

    deepsort v1.0

    MOT using deepsort yolo3 with C++

    操作系统:Ubuntu 18.04 编译环境:Qt 5.12.2 深度学习的模型分两块,一个是目标检测,另一个是目标跟踪

    目标检测的模型

    地址:https://pjreddie.com/darknet/yolo/

    目标跟踪模型

    mars-small128 OpenCV DNN加载YOLO模型,不依赖Darknet库,cuda,cudnn 依赖Tensorflow,目标跟踪的特征部分使用TensorFlow C++的api。

    OpenCV的安装可以参考

    地址: https://blog.csdn.net/flyfish1986/article/details/89157368

    Tensorflow的安装可以参考

    地址:https://blog.csdn.net/flyfish1986/article/details/89406211

    多目标跟踪论文 Deep SORT 解读
    多目标跟踪论文 Deep SORT 实现
    多目标跟踪论文 Deep SORT 数据集说明 多目标跟踪论文 Deep SORT 特征提取CNN Architecture
    多目标跟踪论文 Deep SORT 特征训练PyTorch实现
    多目标跟踪论文 Deep SORT 特征训练TensorFlow实现
    多目标跟踪论文 Deep SORT 评测指标
    匈牙利算法
    卡尔曼滤波 - 方程组转换为矩阵形式
    卡尔曼滤波 - 一个方程背后的样子
    卡尔曼滤波 - 匀变速直线运动
    卡尔曼滤波 - 冥冥之中自有定数的正态分布
    卡尔曼滤波 - 数据融合 data fusion
    卡尔曼滤波 - 当前均值与上一次均值的关系
    卡尔曼滤波 - 状态空间模型
    卡尔曼滤波 - 5个公式出现的顺序

    项目简介

    support deepsort and bytetrack MOT(Multi-object tracking) using yolov5 with C++

    🚀 Github 镜像仓库 🚀

    源项目地址

    https://github.com/shaoshengsong/deepsort

    发行版本

    当前项目没有发行版本

    贡献者 2

    S shaoshengsong @shaoshengsong
    S shaoshengsong @shaoshengsong

    开发语言

    • C++ 97.5 %
    • C 1.3 %
    • CMake 1.2 %