实用性高的那种教程:使用Tensorflow和Keras进行手写识别
手写体识别(也就是由手写体分类)是一个具有挑战性的问题,因为每个个体写作风格有巨大的差异。解决这个问题的传统方法是提取诸如不同字母的曲率、字母b/w的间隔等的语言相关特征,然后使用类似SVM的分类器来区分作者。在本文中,将会展示一个基于深度学习的方法来识别这些功能。我们将把小块的手写图像传递给CNN,并用softmax分类损失进行训练。
为了演示这种技术的有效性,让我们用它来分类英文手写文本。
完整的代码:
https://github.com/priya-dwivedi/Deep-Learning/blob/master/handwriting_recognition/English_Writer_Identification.ipynb
获取的数据
IAM手写数据库是英文手写图像的最大数据库。它有1539页由600多名作家编写的扫描文本。为了达到这个演示的目的,我们将拿出数量最多的前50名作家。对于每个作者来说,数据库是由他们编写的单个句子的集合。以下是其中一个作者的示例:
神经网络不需要太多的原始数据预处理。所以我们不会对这些图片做任何修改,而是将完整的图片传递给神经网络,还会传递一小段文字。
生成的补丁数据
我们希望神经网络能够理解个体作家的写作风格,也希望这个神经网络能独立于文本(可以在任何语言上工作)。所以不是传递单个的句子或单词,而是传递随机的文本片段。这是通过从每句话随机裁剪113x113大小的补丁来完成的。下面的图片是8个这样的补丁拼贴。
8个补丁组成的拼贴画
我们可以编写一个生成器函数来移动每个句子,并从中产生随机的图像块。对于每个图像,我们将限制到可以生成的补丁总量的30%。
模型和结果
为此,我们可以使用Tensorflow后端在Keras中构建一个卷积神经网络(CNN)。这里将使用具有多个卷积和maxpool层的标准CNN,一些密集层和一个softmax激活的最终输出层。在卷积层和密集层之间使用RELU激活,并使用Adam优化器对模型进行优化。
模型的大小需要与数据的大小成正比。三个卷积最大层和几个致密层就足以解决这个问题。具体参见下面的模型总结:
CNN模型概述
经过一些超参数调整之后,我们在模型测试数据集上损失了94%。
请参阅下面的两个补丁,该模型被分类为同一个作者。 “t”的形状看起来非常相似,所以也会让人直观地觉得属于同一个作者。
总结
使用深度学习的手写识别是一种非常强大的技术,原因如下:
·它自动识别出强大的功能
·我们采用随机补丁的方法使模型文本独立
·预测精度高,可以在实际应用中使用
发表于: 2018-01-262018-01-26 09:53:27原文链接:http://kuaibao.qq.com/s/20180126G0VHDK00?refer=cp_1026腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。如有侵权,请联系 cloudcommunity@tencent.com 删除。JBPM Workflow补丁生成keras图像识别keras文字识别有多少层使用CSS识别浏览器和操作系统?使用IIS和MVC进行授权的问题
相关知识
TensorFlow学习记录(八)
tensorflow识别花朵
keras中Lambda层的使用
转移学习:使用VGGNet对花朵图像进行分类
手写数字识别
Python教程之使用 Gradio 部署 Keras 花卉分类模型
深度学习应用开发
深度学习入门——基于TensorFlow的鸢尾花分类实现(TensorFlow
基于TensorFlow Lite实现的Android花卉识别应用
基于深度学习和迁移学习的识花实践
网址: 实用性高的那种教程:使用Tensorflow和Keras进行手写识别 https://www.huajiangbk.com/newsview764859.html
上一篇: 【深度学习系列】手写数字识别 |
下一篇: 手写字可以识别吗?分享3个黑科技 |
推荐分享

- 1君子兰什么品种最名贵 十大名 4012
- 2世界上最名贵的10种兰花图片 3364
- 3花圈挽联怎么写? 3286
- 4迷信说家里不能放假花 家里摆 1878
- 5香山红叶什么时候红 1493
- 6花的意思,花的解释,花的拼音 1210
- 7教师节送什么花最合适 1167
- 8勿忘我花图片 1103
- 9橄榄枝的象征意义 1093
- 10洛阳的市花 1039