Neural network Keras:使用VGG16检测特定的非通用项目?

Neural network Keras:使用VGG16检测特定的非通用项目?,neural-network,keras,deep-learning,pre-trained-model,vgg-net,Neural Network,Keras,Deep Learning,Pre Trained Model,Vgg Net,我正在学习使用神经网络和对象检测,使用Python和Keras。我的目标是检测图像中非常具体的东西,比如说一个非常具体的品牌/类型的汽车化油器(汽车发动机的一部分) 到目前为止,我发现的教程以猫和狗的检测为例,其中许多教程使用预先训练的VGG16网络来提高性能 如果我只想检测我的特定化油器,而不关心图像中的任何其他内容,那么使用VGG16有意义吗。?VGG16是否仅在需要检测多个通用项而不是一个特定项时才有用 编辑:我只想知道图像中是否有特定的对象(化油器)。无需在其周围定位或放置盒子。我有大约

我正在学习使用神经网络和对象检测,使用
Python
Keras
。我的目标是检测图像中非常具体的东西,比如说一个非常具体的品牌/类型的汽车化油器(汽车发动机的一部分)

到目前为止,我发现的教程以猫和狗的检测为例,其中许多教程使用预先训练的VGG16网络来提高性能

如果我只想检测我的特定化油器,而不关心图像中的任何其他内容,那么使用VGG16有意义吗。?VGG16是否仅在需要检测多个通用项而不是一个特定项时才有用


编辑:我只想知道图像中是否有特定的对象(化油器)。无需在其周围定位或放置盒子。我有大约1000张这一特定化油器的图片供网络训练使用。

VGG 16可用于此。(现在这是最好的吗?这是一个没有明确答案的开放性问题)

但你必须更换它的结尾来满足你的需要。 一个普通的VGG模型的末尾大约有1000个类,而一个猫x狗VGG的末尾改为有两个类。在您的情况下,应该将其结尾更改为只有一个类

在Keras中,您必须使用选项
include\u top=False
加载VGG模型

然后,您应该添加自己的最终密集层(末尾有两个或三个密集层),确保最后一个层只有一个单元:
densed(1,activation='sigmoid')

这将用于“检测”(是/否结果)。

但是,如果您的目标是“定位/细分”,那么您应该创建自己版本的U-net或SegNet,例如

VGG16或其他一些预训练神经网络主要用于分类。这意味着您可以使用它来区分图像属于哪个类别

据我所知,你需要的是在图像中检测化油器的位置。对于这样的事情,你需要一个不同的,更复杂的方法

你可以用

  • 英伟达
  • ,
  • 细分网络,如或 赛格网等

通过检测,您的意思是指定它是否在图像上,或者您希望在该对象周围放置一个框?通过检测,我的意思仅仅是该对象是否在图像中。不用放盒子了,谢谢。只需注意:我不需要在图中找到化油器的位置。我只是想知道图片中是否有。谢谢,丹尼尔。我更新了我的问题,注意到我想使用“检测”而不是“定位”。