自定义对象跟踪教程

在视频或摄像头流中跟踪对象是一项重要的技术,它可以帮助统计视频中不同对象的数量。本教程将详细介绍如何结合目标检测模型来实现自定义对象的跟踪。如果对对象跟踪的概念感兴趣,可以查看之前的文章《什么是对象跟踪?》。这里提供一个的链接,建议在阅读本文时同时打开。

在本教程中,将不再需要单独的特征提取模型来提取对象特征进行相似性比较。通过本教程,只需要带上目标检测模型,将使用通用模型来提取特征——更多细节,请查看关于零样本对象跟踪的文章。

要跟踪自定义对象,首先需要训练一个目标检测模型。目前,对象跟踪仓库支持两种选项——训练自定义的YOLOv5目标检测模型或使用Roboflow的一键训练解决方案。一旦用这两种选项中的任何一种训练了模型,就可以进入对象跟踪Colab笔记本了。注意:请保存一份副本到Drive中!

首先,将克隆零样本对象跟踪仓库。在仓库中,可以看到以下可供测试的视频:cars.mp4fish.mp4。可以通过点击文件夹图标然后上传图标将自己的视频导入Colab进行测试。在本教程中,将在cars上运行通用的COCO模型。

可以使用以下命令在Colab中查看这个视频(需要手动接受Google身份验证):!pip install -U korafrom kora.drive import upload_public,然后使用url = upload_public('data/video/cars.mp4')上传视频,最后使用from IPython.display import HTMLHTML(f"""""")来显示视频。

然后将克隆CLIP作为通用零样本对象特征提取器:!git clone https://github.com/openai/CLIP.git CLIP-repo!cp -r ./CLIP-repo/clip ./clip。安装一些依赖项:!pip install --upgrade pip!pip install -r requirements.txt!pip install ftfy。有了这些,就准备好处理目标检测模型轨迹了。将clip_object_tracker.py指向选择的视频,并决定想要使用哪个检测引擎。

使用YOLOV5时,对于自己的模型,请指定--weights参数:!python clip_object_tracker.py --source ./data/video/cars.mp4 --detection-engine yolov5。使用Roboflow Inference API时,对于自己的模型,请指定模型URL:!python clip_object_tracker.py --source data/video/cards.mp4 --url https://detect.roboflow.com/playing-cards-ow27d/1 --api_key ROBOFLOW_API_KEY。脚本将顺序处理帧,进行检测和对象跟踪预测。

脚本运行完成后,它将保存到runs/detect/exp[num]文件夹中。可以像这样下载这些视频以在主机设备上进行视觉评估:from google.colab import filesfiles.download("./runs/detect/exp/cars.mp4")。这是在处理后的汽车对象跟踪视频的视图。

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485