【问题标题】:Image Classification example in ENCOG(or any Framework)?ENCOG(或任何框架)中的图像分类示例?
【发布时间】:2015-04-19 09:24:19
【问题描述】:

我需要对来自摄像机的图像进行分类,要考虑的主要特征是:

  • 对象形式(三角形、正方形等基本形状)
  • 对象颜色
  • 很少变形

我已经在使用 opencv 进行形状识别,遵循 Real Time Tracking Tutorialthis

我的目标是,如果我在镜头前展示一个很小或很大的正方形,那么它会将它识别为一个颜色为“....”的正方形,如果我展示一个有耳/变形的纸(正方形或三角形) 然后它会将此形状识别为颜色为“....”的三角形。

我正在搜索如何使用 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 的垫子类型),也是我的评估数据。

如何对编码训练数据的像素进行归一化?

我需要一些线索,教程。 非常感谢。

【问题讨论】:

    标签: opencv machine-learning neural-network classification encog


    【解决方案1】:

    简短回答: 从纯粹的技术角度来看,您需要将图像二次采样到大约 100x100 像素,转换为灰度(用于形状识别),将所有像素获取到单个向量并将最大整数像素值标准化为 1.0(例如,如果您的像素值在 [0 ..255] 你将所有内容除以 255)。对于彩色图像,通常会创建三个向量,每个通道 (RGB) 一个,以相同的方式对它们进行归一化,连接并馈入具有至少一个隐藏层的神经网络 (MLP) 分类器。这与您提供的简单示例非常相似,只是使用了更多数据。

    长答案:以上可能是您可以使用 Encog 做的最好的事情,并且给定足够的样本和足够的 CPU/GPU 资源,这应该适合您的任务。然而,图像识别目前是一个悬而未决的问题,没有单一的通用方法可以解决所有问题。现在大部分工作都是使用卷积神经网络(Encog 不支持)完成的,并且有一些重要的事情需要考虑,所以你可能想阅读一些经典的图像识别论文以获得一些重要的想法。如果您需要理论方面的帮助,我认为最好问您的问题here,因为这样的理论和教程是我在 SO 范围之外的最佳知识

    【讨论】:

      猜你喜欢
      • 2023-04-08
      • 2014-03-09
      • 2020-03-07
      • 1970-01-01
      • 2013-08-24
      • 2013-05-20
      • 2020-08-20
      • 1970-01-01
      相关资源
      最近更新 更多