Giter Site home page Giter Site logo

hpc203 / bytetrack-opencv-onnxruntime Goto Github PK

View Code? Open in Web Editor NEW
179.0 3.0 38.0 2.74 MB

分别使用OpenCV、ONNXRuntime部署YOLOX+ByteTrack目标跟踪,包含C++和Python两个版本的程序

Python 45.61% CMake 0.52% C++ 52.23% C 1.64%
opencv-dnn onnxruntime object-tracking bytetrack yolox

bytetrack-opencv-onnxruntime's Introduction

bytetrack-opencv-onnxruntime

使用OpenCV部署YOLOX+ByteTrack目标跟踪,包含C++和Python两个版本的程序。

使用ONNXRuntime部署YOLOX+ByteTrack目标跟踪,包含C++和Python两个版本的程序。

由于.onnx文件超过25M,无法直接上传。.onnx文件和测试文件sample.mp4 在百度云盘,链接: https://pan.baidu.com/s/1dYz_Ru5EgFg_DZhdDHH-Sg 密码: iwtm

安装eigen库和编译C++程序的指令,详情请看文件夹里的readme

运行python程序之前,需要先安装依赖库。如果在安装cython_bbox失败, 请参见文章 https://www.jianshu.com/p/51f7f7f8b262

bytetrack-opencv-onnxruntime's People

Contributors

hpc203 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

bytetrack-opencv-onnxruntime's Issues

Tracking Outputs vs Detection Outputs

While using ByteTrack as a tracker, the visualized bounding boxes sometimes do not precisely match the detection results. Are there any methods to assign tracking IDs to detections without altering the bounding box coordinates? I am asking this question because the tracking bounding boxes are sometimes too wide for my specific case.

[Onnx 读取错误]

您好! 使用您的代码和提供的onnx文件会提示读取错误: 主要是slice问题,该怎么解决呢?
Node [Slice]:(467) parse error: OpenCV(4.5.1)

atlbrs.push_back(atracks[i]->tlbr);这个值应该是kalman predict后,更新后的值了吧?

您好,首先感谢你的分享。
utils.cpp文件的BYTETracker::iou_distance()函数中。
在IOU匹配之前,要取轨迹预测的位置用来和当前detection进行匹配。
但是我看了一下代码流程,
atlbrs.push_back(atracks[i]->tlbr);
atracks[i]->tlbr的值不是predict之后的值吧?我看了下,好像没更新。
我想问下,这个地方我理解的是不是有问题。

怎么重置序号

我在c++的实际使用中想要重置一下序号,让它回到0重新开始计数,请问改怎么修改

Run in opencv-cpp.

Total frames: 1625, fps: 29
terminate called after throwing an instance of 'cv::Exception'
what(): OpenCV(4.2.0) /home/dk/opencv/modules/dnn/src/onnx/onnx_importer.cpp:101: error: (-211:One of the arguments' values is out of range) Input is out of OpenCV 32S range in function 'convertInt64ToInt32'

I have encountered the above problems and hope to get your help.

多类别

多类别的请问有相应的工程嘛

some problems about high_thresh

the code in bytetrack-opencv-onnxruntime/onnxruntime/cpp/src/BYTETracker.cpp script
if (track->score < this->high_thresh)
continue;
low score dets in the first frame will not use. is it right?
if so, is it necessary to Add a restriction, such as track->frame_id
Maybe I misunderstood it. Hope your reply.
have a nice day.

读取onnx模型报错

[ERROR:0] global /home/opencv/modules/dnn/src/onnx/onnx_importer.cpp (1788) handleNode DNN/ONNX: ERROR during processing node with 5 inputs and 1 outputs: [Slice]:(467)
terminate called after throwing an instance of 'cv::Exception'
what(): OpenCV(4.5.0) /home/opencv/modules/dnn/src/onnx/onnx_importer.cpp:1797: error: (-2:Unspecified error) in function 'handleNode'

Node [Slice]:(467) parse error: OpenCV(4.5.0) /home/opencv/modules/dnn/src/onnx/onnx_importer.cpp:697: error: (-2:Unspecified error) in function 'void cv::dnn::dnn4_v20200908::ONNXImporter::handleNode(const opencv_onnx::NodeProto&)'

Slice layer only supports steps = 1 (expected: 'countNonZero(step_blob != 1) == 0'), where
'countNonZero(step_blob != 1)' is 1
must be equal to
'0' is 0

Hello, I have encountered the above problems and hope to get your help. Thanks!

关于C++下使用opencv部署模型出现的问题

非常出色的bytetrack的cpu部署版本。感谢您的分享。已经在C++下成功使用ONNXRuntime部署ByteTrack。
但是关于opencv的部署在模型载入,即readnet时出现了问题
opencv版本为4.5,出现bug如下

Total frames: 1625, fps: 29
start load model
[ERROR:0] global /home/chiye/software/opencv-4.5.0/modules/dnn/src/onnx/onnx_importer.cpp (1786) handleNode DNN/ONNX: ERROR during processing node with 5 inputs and 1 outputs: [Slice]:(467)
terminate called after throwing an instance of 'cv::Exception'
  what():  OpenCV(4.5.0) /home/chiye/software/opencv-4.5.0/modules/dnn/src/onnx/onnx_importer.cpp:1797: error: (-2:Unspecified error) in function 'handleNode'
> Node [Slice]:(467) parse error: OpenCV(4.5.0) /home/chiye/software/opencv-4.5.0/modules/dnn/src/onnx/onnx_importer.cpp:697: error: (-2:Unspecified error) in function 'void cv::dnn::dnn4_v20200908::ONNXImporter::handleNode(const opencv_onnx::NodeProto&)'
> > Slice layer only supports steps = 1 (expected: 'countNonZero(step_blob != 1) == 0'), where
> >     'countNonZero(step_blob != 1)' is 1
> > must be equal to
> >     '0' is 0
> 
Aborted (core dumped)

请问这是哪里出现了问题?期待您的早日回复

关于yolox的构造函数

up主你好,我看到你代码里有几行不是特别明白,yolox::yolox()
string model_path = "/home/ByteTrack/byte_tracker/model/bytetrack_s.onnx";
为啥YOLOx的构造函数里面读取的是bytetrack_s.onnx的模型?其实我可以理解为是对跟踪模型的读取,请问放在这里面有特别的含义么?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.