使用安全摄像头进行对象识别的实时图像处理

人工智能 神经网络 图像识别
2021-11-05 21:05:27

我在想,如果我们可以结合人工智能(用于图像识别的神经网络)、计算机硬件和安全摄像头来识别上午 12:00 至 8:00 闯入我们后院的任何人会怎样?当然,我目前的知识只会让我回答一个简单的问题。因此,为了有一个大致的想法:

  • ¿ 是否已经使用商业或免费软件解决了这个问题?
  • ¿ 这可以使用 TensorFlow 完成吗?
  • ¿ 是否有任何包含数百万张图像的免费图像集来教任何 AI 区分人和另一个移动物体?
  • ¿ 执行此操作的大致硬件要求?

如果这个问题可能很愚蠢,请将其标记为离题。我的这个想法是基于自动驾驶汽车,它们可以同时识别图像和驾驶。除非他们拥有一台超级计算机,否则我想也许之前的想法可以实现。

更新 1:我发现这个ConvNets 可以用于视频源的实时对象识别吗?但我想它可能已经过时了。现在我在“也许”(缺乏知识)的土地上。

1个回答

以下是有关 NN 如何解决此特定问题的一些一般信息。希望它能提供一些见解:

要识别目标对象,您只需训练一个神经网络来执行图像分类。现在,您将遇到潜在的问题,即该图像可以位于来自相机的给定输入帧中的任何位置。

比方说;您训练了一个能够在 60px x 120px 上起作用的人类 NN(因此您的 NN 中将有 10800 个输入用于输入层)。在假设您可以训练 NN 以识别目标对象是否显示在所提供的图像中,您可以使用此训练的 NN 来定位输入帧上的对象。

假设来自相机的输入帧是 640px x 480px。您将遇到几个潜在的问题 1) 靠近相机的物体会更大,而远离相机的物体会更小 2) 物体可能位于画面中的任何位置。

为了克服你已经训练过的神经网络的这个问题,我会从一个不同的掩码开始,例如,第一个我可能会让我的第一个掩码卷积所有像素为 240px x 480px。第一步是将其缩放到 60px x 120px(您可以说它几乎是 4x)并从位于 (0,0) 和 (240, 480) 区域的像素中捕获像素子集并运行它NN,如果结果为真,那么我通常会在该区域周围画一个框以指示已找到目标对象。

接下来,您切换到 1-3 像素并重新运行它。例如,如果我们选择移动 3px,那么我们正在测试的区域将是 (3, 0) 和 (243, 480)。

一旦你完成了这个比例,你会想要选择一个较小的蒙版,也许像 200px x 400px 并做同样的事情。完成后,再缩小一点,直到您认为没有必要搜索更小的区域,因为它不足以满足 NN 的分辨率。

这只是我的想法;也许有一个更有效的算法。最终,我确信还有比我上面提到的更多的东西可以优化!