APP下载

应用云模型的字符不确定性定性定量双向认知

2023-08-31吴振宇高洪波

指挥与控制学报 2023年3期
关键词:字符识别字符编码器

吴振宇 路 柠 高洪波

由于自身复杂的结构以及拍摄角度和像素值等因素的影响,字符体现出形态上的不确定性.尤其在手写字符中,手写人不同的书写风格将导致字体多变的样式和形状,不确定性更加显著.字符识别是通过机器模拟人类阅读字符的过程[1],已经广泛应用于卡号识别、车牌识别、安全认证[2]等领域.

特征提取和识别算法是字符识别中的两个重要步骤.其中,特征提取主要包括基于结构特征和基于统计特征的方法[3].ROCHA 等使用原型描述字符形状的结构信息,把噪音和形状的变化建模成原型特征的一系列变换[4].ARICA 等使用图像分割方法结合隐马尔可夫模型(hidden Markov model,HMM)估计字符形状[5].Blumenstein 等通过检测字符的前景和背景像素之间的转换,实现字符的特征提取[6].WANG 等提出一种直接在扫描文档灰度图像里提取特征的方法,将一幅灰度图像看作连续表面上的噪音采样,通过在连续表面上字符形状的提取获取字符特征[7].LIU提出了正则协同梯度特征(normalization-cooperated gradient feature,NCGF)方法,将原始字符图像的梯度方向元素映射到平面方向,以减少形状正则化导致的笔画方向无序的影响[8].最近,通过深度学习技术自动提取字符特征,大大简化了手动特征提取的过程[9].

识别算法主要包括在线识别和离线识别两种[10].SCOTT 等提出了一种基于模板的字符识别方法,使用模板表示字符的风格,使用最近邻、决策树等分类算法,可以达到86.9%左右的识别准确率[11].分区方法综合考虑了拓扑结构和隶属度函数,也被用于字符识别中[12].RAJAVELU 等应用神经网络识别不同类型、大小的字符[13].随后,以卷积神经网络(convolutional neural network,CNN)为代表的深度学习模型在字符识别上取得了较好的效果[14].ZHANG 等将正则协同方向解耦特征图(normalization-cooperated direction-decomposed feature map,NDFM)引入到CNN 中,通过引入先验知识提升了中文手写字符的识别准确率[15].LI 等提出了香草组合网络(vanilla compositional network,VCN)进行在线中文手写字符识别,通过对字符的上下文信息建模提升了CNN 模型识别的准确率[16].虽然CNN 方法在字符识别上的准确率较高,但是存在可解释性等问题,MELNYK 等采用离线中文字符识别模型的可视化技术,说明了字符识别中的原理[17].最近,预训练模型也被用于字符识别中.GHOSH 等使用基于CNN 的预训练模型,主要包括Inception-NetV3 和DenseNet121,识别孟加拉字符[18].ARSALAN等使用基于长短时记忆网络(long short term memory,LSTM)分析了时间序列上的字符数据,研究字符的书写轨迹[19].另外,预训练Transformer 模型也被应用于字符识别任务中[20].采用无监督学习方法,通过计算字符之间的相似性可以将相似字符划分成组[21-23].

已有的研究虽然取得了较高的字符识别准确率,但是不确定性字符的认知机理尚未阐明.认知模型已经成为应对不确定性问题的重要手段[24].李强等提出了“社会认知”的概念应对全域作战中的威胁挑战[25].贾奋励等提出全息地图进行态势认知,从而应对战场环境复杂高维、多元异构等不确定性问题[26].

本质上,人类对字符的认知是从大量的字符样本中学习规律,形成定性表示的过程.并且在定性表示的基础上,通过书写等手段可以生成新的字符.由于光照、视角等外部环境以及心情等内在因素的影响,新字符在大小、粗细、形状上存在着差异.然而,这些字体又不会相差太多,符合一个人的写字风格,使得笔迹认证成为可能.因此,本文主要从不确定性人工智能的角度研究字符的定性和定量的双向认知方法,具体包括以下两个部分,1)从字符样本中提取描述字符不确定性的特征矩阵,实现对该字符的定性表示;2)在定性表示的基础上,生成新字符样本,实现对该字符的定量转换.

云模型是实现数据样本定性和定量双向认知的重要工具之一[27],已经广泛应用于一维、二维数据样本的不确定性认知中.然而,字符图像是多维矩阵结构,本文对云模型理论做了进一步的完善.即,将一维云模型中的3 个数字特征重新定义为3 个特征矩阵,分别称为期望矩阵、熵矩阵和超熵矩阵.其中,期望矩阵表示在大量字符样本的基础上,形成的对该字符定性认知的期望,是一种共性认识,可以可视化为一张期望图像.熵矩阵表示定性认知的过程中,字符样本偏离期望图像的程度.超熵矩阵用于度量熵矩阵中的不确定程度.同理,熵矩阵和超熵矩阵也可以分别可视化为熵图像和超熵图像.另外,本文首次应用逆向云发生器提取字符的3 个特征矩阵,用于字符的定性表示;并且将正向云发生器扩展为矩阵运算形式,生成新的字符样本,用于字符的定量表示.进一步地,考虑像素尺度上字符大小、形态、伸缩性等的变化会较大地影响上述认知过程,在字符图像的特征级别上,应用自编码器自动提取字符图像特征,得到字符的语义向量.从而在语义向量空间中,提出应用云模型理论进行双向认知的方法.最后,云模型中的确定度可以度量一个字符样本隶属于字符类别的程度.确定度越大,其属于该类别的概率也越大,确定度越小,其属于该类别的概率也越小.因此,本文提出了基于云模型确定度的字符识别方法,并与卷积神经网络方法进行了对比.

1 问题的提出

假设有一组字符数据样本D={X,Y},其中,X={x1,x2,…,xn}是原始的字符图像集合,Y={y1,y2,…,yn}表示对应的字符标签集合.字符图像可以表示为:

其中,c 表示图像通道数;h 和w 分别表示图像的高度和宽度;R是像素矩阵,其中每一个元素的值对应图像中像素点的灰度值.

针对同一个类别的字符图像C={c1,c2,…,cm}(ci∈X,1≤i≤m),排除不确定性因素带来的干扰,得到表示该类字符图像共性的期望矩阵C_Ex,称为一个定性认知过程.并且字符图像集合C 中的样本偏离期望矩阵的程度表示为熵矩阵C_En,样本偏离熵矩阵的程度表示为超熵矩阵C_He.反过来,可以根据期望图像以及不确定性度量生成字符图像的定量化表示,即,生成一幅新的字符图像.

其中,f 表示字符图像的生成函数.

另外,使用期望矩阵、熵矩阵和超熵矩阵,可以判断一个字符图像是否属于本类别.假设一个分类函数g,对于给定的测试字符图像c,判断其是否属于类别C.

2 基于云模型的字体不确定性表示和预测

2.1 字符定性定量的双向认知模型

对于特定类别(如数字1,字母A 等)的字符图像集合C,根据云模型的定义,存在着针对该字符表示的h×w 维的期望矩阵C_Ex,以及偏离期望的不确定性度量矩阵C_En 和C_He,它们是在数据样本基础上形成的对该字符的定性认知.相反地,根据给定的3 个矩阵C_Ex、C_En 和C_He 生成一个新的字符图像样本的过程,是对该字符图像从定性的表示到定量化的表示转换的过程,体现了对字符的定量认知.

对字符图像样本的定性认知的过程,是在字符图像集合C 上应用逆向云发生器的过程.根据以下公式,可以估计出C 中字符图像样本的期望矩阵:

其中,C_Ex 是一个h×w 维的矩阵.计算字符图像样本的二阶中心距:

从而,可以估计字符图像样本的熵矩阵C_En,C_En 也是一个h×w 维的矩阵,进一步,可以估计字符图像样本的超熵矩阵:

最终输出(C_Ex,C_En,C_He)作为字符数据集C 的云模型表示.

同理,根据输入的字符数据集云模型表示的3个矩阵,在将正向高斯云发生器扩展到h×w 维的基础上,生成一个字符图像样本.根据C_En 和C_He生成一个高斯随机数矩阵C_En',具体如下式:

其中,NORM 是高斯随机数生成函数.

根据C_Ex 和C_En' 生成一个高斯随机数矩阵x,对应一个新的字符图像,如下式:

并且,可以计算x对于字符图像集合C 的确定度Z,确定度越高说明该字符图像隶属于该字符图像集C 的程度越大,反之越小.

2.2 深度学习融合云模型的字体预测

2.2.1 字符语义空间上的双向认知

本文使用深度学习模型自动化地提取字符特征,将像素级别的特征转换到另一个语义空间中,在此基础上,通过云模型度量语义空间中字符的不确定性.对字符图片进行归一化的基础上,使用一个自编码器Encoder 提取字符的特征,针对x,输出一个语义空间上的矩阵x',即有如下关系:

自编码器包括2 个卷积层、2 个池化层以及2个全相连层.字符特征提取的过程如下:通过输入层输入20×20 大小、1 个通道的图片,然后,经过第1次卷积产生64 个通道,并进行第1 次池化.接着进行第2 次卷积产生32 个通道,并进行第2 次池化.最后将所有神经元展平,准备接入全相连层.最后进入两层全相连层,得到自编码器输出层.解码的过程相反,将上述网络结构反过来,分别通过池化和卷积操作恢复为64 个通道,再次通过池化与卷积操作,得到1 张1 个通道的字符图像.

此时,一个类别的字符集合在编码之后的语义向量空间上可以表示为C'={x1',x2',…,xm'}(1≤i≤m).同理,应用逆向云发生器,可以获得字符集在语义向量空间上的3 个矩阵表示(C'_Ex,C'_En,C'_He),分别表示期望矩阵、熵矩阵和超熵矩阵.相反地,应用正向云发生器,可以得到一个语义向量表示的字符图像,通过解码器之后可以还原成一幅带有像素的字符图像.

2.2.2 基于云模型的字符识别算法

针对一个字符图像,可以计算其对不同的字符集合的确定度,那么,确定度大的字符集合可以预测为该字符所属于的集合,并把该集合的标签设置为该字符的标签,具体过程如算法1 所示.

如果将C 中的图像先通过编码器,编码成图像的语义表示,然后再应用逆向高斯云模型提取图像的3 个矩阵,就得到了基于编码器和云模型的字符识别算法.

3 实验

本文使用的数据集中包含数字、字母和汉字3种类型.其中,数字包括0~9 共10 个数字,字母包括24 个大写字母,汉字包括每一个省份的简称,共31个.样本数量上,数字样本最多,字母次之,汉字的样本最少.每一种类型的个数统计如表1 所示.

表1 实验数据集Table 1 Experiment dataset

3.1 云模型对字符的双向认知

期望图像、熵图像和超熵图像,它们可以使用可视化的方法呈现.

本文分别选择了数字、字母和汉字来说明针对字符图像的定性认知过程.图像的大小都是20×20,即400 个像素.

图1 显示了针对数字图像“5”的认知结果.显然,图1(a)是数据集中字符“5”的期望,它最能够反映所有的样本特征.而图1(b)是所有字符“5”的样本偏离期望程度的度量,可以看到,中间的部分是空的,边缘的像素分布体现了偏离期望的程度.图1(c)是熵的不确定性度量,表示所有字符“5”的样本偏离熵的程度.从图1(a)~图1(c),字符图像变得越来越模糊,符合人类对字符样本的认知规律.图1(d)是字符“5”期望的另外一种可视化形式.其横坐标表示图1(a)中图像的按行展开,纵坐标表示对应像素的像素值.从该图可以看出数字“5”的像素值的分布规律,大致上分为3 个密集区域.

图1 数字的云模型表示Fig.1 Cloud model representation of a number

针对每一类字母数据集合,也可以通过逆向云发生器得到表示该类字母的期望图像、熵图像和超熵图像.字母“B”的结果如图2 所示.图2(a)~2(c)分别表示字母“B”的期望图像、熵图像和超熵图像.通过图2(d)也可以看出,像素值连续比较高的有3 个地方,分别对应着“B”在水平方向上的3 个较长的连续像素分布.

图2 字母的云模型表示Fig.2 Cloud model representation of an alphabet

图3 给出了汉字“云”的逆向云发生器提取的结果.其中,图3(a)~3(c)分别表示“云”的期望图像、熵图像和超熵图像.同理,在图3(d)中存在3 部分像素值较高的密集区域,分别对应着“云”中在水平方向上的3 个像素分布密集区域.

图3 汉字的云模型表示Fig.3 Cloud model representation of a Chinese character

通过图1~图3 中分别对数字、字母和汉字的云模型表示看出,本文采用的逆向云发生器对字符的不确定性可以很好地表示.在人类对字符的认知规律上,3 个数字特征也可以反映出对字符的认识特点.

在云模型的理论中,如果有了对于一类字符的定性认知,那么,就可以应用正向云发生器生成对应的字符样本.可以认为是从针对字符的定性表示到定量的数据样本之间的一次转换,是对字符的定量认知.本文分别生成了数字、字母和汉字的数据样本,如图4 所示.其中图4(a)~4(c)分别是生成的数字“5”、字母“B”和汉字“云”.

图4 正向云发生器生成的字符Fig.4 Characters generated by normal cloud generator

通过图4 中的生成字符可以看出,虽然字符比较模糊,但是能够分辨出来每一个字符的结构,并且能够判断出字符的值.为了区分与该类字符相比,生成字符的不确定程度,可以使用确定度来定量的衡量.在图4 中,生成的字符“5”、“B”和“云”的确定度分别为8.02e-84、2.24e-64和6.82e-60.根据确定度的计算公式可知,确定度的值是样本与表示一个字符类的3 个特征向量计算之后得到的.那么,一个样本属于一个字符类的确定度值越大,就说明它隶属于该类的确定程度越大.通过确定度值大小的比较,可以找出一个数据样本的类别.因此,确定度常被用于分类任务中,即可以用于字符识别.

另外,在同一个字符类的确定度比较中,确定度的值越大,说明数据样本与该类字符的期望图像之间的相似性越高,反之亦然.

3.2 云模型和深度学习融合的字符双向认知

为了应对字符的尺寸变化、多变性等影响因素,本文采用自编码器进行图像特征提取,自编码器的主要参数如下:第1 层卷积核个数为64,第2 层卷积核个数为32,两次池化大小均为2*2,两层全相连层的神经元个数均为400,损失函数采用均方误差.

结果如图5 所示.其中,图5(a)~5(c)分别是汉字“云”在编码之后的语义空间中的期望图像、熵图像和超熵图像.编码之后的图像特征比较汇聚,通过图5(d)中期望图像的像素值的分布可以看出.本质上,图5 显示的是应用云模型度量字符图像特征编码的不确定性.

图5 自编码器云模型的表示Fig.5 Cloud model representation of auto-encoder

在字符图像的特征语义空间中,根据得到的描述图像特征云模型的3 个特征向量.应用正向云发生器算法,可以生成一个新的在语义空间中的图像,该图像也是经过编码之后得到的.进一步地,通过解码器恢复出原始图像,结果如图6 所示.图6(a)~图6(c)分别表示生成的字符“5”、“B”和“云”.同理,也可以计算出生成的字符样本隶属于其类别的确定度.对比图6 和图4 可以看出,经过编解码操作之后,生成的字符图像样本更加清晰.

图6 自编码器逆向云发生器生成的字符Fig.6 Characters generated by normal cloud generator of auto-encoder

3.3 字符识别

根据前面的分析,将一个字符类别可以用云模型定性表示,并且通过确定度值的大小可以判断一个字符图像样本的类别.根据处理的是原始字符图像或者编码之后的字符图像,可以分为云模型的分类方法和云模型编码器的分类方法.将数据分为两部分,分别是训练集和测试集,其中,训练集占80%,测试集占20%.除了以上两种方法外,还用了CNN分类器.

3 种方法的字符识别准确率如图7 所示.图中横坐标表示字符的类型,主要分为数字、字母和汉字3类.纵坐标表示识别的准确率.条形柱1 是CNN 的结果,条形柱2 是云模型编码器分类器的结果,条形柱3 是云模型分类器的结果.在字符类型的识别上,数字的识别准确率大于字母的识别准确率,字母的识别准确率大于汉字的准确率,这与字符本身的复杂程度成反比.在识别的方法上,CNN 方法要优于云模型编码器方法,云模型编码分类器方法要优于云模型分类器方法.这是因为,CNN 需要大量的数据自动提取特征,而云模型编码分类器和云模型分类器都是在特征或者像素统计学习的基础上进行不同类别的划分.虽然准确率较低,但是,在对字符的双向认知上,云模型分类器和云模型编码分类器方法更具有优势,即,这两种方法可以生成新的字符样本.

图7 字符识别正确率Fig.7 Accuracy results of character recognition

由于数据集中的字符都是经过对齐处理的,为了验证3 种方法的识别泛化性,采用了对测试集数据旋转的方式.主要方法如下:对原始图像随机旋转0~20°,使得图像中的字符发生变化.对字符“A”旋转的结果,如图8 所示.

图8 字符旋转的例子Fig.8 Examples of character rotation

3 种方法的模型训练好之后,采用字符随机旋转的测试集进行测试,结果如图9 所示.从图中可以看出,在不同的字符类型对比上,汉字识别的准确率要差于数字和字母的识别准确率.在方法比较上,CNN在3 种字符上仍然取得了最优的结果,另外,云模型子编码分类器要优于云模型分类器.云模型分类器的识别效率受到字符旋转的影响更大,特别是在汉字的识别上.这是因为云模型分类器主要是在像素级别上通过统计学习字符的特征,而其他两种方法都是基于深度学习进行特征的提取.

图9 随机旋转字符识别正确率Fig.9 Recognition accuracy results on randomly rotated characters

在随机旋转的测试集上,分别统计了数字、字母和汉字的识别准确率.图10 是旋转数字测试集上的识别效果.其中,横坐标表示0~9 共10 个数字,纵坐标表示识别的准确率.曲线1 表示CNN 方法的结果,曲线2 表示云模型编码器分类器的结果,曲线3 表示云模型分类器的结果.显然,在各个数字的识别上,CNN 方法要优于其他两种方法,整体上,云模型编码分类器的识别结果要优于云模型分类器的识别结果.然而在数字“1”“8”和“9”的识别上,云模型分类器表现的更优.

图11 展示了字母识别的结果.图中,横坐标表示24 个不同的字母,纵坐标表示识别准确率.曲线1表示CNN 方法的结果,曲线2 表示云模型编码器分类器的结果,曲线3 表示云模型分类器的结果.结果表明CNN 方法优于其他两种方法,云模型编码分类器总体上虽然优于云模型分类器算法,但是在个别字母的识别上,它也体现出了一定的优势.

图11 旋转字母的识别准确率Fig.11 Recognition accuracy results of rotated alphabets

在旋转字符测试集上,汉字的识别结果如图12所示.图中,横坐标表示31 个不同的汉字,纵坐标表示识别准确率.曲线1 表示CNN 方法的结果,曲线2表示云模型编码器分类器的结果,曲线3 表示云模型分类器的结果.结果表明,在汉字识别上,CNN 的方法优于其他两种方法.云模型自编码分类器方法明显优于云模型分类器.这是因为由于汉字的结构更加复杂,给云模型进行像素级别的统计学习和分类判断带来了更大的挑战.

图12 旋转汉字的识别准确率Fig.12 Recognition accuracy results of rotated Chinese characters

因此,在当前的实验中,基于深度学习的方法在字符的识别准确率上要优于云模型的方法,云模型自编码分类器的方法要优于云模型分类器的方法.当然,如果考虑模型的训练时间,云模型自编码分类器和云模型分类器的训练时间大大小于CNN 的训练时间.另外,在字符分类的可解释性上,云模型自编码器和云模型分类器更能体现出来人类对字符进行认知、识别的规律.

4 结论

在常用的3 种字符,主要包括数字、字母和汉字的基础上,本文使用云模型理论研究了字符图像中的不确定性表示方法.通过期望图像来表示最能够代表该字符的、确定的部分,通过熵图像来表示字符图像样本偏离期望图像的程度,通过超熵图像来表示熵图像中的不确定性程度.

本文分别在原始字符图像上进行了实验.进一步在编解码器的基础上,研究了云模型在字符图像语义向量空间中的不确定性度量,结果显示云模型自编码器的方法在字符生成上要优于云模型方法.在字符识别上,分别采用CNN、云模型自编码器和云模型进行了字符分类实验,结果表明CNN 方法要优于其他两种方法,云模型自编码器方法要优于云模型方法.然而,本文的重点在于阐述针对字符从样本到知识的定性认知过程和从定性知识到定量样本的定量认知过程,为字符的认知、生成提供更多的思路.尽管如此,本文仍然提出了针对字符识别的思路,在后续的工作中将进一步探索提升应用云模型理论的字符识别准确率的方法.

猜你喜欢

字符识别字符编码器
寻找更强的字符映射管理器
字符代表几
一种USB接口字符液晶控制器设计
消失的殖民村庄和神秘字符
基于FPGA的同步机轴角编码器
一种改进深度学习网络结构的英文字符识别
基于PRBS检测的8B/IOB编码器设计
仪表字符识别中的图像处理算法研究
JESD204B接口协议中的8B10B编码器设计
基于CUDA和深度置信网络的手写字符识别