掌桥专利:专业的专利平台
掌桥专利
首页

一种针对单样本类的手写字符生成方法、系统及电子设备

文献发布时间:2024-04-18 19:58:21


一种针对单样本类的手写字符生成方法、系统及电子设备

技术领域

本发明涉及手写字符数字化技术领域,特别是涉及一种针对单样本类的手写字符生成方法、系统及电子设备。

背景技术

光学字符识别(OCR)可以从图像中将印刷或手写文本数字化。尽管多年来识别准确性有了很大进步,但在识别历史手写文件中的文本时仍面临挑战。其中一个主要挑战是字符类别之间样本数的不平衡。这种类别不平衡在汉文和藏文等文字中非常常见,严重阻碍基于深度学习的OCR系统的识别准确率的进一步提升。

一种直观的提升字符分类器识别准确率的方法是在小样本类中添加更多的合成数据。深度生成模型,例如生成对抗网络(Generative Adversarial Networks,GAN)和变分自编码器(Variational Autoencoder,VAE)可以在给定标记或未标记的训练数据集的情况下自动生成合成样本。在过去的十年中,GAN在生成逼真样本方面取得了出色的结果。然而,在处理类别不平衡的数据集时,即当某些类别的样本非常稀缺时,存在着一个众所周知的“保真度-多样性”权衡问题。也就是说,为了优化损失函数,生成器倾向于生成完全相同的样本,因为判别器会将与真实样本不同的任何生成样本认定为“假”,这不符合数据增广的要求。

一些研究致力于通过改进GAN的损失函数来解决类别不平衡学习问题。例如,MFC-GAN在AC-GAN的基础上引入多个“假”标签,确保小样本类别的细粒度生成。Ren等人提出了一种基于熵的加权策略来表征不同类别的重要性,即为小样本类别分配较高的重要性,而为大样本类分配较低的重要性。将重要性加权的标签向量和随机噪声向量连接后作为Wasserstein GAN的输入。为了使生成器偏向于小样本类,Lin等人提出了Rare-GAN,他们在AC-GAN的损失函数中引入了一种重新加权技术,即根据样本所属的类别(大样本类或小样本类)为样本分配两个不同的权重。此外,为了改善AC-GAN在不平衡数据上的分类性能,他们还采用了基于置信度的主动学习策略。然而,这种通过改进损失函数的方法在小样本类别上的数据增广效果有限,因为人工神经网络在优化损失函数时会遵循某种“最懒原则”。

还有一些结合GAN和其他深度生成模型的研究。例如Mariani等人提出了BAGAN。他们通过在预训练的自编码器(Autoencoder,AE)的隐空间中拟合每个类别的概率分布,并将之作为生成器的输入来解决类别不平衡问题。在对抗训练之前,生成器和判别器分别由预训练AE的解码器和编码器进行初始化。预训练AE的目标是在隐空间中学习每个类别的低维流形,从而在样本匮乏的情况下使其能够捕捉到每个类别的条件概率分布。然而,AE训练的隐空间通常缺乏规则性,即无法正确捕捉到类别的边界。为了缓解这个问题,Yang等人提出了IDA-GAN,用VAE预训练替代BAGAN中的AE预训练。此外,它还将类别标签融入到生成器的输入中以引导生成过程。在BAGAN和IDA-GAN中,类条件分布是通过在隐变量上拟合高斯分布来获得的,然而类别在隐空间中遵循高斯分布的假设存在一定的争议。

以上所述的研究在不平衡学习方面取得一定成就。然而,说起“小样本类”时,他们通常指拥有至少几十个样本的类别,对于小样本类的极端情况——单样本类的生成问题,仍然没有有效的解决方案。在汉文和藏文等文字中,由于存在大量生僻字,单样本类的情况十分频繁。

发明内容

本发明的目的是提供一种针对单样本类的手写字符生成方法、系统及电子设备,对样本极度不均衡的手写字符数据集进行数据增广,生成的小样本类样本具有正确性和多样性,从而显著提升字符识别器的识别性能。

为实现上述目的,本发明提供了如下方案:

第一方面,本发明提供了一种针对单样本类的手写字符生成方法,包括:

将样本真实手写字符图像输入至变分自编码器中以对变分自编码器进行预训练,得到样本真实手写字符图像在变分自编码器的隐空间中的概率分布,并用训练好的变分自编码器的解码器初始化生成对抗网络中的生成器,用训练好的变分自编码器的编码器初始化生成对抗网络中的判别器;

将目标真实数据集中的目标真实手写字符图像以及对应的目标计算机印刷字符图像分别输入至训练好的变分自编码器中的编码器内,得到每个所述目标真实手写字符图像的隐变量以及对应的目标计算机印刷字符图像的隐变量;所述目标真实数据集中每个目标真实手写字符图像的类别均不同;所述目标真实数据集为待数据增广的真实数据集;所述目标真实手写字符图像为待数据增广的真实手写字符图像;

利用CORAL变换技术,对所有所述目标真实手写字符图像的隐变量以及对应的目标计算机印刷字符图像的隐变量在隐空间进行均值和协方差的对齐,得到初始化隐变量集合;

将所述初始化隐变量集合中的初始化隐变量输入至生成对抗网络中的生成器内,生成新的字符图像。

第二方面,本发明提供了一种针对单样本类的手写字符生成系统,包括:

训练模块,用于将样本真实手写字符图像输入至变分自编码器中以对变分自编码器进行预训练,得到样本真实手写字符图像在变分自编码器的隐空间中的概率分布,并用训练好的变分自编码器的解码器初始化生成对抗网络中的生成器,用训练好的变分自编码器的编码器初始化生成对抗网络中的判别器;

隐变量确定模块,用于将目标真实数据集中的目标真实手写字符图像以及对应的目标计算机印刷字符图像分别输入至训练好的变分自编码器中的编码器内,得到每个所述目标真实手写字符图像的隐变量以及对应的目标计算机印刷字符图像的隐变量;所述目标真实数据集中每个目标真实手写字符图像的类别均不同;所述目标真实数据集为待数据增广的真实数据集;所述目标真实手写字符图像为待数据增广的真实手写字符图像;

隐变量初始化模块,用于利用CORAL变换技术,对所有所述目标真实手写字符图像的隐变量以及对应的目标计算机印刷字符图像的隐变量在隐空间进行均值和协方差的对齐,得到初始化隐变量集合;

字符图像生成模块,将所述初始化隐变量集合中的初始化隐变量输入至生成对抗网络中的生成器内,生成新的字符图像。

第三方面,本发明提供了一种电子设备,包括存储器及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述电子设备执行根据第一方面所述的针对单样本类的手写字符生成方法。

根据本发明提供的具体实施例,本发明公开了以下技术效果:

基于GAN的深度生成模型,在单样本字符类生成多样且高质量的样本方面存在挑战。由于一个类别只有一个样本可供参考,判别器不可避免地会关注该类别的无关特征,从而导致生成器输出完全相同的样本,无法满足数据增广的需求。本发明提出了一种针对单样本类的手写字符生成方法、系统及电子设备,即提供了Character Rebalance GAN(CRB-GAN)模型,能够在类别只有一个样本的情况下生成兼具正确性和一定多样性的手写字符图像。该方法包括:首先,在真实字符数据集上进行变分自编码器的预训练,将字符图像从高维图像空间映射到低维隐空间;接着,利用CORAL变换技术对不同字体、不同大小的计算机印刷字符图像和真实手写字符图像在隐空间进行均值和协方差的对齐,得到初始化隐变量;然后,将上述初始化隐变量作为生成器的输入,并使用预训练阶段的解码器作为生成器,编码器作为判别器,进行对抗训练;为了尽可能保持小样本类的多样性,在对抗训练阶段对判别器的训练中重新设计了类别的采样频率,使得判别器对每个类别判定为“假”的损失期望不超过判定为“真”的损失期望。该方法用于样本极度不均衡的手写字符数据集进行数据增广,生成的小样本类样本具有正确性和多样性,从而显著提升字符识别器的识别性能。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的针对单样本类的手写字符生成方法的流程示意图;

图2为本发明实施例提供的VAE预训练过程示意图;

图3为本发明实施例提供的隐变量初始化过程示意图;

图4为本发明实施例提供的对抗训练过程示意图;

图5为本发明实施例提供的手写汉文数据集中针对单样本类别的第一生成效果图;

图6为本发明实施例提供的手写汉文数据集中针对单样本类别的第二生成效果图;

图7为本发明实施例提供的手写藏文数据集中针对单样本类别的第一生成效果图;

图8为本发明实施例提供的手写藏文数据集中针对单样本类别的第二生成效果图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明通过自动生成兼具真实性和多样性的合成样本的方式,有效对单样本类别进行数据增广。

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。

实施例一

本实施例提供了一种针对单样本类的手写字符生成方法,包括:

步骤100:将样本真实手写字符图像输入至变分自编码器中以对变分自编码器进行预训练,得到样本真实手写字符图像在变分自编码器的隐空间中的概率分布,并用训练好的变分自编码器的解码器初始化生成对抗网络中的生成器,用训练好的变分自编码器的编码器初始化生成对抗网络中的判别器。

步骤200:将目标真实数据集中的目标真实手写字符图像以及对应的目标计算机印刷字符图像分别输入至训练好的变分自编码器中的编码器内,得到每个所述目标真实手写字符图像的隐变量以及对应的目标计算机印刷字符图像的隐变量;所述目标真实数据集中每个目标真实手写字符图像的类别均不同;所述目标真实数据集为待数据增广的真实数据集;所述目标真实手写字符图像为待数据增广的真实手写字符图像。

步骤300:利用CORAL变换技术,对所有所述目标真实手写字符图像的隐变量以及对应的目标计算机印刷字符图像的隐变量在隐空间进行均值和协方差的对齐,得到初始化隐变量集合。

步骤400:将所述初始化隐变量集合中的初始化隐变量输入至生成对抗网络中的生成器内,生成新的字符图像。

在本实施例中,所述变分自编码器的编码器由多个下采样层组成,所述变分自编码器的解码器由多个上采样层组成;所述变分自编码器用于将字符图像从高维图像空间映射到低维隐空间。

该变分自编码器的训练过程为:采用样本真实数据集中的样本真实手写字符图像训练变分自编码器,并当变分自编码器的综合损失值小于设定阈值时,停止训练,得到训练好的变分自编码器。其中,所述变分自编码器的综合损失值为变分自编码器的损失值与交叉熵损失值的和。

在本实施例中,步骤200的具体过程参见实施例二,在此不再重复赘述。

在本实施例中,在生成对抗网络训练阶段中,采用新的类别的采样频率对判别器的训练进行训练,使得判别器对每个类别判定为假的损失期望不超过判定为真的损失期望;其中,新的类别的采样频率参见实施例二,,在此不再重复赘述。

实施例二

本实施例是实施例一的具体示例。

本实施例所提出的GRB-GAN模型旨在为小样本字符类别,特别是在只有单个样本的情况下,合成多样性的样本。由于样本稀缺时,仅通过对抗训练很难实现多样性,因此利用从变分自编码器(Variational Autoencoder,VAE)初始化的隐变量作为生成器的输入,并使用VAE的解码器初始化生成器。通过对齐计算机印刷字符图像和真实手写字符图像之间的均值和协方差来初始化隐变量,这相当于在隐空间中进行风格迁移操作。这个方法的直观理解是:为了成功进行数据增广,需要合成与真实样本相似但并非完全相同的样本,风格迁移操作能够将计算机印刷字符图像在隐空间中靠近真实样本,以达到这个目标。此外,这种简单的技巧使得生成器能够从一个良好的初始解开始,即能够在开始时合成模糊但在整体结构上正确的样本,因此对抗训练的目标是修正生成图像的细节。CRB-GAN模型的训练过程包括三个步骤:VAE预训练、隐变量初始化和对抗训练。

VAE预训练:使用真实数据集上的所有样本训练VAE,如图2所示,其中,实线表示数据的流向,虚线表示损失函数的计算。VAE的编码器由多个下采样层组成,解码器由多个上采样层组成。首先,将真实样本输入编码器,获得对应的均值μ和方差σ,并使用重参数化技巧构建隐变量z,即z=μ+σ·ζ,其中ζ~Ν(0,I),I的含义为单位矩阵,即ζ取样自标准高斯分布;然后,将隐变量z输入解码器,获得重构的图像。此外,为了促使具有相同类别标签的字符在隐空间中聚集在一起,在隐变量z之后添加了一个分类头。设q(x)表示真实样本的边缘分布,预训练的损失函数定义如下:

其中,

隐变量初始化:为了达到成功的数据增广,要求生成的新的字符图像要与真实字符图像相似但又不完全相同。在这一思想的引导下,使用在隐空间经过转换的计算机印刷字符图像的隐变量作为生成器的输入,其过程如图3所示,其中,通过编码器获取隐变量时,忽略重参数化过程,即对所有输入图像,取σ=0。

CORAL(CORrelation ALignment)是一种简单且广泛使用的域适应技术,它通过对齐源域和目标域的二阶统计量来最小化域偏移。本实施例将真实手写字符图像视为目标域,将计算机印刷字符图像视为源域,对齐该两者的一阶统计量和二阶统计量。将计算机印刷字符图像和真实手写字符图像输入到预训练的编码器中,获得相应的隐变量,即计算机印刷字符图像的隐变量

其中,其中,

对抗训练:使用前一步骤中获得的初始化隐变量作为生成器的输入,并用解码器Δ初始化生成器G,编码器E初始化判别器D,如图4所示。在对抗训练中,作为判别损失的真实样本和生成的假样本的采样策略如下:设q(x)=c

λ是一个满足

其中

通过这种方式,使得每个类别的生成损失的期望值不会超过其真实损失的期望值,并且对于小样本类的生成损失进行惩罚,在对抗训练尽可能保留多样性。

汉文和藏文是两种具有复杂字形结构和大量生僻字的文字,因此选择它们来测试CRB-GAN模型在生成和数据增广方面的效果。实验使用的手写汉文字符数据集来自于中国古代手写文字数据库(CASIA-AHCDB),该数据库通过对11,937页汉文古籍文档进行标注构建而成,用于字符识别研究。在实验中,使用AHCDB-style1子数据库的增强类别集合(AHCDB-style1-enhanced)。数据集的训练集包含84,201个样本,分布在3052个类别中,验证/测试集包含34,248个样本。其中,有602个类别在训练集中的样本数量少于测试集,这使得它非常适合用于测试数据增广的性能。实验中使用的手写藏文字符数据集经过对北京版《甘珠尔》进行字切分,并通过人工标注字符的类别标签获得(PeK-212)。该数据集包含了501个类别和40,372个字符样本。其中,训练集包含28,094个样本,验证集包含12,277个样本。该数据集在类别之间的样本分布极不平衡:有135个类别是单样本类别,而有109个类别有超过60个样本。

图5为手写汉文数据集中针对单样本类别的第一生成效果图。(a)“佷”/U4F77,(b)“侏”/U4F8F,(c)“倞”/U501E,(d)“兗”/U5157的生成样本及相应类内SSIM分数。图6为手写汉文数据集中针对单样本类别的第二生成效果图:(a)“凭”/U51ED,(b)“嘖”/U5616,(c)“瘕”/U7615,(d)“碓”/U7893的生成样本及相应类内SSIM分数。

图5和图6展示了手写汉文字符集中单样本类上的生成效果。其中BAGAN和IDA-GAN生成样本的多样性通常仅体现在笔画级别,整体结构变化不大,这导致了带噪声的前景像素,如图5的(b)部分和(c)部分,以及一些不规则字形,如图5的(d)部分、图6的(c)部分和(d)部分。相比之下,CRB-GAN的生成样本在尺寸、书写角度和笔画宽度层面展现出了更大的多样性,且整体上更加正确和自然。此外,为了对多样性进行定量分析,还在图中展示了相应的类内结构相似性(SSIM)分数,其值介于0和1之间,值越小表明多样性越高。

图7为手写藏文数据集中针对单样本类别的第一生成效果图:(a)

图7和图8展示了手写藏文数据集中单样本类上的生成效果。除图8的(b)部分和(c)部分外,CRB-GAN模型的SSIM分数均低于BAGAN和IDA-GAN,表明更高的整体多样性。然而,如果仔细检查这些生成样本,会发现BAGAN和IDA-GAN在图8的(b)部分和(c)部分的高多样性主要是由于高噪声和不规整的笔画引起,这有时可能破坏字符的意义。总体上,CRB-GAN的生成样本在尽可能保证正确性的同时展现一定程度的类内变化。

本实施例还测试了CRB-GAN的数据增广效果,结果如表1所示。除了第一行外(该行是用于训练生成模型的真实手写字符数据集),表1中的每一行分别对应相应生成方法,第二行(Zhang等)是通过对切分的藏文部件进行再组合创建的合成藏文数据集

在手写汉文方面,本实施例在ACC准确率、FID分数和SSIM分数方面表现最佳。通过将训练数据集利用生成样本进行数据增广,相比仅使用真实数据,分类准确率提高了近2.17%。BAGAN和IDA-GAN都未能改善SSIM分数,而CRB-GAN将总体类内SSIM分数降低了近0.015。

在藏文手写字符数据集中,IDA-GAN取得了最佳的FID分数为15.22,而CRB-GAN仅达到了17.30,与BAGAN(17.25)相似。可以解释如下:Pek-212数据集即使与CASIA-AHCDB数据集相比,也极其不平衡。原则上,FID分数是概率分布之间的差异度量。因此,即使生成的样本质量很高且类内多样性很高,FID分数可能也很高,因为我们正在计算一个极度类别不平衡的数据集与一个类别平衡的数据集之间的分布差异。需要注意的是,我们在这里提到的SSIM分数是对所有类别进行平均的类内SSIM分数,CRB-GAN在少数类别的SSIM分数通常优于其他方法,如前面讨论的,大多数类别的类内变异性对分类性能的贡献不大。因此,即使IDA-GAN的SSIM分数达到了0.4979,其分类准确率是所有方法中最差的(89.69%)。相比之下,CRB-GAN相对于真实数据、BAGAN和IDA-GAN的分类准确率提高了4.57%、3.46%和5.15%。

表1根据分类准确率(ACC)、FID分数和总体类内SSIM分数比较生成模型。

本实施例是对BAGAN和IDA-GAN的改进。在BAGAN和IDA-GAN中,经过AE/VAE预训练后,它们利用真实样本的隐变量来拟合在隐空间中的类条件概率函数,并将这些类条件概率函数作为生成器的输入。本实施例在BAGAN和IDA-GAN的基础上,采用了一种新的方法来初始化隐变量,即通过对齐计算机印刷字符和真实字符在隐空间中的一阶和二阶统计量。此外,在预训练阶段引入了交叉熵损失函数来增强类别的清晰度,并在对抗训练阶段提出了一种特殊的采样方式,以更大程度地保持多样性。实验结果表明,相比于BAGAN和IDA-GAN,本实施例在汉文和藏文手写字符的生成和数据增广方面表现更优。对于其他基于GAN的生成模型,由于它们主要通过改进损失函数来进行改进,仅仅依靠改进损失函数很难在单样本类别上获得足够的多样性。因此,目前没有其他可替代的方法能够达到本发明的目标,即在极度不均衡的数据集上实现成功的数据增广效果。

实施例三

为了执行上述实施例一对应的方法,以实现相应的功能和技术效果,下面提供一种针对单样本类的手写字符生成系统。

本实施例提供的一种针对单样本类的手写字符生成系统,包括:

训练模块,用于将样本真实手写字符图像输入至变分自编码器中以对变分自编码器进行预训练,得到样本真实手写字符图像在变分自编码器的隐空间中的概率分布,并用训练好的变分自编码器的解码器初始化生成对抗网络中的生成器,用训练好的变分自编码器的编码器初始化生成对抗网络中的判别器。

隐变量确定模块,用于将目标真实数据集中的目标真实手写字符图像以及对应的目标计算机印刷字符图像分别输入至训练好的变分自编码器中的编码器内,得到每个所述目标真实手写字符图像的隐变量以及对应的目标计算机印刷字符图像的隐变量;所述目标真实数据集中每个目标真实手写字符图像的类别均不同;所述目标真实数据集为待数据增广的真实数据集;所述目标真实手写字符图像为待数据增广的真实手写字符图像。

隐变量初始化模块,用于利用CORAL变换技术,对所有所述目标真实手写字符图像的隐变量以及对应的目标计算机印刷字符图像的隐变量在隐空间进行均值和协方差的对齐,得到初始化隐变量集合。

字符图像生成模块,将所述初始化隐变量集合中的初始化隐变量输入至生成对抗网络中的生成器内,生成新的字符图像。

实施例四

本发明实施例提供一种电子设备包括存储器及处理器,该存储器用于存储计算机程序,该处理器运行计算机程序以使电子设备执行实施例一的针对单样本类的手写字符生成方法。

可选地,上述电子设备可以是服务器。

另外,本发明实施例还提供一种计算机可读存储介质,其存储有计算机程序,该计算机程序被处理器执行时实现实施例一的针对单样本类的手写字符生成方法。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。

相关技术
  • 用于光学字符识别的训练数据生成方法、系统和电子设备
  • 一种数据血缘的生成方法、系统、电子设备和存储介质
  • 一种针对车载移动测量系统的360°可量测全景影像生成方法
  • 手写字符样本的生成方法及装置、电子设备、存储介质
  • 手写字符样本的生成方法及装置、电子设备、存储介质
技术分类

06120116481020