码力全开 / YOLO物体跟踪

Created Sat, 06 Sep 2025 09:35:32 +0800 Modified Sat, 06 Sep 2025 09:53:58 +0800
460 Words 1 min

在这里将简单介绍如何在YOLO中对物体进行跟踪,实际上在YOLO官方的库中提供了相关的track函数。而默认支持两种算法:

  • BoT-SORT
  • ByteTrack

关于相关的调用方法可以参考原文

这里主要介绍ONNX格式的物体跟踪,使用的是ByteTrack。源码参考bytetrack-opencv-onnxruntime

到百度网盘中下载相关的模型文件后,就可以开始进行调用了。难点在于如果使用python的话,在Windows下安装cython_bbox包会出现安装不上的问题。

此时有两种方法来解决,其中第1种方法是将源码下载修改,这里修改是0.1.3版本,将setup.py中代码进行如下的修改:

if os.name == 'nt':
    compile_args = {'gcc': ['/Qstd=c99']}
else:
    compile_args = ['-Wno-cpp']

或者采用cython_bbox中的代码。

另外更为简单的方法是直接安装cython_bbox_windows包或者使用w64devkit进行编译安装。

当然ByteTrack还是会出现物体跟丢的问题,同一个人还是分配给其不同的ID。比如视频sample.mp4中36号的靓女经过石像就变成了90。而对于静止的物体其ID还是保持不变的。

如果喜欢这篇文章或对您有帮助,可以:[☕] 请我喝杯咖啡 | [💓] 小额赞助