首页> 中国专利> 一种基于字根的零样本汉字识别方法

一种基于字根的零样本汉字识别方法

摘要

本发明公开了一种基于字根的零样本汉字识别方法,首先在CTW汉字数据集的基础上构建训练集和测试集;然后构建汉字识别嵌入模型,该模型由两个并行分支组成,包括由CNN模型构成的图像处理分支和由循环神经网络构成的属性信息处理分支;采用训练集图像对汉字识别嵌入模型进行训练,得到最终模型;再采用测试集对模型进行测试。本发明大大降低了对训练数据的要求,且符合自然场景下文本数据分布的规律,并取得了可行的识别率,为自然场景下的汉字识别提供了一种新思路。

著录项

  • 公开/公告号CN112508108A

    专利类型发明专利

  • 公开/公告日2021-03-16

    原文格式PDF

  • 申请/专利权人 西北工业大学;

    申请/专利号CN202011455952.4

  • 发明设计人 王鹏;高丽颖;

    申请日2020-12-10

  • 分类号G06K9/62(20060101);G06K9/32(20060101);G06N3/04(20060101);G06N3/08(20060101);

  • 代理机构61204 西北工业大学专利中心;

  • 代理人金凤

  • 地址 710072 陕西省西安市友谊西路127号

  • 入库时间 2023-06-19 10:16:30

说明书

技术领域

本发明属于机器人技术领域,具体涉及一种汉字识别方法。

背景技术

传统的基于机器学习的自然场景下汉字图像识别通过标注大量该场景下汉字图像的样本学习汉字图像和类别标签之间的对应关系,但是自然场景下的汉字频率作为长尾分布的典型代表,常用汉字和生僻字在自然场景下的分布数量差异显著,对很多不常用的汉字难以收集等量的训练样本,这样在训练过程中会出现严重的样本不均衡问题,不能达到很好的识别效果。而使用手写汉字来弥补这一数量上的差异,显然没有考虑自然场景下复杂背景和字体、颜色等因素,因此可行性不高。

近年来,零样本学习的提出和发展为解决上述问题提供了一个新的解决思路。零样本学习在训练阶段对测试类别的样本没有要求,因此可以用频率高的汉字做训练,在频率低的汉字或者所有类别的汉字(广义零样本学习)上做测试,可以按照现实生活中汉字的使用情况收集数据,无须刻意根据汉字的类别收集数据。零样本学习在训练时不需要提供测试样本,但需要属性信息来共享可见类与未见类之间的关系。

发明内容

为了克服现有技术的不足,本发明提供了一种基于字根的零样本汉字识别方法,首先在CTW汉字数据集的基础上构建训练集和测试集;然后构建汉字识别嵌入模型,该模型由两个并行分支组成,包括由CNN模型构成的图像处理分支和由循环神经网络构成的属性信息处理分支;采用训练集图像对汉字识别嵌入模型进行训练,得到最终模型;再采用测试集对模型进行测试。本发明大大降低了对训练数据的要求,且符合自然场景下文本数据分布的规律,并取得了可行的识别率,为自然场景下的汉字识别提供了一种新思路。

本发明解决其技术问题所采用的技术方案包括以下步骤:

步骤1:构建训练集和测试集;

步骤1-1:将CTW汉字数据集中的只包含单个汉字的图像按照同一个汉字出现的频率从高到低进行排序,取出现频率排序在前A

步骤1-2:将训练集和测试集中图像包含的汉字作为类别标签;

步骤1-3:采集训练集和测试集中图像包含的汉字的字根,并对所有字根进行编码,每个字根有唯一的编码;

步骤2:构建文字识别嵌入模型;

文字识别嵌入模型包括两个并行分支,一个是图像处理分支,另一个是属性信息处理分支;

所述图像处理分支由CNN模型构成,输入为只包含单个汉字的图像,输出为视觉特征向量,用φ(I

所述属性信息处理分支由循环神经网络构成;对训练集和测试集中图像包含的任一汉字,采集该汉字的字根,再用步骤1的字根编码方法将该汉字变为字根编码组合;使用递归神经网络,将训练集和测试集中图像包含的所有汉字的字根编码组合再次编码为固定长度语义向量;循环神经网络的输入为固定长度语义向量,输出为语义特征向量,输出表示如下:

其中,

步骤3:定义目标函数为最小化L(W

其中,N为训练集中图像数量;

步骤4:使用训练集对文字识别嵌入模型进行训练,当目标函数最小时结束,得到最终的文字识别嵌入模型;

步骤5:将测试集中的图像输入最终的文字识别嵌入模型,得到输入图像的视觉特征向量和语义特征向量,采用最近邻算法,找到与输入图像的视觉特征向量最接近的语义特征向量,然后得到该语义特征向量对应的类别标签,即为输入图像的类别标签;采用公式表示为:

其中,Label

优选地,所述A

优选地,所述CNN模型为在ImageNet上预训练的Inception v4卷积神经网络。

优选地,所述循环神经网络为双向LSTM。

有益效果:

本发明针对自然场景下汉字识别数据收集困难、识别率不高的问题,采用了零样本学习的思路,大大降低了对训练数据的要求,且符合自然场景下文本数据分布的规律;利用汉字这一象形字的特点,利用字根作为视觉属性,采用机器学习的方法进行模型训练和参数优化,取得了可行的识别率,为自然场景下的汉字识别提供了一种新思路。

附图说明

图1为本发明方法的文字识别嵌入模型结构示意图。

图2为本发明CTW数据集样本示例图。

具体实施方式

下面结合附图和实施例对本发明进一步说明。

本发明提供一种基于字根的零样本汉字识别方法,使用字根信息作为已知汉字类别和未见汉字类别之间知识迁移的媒介对未见类别的汉字图片进行识别。

如图1所示,一种基于字根的零样本汉字识别方法,包括如下步骤:

步骤1:构建训练集和测试集;

步骤1-1:将CTW汉字数据集中的只包含单个汉字的图像按照同一个汉字出现的频率从高到低进行排序,取出现频率排序在前1000的汉字对应的只包含单个汉字的图像为训练集;出现频率排序在前1000个之后取1028个汉字对应的只包含单个汉字的图像为测试集;

步骤1-2:将训练集和测试集中图像包含的汉字作为类别标签;

步骤1-3:采集训练集和测试集中图像包含的汉字的字根,并对所有字根进行编码,每个字根有唯一的编码;

步骤2:构建文字识别嵌入模型;

文字识别嵌入模型包括两个并行分支,一个是图像处理分支,另一个是属性信息处理分支;

所述图像处理分支由CNN模型构成,输入为只包含单个汉字的图像,输出为视觉特征向量,用φ(I

所述属性信息处理分支由循环神经网络构成;对训练集和测试集中图像包含的任一汉字,采集该汉字的字根,再用步骤1的字根编码方法将该汉字变为字根编码组合;使用递归神经网络,将训练集和测试集中图像包含的所有汉字的字根编码组合再次编码为固定长度语义向量;循环神经网络的输入为固定长度语义向量,输出为语义特征向量,输出表示如下:

其中,

步骤3:定义目标函数为最小化L(W

其中,N为训练集中图像数量;

步骤4:使用训练集对文字识别嵌入模型进行训练,当目标函数最小时结束,得到最终的文字识别嵌入模型;

步骤5:将测试集中的图像输入最终的文字识别嵌入模型,得到输入图像的视觉特征向量和语义特征向量,采用最近邻算法,找到与输入图像的视觉特征向量最接近的语义特征向量,然后得到该语义特征向量对应的类别标签,即为输入图像的类别标签;采用公式表示为:

其中,Label

优选地,所述CNN模型为在ImageNet上预训练的Inception v4卷积神经网络。

优选地,所述循环神经网络为双向LSTM。

具体实施例:

1、数据收集

自然场景下的汉字图像数据使用了自然场景下的汉字数据集(Chinese TextDataset in the Wild,简称CTW)中包含的32,285个高分辨率街景图像。汉字图像包含平面文本、凸起文本、不良照明下的文本、远程文本、部分遮挡文本等,具有多样性和一定的挑战性。对于每个字符,标注包括其基础字符、边界框和六个外形属性。属性表示角色的背景复杂性、外观、风格等。这个数据集是迄今为止最大的汉字数据集,也是唯一包含详细注释的数据集。本实施例使用其中的单个汉字的图像和类别标签,共3650个类别。如图2所示,在自然场景下收集的数据集中的样本有不同的背景、字体和颜色等多种形态,包括有遮挡,复杂背景,发生形变和艺术字等,增加了识别难度。但是人能识别出这些汉字在于它们的字根、结构是相同的。

由于数据集是在自然场景下收集的,所以汉字的频率有所不同,且差异较大;频率最高的是“中”字,达到17500以上;频率最低的汉字只出现过几次。按照这些汉字在数据集中的出现频率由高到低排序,并统计出数据分布情况,如表1所示,有严重的数据不均衡情况。

表1 CTW中数据分布情况

由于在CTW测试集中,频率较低的一些类别汉字并未出现,因此规定在CTW的训练集中频率最高的前1000类作为可见类,形成本实施例的训练集;CTW的测试集中除了这1000类剩余的1028类作为不可见类,形成本实施例的测试集。

使用网站(http://www.chaiwubi.com/bmcx/)收集了训练集中1000类汉字和测试集中1028类汉字的字根,作为属性信息。

2、模型设计

针对汉字图像和字根属性的零样本学习任务,开发了一种简单而有效的跨模态学习模型,该方法很灵活,并且能够实现语义空间表示的端到端学习。

模型有两个分支,一个分支是汉字图像经过的CNN子模型得到视觉特征向量,另一个分支是图片汉字对应的字根属性编码后经过双向LSTM得到语义特征向量,与视觉特征向量求第二范式作为目标函数,在训练阶段更新模型参数。

在本实施例中,使用在ImageNet上预训练的Inception v4卷积神经网络部分作为此模型中的CNN模型。

在属性信息处理分支中,使用递归神经网络将字根属性(可变长度字根组合)的内容编码为固定长度语义向量。再输入双向LSTM模型,LSTM是一种特殊的循环神经网络,引入了门控的概念来控制不同时间步之间的消息传递。通过这种方式,LSTM可以模拟长期依赖关系。模型有两种状态来跟踪历史记录:单元状态c和隐藏状态h。对于特定时间步长t,通过对当前输入x

首先为了提取汉字图片的特征,在训练集上训练一个神经网络分类模型,这里我本实施例采用在ImageNet数据集上预训练的Inception v4作为分类模型。

按照训练类别数将神经网络分类模型定义为C1,C2和C3;将根据分类模型训练类别数的不同,将文字识别嵌入模型也分为对应的三种模型,G1,G2和G3。其中,分类训练类别数为1001时,将训练集中出现频率最高的1000类作为1000类,剩余的所有类别样本数只占整个训练集的7.7%,作为第1001类。

在分类模型的训练时,训练集分别一共有1000、1001和3650个类别,由于不同类别的样本数差异较大,在每个批处理时用了两种训练方式。第一种是在每个批处理中,按照类别数随机选择,然后在每个类别中随机选出图像样本,这样每个汉字图像类别训练次数是平均的,但是每个图像样本的训练次数是不平均的;第二种是在每个批处理中随机选择一定数量的样本,这样每个图像样本的训练次数是平均的,类别训练次数是不平均的。对于这两种训练方式,也会有不同的结果。表2为第一种训练方式,表3为第二种训练方式。

表2按照类别数抽取训练数据的模型定义

表3按照样本数抽取训练数据的模型定义

分类模型使用预训练的Inception v4,预训练部分的初始学习率为0.01,最后一层的初始学习率为0.1,使用指数衰减方式迭代100000次,weight_decay=4e-5,batchsize=312;嵌入模型的学习率为0.001,训练周期为100,batch size设为256,LSTM的隐含层为512。

在训练好分类模型后,再用训练集的前1000类作为可见类,在嵌入模型上训练,在测试集上测试,其中在后1028类上的结果为零样本实验的测试结果。不同模型的准确率展示在表4中。

表4嵌入模型在测试集上的准确率

从表中可以分析出:

1.Top 5准确率普遍高于Top 1准确率。

2.有不可见类参与分类模型的训练的准确率明显高于没有不可见类参与的模型。不可见类参与分类模型的训练,使得文本图像经过分类模型得到的特征根据有辨别性,在后面的嵌入模型中更容易与其他类别进行分别,因此,G2、G3和Gb、Gc的准确率明显高于G1和G2的准确率。

3.Gb、Gc比G2、G3的准确率有所提升。这同样是因为在Cb、Cc模型中可以按照样本平均地参与训练,分类模型的识别效果好,文本图像经过分类模型得到的特征根据更具有辨别性,因此识别率有提升。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号