40 lines
1.6 KiB
Markdown
40 lines
1.6 KiB
Markdown
## Yolov5s+ByteTrack
|
||
|
||
ByteTrack提出于2022ECCV,是目前最主流的跟踪器之一,主要特点包括:
|
||
|
||
1. 当目标逐渐被遮挡时,跟踪目标与低置信度检测目标匹配。
|
||
2. 当目标遮挡逐渐重现时,跟踪目标与高置信度检测目标匹配。
|
||
|
||
同时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博客](https://blog.csdn.net/gulingfengze/article/details/108425949)
|
||
|
||
除了上述环境之外,代码配置过程中会出现dirent.h文件不存在的错误,这是因为windows库中没有这个文件,linux中存在,只需将项目中这个文件添加到项目中即可,同理,linux环境下可以将这个文件删除。
|
||
|
||
![img1](./images/img1.png)
|
||
|
||
#### 主要代码设置:
|
||
|
||
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的倍数时进行模型的目标检测,其他时候使用预测的目标框。
|
||
|