【问题标题】:Feature extraction from neural networks从神经网络中提取特征
【发布时间】:2012-07-10 18:16:44
【问题描述】:

我正在使用神经网络对字母和数字进行简单的识别。到目前为止,我使用字母图像的每个像素作为网络的输入。不用说,这种方法会产生非常大的网络。所以我想从我的图像中提取特征并将它们用作神经网络的输入。我的第一个问题是字母的哪些属性有利于识别它们。第二个问题是如何将这些特征表示为神经网络的输入。例如,我可能已经检测到字母中的所有角,并将它们作为 (x,y) 点的向量。如何将此向量转换为适合 NN 的东西(因为不同字母的向量大小可能不同)。

【问题讨论】:

    标签: neural-network ocr feature-detection


    【解决方案1】:

    本文Introduction to Artificial Intelligence. OCR using Artificial Neural Networks by Kluever (2008) 对使用神经网络的 OCR 的 4 种特征提取技术进行了调查。他描述了以下方法:

    • 运行长度编码 (RLE):您需要一个二进制图像(即只有白色或黑色)。二进制字符串可以编码成更小的表示形式。
    • 边缘检测:找到边缘。你可以很粗略,所以不是返回精确的 (x,y) 坐标,你可以通过只计算这样的边缘是否出现在减少的位置(即 20%、40%、60& 和 80%)来减少矩阵图片)。
    • Count 'True Pixels':这会将图像矩阵的维数从width * height 减少到width + height。您使用width 向量和height 向量作为单独的输入。
    • 基本矩阵输入:你已经试过了;输入整个矩阵会得到很好的结果,但正如您所注意到的那样会导致高维数和训练时间。您可以尝试缩小图片尺寸(例如,从 200x200 缩小到 50x50)。

    【讨论】:

      【解决方案2】:

      很多人都采用了 OCR 的各种功能。其中最简单的当然是直接传递像素值。

      OpenCV 样本中有一个字母识别数据,是从 UCI 数据集中提取的。它采用了大约 16 种不同的功能。检查此 SOF:How to create data fom image like "Letter Image Recognition Dataset" from UCI

      您还可以在其中一个答案中看到解释这一点的论文。你可以通过谷歌搜索得到它。

      您也可能对this PPT 感兴趣。它简要解释了当今使用的不同特征提取技术。

      【讨论】:

        【解决方案3】:

        如果您有一个非常高维的输入向量,那么我建议您应用主成分分析 (PCA) 来去除冗余特征并降低特征向量的维数。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2017-04-22
          • 1970-01-01
          • 2018-01-22
          • 2017-05-30
          • 2012-01-12
          • 2011-07-30
          • 1970-01-01
          • 2015-12-28
          相关资源
          最近更新 更多