gpt4 book ai didi

machine-learning - 如何从实时视频流中提取一组固定帧用于 PyTorch 中的机器学习预测?

转载 作者:行者123 更新时间:2023-12-04 23:18:24 24 4
gpt4 key购买 nike

我最近创建了一个 Video Swin Transformer采用 ([batch_size], 3, 32, 224, 224) [batch_size, channel, temporal_dim, height, width] 张量用于视频并输出 logits 的模型。目标是让模型预测来自摄像机的实时流。有什么方法可以重复捕获 32 帧的固定序列并让模型在实时流上进行预测。如果预测时间超过 32 帧,我可以将帧延长到更长的时间段(例如一分钟)吗?谢谢。

最佳答案

你可以尝试使用我的库ffmpegio ,适合您的需要:
安装:

pip install ffmpegio
从您的输入网址中获取 32 帧的 block
import ffmpegio

url = 'input stream url'
temporal_dim = 32
height = 224
width = 224
size = [width,height]
pix_fmt = 'rgb24'

with ffmpegio.open(url,'rv',blocksize=temporal_dim,s=size,pix_fmt=pix_fmt) as stream:

for frames in stream: # frames in [time,height,width,ch] ndarray
vswim_in = frames.transpose(3,0,1,2) # reorg for your library
您可以根据需要指定任何其他 ffmpeg 选项(如缩放/裁剪过滤器以使输入帧为 224px 正方形或输入流选项)。
警告。我还没有广泛测试实时流缓冲。如果您遇到任何问题,请在 GitHub 上发布问题。

关于machine-learning - 如何从实时视频流中提取一组固定帧用于 PyTorch 中的机器学习预测?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71845302/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com