所以我想做的是将草书手写英文单词分割成单个字符。我已经应用了一种简单的人工智能启发式方法来对单词进行基本的过度分割,如下所示:
我在 Matlab 中对此进行编码。该方法涉及预处理、倾斜校正大小归一化等,然后将笔画细化到 1 个像素宽度,并使用图像像素的列和来识别图像中存在的连字。像素和低于阈值的每一列都是可能的分割点。问题是像“u”、“v”、“m”、“n”和“w”这样的开放字符也具有低像素列总和并被分割。我使用的方法是本文介绍的修改版本:
现在为了改进这种安排,我必须使用神经网络来纠正这些过度分割的点并将它们识别为错误的分割。我将为此编写一个“newff”函数,并手动将这些段标记为好和低,但我不明白该神经网络的输入应该是什么?
我的猜测是,我们必须提供一些图像数据以及进行可能分割的列号(每个训练样本一个分割点。给定的图像有大约 40 个分割点,因此它将导致 40 个训练样本)并拥有它标记为训练的好或坏段。
只有一个输出神经元告诉我们分割点是好是坏。
我可以将所有列的列总和作为输入层的输入吗?我如何告诉它这个训练实例的分割点是什么?我们必须分类为好或坏段的实际列号,这是这里最重要的值,难道不会淹没在这个 n 维输入的海洋中吗?(n 是图像像素的宽度)