上文中详细介绍了如何对视频进行抽帧,并对帧的图像进行目标识别。但在日常工作中,我们也会遇到需要对目标进行跟踪统计的情况,比如我们需要连续统计某一类目标有多少个的时候,如果单纯从帧中抽取图像的话,系统将无法判断是否为同一目标,从而造成目标数量统计的重复,导致结果不准确或者远远脱离正常水平。这就需要我们掌握对目标做动态跟踪的程序实现方法,从而更为准确的统计目标数量。但是由于目标跟踪需要耗费较大的计算资源,我们需要使用本地的GPU资源才能得到不错的速度,否则其速度将根本无法达到我们日常工作使用的需求,对使用的成本和运行的硬件有明显的要求。
1、目标跟踪基本代码框架的搭建
首先我们参考YOLO V8官方网站中目标跟踪的介绍链接https://docs.ultralytics.com/modes/track/#available-trackers,搭建适用于自定义数据集的基础代码框架。
如上图所示,上图为YOLO V8官网的目标跟踪Tracking方法的简要介绍和示例代码,我们可以参考其代码,编写我们自己的代码框架,如下所示:
# -*- coding: utf-8 -*-
from ultralytics import YOLO
video_path =