我正在用神经网络简单识别字母和数字。到目前为止,我使用字母图像的每个像素作为网络的输入。不用说,这种方法产生非常大的网络。所以我想从我的图像中提取特征并将它们用作NN的输入。我的第一个问题是这些字母的属性是否有利于识别它们。第二个问题是如何将这些特征表示为神经网络的输入。例如,我可能已经检测到字母中的所有角落并将它们作为(x,y)点的向量。如何将此向量转换为适合NN的向量(因为不同字母的向量大小可能不同)。
答案 0 :(得分:5)
本文Introduction to Artificial Intelligence. OCR using Artificial Neural Networks by Kluever (2008)对使用神经网络的OCR的4种特征提取技术进行了调查。他描述了以下方法:
width * height
维度降低为width + height
。您可以使用width
向量和height
向量作为单独的输入。答案 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)去除冗余特征并减少特征向量的维数。