8518b3f652 | ||
---|---|---|
.. | ||
images | ||
x64 | ||
yoloTest | ||
README.md | ||
yoloTest.sln |
README.md
Yolov5s+ByteTrack
ByteTrack提出于2022ECCV,是目前最主流的跟踪器之一,主要特点包括:
- 当目标逐渐被遮挡时,跟踪目标与低置信度检测目标匹配。
- 当目标遮挡逐渐重现时,跟踪目标与高置信度检测目标匹配。
同时ByteTrack消耗的计算资源较少,很适合用于嵌入式设备中,经过调研是机器人进行检测加速的最适合的跟踪算法。
代码运行环境:
开发环境 | Visual Studio 2022 |
---|---|
OpenCV | opencv-4.8.0-windows |
调用模型 | YOLOv5s 6.0 |
TensorRT | TensorRT-8.5.1.7 |
Eigen | eigen-3.4.0 |
ByteTrack的代码配置更加复杂,尤其注意TensorRT的配置和cuda的配置,详细配置过程可以参考这个博客:Win10+TensorRT 8.5安装+VS2022配置_tensorrt-8.5.2.2-CSDN博客
除了上述环境之外,代码配置过程中会出现dirent.h文件不存在的错误,这是因为windows库中没有这个文件,linux中存在,只需将项目中这个文件添加到项目中即可,同理,linux环境下可以将这个文件删除。
主要代码设置:
main.py中
string img_path = "D:/VS/yoloTest/images/detect.mp4";
string model_path = "D:/VS/yoloTest/models/yolov5s.onnx";
使用到的模型以及检测视频的路径。
int detect_interval = 3;
模型的调用频率设置,设置为3表示帧率为3的倍数时进行模型的目标检测,其他时候使用预测的目标框。