明亮如星研旅(4)—— Online and offline handwritten Chinese character recognition

文章目录

  • 简述
  • 主要内容
    • 1 方向分解特征图
      • 1.1 线下文字的DirectMap
      • 1.2 线上文字的DirectMap
    • 2 卷积网络提出
      • 2.1 网络结构
      • 2.2 参数设置
      • 2.3 网络适应层
    • 3 实验
  • 总结
  • 附录

前面回顾了几种经典的传统文字检测识别方法,这里呈上基于深度学习的文章。可以说基于深度学习的方法的准确率远远超过了传统方法,但是却拉低了学术的层次,一系列缺点这里就不罗列了。很多论文的创新点很少,差不多就是搭个经典网络,稍微改进下网络结构,一堆数据送进去疯狂训练。不断刷准确率,准确率上去了就可以发论文了。

以下要介绍的文章(【Paper】 Zhang X Y , Bengio Y , Liu C L . Online and offline handwritten Chinese character recognition: A comprehensive study and new benchmark[J]. Pattern Recognition, 2017, 61(Complete):348-360.) 说实话也,差不多这样子的,但是毕竟发在PR上,还是有几个创新点值得我们学习。

简述

文章将传统的特征图(directMap)和深度卷积神经网络结合起来了,在线上和线下的文字识别提高到一个较高精度。文章提出了一个新的网络适应层,能够一定程度上实现无监督学习,即可以对新书写风格样本也能准确分类。

主要内容

1 方向分解特征图

在深度学习之前,样本预处理可以说是特别重要的一部分,好的预处理能够极大提高分类性能,前人有大量关于预处理的研究工作,包括形状归一化、去噪、方向分解等等。

方向分解主要有两种实现方式1:1、normalization-cooperated 2、normalization-based ,其中 基于normalization-cooperated方法,无需生成归一化字体,能够减少笔画梯度上的扭曲失真,接下来文章给出具体的DirectMap生成方式。

1.1 线下文字的DirectMap

线下文字的DirectMap的具体流程是这样的:

  1. 灰度调整:背景调整成0,前景调整成[1-255](不同样本需灰度归一化)
  2. 形状归一化:使用LDPI方法2,必其他的形状归一化方法要好。
  3. 方向分解:对原图像(非归一化后的图像)使用Sobel算子求得梯度,将梯度在两个标准方向进行分解。

1.2 线上文字的DirectMap

线上文字能够记录每个笔画的轨迹信息,所能利用的信息更多,且存在较少的噪声干扰,具体流程是这样的:

  1. 形状归一化:使用 the pseudo 2D bi-moment normalization (P2DBMN)3,前面线下文字的方法不适合了。
  2. 方向分解:方向分解的方法同线下的方法,所谓的笔画是两个相邻点所连成的直线,多余的笔画轨迹(手写体常常有连笔笔画)信息也可以利用起来。

最后得到如下图: 明亮如星研旅(4)—— Online and offline handwritten Chinese character recognition_第1张图片
从图中可以看到在8个方向的分解,线下字体笔画是空心的,而在线的笔画实心的。图像密度是稀疏的,可以进一步压缩(文章resize成8x32x32)。

2 卷积网络提出

在提出网络之前,文章还分析了一波传统方法与神经网络的联系与区别:

明亮如星研旅(4)—— Online and offline handwritten Chinese character recognition_第2张图片

简单的说就是隐藏层代替人工特征提取器NFC、MQDF等,自动提取了特征。

2.1 网络结构

接下来给出了具体设计的网络:

明亮如星研旅(4)—— Online and offline handwritten Chinese character recognition_第3张图片
网络有11层,输入层是8*32*32的DirectMap,固定每一层均为3*3的视野窗,步长为1,特征图数从50到400逐层增加,池化层为2*2的max-pool隔层放置(使得特征图尺寸慢慢减小,增加网络层数),最后是两个全连接层,以及SoftMax层分类(3775个常用汉字分类)。

2.2 参数设置

文章中讲了许多网络细节,是目前网络设计的主流规范,这里就简单介绍:

  • 正则化项:使用dropout策略,比例逐层增加(除第一层与最后一层);加入正则化项,即权重W的 l 2 l_{2} l2范数,比例为0.0005。
  • 激活函数:使用leak-ReLU函数, λ = 1 / 3 \lambda=1/3 λ=1/3.
  • 权重初始化:权重初始化成0均值的高斯分布,其中 δ = 0.01 \delta=0.01 δ=0.01。考虑到实际训练过程成,经过softmax层之后,不同类别之间的比例差异很小,难以分类。这里使用了一个策略就是在乘以一个常数 v = − l n 0.8 Δ v=-ln0.8\Delta v=ln0.8Δ(具体计算过程可以看论文,简单计算)。由于网络每一层具有线性性,故只要在DirectMap中乘即可。
  • 训练过程:使用交叉熵损失函数,使用动量批梯度下降优化器,逐批次训练。具体参数设定可以参考论文,其实也是试出来的,没有理论。

2.3 网络适应层

适应层是本文的一个亮点,目前的研究趋向于弱监督学习无监督学习,如何能使用已有标记的样本去发现未知的样本,是近几年急需解决的问题。
以往的fine-tune策略是,在训练好的网络中加入新的训练样本,再进行训练,仅微调最后全连接层的参数。在很深层的网络中,根据大部分实验来看,也能取得较好的结果,但这还是局限于监督学习。本文提出了一种微调策略,具体过程如下:
1、估计从训练集中计算类均值

明亮如星研旅(4)—— Online and offline handwritten Chinese character recognition_第4张图片

式中训练集为 { x i t r n , y i t r n } i = 1 N \left\{x_{i}^{trn}, y_{i}^{trn}\right\}_{i=1}^{N} {xitrn,yitrn}i=1N y i trn ⁡ ∈ { 1 , 2 , … , c } y_{i}^{\operatorname{trn}} \in\{1,2, \ldots, c\} yitrn{1,2,,c},c是类别数, ϕ ( x i t r n ) \phi\left(x_{i}^{\mathrm{trn}}\right) ϕ(xitrn)是源网络层输出, { μ 1 , … , μ c } \left\{\mu_{1}, \dots, \mu_{c}\right\} {μ1,,μc}是训练集的均值向量,这用于之后未知类的计算。

2、定义适应层

所谓的适应层,即包括矩阵 A ∈ R d × d A \in \mathbb{R}^{d \times d} ARd×d和偏置向量 b ∈ R d b \in \mathbb{R}^{d} bRd,且没有激活函数。学习流程为:先随意初始化A和b,将样本输入到添加适应层后的网络中,得到一个预测类 y i y_i yi以及softmax层的置信度 f i f_i fi,给出评价函数
min ⁡ A , b ∑ i = 1 n f i ∥ A ϕ ( x i ) + b − μ y i ∥ 2 2 + β ∥ A − I ∥ F 2 + γ ∥ b ∥ 2 2 ( 2 ) \min _{A, b} \sum_{i=1}^{n} f_{i}\left\|A \phi\left(x_{i}\right)+b-\mu_{y_{i}}\right\|_{2}^{2}+\beta\|A-I\|_{F}^{2}+\gamma\|b\|_{2}^{2}\quad\quad(2) A,bmini=1nfiAϕ(xi)+bμyi22+βAIF2+γb22(2)
优化此函数得到最优参数A和b。相应调整网络适应层的参数,再次迭代循环。具体的算法流程图如下:
明亮如星研旅(4)—— Online and offline handwritten Chinese character recognition_第5张图片
这个算法策略其实与K-mean聚类相似,只是初始类中心点是根据训练集确定,评价函数是一个二次凸函数,第一项是经验损失,第二三项是正则化项,最优解可以在有限次迭代得到(QP问题)。通过此策略一定程度上可以提高无监督学习的准确率。

3 实验

实验采用HWDB1.0-1.2以及OLHWDB1.0-1.2两个训练集,ICDAR-2013作为训练集(60个作者不同的书写风格)
明亮如星研旅(4)—— Online and offline handwritten Chinese character recognition_第6张图片
使用使用一个 NVIDIA Titan-X 12G GPU.,每次实验训练70个epochs,每次80小时(我只能惊叹!!!!)
明亮如星研旅(4)—— Online and offline handwritten Chinese character recognition_第7张图片
实验使用批次动量梯度下降法,三个断层代表学习率的下降,学习率对训练产生重要影响,随着迭代进行要降低学习率。
明亮如星研旅(4)—— Online and offline handwritten Chinese character recognition_第8张图片明亮如星研旅(4)—— Online and offline handwritten Chinese character recognition_第9张图片
上面两个表格是此方法与以往的线上线下字符识别结果对比,作者花了大量的时间吹嘘了一波,不过总的来看结果还是不错的,他是直接把测试集作为无监督样本。
明亮如星研旅(4)—— Online and offline handwritten Chinese character recognition_第10张图片
上表是不同网络的输入特征图尺寸。
明亮如星研旅(4)—— Online and offline handwritten Chinese character recognition_第11张图片
上图是正则化的对网络影响。

明亮如星研旅(4)—— Online and offline handwritten Chinese character recognition_第12张图片
明亮如星研旅(4)—— Online and offline handwritten Chinese character recognition_第13张图片
上面两个图是添加适应层后线下线上识别误差减少率,除了一个作家手写字体之外,其余样本错误率均有所下降。
明亮如星研旅(4)—— Online and offline handwritten Chinese character recognition_第14张图片
最后还验证了不同特征方向分解方法的效果。

总结

优点:
1、DirectMap有良好的特征提取能力,前人特征设计方法工作即使在今天仍值得我们学习借鉴,能够把前人的设计理念经验和我们目前深度网络结合起来,深度学习有可能进一步突破。
2、目前大部分网络适用于闭数据集,适应层设计使得网络能够适应于一个开放集,更具有鲁棒性。

缺点:
1、创新型不足,只是在小改动。
2、个人觉得DirectMap也是提取的字符特征图,是不是增加网络深度原始样本训练也能达到相同的效果?结果是不是不能体现DirectMap的优越性?
3、适应性层是不是可以进一步改进,不局限于最后一层,不局限于简单的线性变换。

附录


  1. C.-L. Liu, Normalization-cooperated gradient feature extraction for handwritten character recognition, IEEE Trans. Pattern Anal. Mach. Intell. 29 (8) (2007) 1465–1469 ↩︎

  2. C.-L. Liu, K. Marukawa, Pseudo two-dimensional shape normalization methods for handwritten Chinese character recognition, Pattern Recognit. 38 (12) (2005) 2242–2255. ↩︎

  3. C.-L. Liu, X.-D. Zhou, Online Japanese character recognition using trajectorybased normalization and direction feature extraction, in: Proceedings of International Workshop on Frontiers in Handwriting Recognition (IWFHR), 2006, pp. 217–222. ↩︎

你可能感兴趣的:(手写文字识别,深度学习)