如何将连续视频输入输入到我的模型中?

数据挖掘 机器学习 计算机视觉
2022-02-10 18:07:40

假设我设计了一个机器学习模型,它可以将狗跑来跑去的视频输入并给出狗的品种作为输出。但是,我不想在视频输入到我的模型之前等待视频完成。我希望发生以下情况:

当一只狗跑过相机时,我正在随便拍下我后院的视频。立即,我的模型应该识别 (a) 一只狗出现在视野中,并且 (b) 这只狗是一只拉布拉多猎犬。

为了实现上述目标,我有以下问题:

  1. 我是否需要训练一个新模型来检测狗何时出现在视野中?
  2. 我怎样才能使我的模型输入是连续的并且模型继续运行提供即时输出?

注 1:我的 ML 模型已使用 Keras 在 Google Colaboratory 上进行过训练。到目前为止,我还没有在相机和我的模型之间建立任何连接(我不知道怎么做)。如果需要任何进一步的细节,我将非常乐意分享!

注意 2:这个问题最初发布在 Stack Overflow 上。由于不适合该网站,它被关闭了。链接到这里的原始帖子

注 3:我还在人工智能 StackExchange 上发布了这个问题。我被指引到这里。在此处链接到关于人工智能 StackExchange 的帖子

1个回答

您不需要训练新模型。您可以找到已针对“狗”/“非狗”进行训练的现有神经网络架构。

连续视频输入的一种选择是使用Python 的 OpenCV 包,它有一个VideoCapture可以从输入流中读取的类。可以提取流中的单个帧。该模型将预测帧上的“狗”/“非狗”。

像这样的东西:

import cv2

video = cv2.VideoCapture(0)

while True:
    _, frame = video.read()
    print(model.predict(frame))