# cnn_handwritten_chinese_recognition
使用`python+flask`搭建的一个网站,然后从网页的写字板上获取鼠标手写的汉字经过转码后传回后台,并经过图片裁剪处理之后传入`CNN`手写中文识别的模型中进行识别,最后通过`PIL`将识别结果生成图片,最后异步回传给web端进行识别结果展示。中文总共`50,000`多汉字,常用的有`3,755`个。这里主要对常见的`3755`个汉字进行识别。<br>
![demogif](https://github.com/taosir/cnn_handwritten_chinese_recognition/blob/master/cnn_handwrite_chinese_recognize.gif) <br>
## 一、数据集<br>
目前国内有很多优秀的中文手写识别数据集。例如:北京邮电大学模式识别实验室发布的数据`(HCL2000)`,它是目前最大的脱机手写汉字库,共有`1,000`个人书写,除了汉字样本库外,还有一个对应的书写者信息库,记录了书写者的年龄、职业、文化程度等信息,用于研究相关影响因素。目前此数据库免费向研究者公开。本文使用的是中科院自动研究所的分享的中文手写数据集`CASIA-HWDB`(下载地址http://www.nlpr.ia.ac.cn/databases/handwriting/Home.html ),由187个人通过`Wacom`笔在线输入的手写汉字。<br>
## 二、CNN结构:<br>
用`tensorflow`库来实现【三个卷积层+三个池化层+两个全连接层】的卷积神经网络,结构如下图所示:<br>
![cnn_model_arch](https://github.com/taosir/cnn_handwritten_chinese_recognition/blob/master/cnn_handwrite_chinese_recognize_arch.png)
训练图片都修整成64x64大小,这里我只训练常见的3755个汉字,在CNN识别数字的模型结构上再添加了一个卷积层和池化层,其他结构差不多。<br><br>
将下载好的HWDB数据集解压处理好开始训练,这个训练过程比较长,我最终在`GPU:GTX1050Ti`上迭代了12,000次花费几个小时,最终取最可能的前三个预测值<br>
## 三、加载模型<br>
我训练模型迭代了12,000次之后,将训练参数保存在`checkpoint`文件夹中,不过因为单个文件大小的限制,训练好的模型文件从百度云上下载:链接: https://pan.baidu.com/s/1eSWBIyI 密码: kv2r;<br><br>
下载之后直接覆盖`checkpoint`文件夹。<br>
## 四、环境<br>
* python 3.6.1;<br>
* pipenv *;<br>
* flask 0.12.2;<br>
* tensorflow 1.3.0;<br>
* pillow 4.2.1;<br>
* pickleshare 0.7.4;<br>
* numpy 1.13.1;<br>
## 五、运行
1、克隆项目,先安装python3.0和pipenv,然后 pipenv install --three;<br>
2、从百度云下载训练好的模型文件,放到相应的`checkpoint`文件夹下;<br>
3、使用`pipenv run python3 run.py`运行;<br>
4、打开本地浏览器输入`localhost:5000`进行查看;<br>
## 六、其他
* 功能非常齐全而且强大的微信商城小程序源码,感兴趣可以看看:https://github.com/taosir/wxapp_store
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
人工智能_CNN_手写中文识别_CNN在线识别手写中文(python+flask) 使用python+flask搭建的一个网站,然后从网页的写字板上获取鼠标手写的汉字经过转码后传回后台,并经过图片裁剪处理之后传入CNN手写中文识别的模型中进行识别,最后通过PIL将识别结果生成图片,最后异步回传给web端进行识别结果展示。中文总共50,000多汉字,常用的有3,755个。这里主要对常见的3755个汉字进行识别。
资源推荐
资源详情
资源评论
收起资源包目录
cnn_handwritten_chinese_recognition-master.zip (37个子文件)
cnn_handwritten_chinese_recognition-master
Pipfile 259B
cnn_handwrite_chinese_recognize_arch.png 155KB
LICENSE 1KB
Pipfile.lock 14KB
app
image
pred3.png 453B
pred1.png 245B
pred2.png 684B
test.png 1KB
templates
index.html 4KB
static
css
drawingboard.css 8KB
style.css 2KB
images
pencil64.png 2KB
eraser64.png 1KB
clear64.png 829B
clear1.png 1KB
checkerboard.jpg 2KB
Thumbs.db 5KB
play.png 53KB
fonts
msyh.ttc 22.55MB
droid_sans_regular.typeface.js 312KB
js
drawingboard
utils.js 5KB
controls
navigation.js 2KB
drawingmode.js 1KB
control.js 1KB
board.js 21KB
jquery-1.11.2.min.js 94KB
three.min.js 410KB
train_model
checkpoint
checkpoint 175B
my-model-12002.meta 34.62MB
my-model-12002.index 1KB
code_word.pkl 58KB
__init__.py 0B
__init__.py 69B
views.py 7KB
run.py 87B
cnn_handwrite_chinese_recognize.gif 2.57MB
README.md 3KB
共 37 条
- 1
博士僧小星
- 粉丝: 1760
- 资源: 5875
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 自动驾驶定位系列教程十:闭环修正.pdf
- HM2333-VB一款P-Channel沟道SOT23的MOSFET晶体管参数介绍与应用说明
- Python实现插入排序算法(源代码)
- 123.cpp
- HM2319-VB一款P-Channel沟道SOT23的MOSFET晶体管参数介绍与应用说明
- modbus4j-3.0.4.jar
- 蒙特·卡罗实验、使用蒙特·卡罗方法计算圆周率近似值.docx
- HM2319A-VB一款P-Channel沟道SOT23的MOSFET晶体管参数介绍与应用说明
- JAVA SpringBoot 集成华为云OBS,多镜像配置settings
- 一个文件共享系统,包括前端文件展示系统和后台管理系统,基于SpringBoot + MyBatis实现
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
- 4
前往页