使用张量流进行文本识别

Posted

技术标签:

【中文标题】使用张量流进行文本识别【英文标题】:Text recognition with tensorfow 【发布时间】:2020-09-10 13:05:04 【问题描述】:

我是 tensorflow 新手,玩过 MNIST 手写数字集。 我想做自己的项目,识别文本而不是数字,但找不到好的教程。

它与数字的原理相同,但最后我必须使用 26 而不是 10 层?或者包括大小写和特殊字符? 如果是这样,我必须首先将单词裁剪到每个字符中,对吗?或者有没有办法识别整个句子

我想训练三种不同的字体,所以不用手写,也不关心大小写。

稍后我想在照片上使用经过训练的模型。以印刷品为例。如果我对齐图像,模型是否有效,我是否需要重新训练一点或从一开始就使用新数据进行训练?

我从哪里开始? Keras example 是压倒性的。

【问题讨论】:

【参考方案1】:

你正在寻找一个OCR模型,一个简单的CNN无法从扫描的图像中检测到文本,你需要先对它们进行分割,这可以根据语言脚本完成。

您可以从tesseract 开始。有一个名为 pytesseract 的 python 包装器。

import pytesseract
from PIL import Image
text = pytesseract.image_to_string(Image.open("temp.jpg"), lang='eng',
                        config='--psm 10 --oem 3 -c tessedit_char_whitelist=0123456789')

print(text)

对于您自己的模型,请尝试 CRNN 模型。 https://github.com/qjadud1994/CRNN-Keras

【讨论】:

以上是关于使用张量流进行文本识别的主要内容,如果未能解决你的问题,请参考以下文章

python3识别张量流,但不识别它的任何属性

Microsoft Speech API (SAPI) UserTraining 语法

如何使 SwiftUI 文本多行文本对齐从顶部和中心开始

详解贝叶斯张量网络:概率性图像识别

智能识别电话号码和文字(包括国际号码)

使用 CSS 调整换行文本的大小 [重复]