在图片中检测人类的最佳方法

数据挖掘 美国有线电视新闻网
2022-02-15 21:33:09

我正在尝试检测图像是否包含人类。我将为此使用 CNN。我打算制作一个如下所示的数据集。

Train 
     human (contains 2000 or more human image)
     other object (contains 2000 or more non human image)

Test 
     human (contains 500)
     other object (contains 500 )

我打算使用 keras,我将从目录中训练数据。

有没有其他方法?因为我在收集人类和非人类物体图像时遇到了麻烦。

1个回答

我在皮肤病分类方面也有类似的问题。您也可以在此处查看问题及其答案收集人类图片的数据集可能很容易,但非人类的数据集几乎是不可能的(非人类对象是一组巨大的对象)

解决方案:

我们可以使用连体卷积神经网络。我写了一篇关于它的博客。这里它们执行一次性学习,并且在我们拥有较小的数据集时是最好的。

标准 CNN 尝试对图片是否属于任何一个类进行分类 -> (HUMAN, NON_HUMAN )。Siamese CNN 输出的是相似度得分而不是类别概率。标准 CNN 学习分类,另一方面,Siamese CNN 学习区分图像。

它是如何工作的?(在您的任务范围内)

假设我有一个输入图像这是我们对 Siamese CNN 的输入。我还有两个图像,比如图像属于 1 类(人类),而属于 2 类(非人类)。Siamese CNN 将 2 张图像作为输入并输出它们的相似程度。xfgfg

Siamese(x,f)=0.678

Siamese(x,g)=0.987

Clearly, Siamese(x,f)<Siamese(x,g)

因此,该图像属于 CLASS 2。您可以在博客上找到它的其他优点。希望这可以帮助。