Coder Social home page Coder Social logo

cnn_handwritten_chinese_recognition's Introduction

cnn_handwritten_chinese_recognition

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

一、数据集

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

二、CNN结构:

     用tensorflow库来实现【三个卷积层+三个池化层+两个全连接层】的卷积神经网络,结构如下图所示:
cnn_model_arch      训练图片都修整成64x64大小,这里我只训练常见的3755个汉字,在CNN识别数字的模型结构上再添加了一个卷积层和池化层,其他结构差不多。

     将下载好的HWDB数据集解压处理好开始训练,这个训练过程比较长,我最终在GPU:GTX1050Ti上迭代了12,000次花费几个小时,最终取最可能的前三个预测值

三、加载模型

     我训练模型迭代了12,000次之后,将训练参数保存在checkpoint文件夹中,不过因为单个文件大小的限制,训练好的模型文件从百度云上下载:链接: https://pan.baidu.com/s/1eSWBIyI 密码: kv2r;

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

四、环境

  • python 3.6.1;
  • pipenv *;
  • flask 0.12.2;
  • tensorflow 1.3.0;
  • pillow 4.2.1;
  • pickleshare 0.7.4;
  • numpy 1.13.1;

五、运行

1、克隆项目,先安装python3.0和pipenv,然后 pipenv install --three;
2、从百度云下载训练好的模型文件,放到相应的checkpoint文件夹下;
3、使用pipenv run python3 run.py运行;
4、打开本地浏览器输入localhost:5000进行查看;

六、其他

cnn_handwritten_chinese_recognition's People

Contributors

taosir avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cnn_handwritten_chinese_recognition's Issues

准确率不高,请教要如何解决的

我已经顺利运行了手写识别的软件,但是实际识别率跟你主页上的演示有区别。
比如我写个“汉”子,你的演示中是可以正确辨认,但是我自己本地电脑就不行,checkpoint文件也已经更换了,是否在我本地电脑也要把训练图片都下载呢?
望指教的:-)

算法重新训练不收敛

@taosir 您好,我用分别用tf2 keras、paddlepaddle、pytorch重新复现了您的算法,用hwdb1.1数据训练模型,图像处理的过程为取灰度,resize到(64,64,1),标准化到01区间,发现均不收敛loss始终在8.2左右,可否告知下训练前是否对图像做了其它的调整。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.