用于基于真假的图像识别的神经网络库

时间:2016-09-29 14:33:23

标签: python python-3.x boolean neural-network image-recognition

我需要一个(简单的)任务的人工神经网络库(最好是在python中)。我想训练它,以便它可以告诉 一个东西 在图像中。我会通过给它拍摄很多照片来训练它,然后告诉它它包含我想要的东西:

这些图片包含 此内容 ,返回True (或包含该内容的概率)

这些图片不包含 此内容 ,返回False (或包含该内容的概率)

这样的图书馆已经存在吗?我对人工神经网络和图像识别还是比较陌生的。虽然我理解它们原则上是如何工作的但我发现很难为这项任务找到一个合适的库,甚至在这个领域的研究也被证明是一种挫败感 - 任何对正确方向的建议都非常感激。

2 个答案:

答案 0 :(得分:3)

Python中有几种不错的神经网络方法,包括TensorFlow,Caffe,Lasagne和sknn(Sci-kit神经网络)。 sknn提供了一个简单的,开箱即用的解决方案,虽然在我看来它更难以定制,并且在大型数据集上可能会很慢。

要考虑的一件事是您是要使用CNN(卷积神经网络)还是标准ANN。使用ANN,您很可能必须将图像“展开”为矢量,而使用CNN时,它希望图像是立方体(如果是彩色,则为正方形)。

这是Python中CNN的good resource

但是,由于您并未真正进行多类图像分类(CNN是当前的黄金标准)并且执行更多单个对象识别,因此您可以考虑使用转换后的图像方法,例如使用{{ 3}}。

在任何情况下,神经网络方法的准确性,尤其是在使用CNN时,都高度依赖于成功的超参数调整。不幸的是,关于在给定情况下超参数值(层的数量和大小,学习率,更新规则,丢失百分比,批量大小等)是什么,还没有任何一般理论。所以要准备好一个很好的训练,验证和测试集设置,以适应一个强大的模型。

答案 1 :(得分:-1)

我不知道任何可以为你做这件事的图书馆。我使用了很多Caffe并且可以为您提供解决方案,直到您找到一个可以为您完成的库。

我希望您了解ImageNet并且Caffe有一个基于ImageNet的trained model

这是一个想法:

  • 定义function respuesta(){ nombrej=document.getElementById("nombre"); document.write(nombrej); } 是什么。说the object
  • 使用Caffe的ImageNet训练模型,更改代码以在object = "laptop"位于TRUE时显示所需的输出(您提到FALSEobject)。

这是我写的ImageNet tutorial的链接。

以下是您可能会尝试的内容:

  • 看看here。它是我在预测引擎中使用的ImageNet程序的精简版本。
  • 在第80行,您将获得前1个预测输出标签。在第86行,您将获得前5个预测标签。写一行代码以检查output labels中是否object并根据它返回output_labelTRUE

我知道您正在寻找一个特定的库,我会寻找它,但这是我在开始时会尝试的。