## 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的倍数时进行模型的目标检测,其他时候使用预测的目标框。