- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要对来自摄像机的图像进行分类,要考虑的主要功能是:
我已经在使用 opencv 进行形状识别,遵循此 Real Time Tracking Tutorial和 this :
我的目标是,如果我在相机前显示一个小或大的正方形,那么它会将其识别为颜色“....”的正方形,如果我显示有耳/变形的纸张(正方形或三角形) )然后它会将这个形状识别为颜色为“....”的三角形。
我正在搜索如何使用 Encog 进行图像分类,但我发现是使用定量属性进行分类,例如测量(长度、宽度)而不是形状形式。
encog 示例为 this (可在 Pluralsight 中找到)。
在此 encog 示例中,训练数据如下:
Sepal Length Sepal Width Petal Length Petal Width Species
5.1 3.5 1.4 0.2 setosa
4.9 3.0 1.4 0.2 setosa
4.7 3.2 1.3 0.2 setosa
7.0 3.2 4.7 1.4 versicolor
6.4 3.2 4.5 1.5 versicolor
6.9 3.1 4.9 1.5 versicolor
6.3 3.3 6.0 2.5 virginica
5.8 2.7 5.1 1.9 virginica
7.1 3.0 5.9 2.1 virginica
在我的例子中,训练数据将是像素(encog 的 mat 类型),也是我的评估数据。
如何标准化 encog 训练数据的像素?
我需要一些线索,教程。非常感谢。
最佳答案
简短回答:从纯粹的技术角度来看,您需要将图像子采样到大约 100x100 像素,转换为灰度(用于形状识别),将所有像素获取到单个向量并将最大整数像素值标准化为 1.0(例如,如果像素值在 [0 ..255] 将所有内容除以 255)。对于彩色图像,通常创建三个向量,每个向量对应一个 channel (RGB),以相同的方式对它们进行归一化,连接并输入具有至少一个隐藏层的神经网络 (MLP) 分类器。这与您提供的简单示例非常相似,仅使用更多数据。
长答案:以上可能是您可以使用 Encog 做的最好的事情,并且如果有足够的样本和足够的 CPU/GPU 资源,这应该适合您的任务。然而,图像识别目前是一个悬而未决的问题,不存在可以解决所有问题的单一通用方法。现在大多数工作都是使用卷积神经网络(Encog 不支持)完成的,并且有一些重要的事情需要考虑,因此您可能需要阅读一些经典的图像识别论文来获得一些重要的想法。如果您需要理论方面的帮助,我认为最好提出您的问题 here据我所知,这样的理论和教程超出了 SO 的范围
关于opencv - ENCOG(或任何框架)中的图像分类示例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28582559/
我是 Encog 的新手,当我阅读用 Java 中的 Encog 2 编程神经网络时,我在 Encog 3 中找不到诸如 ContextLayer 之类的类,而且 encog 3 似乎相当重要与 en
我在其中一个项目中使用 Encog,但在解码 One-Of 类时遇到了困难。该字段的规范化操作之一是 NormalizationAction.OneOf,它具有三个输出。当我评估时,我想解码预测值。如
是否可以将经过训练的网络保存到文件中,然后再次使用它(加载文件)?可以举个简单的例子吗?目前我每次训练都应该运行: EncogUtility.trainConsole(网络、trainingSet、T
我正在使用 Encog 框架和 Java 来做一个图像识别系统。然而,当我将下采样宽度和高度设置为高于 100 时,我得到了 java.lang.NegativeArraySizeException
我正在使用(encog 3.3.0 库)构建用于图像识别的神经网络。我已将图像转换为 50x50 灰度,以避免神经网络混淆,因为我基本上想从图像中提取一些与颜色无关的特征。我有两个输出类。 我的输入:
我有一个非常小的数据集,只有 200 行。我只有 3 列;前两个是数字(负数和正数),最后一个是字母。 我正在尝试根据前两列数字对最后一列进行分类。 我的逗号分隔数据看起来与此类似(规范化之前): H
Encog具有多线程支持。但据我所知,在一个处理器上并行处理例如 8 个内核是很好的。如果我买 motherboard,它会工作得更快吗?有 4 个 socket ,并安装四个 Intel Xeon
我看到的 NeuralDataSet 对象除了 XOR 之外什么都不是,它只是两个小数据数组......我无法从文档中找出任何东西在 MLDataSet 上。 似乎所有内容都必须一次加载。但是,我想循
一旦我看到从验证集计算出的误差开始增加,我就想停止训练网络。我正在使用带有 RPROP 的 BasicNetwork 作为训练算法,并且我有以下训练迭代: void trainCrossValidat
我是机器学习和 Encog 的新手,但我希望 Encog 至少能从示例中给出一致的结果,以帮助我更轻松地了解 Encog。对我来说,Encoge 每次运行时都会给出不同的方向结果。 谁能帮助我更好地理
我已经使用 encog 库实现了一个神经网络,如下所示, MLDataSet trainingSet = new BasicMLDataSet(XOR_INPUT, XOR_IDEAL); f
我看到的 Encog 框架示例描述了如何将数字数据分类为文本数据。例如,以下是用于经典 Iris 数据集的数据: "sepal_l","sepal_w","petal_l","petal_w","sp
我是神经网络领域的新手(说实话我几天前才刚开始)。我想在我的 OCR 应用程序中使用神经网络来识别手写文本。 我想知道的是,是否可以在初始训练后训练网络。换句话说,我一开始要训练几个字符,但我想稍后向
机器学习 - 太棒了! 我有一个小项目,我想用它来识别未标记数据中的异常情况。因此,无监督聚类。 但是,数据的顺序也很重要,因为单个记录可能不令人感兴趣,但它之前的记录顺序可能会使其异常。 所以我正在
我需要对来自摄像机的图像进行分类,要考虑的主要功能是: 物体形状(基本形状,如三角形、正方形等) 对象颜色 几乎没有变形 我已经在使用 opencv 进行形状识别,遵循此 Real Time Trac
我正在寻找有关如何使用 Encog Framework 创建简单的垃圾邮件过滤/分类或集群应用程序的示例。我在谷歌上找不到任何东西。 我还购买了 Jeff Heaton 的书《Programming
我正在尝试训练 SVM 来对两个螺旋数据进行分类。 我的输入是一个 3 列的 CSV 文件,前两列是螺旋(未归一化)上一个点的 (x, y) 坐标,第三列是该点所属的螺旋(类) . 我首先规范化 CS
我正在使用 jeff heaton 的这个分类示例: https://github.com/encog/encog-java-examples/blob/master/src/main/java/or
我认为我对 Encog 做错了什么。在我见过的所有示例中,他们只是进行训练,直到达到一定的训练误差,然后打印结果。何时计算梯度并更新隐藏层的权重?这一切都包含在training.iteration()
我正在使用 encog 完成一些大学作业,我想导出网络中所有连接及其相关权重的列表。 我看到了 dumpWeights() 函数,它是 BasicMLNetwork 类的一部分(我使用 Java),但
我是一名优秀的程序员,十分优秀!