专栏首页机器学习AI算法工程python+flask搭建CNN在线识别手写中文网站

python+flask搭建CNN在线识别手写中文网站

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

代码获取:

关注微信公众号 datayx 然后回复 手写识别 即可获取。

一、数据集

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

二、CNN结构:

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

训练图片都修整成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进行查看;

本文分享自微信公众号 - 机器学习AI算法工程(datayx)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-10-14

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 快手活跃用户预测_哈工大团队解决方案

    特别特征:因为注册必登陆,行为能体现用户的某种本质,所以对注册当天提取了特征,注册本身是一种异常,所以去除注册当天记录后再提取特征

    机器学习AI算法工程
  • DeepFashion服装数据集

    Img - 服装图片文件夹 - 共 289,222 张图片,JPG 格式. 图片的最长边 resize 到 300,保持原始图片的长宽比 aspect rati...

    机器学习AI算法工程
  • 基于知识图谱的问答系统,BERT做命名实体识别和句子相似度

    了解知识图谱的基本概念,也做过一些demo的实践,毕竟是做问答方向的,所以就比较关注基于知识图谱的问答。其实构建知识图谱的核心在于命名实体识别和关系抽取,围绕这...

    机器学习AI算法工程
  • 果小美系三拼官网域名 已完成C轮融资

    果小美创始人兼CEO阎利珉在近日举办的成都高新区“新经济工作会议”上对外透露:果小美近期完成资金额超过5亿人民币的C轮融资。 

    躲在树上的域小名
  • DeepMind最新ICML论文:价值分布方法超越所有传统强化学习

    【新智元导读】DeepMind 在他们的 ICML 2017 论文 A Distributional Perspective on Reinforcement ...

    新智元
  • NeurIPS 2018,最佳论文也许就藏在这30篇oral论文中

    未来一周,AI 顶会 NeurIPS 2018 将于当地时间 12 月 2 日-8 日在加拿大蒙特利尔举行。2016 年有 5000 人注册参加该会议,2017...

    机器之心
  • Java 给定字符串中找到数字

    桑鱼
  • 【leetcode 简单】 第六十五题

            任何整数乘以2,都相当于向左移动了一位,而2的0次幂为1,所以2的n次幂就是1向左移动n位。这样,2的幂的特征就是二进制表示只有最高位为1,其他...

    py3study
  • 弹幕君,别挡着我看小姐姐!

    内容来源:本文转自微信公众号—— Crossin的编程教室(ID: crossincode),好文请多支持!感谢您的阅读~

    IT大咖说
  • 3、产品经理的自我管理

    1.产品经理的自我管理 -> 习惯,是一个人一生的财富 -> 你的工作角色, 决定了你的生活方式 -> 产品经理不仅需要一颗风骚的内心,更需要刚硬坚定的自我管理...

    陈树义

扫码关注云+社区

领取腾讯云代金券