问题标签 [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.

0 投票
2 回答
1751 浏览

tensorflow - TensorFlow:训练 BLSTM 时 CTC 损失没有减少

我正在尝试创建一个端到端可训练的离线英语手写识别模型(不分割单个字符)。我正在使用 IAM 手写数据库中的数据集一词进行训练。

我尝试降低学习率、增加批量大小等,但损失一直在波动,总体没有/显着降低 - TensorBoard 可视化每个步骤的成本

我是 TensorFlow 的新手,所以可能会犯一些幼稚的错误。使用的代码:

0 投票
1 回答
98 浏览

computer-vision - APIs/Libraries/SDKs for handwriting tracking?

I'm trying to make a mobile AR application. I want to track the user's handwriting in real time using smartphones while the user writes on paper. That is to track every stroke made by the user.

I know some SDKs and products like ManoMotion and Leap Motion provide relatively precise hand tracking and analysis, but since writing on paper doesn't involve many motions and gestures, I don't think they are suitable.

I have searched online and haven't found any resources for my particular use case. So I would like to ask if there are other resources I should take a look at, or I should rely on some lower level APIs like OpenCV.

0 投票
2 回答
4219 浏览

python - 检测文本之间的空间(OpenCV、Python)

我有以下代码(实际上只是运行我正在处理的所有项目所需的 4 部分中的一部分..):

此代码用于检测和识别图像中的手写数字。这是一个例子:

图片

假设我不关心准确性识别。

我的问题如下:如您所见,程序获取他可以看到的所有数字并在控制台中打印它们。如果需要,我可以从控制台将它们保存在文本文件中,但我不能告诉程序数字之间有空格。

图片2

我想要的是,如果我在文本文件中打印数字,它们应该像图像中那样分开(抱歉,这有点难以解释......)。这些数字不应该(即使在控制台中)一起打印,但是,在有空格的地方,也打印一个空白区域。

看一下第一张图片。在前 10 位数字之后,图像中有一个空格,控制台中没有。

无论如何,这是完整代码的链接。有4个.py文件和3个文件夹。要执行,请在文件夹中打开一个 CMD,然后将命令粘贴到images 文件夹python classify.py --model models/svm.cpickle --image images/image.pngimage.png一个文件的名称中。

完整代码

提前致谢。在我看来,所有这些工作都必须使用神经网络来完成,但我想首先尝试这种方式。我对此很陌生。

0 投票
1 回答
12906 浏览

python - opencv - 裁剪手写线条(线分割)

我正在尝试使用 python 和 opencv 构建一个手写识别系统。字符的识别不是问题,而是分割。我已经成功:

  • 将一个单词分割成单个字符
  • 按要求的顺序将单个句子分割成单词。

但我无法分割文档中的不同行。我尝试对轮廓进行排序(以避免线分割并仅使用分词),但它没有用。我使用以下代码来分割手写文档中包含的单词,但它返回的单词乱序(它以从左到右的排序方式返回单词):

请注意,我可以在这里分割所有单词,但它们出现顺序不正确。有没有办法按从上到下的顺序对这些轮廓进行排序

或者

将图像分割成单独的行,以便可以使用上面的代码将每一行分割成单词?

0 投票
0 回答
207 浏览

decimal - 使用卷积神经网络的浮点数笔迹识别

我正在寻找一组手写数字,从 0 开始,每个数字增加 0.5,即 0、0.5、1、1.5、2、2.5、3、3.5 ... 10。尝试在线搜索但无济于事; MNIST 似乎也没有完全有用,因为它只处理整数。

目前的计划是用几千张 n.5 数字的图像和几个人的各种风格的笔迹来扩充 MNIST 的数据集。训练后的模型将用于识别其他人书写的相同数字。我担心的是,鉴于每个人笔迹的独特性,准确性可能会很低。有没有更有效或可能产生高准确率的替代方案?谢谢一堆。

0 投票
3 回答
756 浏览

c++ - 使用 OpenCV 和 C++ 查找图像中墨水笔划的宽度

我有以下用三种不同书写工具拍摄的笔迹样本:

在此处输入图像描述

看文字,我可以看出前两个和最后一个之间有明显的区别。我的目标是确定每个字母的笔画粗细的近似值,以便我根据粗细对它们进行分组。

到目前为止,我已经尝试研究stroke width transform,但我一直在努力将其转化为我的示例。

我能够对图像进行预处理,这样我就只剩下相关测试的轮廓了。例如,这是最后一行的粗体

在此处输入图像描述

0 投票
1 回答
938 浏览

android - 在 Android 中使用 BI LSTM CTC Tensorflow 模型

TL;DR,我想知道如何在 android 应用程序中使用 bi-lstm-ctc tensorflow 模型。

我已经成功地训练了我的 bi-lstm-ctc tensorflow 模型,现在我想将它用于我的手写识别 android 应用程序。这是定义我使用的图形的代码部分:

在本教程中冻结和优化图形代码之后,我还成功地冻结和优化了图形。这是应该运行模型的代码部分:

但是,根据我使用的模型,我会遇到这些问题。如果我使用冻结图,我会遇到此错误:

如果我使用优化的冻结图,我会遇到这个错误:

除了解决这些错误的方法之外,我还有其他问题/说明:

我该如何解决这些错误?

0 投票
0 回答
300 浏览

python - 如何确定 MDLSTM 的扫描方向?

我正在努力理解 MDLSTM 的手写识别。我已经阅读了“Offline Handwriting Recognition with Multidimensional Recurrent Neural Networks”,该论文将图像传递到 4 个LSTM 层。每个 LSTM 层都在四个不同的方向(即左、右、上、下)扫描图像。我已经尝试过在 keras 中实现以下代码,但我不确定如何在 LSTM 中实现扫描部分。给我一些想法/参考代码,可以帮助理解整个过程。

0 投票
1 回答
1413 浏览

ocr - 如何转换/匹配手写姓名列表?(HWR)

我想看看是否可以扫描课程的签到表。好消息是我知道 90% 的可能写的名字。

我的想法是使用 tessaract 解析名称图像,然后使用 Levenshtein 算法将每一行与我数据库中的名称列表进行比较,如果我得到相当接近的匹配,那么这个名称是正确的。

这种方法听起来不错吗?如果没有,还有其他想法吗?

我尝试在样本表上使用 tesseract(见下文)

在此处输入图像描述

我用了:

我假设它不喜欢第 2 行,因为我低于该行。

我得到的结果是:

显然不是最好的,我的猜测是 4 和 5 的距离匹配会起作用,但其余的甚至不接近。

我可以控制我的签到表,但不能控制进来的人的笔迹,所以如果我可以做任何更改以提供帮助,请告诉我。

0 投票
1 回答
906 浏览

python - 使用 OpenCV python 对手写字符进行良好的特征提取?

我目前正在使用 cv2.goodFeaturesToTrack() 方法。然而,它返回的角落有些模糊,并没有真正做到我想要的,它会在角色的轮廓上放置一些点。这是它如何在我的自定义数据集上工作的附加图像: 示例图像

如果 cv2.goodFeaturesToTrack() 不是从手写字符中提取特征的好方法,那么有哪些更好的方法呢?谢谢