基于深度学习技术的满文文档印章提取与去除方法与流程

文档序号:16899542发布日期:2019-02-19 17:49阅读:1036来源:国知局
基于深度学习技术的满文文档印章提取与去除方法与流程

本发明属于少数民族文档图像检测识别领域,尤其涉及一种基于深度学习技术的满文文档印章提取与去除方法。



背景技术:

大部分满文档案都是单份、孤本或稀本,如果长时间、高频率的使用必然会对档案原件造成一定损害,为了使珍贵的满文档案能够永久保存下去,对满文古籍档案的电子化是一种趋势,即满文档案会以图像的方式保存下来,因此对满文档案图像的研究与利用迫在眉睫。在满文研究过程中,因为懂满文的人才匮乏,导致对满文的研究多半停滞不前,因此利用计算机与深度学习相结合的方法继续研究满文文档,有利于增强对满文档案的开发与利用。一方面满文文档中的印章可以反映文档的作者或者归属等重要的信息,满文古籍中的印章也是鉴定该档案的价值以及分析研究满文档案中内容的重要依据。因此,从满文文档图像中提取印章相关信息,对于满文文档的研究分析与利用很有必要性;另一方面印章存在附于满文文字上的现象,阻碍识别整个文档内容,且对文档文本行分割、字符分割的研究领域等来说,印章是噪音,因此将满文文档中的印章去除且保留印章下的满文字符非常有意义。

现有技术大多通过人工单张图像处理,例如利用一些ps等软件去除,不仅费时繁琐,且效果不佳。



技术实现要素:

为了解决上述现有技术中存在的问题,本发明提出一种基于深度学习技术的满文文档印章提取与去除方法,本方法可以最大限度地在满文文档上提取印章区域,从而去除印章下的字;也可以去除印章,从而最大限度地恢复印章下的满文文字部分。

技术方案如下:

一种基于深度学习技术的满文文档印章提取与去除方法,步骤如下:

s1、对满文文档图像进行预处理;

s2、训练与保存提取印章的对抗生成网络;

s3、训练与保存去除印章的对抗生成网络。

进一步的,步骤s1中预处理具体步骤如下:

s1.1、将图像进行归一化操作;

s1.2、准备为训练提取印章的对抗生成网络和去除印章的对抗生成网络的数据。

进一步的,步骤s2和/或步骤s3中具体步骤如下:

s2.1、构建具有u-net结构的生成器g1;

s2.2、在生成器g1中,输入图像经过若干次卷积、leakyrelu操作、bn层操作得到若干个网络层;

s2.3、步骤s2.2中最后一个网络层经过上采样upsampling2d操作、卷积、dropout层操作、bn层操作、连接倒数第二个网络层后得到u1层;

s2.4、u1层经过若干次上采样upsampling2d操作、卷积、dropout层操作、bn层操作、连接网络层操作得到网络输出图像;

s2.5、构建具有二分类的卷积神经网络的判别器d1,将生成器g1生成的网络输出图像与真实图片一同送入判别器d1;

s2.6、定义目标损失函数:

其中:x为待处理的图像矩阵,y为它的监督图像矩阵,z为符合高斯分布的与x,y大小相同的随机矩阵,z矩阵每一像素取值范围是[0,255],d1为判断器,g1为生成λ器,为可调超参数,取值范围为[0,1]。

s2.7、保存训练好的对抗生成网络模型。

进一步的,还包括以下步骤:

s4、对对抗生成网络模型进行验证和测试。

进一步的,用提取印章的对抗生成网络的数据组成验证集验证提取印章的对抗生成网络模型,并微调网络参数得到最终的提取印章的对抗生成网络模型,保存新模型用于对新的样本进行测试;用去除印章的对抗生成网络的数据组成验证集验证去除印章的对抗生成网络模型,并微调网络参数得到最终的去除印章的对抗生成网络模型,保存新模型用于对新的样本进行测试。

本发明的有益效果是:

本发明所述的基于深度学习技术的满文文档印章提取与去除方法可以最大限度地在满文文档上提取印章区域,从而去除印章下的字;也可以去除印章,从而最大限度地恢复印章下的满文文字部分。

附图说明

图1是本发明中具有u-net结构提取印章区域的生成网络结构示意图;

图2是本发明中具有u-net结构去除印章区域的生成网络结构示意图;

图3是本发明实施例2流程图。

具体实施方式

下面结合附图1-3对基于深度学习技术的满文文档印章提取与去除方法做进一步说明。

实施例1

基于深度对抗生成网络的满文文档印章提取与去除的方法,由四部分组成,分别为满文文档图像预处理、训练与保存提取印章区域的对抗生成网络、训练与保存去除印章的对抗生成网络、测试未测试样本的结果。

第1步:满文文档图像预处理

1.1归一化

将扫描收集的图片进行预处理,将图片大小统一进行归一化操作,统一为2048*2992。归一化尺寸的大小可以调节,应当根据所有采集图像大小去一个适当的大小,避免图片失真严重即可。

1.2数据准备

data1:为训练提取印章区域的对抗生成网络准备的数据,盖印章图像与它的监督图像即印章区域图像为1组输入,共100组数据。

data2:为训练去除印章的文档恢复的对抗生成网络准备的数据,盖印章图像与它的监督图像即没有印章的文档图像为1组输入,共100组数据。

第2步:训练与保存提取印章区域的对抗生成网络

2.1构建提取印章区域的对抗生成网络net1

对抗生成网络由俩个子网络构成,即生成器g1与判别器d1。

生成器g1:使用具有u-net结构的编码器网络,构建如图1所示的生成编码器,其中,d0为输入图像,d0经过卷积(64个4*4核,步长为2)、leakyrelu操作得到d1;d1经过卷积(128个4*4核,步长为2)、leakyrelu、bn层操作得到d2;d2在经过卷积(256个4*4核,步长为2)、leakyrelu、bn层操作得到d3;d3在经过卷积(512个4*4核,步长为2)、leakyrelu、bn层操作得到d4;d4在经过卷积(512个4*4核,步长为2)、leakyrelu、bn层操作得到d5;d5在经过卷积(512个4*4核,步长为2)、leakyrelu、bn层操作得到d6;d6在经过卷积(512个4*4核,步长为2)、leakyrelu、bn层操作得到d7;d7经过上采样upsampling2d(size=2)、卷积(512*1*1)、dropout层、bn层、连接d6层后得到u1;u1经过上采样upsampling2d(size=2)、卷积(512*1*1)、dropout层、bn层、连接d5层后得到u2;u2经过上采样upsampling2d(size=2)、卷积(512*1*1)、dropout层、bn层、连接d4层后得到u3;u3经过上采样upsampling2d(size=2)、卷积(256*1*1)、dropout层、bn层、连接d3层后得到u4;u4经过上采样upsampling2d(size=2)、卷积(128*1*1)、dropout层、bn层、连接d2层后得到u5;u5经过上采样upsampling2d(size=2)、卷积(128*1*1)、dropout层、bn层、连接d1层后得到u6;u6经过上采样upsampling2d(size=2)、卷积(3*4*4,步长为1)后得到u7为网络输出图片。

判别器d1:一个二分类的卷积神经网络:将生成器生成的图片与真实图片一同送入判别器d1,d1的结构为卷积层(64*4*4,步长为2)→leakyrelu→卷积层(128*4*4,步长为2)→leakyrelu→bn层(动量为0.8)→卷积层(256*4*4,步长为2)→leakyrelu→bn层(动量为0.8)→卷积层(512*4*4,步长为2)→leakyrelu→bn层(动量为0.8)→卷积层(1*4*4,步长为1)。

2.2训练构建好的网络

定义目标损失函数:

使用2.1中构建的生成器g1和判别器d1,采用adam随机梯度下降优化器,以上式为目标函数迭代训练。设置迭代次数epoch=10000次。

上式分两项,第一项生成损失,第二项为重构损失。其中x为待处理的图像矩阵,y为它的监督图像矩阵,z为符合高斯分布的与x,y大小相同的随机矩阵,z矩阵每一像素取值范围[0,255]。x为采集的带着印章的满文文档,在印章提取任务中,y为没有文档文字仅有印章的监督图像;在印章去除任务中,y为没有印章的仅有文档文字的监督图像。在g1生成器,g1(x,z)为以x,z为输入g1后生成的图像;d1为判别器,d1(x,y)为以x,y输入判别器d1中的损失,d1(x,g1(x,z))为将x与生成的g1(x,z)送入判别器d1的损失。最后一项为重构损失,即为监督图像y与生成图像的l1距离,其中λ为可调超参数,取值范围为[0,1],e为求关于其角标的期望。

2.3保存训练好的提取印章区域的对抗生成网络模型

设置阈值,当loss小于阈值的时候保存当前训练好的网络模型,最后可保存多个训练的模型,因为当前loss为训练数据的损失,因此要在测试集上比较保存的模型哪个效果更好一点。

第3步:训练与保存去除印章的对抗生成网络

3.1与第二步中的网络结构一致,但是与第二部的网络互相独立。独立输入,独立训练,独立设置所有参数。

3.2构建去除印章的对抗生成网络net2

构建网络结构与2.2相同,只是输出的目标图像不同。

生成器g2:其中,d0为输入图像,d0经过卷积(64个4*4核,步长为2)、leakyrelu操作得到d1;d1经过卷积(128个4*4核,步长为2)、leakyrelu、bn层操作得到d2;d2在经过卷积(256个4*4核,步长为2)、leakyrelu、bn层操作得到d3;d3在经过卷积(512个4*4核,步长为2)、leakyrelu、bn层操作得到d4;d4在经过卷积(512个4*4核,步长为2)、leakyrelu、bn层操作得到d5;d5在经过卷积(512个4*4核,步长为2)、leakyrelu、bn层操作得到d6;d6在经过卷积(512个4*4核,步长为2)、leakyrelu、bn层操作得到d7;d7经过上采样upsampling2d(size=2)、卷积(512*1*1)、dropout层、bn层、连接d6层后得到u1;u1经过上采样upsampling2d(size=2)、卷积(512*1*1)、dropout层、bn层、连接d5层后得到u2;u2经过上采样upsampling2d(size=2)、卷积(512*1*1)、dropout层、bn层、连接d4层后得到u3;u3经过上采样upsampling2d(size=2)、卷积(256*1*1)、dropout层、bn层、连接d3层后得到u4;u4经过上采样upsampling2d(size=2)、卷积(128*1*1)、dropout层、bn层、连接d2层后得到u5;u5经过上采样upsampling2d(size=2)、卷积(128*1*1)、dropout层、bn层、连接d1层后得到u6;u6经过上采样upsampling2d(size=2)、卷积(3*4*4,步长为1)后得到u7为网络输出图片。

判别器d2:一个二分类的卷积神经网络:将生成器生成的图片与真实图片一同送入判别器d1,d1的结构为卷积层(64*4*4,步长为2)→leakyrelu→卷积层(128*4*4,步长为2)→leakyrelu→bn层(动量为0.8)→卷积层(256*4*4,步长为2)→leakyrelu→bn层(动量为0.8)→卷积层(512*4*4,步长为2)→leakyrelu→bn层(动量为0.8)→卷积层(1*4*4,步长为1)。

3.2训练构建好的网络

使用3.1中构建的生成器g2和判别器d2,采用adam随机梯度下降优化器,以2.2中的loss式为目标函数迭代训练。设置迭代次数epoch=10000次。

3.3保存训练好的去除印章的对抗生成网络模型

设置阈值,当loss小于阈值的时候保存当前训练好的网络模型model2。

第4步:验证与测试

用data1中的验证集验证2.3中保存的网络模型,并微调网络参数得到最终的提取满文印章区域的网络模型model1,保存model1就可以对新的样本测试。

用data2中的验证集验证3.3中保存的网络模型,并微调网络参数得到最终的提取去除印章区域的网络模型model2,保存model2就可以对新的样本测试。

实施例2

1.数据准备与预处理

(1)满文文档图像的收集,可以为扫描、拍照等方式从满文古籍文档上获取相应的满文文档图像。

(2)图像预处理,归一化图像大小。

(3)印章区域提取网络的数据准备:带印章文档图像以及目标图像仅印章区域图像对。

(4)印章去除网络的数据准备:带印章文档图像以及目标图像仅文档图像对。

2.构建对抗生成网络

实现印章提取构建对抗生成网络net1,由生成器g1(如图1所示)、判别器d1组成。实现印章去除构建对抗生成网络net2,由生成器g2(如图2所示)、判别器d2组成。

生成对抗网络的搭建可以由tensorflow、keras等开源平台搭建。

3.设置参数

epochs:为总迭代轮数

batch_size=1为每一轮迭代设置样本数量

优化器的选择:adam:adaptivemomentestimation,自适应矩估计。概率论中矩的含义是:如果一个随机变量x服从某个分布,x的一阶矩是e(x),也就是样本平均值,x的二阶矩就是e(x^2),也就是样本平方的平均值。adam算法根据损失函数对每个参数的梯度的一阶矩估计和二阶矩估计动态调整针对于每个参数的学习速率。adam也是基于梯度下降的方法,但是每次迭代参数的学习步长都有一个确定的范围,不会因为很大的梯度导致很大的学习步长,参数的值比较稳定。

4.开始训练保存模型以反向传播优化器开始训练,在net1中,以先训练判别器d1,判别器d1用来判别输入图片是真实图片还是生成器生成,然后在训练生成器生成提取的印章图片的能力,然后生成器与判别器对抗学习,从而都达到好的效果。最后保存训练好的生成器模型。

5.验证与测试

拿未出现在训练集的图片去验证,根据精度调整模型的参数不断提高精度。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1