我正在开发一个项目,需要检测视频中的人物并将仅包含人物的帧保存为图像。经过一番研究,我发现了 YOLO,一种流行的目标检测模块,可以用于此目的。但是,我不确定实现这一目标的确切步骤。谁能指导如何完成这项任务?
我有一个视频文件,我想使用 YOLO 检测每一帧中的人物。一旦检测到人类,我想将该特定帧保存为图像。我相信 YOLO 是适合此任务的算法,但我不确定实现细节。
任何代码示例或对相关库或教程的引用将不胜感激。预先感谢您的协助!
使用 Ultralytics YOLOv8 加载在 COCO 数据集上预训练的 yolov8 模型。这里的 person 类的索引为 0。选择更适合您项目的计算能力的 model。迭代视频帧并对它们运行推理:
results = model.predict(source=frame, classes=0, save=True)
使用更多的推理论证来调整这个过程。可以在完整视频文件上运行推理,而无需手动迭代帧(本例中的
source
将是视频文件),但这里有一些处理 stream=True
或 stream=False
参数的更多逻辑。您可以在文档中找到更多信息。