【手写汉字识别】基于深度学习的脱机手写汉字识别技术研究

时间:2024-04-10 07:26:08

写在前面

最近一段时间在为本科毕业设计做一些知识储备,方向与手写识别的系统设计相关,在看到一篇2019年题为《基于深度学习的脱机手写汉字识别技术研究》的工学硕士论文后,感觉收获比较大,准备把自己的总结和一些想法记录下来,本篇文章只记录本人感兴趣部分

一、发展

  1. 1966年,IBM 公司R.Casey、G.Nagy发表了关于印刷汉字识别的论文,使用方法是模板匹配,1000个汉字
  2. 1977年,日本东芝公司开发出首个可以识别2000个不同汉字的印刷体汉字识别系统
  3. 80年代,GB2312-80字符集诞生
  4. 1981年,IBM公司的E. F. Yhap等开发了联机手写汉字识别系统,该系统基于汉字笔画,字根编码的思想对汉字进行识别,对920字有91.1%识别率,对2260字有79.9%识别率
  5. 1988年,国内刘迎键等人提出利用笔段为基元的联机手写汉字识别技术,手写正楷汉字,识别字典可达6763-12000,可达95%识别率
  6. 1996年,中科院自动化研究所开发出一套脱机手写汉字识别系统,其适用于特定的人群,识别率可以达到93.6%

二、方法

1.传统方法

主要包括数据预处理、特征提取(压缩)和分类识别几部分

  1. 数据预处理主要包括样本归一化、整形变换、伪样本生成等。
  2. 特征提取部分可以分为结构特征和统计特征两种,结构特征主要对汉字结构、笔画或部件进行分析来提取,统计特征主要是方向特征,Gabor特征及梯度特征
  3. 压缩方法有PCA、FDA、DFE
  4. 分类器常用,MQDF、SVM、HMM、DLQDF、LVQ
2.深度学习方法

2011和2013年ICDAR手写汉字识别比赛使用的都是基于深度学习或神经网络方法,且获得了第一名的成绩(文中貌似没有具体阐述深度学习方法对这一块的发展内容)

三、深度学习研究现状

BP、LeNet-5、DBN、AlexNet、GoogLeNet、VGGNet、RCNN、深度强化学习、指针网络、ResNet、胶囊网络、RNN(LSTM)

四、研究难点

分类数量多、风格差异多、形近字多(GB2312-80标准)

五、本文特点

1.提取汉字图像的八方向梯度特征,使用八方向梯度特征图像作为卷积神经网络的输入,提升了汉字识别的准确率
2.使用深度可分离卷积方式进行卷积,相比于常规卷积,即减少了模型参数又提升了模型识别效果
3.形近字难以识别问题,对卷积神经网络损失函数进行改进,使用 Softmax 损失函数和Center Loss函数作为卷积神经网络的联合损失函数,增大不同类别汉字的类间距离,提升相似手写汉字识别准确率;提出使用卷积神经网络加支持向量机的方法对相似手写汉字进行识别

六、使用的方法

输入图像、图像预处理(对比度增强+尺寸归一化)、八方向梯度特征提取、设计网络(20种网络,均为3x3的卷积核,stride=2,0填充,2x2的max pooling,softmax,将每一个Net的正常卷积改为可分离卷积),超参数包括分类器、损失函数(交叉熵损失函数)、优化器(Adadelta)、权重初始化(W均值0,标准差0.01;b为0)、**函数(ReLU)、Dropout(50%)、Batch Size(128),做了过程可视化
【手写汉字识别】基于深度学习的脱机手写汉字识别技术研究

七、使用的数据集

CASIA-HWDB1.1做训练、ICDAR-2013做测试

八、结果和简要分析

【手写汉字识别】基于深度学习的脱机手写汉字识别技术研究
上表可以看到八方向梯度特征整体要比原图输入要好,另外可分离卷积比常规卷积整体要好
【手写汉字识别】基于深度学习的脱机手写汉字识别技术研究
上表可以看到网络越复杂, 周期和训练时间越长
【手写汉字识别】基于深度学习的脱机手写汉字识别技术研究
【手写汉字识别】基于深度学习的脱机手写汉字识别技术研究
上面两表的结论在第一个表分析中已经可以体现
【手写汉字识别】基于深度学习的脱机手写汉字识别技术研究
本文使用的最好的模型的的准确率相对还是比较高,存储量底是一个特点


九、总结和想法

花了大概两个小时看完,作为第一篇比较深入研读的论文,这篇论文给我的信息非常多。

  • 首先是发展历史,学习一个领域,了解其发展历史是十分有必要的,脱机手写汉字识别的历史大概有半个世纪,至目前位置,使用深度学习的方法要远甚于传统方法,这当然与神经网络强大的非线性函数逼近能力有着莫大的关系。
  • 其次是方法研究,传统方法进行目标识别(分类),使用预处理、特征提取(压缩)、分类三个步骤基本是已经成形的流程,对于识别(尤其是本文的单字识别分类)而言,整体效果还是比较可观的,然而一旦将其放在复杂场景或者对多字进行识别,其过程将会复杂得多,多字识别包含检测+识别,单单是检测一个步骤,就已经非常困难。而另一方面,对于神经网络在复杂场景的识别,相比传统方法就容易得多,不过这同时也是我的一个知识盲区,如何在复杂场景在对手写汉字(多字)进行识别,目前也在查找相关资料。
  • 深度学习研究现状,深度学习是比较庞大的领域,到目前为止已经发展了许许多多的分支,什么网络适用于什么领域,以及是否可以将多类型的网络结合在一起、如何结合在一起,也是知识盲区。
  • 八方向梯度特征提取,根据论文结论来看,效果明显是比较好的,八个方向的效果就可以增加这么多的识别率,如果方向再多一点,或者特征提取的方法换一下,让特征提取的角度变多,是否也会增加识别率呢。
  • 可分离卷积,相比常规卷积,可分离卷积分为深度卷积和驻点卷积两个部分,参考链接,其优点是计算量更少,这可能也是为什么模型存储量更少的原因,缺点是对简单网络或单个属性的输入会相当不利,论文中得到的结论,可分离卷积相对整体识别率更好一点。
  • 对于手写识别错误的,作者还将其进行提出来进行分析,为什么错误,可以用什么方法来弥补,于是设计了CNN+Center Loss和CNN+SVM两种方式进行分类的改进,得到了更好的效果
  • 最后是论文结构,似乎很多硕士论文都是这种结构,也是一个总结
  • 绪论
    – 研究背景与意义
    – 国内外研究
    – 本文主要研究内容
    – 论文组织结构
  • 技术分析
    – xxx技术
    – xxx技术
    – xxx技术
    – 小结
  • 本文使用的技术A(一个名字)
    – 基本流程
    – 网络设计
    – 训练
    – 实验结果和分析
    – 小结
  • 本文使用的技术B
    – 问题描述
    – 技术描述
    – 实验结果和分析
    – 小结
  • 总结和展望
    – 全文总结
    – 展望
  • 参考文献
  • 其它