如何用深度学习识别汉字

拒绝访问 |
| 百度云加速
请打开cookies.
此网站 () 的管理员禁止了您的访问。原因是您的访问包含了非浏览器特征(3a137faae43a43b3-ua98).
重新安装浏览器,或使用别的浏览器深度学习在手写汉字识别中的应用综述_金连文_图文_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
深度学习在手写汉字识别中的应用综述_金连文
阅读已结束,下载文档到电脑
想免费下载更多文档?
定制HR最喜欢的简历
下载文档到电脑,方便使用
还剩14页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢查看: 10837|回复: 54
深度学习下的验证码识别教程
阅读权限160
本帖最后由 hopef 于
18:41 编辑
随着大数据时代,人工智能时代的到来,深度学习的应用越来越广,场景识别、目标检测、人脸识别、图像识别等等广泛应用。在人工智能方面。深度学习框架主要运用于python,c++等资源。而使用深度学习框架的资料,源码缺十分稀少。于是我决定给大家录制一套易语言深度学习的教程。本套教程基于我自己开发的CC框架,下面这些图片案例,就是深度学习做的效果,非常棒:
QQ截图16.png (226.04 KB, 下载次数: 0)
00:19 上传
人脸识别、场景分割、验证码识别等
图片4.png (871.61 KB, 下载次数: 0)
00:20 上传
目标检测和分割
图片7.png (940.18 KB, 下载次数: 0)
00:20 上传
图片5.png (418.44 KB, 下载次数: 0)
00:20 上传
图片6.png (353.95 KB, 下载次数: 0)
00:20 上传
图片2.gif (66.48 KB, 下载次数: 0)
00:20 上传
图片3.gif (107.6 KB, 下载次数: 0)
00:20 上传
图片8.png (780.67 KB, 下载次数: 0)
00:18 上传
课程安排如下:第一课:CC框架简介 第二课:相关基本概念 第三课:训练验证码识别 第四课:图像识别、分类、人脸识别&&第五课:CNN+LSTM少样本高精度验证码识别 点我跳转第六课:总结和展望 点我跳转 CC框架的简介
CC框架,是一个由Caffe包装的一个深度学习应用框架。一个简单易用的DLL接口库,一套训练的解决方案和部署的解决方案,也是一个完全开源免费的公开项目。
于日创立,现如今已经已经是3.0版。复制代码
CC的特性有:支持最新的人脸识别训练,Center Loss支持目标检测训练,SSD支持CPU、GPU、Win32、x64支持快速深度学习项目部署,只有极少的依赖项支持GPU高性能服务,也支持易语言实现GPU高性能服务支持模型压缩功能支持LSTM+CTC、多标签,便于OCR、验证码识别有C++、、易语言调用案例非常容易使用而且稳定
相关地址:CC项目:/dlunion/CCDLCC发布版本:/fs/9.release/CC3.0-alpha.4.integrate.rar
关于Caffe:Caffe:http://caffe.berkeleyvision.org/CaffeGithub:/BVLC/caffe
CC框架开发的目的和初衷:深度学习是个很有用的技术,相对没有图像处理经验、甚至没有学历经验的人,因其操作复杂,理论复杂,应用也麻烦,而成为学习深度学习技术的一个主要障碍和门槛。CC框架的提出主要愿景是能让深度学习更加容易的应用部署起来,提升深度学习项目开发效率,降低学习难度和门槛,让更多的人更加容易的学习深度学习这门技术。为此楼主也是费尽心思的啦~,而这个教程,则是为了带大家学会如何使用CC提供的功能进行训练和使用,入门深度学习领域。深度学习有很多细分领域,都非常非常热门有用。我们教程先从验证码入手一步一步来使用和理解他。
感兴趣的童鞋可以进群交流深度学习交流群:<font color="#ff706 之前我已经录制了基于:cc框架2.2版本是视频,想一睹为快的同学可以先下载观看。/s/1qY53pQc下载:/23ffb0caecc2f9
感谢分享,很给力!~
厉害了 我的哥
这是我最想学的技术
可惜数学看不懂 原理学不透
很不错的样子。
新技能已get√
新技能已get√
新技能已get√
感谢分享,很给力!~
支持开源~!感谢分享
新技能已get√
新技能已get√
小哥666的起飞咯
小哥666的起飞咯
新技能已get√
支持开源~!感谢分享
感谢分享,很给力!~
感谢分享,很给力!~
感谢分享,很给力!~
感谢分享,很给力!~
这么厉害!必须给个红包鼓励下~
感谢分享,很给力!~
论坛动态:&抢先订阅 QT语音交流频道:
您可以选择打赏方式支持楼主
本帖被以下淘专辑推荐:
& |主题: 142, 订阅: 16
& |主题: 58, 订阅: 2
& |主题: 3, 订阅: 0
& |主题: 4, 订阅: 0
阅读权限140
结帖率: (55/72)
发表于 6&天前
支持楼主,这是强大的教程
阅读权限10
结帖率: (0/2)
感谢楼主,绝对顶你!
阅读权限30
签到天数: 18 天结帖率: (1/1)
支持楼主,这是强大的教程
阅读权限10
这样是不是可以配合arduino 实现硬件自动瞄头辅Zhu&&这样就无敌了
这个想法不错
阅读权限30
签到天数: 13 天
高大上手机用户
不行啊,强大的
阅读权限30
签到天数: 10 天结帖率: (8/8)
高大上手机用户
方框透视。。。。。。。。
阅读权限30
签到天数: 1 天结帖率: (3/4)
支持楼主,这是强大的教程
阅读权限10
你好老师,下载了您的“CC深度学习V2.2”,准备学习一下,安装了Anaconda2(Anaconda2-4.4.0-Windows-x86_64.exe),按说明,配置了环境变量,安装了python库,在运行server下的1.run-dl-server.bat文件时,报错(Traceback (most recent call last):
&&File &dl-server.py&, line 18, in &module&
& & import caffe
&&File &../caffe_gpu\caffe\__init__.py&, line 1, in &module&
& & from .pycaffe import Net, SGDSolver, NesterovSolver, AdaGradSolver, RMSPropS
olver, AdaDeltaSolver, AdamSolver
&&File &../caffe_gpu\caffe\pycaffe.py&, line 13, in &module&
& & from ._caffe import Net, SGDSolver, NesterovSolver, AdaGradSolver, \
ImportError: DLL load failed: 找不到指定的模块。)
所以没有配置成功,请指教。秋秋号 五六一六叁叁2.
阅读权限30
签到天数: 13 天
这是强大的教程 ,真的可以 !
精易论坛 - 有你更精彩 /1
今晚8点开课剖析调试种种加密,力争解密一切JS。。
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
揭阳精易科技有限公司申明:我公司所有的培训课程版权归精易所有,任何人以任何方式翻录、盗版、破解本站培训课程,我们必将通过法律途径解决!
公司简介:揭阳市揭东区精易科技有限公司致力于易语言教学培训/易语言学习交流社区的建设与软件开发,多年来为中小企业编写过许许多多各式软件,并把多年积累的开发经验逐步录制成视频课程供学员学习,让学员全面系统化学习易语言编程,少走弯路,减少对相关技术的研究与摸索时间,从而加快了学习进度!
防范网络诈骗,远离网络犯罪
违法和不良信息举报电话,QQ: ,,邮箱:@
Powered by
粤公网安备 25第17页/共17页
渐在人们日常生活中占据重要 地位. 随着触屏智能手机代替传统键盘手机, 笔交互 设备的第二次复兴, 文字输入从原来纯键盘的拼音 或五笔输入方式将逐渐变成虚拟键盘、手写和语音 等多种输入结合的方式. 艾媒咨询 2015 年第二季 度中国市场调研数据显示[144] : 输入方式的使用比例 中, 手写输入方式占 13.1 %, 仅次于九宫格拼音 (占 47.2 %) 和全键盘拼音输入 (占 24.8 %), 并远大于语
音输入 (占 5.8 %) 和五笔输入 (3.6 %), 手写输入用 户连续三年呈现平稳增长态势, 手写输入作为一个 重要的触屏交互应用也逐渐流行并广受重视, 每天 将产生大量的各种各样手写样本. 因此, 中文手写识 别技术仍然值得更多的关注和更深入的研究. 手写体汉字识别经历了四十多年的长足发展, 在单字和文本行识别性能上有了很大的提高, 特别 是以 CNN 为代表的一系列深度学习模型的出现, 手 写单字符中文识别问题已经基本上得到了很好解决, 无论是联机还是脱机手写中文字符识别, 目前基于 CNN 及其改进模型的方法均取得了接近甚至是超 过人眼识别性能的高识别率. 然而, 在手写汉字识别 领域, 仍然很多值得研究的问题有待解决, 例如: 1) 手写文本行识别问题: 目前基于深度学习模 型的联机及脱机手写文本行识别的成功报道很少, 自从 ICDAR 2013 中文手写文本行竞赛以来, 近两 年在此方向上仍然没有突破性进展, 对于联机中文 手写文本行识别, 目前最好的识别率指标 (CR 或者 AR) 均才达到 95 % 左右[36, 38] , 而脱机手写文本行 识别最好的 AR 及 CR 指标仅为 90 % 左右[35, 138] , 特别是以整行为单位来评价识别率, 行级别的识别 率将会很低, 仍然有很大的提升空间. 可以说联机 及脱机手写文本行识别仍然是未解决的难题. 一些 值得关注的研究方向包括: a) 融合基于切分+基于 CNN 的单字识别+路径优化算法, 这当中有不少关 键技术需要解决, 例如如何提升 CNN 的置信度的可 靠性、能否用 CNN 的方法进行字符分割等; b) 基 于无切分的 RNN/LSTM/BLSTM 的滑窗式识别 方法, 此方面对于小类别的拉丁文字已经成为公认 的最佳方法, 但对于大类别的汉字识别问题是否最 优仍然值得商榷及探讨; c) 基于 CNN+LSTM 的端 到端的纯深度学习解决方案. 2) 无约束的手写文字识别问题: 其中一个值得 关注的研究问题是旋转无关的手写识别问题, 根据 2010 年发布的国家标准 GB/T “联机手 写汉字识别系统技术要求与测试规程”[145] , 手写输 入软件及设备必须要能识别 ±45o 的手写样本, 然而 目前市场上的绝大部分主流输入法产品均无法满足 此要求. 尽管一些研究人员注意到此问题, 并开展了 不少前期探索工作[67, 140
第17页/共17页
寻找更多 ""HIBOP:基于深度学习的手写笔迹鉴别
这是一个HIBOP项目的demo,我们使用了对机器进行深度学习的训练,您可以从未被机器学习过的图片中任选一张进行测试,看看机器是否能正确识别。
下面是从中随机抽选的一组图片,点击任意一张进行测试:
HIBOP通过对大量手写笔迹的学习,可以精确识别笔迹的类别。该功能可用于以下场景:
查找字体:看到一个很漂亮的字体,但不知道是什么字体,可输入图片,机器反馈字体名称。
手写密码:用户不再需要记忆按钮密码,在电脑、手机、ATM机等终端面前手写输入,机器即可识别是否是用户本人笔迹。
司法鉴定:在司法案件中,经常需要比对检材与样本,鉴定笔迹是否为当事人所写,如果可以借助机器辅助,那么在确认笔迹的同一或差异的过程中,鉴定人的工作效率就可以大幅度提升。
智能鉴宝:艺术爱好者收藏的名家字画,是真迹还是赝品,将其细节以图片形式输入,机器反馈结论,用人工智能辅助鉴宝,以鉴别名家字画的真假。
P.S. 以上提到的“查找字体”功能,目前有类似的服务,但实现原理完全不同,HIBOP运用Paddle深度学习将有效提高识别效率和识别正确率,且在理论上,机器学习有趋于完美的可能性,这无疑比人为预设的算法更具有广阔的未来可塑性。
机器的深度学习,简而言之,主要有两个要点:一是抽象出若干特征点;二是建立特征点与特征点之间的关联。Paddle官网上的“图像分类”示例,用来学习Cifar-10数据,以便认知现实中的事物(动物、物品等),是常规的用法,而由于HIBOP的作者日常从事的是法律工作,经常与笔迹的司法鉴定打交道,他希望尝试深度学习技术在认识字迹方面的运用,于是萌生了最初的创意。
运用计算机技术帮助鉴定人识别字迹,其实已经有一些已经成型的产品了,但是,它们都是基于传统的建模方式即人工首先预设了监测要点的计算方法,而HIBOP试图做的,是运用足够训练量的机器自主学习,用大数据的思维来解决问题的思路。人工预设要点建立模型的方法有一个可能致命的缺陷,就是,它是建立在细致观察和抽象思考的基础上的,金无足赤人无完人,由于时间和精力的有限,智者千虑也必有一失,而漏掉一个简单要点的结果却可能是失之毫厘谬以千里,而弥补这个缺陷的希望,就是不预设要点的、普适的深度学习:某种意义上,机器比人记得快,且不会遗忘,因此时间和空间成本趋向于零;并且机器不会困乏,不存在状态误差;最重要的,机器是没有价值判断的,因此它不会主观忽略任何一个特征,理论上,如果学习的样本足够多,算力足够大,机器将能学会任何东西。
在创意实现过程中,被有几位朋友质疑过,他们认为,这不是OCR认字,而是识别这是谁的字迹,而且是不限特定字的广泛识别,由于这是“特征识别”而不是“形态识别”,他们认为并不可行。可是,回头看深度学习的神奇之处,恰恰是从根本上并不区分特征和形态的,特征就是形态的一部分,形态由若干个特征组成:举个例子,四个字,一个宋体的“大”字,一个宋体的“木”字,一个黑体的“大”字,一个黑体的“木”字,如果给人分类,大多数人的直觉一定是把形态相同的两个“大”字分一类,两个“木”字分一类,但这只是人类的直觉,事实上,如果把两个宋体字分一类、两个黑体字分一类,也是不错的,后者就是形态归类。要训练机器达到目的,关键看你怎么去教育机器,如果按照前者的形态归类法去训练机器,当然得不到区分字体和字迹的功能,但是,如果我们用后者形态归类法去训练机器,就能得到HIBOP的效果。是的,特征分类法这违反人的直觉,但并不违反深度学习的基本原理,当我们以特征分类法训练机器的时候,机器会发现宋体“大”字的那一撇与宋体“木”字的那一撇是相同的,而它的特征与黑体的字是截然不同的,如此,机器便能学会以特征而不是具体的形态区分事物。
也有一些人提出了这样的质疑:现实中的字迹千差万别,真要是用在实际产品中,准确性几何?确实,就真实的手写字迹来说,可能会遇到模仿伪造的情况,有的人会用左手书写刻意隐瞒真实字迹,书写人的心理状态和外部条件也会对字迹的正规或潦草有影响,加上笔的特质和字迹载体也是千差万别的,专业鉴定人说,手写笔迹实际上是一个四维的存在,下笔力度的轻重不同会形成笔迹的空间第三维度特质,而笔顺的先后则是笔迹的时间维度,通过二维的计算机图片恐怕很难完整表现出其思维特质。但是,很难表现并不代表不能表现,蛛丝马迹并不代表它不存在,即便一些特征时隐时现,即便四维的字迹只能以二维图片的形式表现从而损失了一些特征,但这些特征在足够多的样本中总能被观察到(司法鉴定中常见这样的案例,即便一个人故意用别扭的左手写字,某些习惯特征也会不自觉带进字迹中),深度学习的普适性原理告诉我们,只要是特征,就不怕机器观察不到,特征就是规律,只要有规律,就不怕机器学不会。我们相信,只要存在特征,就存在规律,只要人类能分辨,机器就能通过足够的样本学会分辨。
当然,限于技术水平有限和时间仓促,目前HIBOP能展现的能力还并不完美,正确率还有待大幅度提升,所以,在司法鉴定等特别严肃领域的应用还不可能起到主导作用,而只能是辅助性、参考性的,最终起主导作用的,仍然应当是人,机器的作用在于两点:启迪思路、提高效率。而无论如何,HIBOP的一个重要的贡献在于,它开创了一种新的思路,运用大数据和深度学习方法来进行笔迹这种“特征”而不是传统的“形态”识别的思路,它拥有广阔的前景和无限想象的未来可塑性,值得我们继续钻研攻坚。
实现进路:
1、制作专属数据包。
(1)挑选10款名人手写字体,获得它们的ttf文件;
(2)整理一级常用汉字3500个;
(3)用php脚本结合字体文件生成了3的jpg图片(每款各3500张),图片的文件名随机编号,每一类中的字符顺序都完全不同;
(4)按照Paddle的规范生成数据包。
2、安装配置Paddle环境
基于Ubuntu14.04 64位安装:
(1)安装paddle.deb。因为是使用的百度云BCC,所以选用了版本;
(2)安装python及一堆要用到的包,包括libjpeg8-dev、zlib1g-dev、libfreetype6-dev、libjpeg-dev、python-numpy、python-matplotlib等;
更多详细,可至。
3、基于图像分类示例代码进行改进
(1)下载对应版本的;
(2)在图像分类示例代码的基础上,进行了适当的接口适配和参数调整,包括:
①用HIBOP专属图片数据代替原Cifar-out文件夹中的文件【】;
②调整中的map分类;
③测试调整和中的参数,以便性能最优;
④提升内存,以便高效进行机器训练。
4、运行train.sh
5、制作与最终用户交互的界面
(1)安装配置Apache+php的运行环境;
(2)修改python模块:
①修改logging.py,以便能用shell_exec()正常执行predict.py;
②修改plotcurve.py,以便机器进行深度学习的数据能够以更合适的折线图展现出来;
(3)编写php文件,实现浏览器中进行predict交互。
6、评估深度学习的效果,制作HIBOP官网。
运行结果:
训练效果折线图:
训练期间及内存消耗情况:
准备基于paddle做一款应用,参加。
初步构思创意,报名参赛。
一直试图在本地电脑安装Paddle,失败;申请,等待。
收到参赛福利,百度云2000元代金券(感谢宛因的热情与周到)。
百度云方面告知,百度云上的Paddle暂不能用,如果想用,可以自行安装,遂又开始倒腾:使用Docker安装失败,在Ubuntu14.04环境中安装成功。
在本地虚拟机、真机、百度云BCC上均运行Paddle不成功,遂在,在等同学的帮助下,终于运行成功。
本地虚拟机、真机、百度云BCC均运行一段时间后进程被kill,系内存不足所致,一方面逐步将BCC的内存扩容至24G(运行HIBOP项目最多不到7G,所以事后发现8G内存应当足够,多了有点浪费),一方面调整参数,Paddle终于正常运行。
正式确定产品创意,与进行可行性辩论。
制作用于学习和测试的名人字迹图片35000张。
尝试使用php的shell_exec()函数调用Python执行Paddle程序(由于Paddle目前只能用python操控,而用php做前端交互比python方便很多),被logging包给折腾了一晚上,终于解决了。
按照Cifar-10标准打包用于训练和测试的图片(参考了)。
改进plotcurve.py,以便生成更符合要求的日志折线图;改进preprocess.py,以便按照要求执行数据预处理。
到网上找各种方法,终于调试得没有错误了,才回头发现,根本不需要走这一步,示例中的就可以直接把图片文件按照Paddle的格式batch化,之前都没注意,瞎绕了一大圈,不过好歹加深了自己对系统原理的理解和python的代码能力。
PNG图片中有alpha通道,与image_provider.py的算法不兼容,换成JPG格式图片。凌晨1点,使用HIBOP数据的Paddle开始进行训练,不知训练效果如何,期待吧!
训练运算24小时,综合错误率最低已达9.20%了!
训练完成于上午10点多,最终综合错误率最低为8.18%()!
从训练结果来看,错误率远远低于HIBOP作者最初的预期,这也证明了,深度学习的“特征识别”与“形态识别”一样是可行的,当然,最主要的是,百度的Paddle足够厉害!
HIBOP项目的理论设想与初步实验结果的吻合,意味着,将深度学习和大数据理念运用于字迹鉴别,是可行的!
从测试结果来看,虽然有一些字迹的第一顺位测试结果错误,但正确的结果仍然是排在备选顺序前三位的,目前HIBOP的成果已经可以直接运用于“查找字体”一类的简单应用了。
造成目前错误率的原因:
错误的原因之一:一些字过于简单(难以包含足够的特征)或过于复杂(难以在小尺寸图片上精确体现特征)。如果能把训练和测试的样本进行一些筛选,比如把过于简单的字和过于复杂的字筛选掉,错误率应该能降低更多。
错误的原因之二:有一些VGG训练参数还待调整优化。
错误的原因之三:目前32×32的尺寸对于更精确的体现特征还不太够。如果适度提高图片的精度,机器应该能习得更多字体的特征。
由于时间仓促,上述问题,计划下一步继续实验,将HIBOP项目长期维护。
目前的成果已经可以胜任“查找字体”一类普通应用,但要应用于精确性要求更严格的领域,还有更多艰难的工作要做。
下一步计划:
0、配置使用GPU运算的分布式Paddle环境,真正释放深度学习的潜能。
1、增加多种字体,实现计算机字体的全种类大数据查找。
查找字体功能
技术难度:★★
前期投入:★★
商业前景:★★
2、用真正的真人手写笔迹进行实验,可与等(它们提供一个制作真人专属字体的服务平台)进行合作,获取大量真人手写笔迹数据,用于实验,以实现“手写密码”服务。
手写密码功能
技术难度:★★★
前期投入:★★★
商业前景:★★★★★
3、与司法机关和鉴定机构合作,针对性获取和整理真人手写笔迹,以实现辅助司法笔迹鉴定。
司法鉴定功能
技术难度:★★★★
前期投入:★★★★★
商业前景:★★★
4、收集和整理名家字画真迹数据,以实现“智能鉴宝”。
智能鉴宝功能
技术难度:★★★★★
前期投入:★★★★★
商业前景:★★★★}

我要回帖

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信