从神经网络中提取特征

时间:2012-07-11 07:13:00

标签: neural-network ocr feature-detection

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

3 个答案:

答案 0 :(得分:5)

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

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

答案 1 :(得分:4)

许多人为OCR采取了各种功能。最简单的当然是直接传递像素值。

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

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

您也可能对this PPT感兴趣。它简要说明了现在使用的不同特征提取技术。

答案 2 :(得分:1)

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