使用ultralytics model.predict on video (YOLO)

问题描述 投票:0回答:1

我想预测视频的每 30 秒,如何调整 vid_stride 来实现这一点? 我的视频 fps 是 25,总帧数是 7478 帧(大约 5 分钟的视频) 当我将 750 作为 vid_stride 的值时,我只得到了不到第二个大约 9 帧的视频

from ultralytics import YOLO

model_path = "/content/best.pt"
model = YOLO(model_path)

for r in model.predict(source="/content/myvideo.mp4", save=True, stream=True,vid_stride=1):
    pass
predict yolov8 ultralytics
1个回答
0
投票

frames to skip = video fps × interval in seconds

因此,对于 25 fps 的 30 秒间隔:

frames to skip =25×30=750

您已将 vid_stride 正确设置为 750,但由于您只获得了 9 帧,这可能是因为您的视频有 7478 帧,而 750 的步幅导致它超出了总帧数。

我会将其设置为总帧数并进行测试。

from ultralytics import YOLO

model_path = "/content/best.pt"
model = YOLO(model_path)

for r in model.predict(source="/content/myvideo.mp4", save=True, stream=True, vid_stride=7478):
    pass
© www.soinside.com 2019 - 2024. All rights reserved.