博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python+flask搭建CNN在线识别手写中文网站
阅读量:6663 次
发布时间:2019-06-25

本文共 1089 字,大约阅读时间需要 3 分钟。

使用python+flask搭建的一个网站,然后从网页的写字板上获取鼠标手写的汉字经过转码后传回后台,并经过图片裁剪处理之后传入CNN手写中文识别的模型中进行识别,最后通过PIL将识别结果生成图片,最后异步回传给web端进行识别结果展示。中文总共50,000多汉字,常用的有3,755个。这里主要对常见的3755个汉字进行识别。

aec57cc8279ee9830f44f79e9f28492753c43c40

一、数据集

目前国内有很多优秀的中文手写识别数据集。例如:北京邮电大学模式识别实验室发布的数据(HCL2000),它是目前最大的脱机手写汉字库,共有1,000个人书写,除了汉字样本库外,还有一个对应的书写者信息库,记录了书写者的年龄、职业、文化程度等信息,用于研究相关影响因素。目前此数据库免费向研究者公开。本文使用的是中科院自动研究所的分享的中文手写数据集CASIA-HWDB(下载地址http://www.nlpr.ia.ac.cn/databases/handwriting/Home.html ),由187个人通过Wacom笔在线输入的手写汉字。

二、CNN结构:

tensorflow库来实现【三个卷积层+三个池化层+两个全连接层】的卷积神经网络,结构如下图所示:

15b6e046369fd6b27c3f3aa906f8557ad4cd50da

训练图片都修整成64x64大小,这里我只训练常见的3755个汉字,在CNN识别数字的模型结构上再添加了一个卷积层和池化层,其他结构差不多。
将下载好的HWDB数据集解压处理好开始训练,这个训练过程比较长,我最终在
GPU:GTX1050Ti上迭代了12,000次花费几个小时,最终取最可能的前三个预测值

三、加载模型

我训练模型迭代了12,000次之后,将训练参数保存在checkpoint文件夹中,不过因为单个文件大小的限制,训练好的模型文件从百度云上下载:

链接: https://pan.baidu.com/s/1eSWBIyI

密码: kv2r

下载之后直接覆盖checkpoint文件夹。

四、环境

 ●  python 3.6.1;
 ●  flask 0.12.2;
 ●  tensorflow 1.3.0;
 ●  pillow 4.2.1;

 ●  pickleshare 0.7.4;

 ●  numpy 1.13.1;

五、运行

1、克隆项目,然后按照环境要求安装好相应的库(使用pip安装);

2、从百度云下载训练好的模型文件,放到相应的checkpoint文件夹下;

3、使用python run.py运行;
4、打开本地浏览器输入localhost:5000进行查看;

原文发布时间为:2018-10-14

本文来自云栖社区合作伙伴“”,了解相关信息可以关注“”。

转载地址:http://pbcxo.baihongyu.com/

你可能感兴趣的文章
微信支付流程
查看>>
leetcode讲解--797. All Paths From Source to Target
查看>>
php 查看邮件已读
查看>>
Web性能优化,大致可以分为以下几点
查看>>
Django基础之六(模型理论知识)
查看>>
《The Startup Way》作者访谈
查看>>
Microsoft加入量子计算的竞争
查看>>
Windows原生运行Linux的技术细节
查看>>
Rust 1.27支持SIMD
查看>>
打造具备互补测试技能的团队
查看>>
Sublime Text3配置使用教程整理
查看>>
Magento的三种默认提示信息
查看>>
hg、git命令行总汇,炫技必备
查看>>
育碧同 Mozilla 联手开发 AI 代码助手
查看>>
jfinal与bootstrap的登出实战
查看>>
1.1专题介绍「深入浅出ASP.NET Core系列」
查看>>
AspNetCore - MVC实战系列(一)
查看>>
Apache 基金会宣布项目迁移到 GitHub
查看>>
python3 django配置数据库(mysql)
查看>>
shell监控服务器端口加web飞信报警
查看>>