问题标签 [handwriting-recognition]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 为什么我在 mnist 数字识别中的准确性如此之差
我是 AI 新手,根据本网站的教程,此代码是关于 mnist 数字识别的:tensorflow 教程。出于某种原因,我不能像教程中那样直接使用 mnist 数据。我的方法是先下载数据,然后解压到一个文件夹中。然后将数据读取为二进制数据,解码成numpy。我不知道为什么,准确率只有 0.098,与假设值 0.92 相差甚远。我的代码在这里:
此类用于处理 minist 数据。
我的 main.py 如下:
python - Keras 中的 CTC 损失没有减少
我正在使用带有 theano 后端的 Keras 来解决本文中解决的在线手写识别问题:http://papers.nips.cc/paper/3213-unconstrained-on-line-handwriting-recognition-with-recurrent-neural-networks 。 .pdf _
我按照 Keras 图像 ocr 示例https://github.com/keras-team/keras/blob/master/examples/image_ocr.py修改了在线手写样本而不是图像样本的代码。在使用包含 200 个 epoch 的 842 个文本行的数据集进行训练时,每个 epoch 大约需要 6 分钟,CTC logloss 在第一个 epoch 之后减少,但在所有剩余的 epoch 中保持不变。我也尝试过不同的优化器(sgd、adam、adadelta)和学习率(0.01、0.1、0.2),但损失几乎没有任何变化。
x_train.shape=(842,1263,4) [842 个文本行,4 维 1263 个笔画点]
y_train.shape=(842,64) [842 个文本行,每行 64 个 max_len 个字符]
标签类型 (len_alphabet)= 66
代码快照:
我的完整代码托管在这里:https ://github.com/aayushee/HWR/blob/master/Run/CTC.py 这些是模型和训练的截图: https ://github.com/aayushee/HWR /blob/master/Run/model.png https://github.com/aayushee/HWR/blob/master/Run/epochs.png
请建议是否需要修改模型架构,其他一些优化器会更好地解决这个问题,或者是否有其他东西可以解决这个问题。谢谢!
uwp - 如何在 UWP 中使用多个手写识别引擎?
我想用手写笔InkCanvas
在任何受支持的语言上书写。手写识别是由InkRecognizer
对象完成的。
从他们可能的名字来看,我看到它包括英语(美国)、法语、德语和罗马尼亚语。我的电脑上安装了这 4 个语言包,但是当我用除英语之外的任何一个语言写单词时,我发现该单词无法识别。当我写“geht”时,没有使用(或不可用)德语的手写识别引擎。
我进入了这个演示并添加了两行代码来查看已安装的引擎。当我写德语单词“geht”时,只有两个,英语(美国)和英语(加拿大)。
我的问题是,如何安装手写识别引擎?如果作为用户我无法安装它们,为什么它们不可用?如果它们可用,为什么即使我安装了语言包也不使用它们?
我遵循了本教程,包括受限手写识别和国际手写识别部分。
我进入了 Windows 设置应用 > 时间和语言 > 地区和语言。我浏览了每种语言,点击了选项,只有英语有一些关于手写的信息。
对于其他人,没有关于语言选项和笔迹的信息。
我的 Windows 版本是 1709,这也是发生识别的应用程序支持的最低版本。
machine-learning - 如何评估生成对抗网络(GAN)生成图片的准确性?
我被这个问题困住了。我使用 GAN 生成了手写数字。现在我想评估我生成的手写数字的准确性。有什么办法吗??
python - Sklearn GaussianMixture
几个月来,我一直在通过一个字符识别和笔迹转录项目为自己学习人工智能。到目前为止,我已经通过实现 CNN、CTC 神经网络成功地使用了 Keras、Theano 和 Tensorflow。
今天,我尝试使用高斯混合模型,这是迈向高斯发射隐马尔可夫模型的第一步。为此,我使用带有 pca 缩减的 sklearn 混合来选择具有 Akaike 和贝叶斯信息标准的最佳模型。Aic 的协方差类型为 Full,它提供了一个很好的 U 曲线,而 Bic 的协方差类型为 Tied,因为全协方差 Bic 只给出线性曲线。对于 12.000 个样本,我得到了 Aic 为 60 个 n 分量和 Bic 为 120 个 n 分量的最佳模型。
我的输入图像有 64 个像素,仅代表英文字母的大写字母,26 个类别,编号从 0 到 25。
Sklearn GaussianMixture 的 fit 方法忽略标签, predict 方法将分量的位置(0 到 59 或 0 到 119)返回到关于概率的 n 个分量中。
如何使用 sklearn GaussianMixture 检索列表中字符位置的原始标签?
tensorflow - 增加标签错误率(编辑距离)和波动损失?
我正在训练这种架构的手写识别模型:
训练 ctc 损失在第一个训练 epoch 突然下降,但在剩余的 epoch 中会出现平稳波动。标签错误率不仅波动,而且似乎并没有真正降低。
我应该提一下,每个样本的序列长度确实接近于最长 ground truth 的长度(即从 1024 开始,到它进入接近最长 ground truth 长度 21 的 ctc_loss 时变为 32)。
至于图像的预处理,我确保在调整大小时保持纵横比,并将图像向右填充以使其成为正方形,以便所有图像都有宽度并且手写文字将在左侧. 我还反转了图像的颜色,使得手写字符具有最高的像素值 (255) 和背景,而其余的具有最低的像素值 (0)。
预测是这样的。第一部分是一组随机字符串,最后是一堆零(这可能是由于填充而预期的)。
以下是我如何将 cnn 输出折叠到 rnn dims:
以下是我如何将 rnn 折叠为 ctc dims:
swift - MyScript Interactive Ink SDK 转换为数学返回?
我正在使用 MyScript Interactive ink SDK 来转换手写数学方程。我使用他们拥有的测试示例测试了 SDK,一切都很好。我将他们的许多代码逻辑导入到我的应用程序中,并且能够成功设置引擎和编辑器。我可以编写项目,甚至可以在编辑器中使用重做、清除和撤消项目。问题是每次我试图隐藏它时,它都会返回一个“?”。
要转换的函数如下所示,与 MyScript 提供的示例中的代码完全相同 -
在 AppDelegate.swift 文件中为引擎创建包的代码和在引擎中设置的代码也是相同的。
我附上了一张关于返回值的图片
像这儿
我无法弄清楚为什么我会遇到此错误以及引擎和/或编辑器设置的哪一部分我做错了。
谢谢你!
python - 在单个示例上没有收敛 CTC 损失和波动的标签错误率(编辑距离)?
我试图过拟合这种架构的手写识别模型:
使用来自 tensorflow 的 mdrnn 代码(稍作修改):
训练 ctc_loss 会减少,但即使经过一千个 epoch 也不会收敛。标签错误率只是波动。
我对图像进行预处理,使其看起来像这样:
我还注意到网络在某些点生成了相同的预测:
为什么会发生这种情况?这是我制作的一个可重复的小例子https://github.com/selcouthlyBlue/CNN-LSTM-CTC-HIGH-LOSS
更新
当我从这里更改转换时:
对此:
性能以某种方式有所改善:
(这里删除了 mdrnn 层)
(第二次运行)
(添加了 mdrnn 层)
但是损失仍然没有下降到零(或接近零),标签错误率仍在波动。
将优化器从 更改为Adam
衰减RMSProp
率为 后0.9
,损失现在收敛!
但是标签错误率仍然波动。但是,随着损失的收敛,它现在应该会下跌。
更多更新
我在我拥有的真实数据集上进行了尝试,它确实有所改善!
前
后
但是标签错误率正在增加,原因仍然未知。
parsing - 使用输入图像中的特定区域通过 MS API 进行手写识别
我们能否将输入图像中的特定坐标发送到 MS 手写识别 API,以便识别不是整个图像,而是仅识别图像中的那些特定区域。