CN112950749B - 基于生成对抗网络的书法图片生成方法 - Google Patents
基于生成对抗网络的书法图片生成方法 Download PDFInfo
- Publication number
- CN112950749B CN112950749B CN202110284046.0A CN202110284046A CN112950749B CN 112950749 B CN112950749 B CN 112950749B CN 202110284046 A CN202110284046 A CN 202110284046A CN 112950749 B CN112950749 B CN 112950749B
- Authority
- CN
- China
- Prior art keywords
- word
- handwriting
- picture
- layer
- network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000002372 labelling Methods 0.000 claims abstract description 25
- 238000012549 training Methods 0.000 claims abstract description 17
- 238000005520 cutting process Methods 0.000 claims abstract description 13
- 238000007781 pre-processing Methods 0.000 claims abstract description 9
- 230000006870 function Effects 0.000 claims description 60
- 239000013598 vector Substances 0.000 claims description 37
- 230000004913 activation Effects 0.000 claims description 28
- 238000009826 distribution Methods 0.000 claims description 12
- 238000005070 sampling Methods 0.000 claims description 9
- 238000004364 calculation method Methods 0.000 claims description 7
- 238000011176 pooling Methods 0.000 claims description 5
- 230000002457 bidirectional effect Effects 0.000 claims description 4
- 230000000694 effects Effects 0.000 abstract description 3
- 230000003213 activating effect Effects 0.000 description 10
- 238000013528 artificial neural network Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 238000002474 experimental method Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000008439 repair process Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000008485 antagonism Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000006641 stabilisation Effects 0.000 description 1
- 238000011105 stabilization Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/60—Editing figures and text; Combining figures or text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/12—Edge-based segmentation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种基于生成对抗网络的书法图片生成方法:步骤1,裁剪整幅书法图像得到裁剪图片;步骤2,得到所有的裁剪图片及标注文件组成的数据集;步骤3,对数据集中的每张裁剪图片进行预处理;步骤4,使用步骤3得到的预处理后得到的数据集中的标准化后的裁剪图片、字的二值化图片和标注文件中的字的位置和大小信息计算损失函数,训练生成对抗网络,得到训练好的书法图片生成模型;步骤5,获得待生成书法图像的字的编码和附加信息;步骤6,得到生成的书法图片。实验结果表明,本发明的方法能够生成效果良好的书法图片,解决了现有技术中的书法图像修复工作中由于破损程度过大而无法修复的情况。
Description
技术领域
本发明属于计算机图像处理技术领域,涉及基于生成对抗网络的书法图片生成方法。
背景技术
计算机视觉与图像处理发展到现阶段已经有了令人惊叹的研究成果,一些根据输入条件生成特定图像的问题也是研究人员经常关注的问题。
在以往的工作中图像的生成通常使用变分自编码器,即提取图像的中的信息并将这些信息嵌入到一个将对较简单分布(通常是正太分布)的向量中,再将这个向量还原回图像,并计算还原后的图像与原始图像的差异值,更新网络中的参数减小这个差异以达到可以直接使用一个符合特定分布(正太分布)的向量直接生成图像。后来提出的基于GAN的图像生成方法有着更好的效果,我们较熟悉的模型有pix2pix可以使用成对的图片数据集训练模型,进行两种图片的转化,之后提出来的CycleGAN可以使用不同的数据集训练模型来完成两个域的图片进行相互转化。再之后的一些研究工作还包括从一局文字描述中生成符合文字描述的图片如StackGAN,StackGAN++等工作。
但是,上述这些研究的局限性在于,文本和生成的图像只能包含一个对象,无法从包含位置关系的复杂文本中生成具有多个对象且对象之间符合文本所描述的位置关系的图像。因此,对于现今书法图像修复工作中因为破损程度过大而无法修复的情况,目前还未有有效的书法图片生成方法。
发明内容
针对现有技术存在的不足,本发明的目的在于,提供一种基于生成对抗网络的书法图片生成方法,用于解决现有技术中的书法图像修复工作中由于破损程度过大而无法修复的情况。
为了解决上述技术问题,本发明采用如下技术方案予以实现:
一种基于生成对抗网络的书法图片生成方法,具体包括以下步骤:
步骤1,采集整幅书法图像,并采用覆盖该书法图像高度的正方形窗口对其进行裁剪,得到多张裁剪图片;
步骤2,对每张裁剪图片上的每个字构建一个外切矩形,获得每个字在裁剪图片上的相对位置和大小信息,并对每个字赋予唯一的编码及附加信息;将字的位置和大小信息、附加信息均与字的编码一一对应,得到每张裁剪图片的标注文件;所有的裁剪图片及标注文件组成数据集;
步骤3,对步骤2得到的数据集中的每张裁剪图片进行预处理;具体包括如下操作:对步骤2得到的数据集中的每张裁剪图片统一尺寸和标准化,得到标准化后的裁剪图片,同时,对裁剪图片中每个字裁剪得到字的图片、将字的图片转为单通道图片并统一尺寸、二值化,得到的字的二值化图片;标准化后的裁剪图片、字的二值化图片和步骤2得到的数据集中的标注文件组成预处理后的数据集;
步骤4,将步骤2得到的每个字的编码及附加信息进行词嵌入操作,得到该字的编码对应的向量和附加信息对应的向量,将这两个向量拼接后作为生成对抗网络的输入数据,使用步骤3得到的预处理后得到的数据集中的标准化后的裁剪图片、字的二值化图片和标注文件中的字的位置和大小信息计算损失函数,训练生成对抗网络,得到训练好的书法图片生成模型;
步骤5,获得待生成书法图像的字的编码和附加信息;
步骤6,将步骤5得到的待生成书法图像的字的编码和附加信息进行词嵌入操作,得到该字的编码对应的向量和附加信息对应的向量,将这两个向量作为输入数据,输入步骤4得到的训练好的书法图片生成模型,得到生成的书法图片。
进一步的,所述步骤4中,所述生成对抗网络包括生成器和判别器;
所述生成器用于将输入的字的编码对应的向量和附加信息对应的向量生成书法图像,生成器包括书法字生成网络、书法字布局预测网络和高清化生成网络,其中,所述书法字生成网络用来将步骤2得到的每个字的编码对应的向量生成所对应的书法字的图片;书法字布局预测网络用来根据步骤4所述的两个向量,预测每个字在裁剪图片中相对位置和大小;高清化生成网络用于结合所述书法字生成网络生成的书法字的图片和所述书法字布局预测网络得到的字的相对位置和大小,生成一副与步骤2得到的裁剪图片对应的书法图像。
所述判别器包括对图片的判别器和对字的判别器,其中,所述对图片的判别器用于对生成器输出的书法图像进行真伪判别;对字的判别器用于对生成器输出的书法图像中每个字判别是否真实和准确。
进一步的,所述步骤4中,所述生成对抗网络包括生成器和判别器;
所述生成器包括书法字生成网络、书法字布局预测网络和高清化生成网络,其中,书法字生成网络中设置有依次连接的多个上采样卷积块、一个卷积层和一个sigmod激活函数层;书法字布局预测网络设置为依次连接的双向LSTM模型和多个全连接块;高清化生成网络则设置为依次连接的多个高清化模块、卷积层、激活函数层和卷积层。
判别器包括对图片的判别器和对字的判别器。其中,对图片的判别器设置为依次相连的多个卷积块和一个卷积层;对字的判别器设置为依次相连的多个卷积块、平均池化层和全连接层。
进一步的,所述上采样卷积块设置为依次连接的上采样层、Batch Norm层、卷积层以及激活函数层。
进一步的,所述全连接块设置为依次相连的全连接层、Batch Norm层和激活函数层。
进一步的,所述高清化模块包括依次连接的卷积层、Batch Norm层、激活函数层、卷积层、Batch Norm层、激活函数层。
进一步的,所述卷积块包括依次连接的卷积层、Batch Norm层、激活函数层。
进一步的,步骤4中的损失函数L:
其中,λ1,λ2,λ3,λ4,λ5,λ6均为损失函数的权重且均大于0;Lmask表示书法字生成网络生成的每个字生成的图片与步骤3得到的字的二值化图片的差异值;Lbox表示书法字布局预测网络得到的每个字在裁剪图片中相对位置和步骤2的标注文件中的所记录的字的位置之间的坐标差异值;Lpix表示高清化生成网络生成的书法图像和步骤3中所述的标准化后的裁剪图片之间的差异值;表示利用对图片的判别器,计算生成器输出的书法图像和步骤3得到的标准化后的裁剪图片之间分布的相似度;/>表示利用对字的判别器,计算生成器得到的生成图片中的字和标准化后的裁剪图片中的字之间分布的相似度;/>表示利用对字的判别器,计算生成器得到的生成图片中的每个字分类的误差损失值。
本发明与现有技术相比,具有如下技术效果:
1、本发明的方法中,通过所述步骤4中所述生成对抗网络的生成器结构中设计的书法字布局预测网络为每个字预测出它在对应的裁剪图片中的相对位置坐标,为书法图片的生成提供了位置信息;再结合生成器中的书法字生成网络为每个字生成的字的图片,最终使用生成器中使用的高清化生成网络清晰地生成包含多个字的书法图片,保证了书法图片清晰生成。
2、本发明提供了一种能够修复有较大破损书法图片方法,和现有方法中的根据破损图片的全局信息来修复图片的局部信息的方法相比,可以使用对文本进行处理得到的步骤5所述的待生成书法图像的字的编码和附加信息然后根据步骤6所述输入训练好模型生成书法图片,这样的方式能够直接从文本中得到待生成图片的所有信息从而实现完整的修复。
附图说明
图1为书法字布局预测网络的网络结构;
图2为书法字生成网络示意图;
图3为字的图片和字在裁剪图片中的相对位置结合得到的多通道特征图片;
图4为高清化生成网络示意图;
图5为判别器示意图;
图6为实施例中,标注文件中字的相对位置和书法字布局预测网络预测得到的字的相对位置,其中,(a)为标注文件中字的相对位置,(b)为字布局预测网络预测得到的字的相对位置;
图7为字的二值化图片和书法字生成网络生成的字的图片,其中,(a)字的二值化图片,(b)书法字生成网络生成的字的图片;
图8为字的二值化图片和标注文件中字在裁剪图片中相对位置训练得到的结果;
图9为书法字生成网络生成的字的图片和标注文件中字在裁剪图片中相对位置训练得到的结果;
图10为字的二值化图片和书法字布局预测网络预测得到的字的相对位置进行训练的结果;
图11为书法字生成网络生成的字的图片和书法字布局预测网络预测得到的字的相对位置进行训练得到的最终结果;
以下结合实施例对本发明的具体内容作进一步详细解释说明。
具体实施方式
本发明的基于生成对抗网络的书法图片生成方法,具体包括以下步骤:
步骤1,采集整幅书法图像,并采用覆盖该书法图像高度的正方形窗口对其进行裁剪,如果窗口的边缘切割到字,将窗口横向扩大直到将该字框入,得到多张裁剪图片;
步骤2,对每张裁剪图片上的每个字构建一个外切矩形,获得每个字在裁剪图片上的相对位置和大小信息,并对每个字赋予唯一的编码及附加信息;将字的位置和大小信息、附加信息均与字的编码一一对应,得到每张裁剪图片的标注文件;所有的裁剪图片及标注文件组成数据集;
步骤3,对步骤2得到的数据集中的每张裁剪图片进行预处理;具体包括如下操作:对步骤2得到的数据集中的每张裁剪图片统一尺寸和标准化,得到标准化后的裁剪图片,同时,对裁剪图片中每个字裁剪得到字的图片、将字的图片转为单通道图片并统一尺寸、二值化,得到的字的二值化图片;标准化后的裁剪图片、字的二值化图片和步骤2得到的数据集中的标注文件组成预处理后的数据集;
该步骤中,由于每张裁剪图片大小并不完全一致,为了方便神经网络进行训练,统一了裁剪图片的尺寸,并对字的图片进行二值化,使书法图像特征更为明显、清晰,能够减少噪声的干扰,更易于神经网络的学习。另外,为了进一步提高神经网络学习的效率,将裁剪图片进行标准化,常见方式是根据均值和方差进行标准化。将裁剪得到的每个字的图片转为单通道图片、统一尺寸,然后进行二值化,是为了方便神经网络的学习。
步骤4,将步骤2得到的每个字的编码及附加信息进行词嵌入操作,得到该字的编码对应的向量和附加信息对应的向量,将这两个向量拼接后作为生成对抗网络的输入数据,使用步骤3得到的预处理后得到的数据集中的标准化后的裁剪图片、字的二值化图片和标注文件中的字的位置和大小信息计算损失函数,训练生成对抗网络,得到训练好的书法图片生成模型。
步骤5,获得待生成书法图像的字的编码和附加信息;
步骤6,将步骤5得到的待生成书法图像的字的编码和附加信息进行词嵌入操作,得到该字的编码对应的向量和附加信息对应的向量,将这两个向量作为输入数据,输入步骤4得到的训练好的书法图片生成模型,得到生成的书法图片。
优选的,步骤4中生成对抗网络包括生成器和判别器;其中:
生成器用于将输入的字的编码对应的向量和附加信息对应的向量生成特定风格的书法图像,该特定风格与步骤1采集的书法图像风格一致。生成器包括书法字生成网络、书法字布局预测网络和高清化生成网络,其中,所述书法字生成网络用来将步骤2得到的每个字的编码对应的向量生成所对应的书法字的图片;书法字布局预测网络用来根据步骤4所述的两个向量,预测每个字在裁剪图片中相对位置和大小;高清化生成网络用于结合所述书法字生成网络生成的书法字的图片和所述书法字布局预测网络得到的字的相对位置和大小,生成一副与步骤2得到的裁剪图片对应的较高清、较逼真的书法图像。
判别器包括对图片的判别器和对字的判别器。其中,对图片的判别器用于对生成器输出的书法图像进行真伪判别;对字的判别器用于对生成器输出的书法图像中每个字判别是否真实、准确。也即分别对得到的书法图像的整体和局部分别进行判别。
在上述方案中,生成对抗网络的结构中,生成器负责将文本数据输入转化为书法图片,书法字生成网络、书法字布局预测网络分别负责生成每个字的图片和预测每个字在裁剪图片中的相对位置,再采用高清化生成网络将前两者的结果结合起来进行高清化获得图片,这样做才能提供给生成器足够的信息来生成有较多字且每个字的位置在裁剪图片中正确的排列的图片。同时得益于判别器对生成器输出的高清化生成网络生成的图像包括单个字、整张图片进行评估,生成的最终图像才能非常清晰,图片中的每个字也能清晰且准确。两个判别器分别从局部信息和全局信息来精确的判别生成的图片。
具体的,生成器和判别器的结构设计如下:
生成器包括书法字生成网络、书法字布局预测网络和高清化生成网络。其中,书法字生成网络中设置有依次连接的多个上采样卷积块(上采样卷积块设置为依次连接的上采样层、Batch Norm层、卷积层以及激活函数层)、一个卷积层和一个sigmod激活函数层;书法字布局预测网络设置为依次连接的双向LSTM模型和多个全连接块(全连接块设置为依次相连的全连接层、Batch Norm层和激活函数层);高清化生成网络则设置为依次连接的多个高清化模块(高清化模块包括依次连接的卷积层、Batch Norm层、激活函数层、卷积层、BatchNorm层、激活函数层)、卷积层、激活函数层和卷积层。
判别器包括对图片的判别器和对字的判别器。其中,对图片的判别器设置为依次相连的多个卷积块(卷积块包括依次连接的卷积层、Batch Norm层、激活函数层)和一个卷积层;对字的判别器设置为依次相连的多个卷积块(卷积块包括依次连接的卷积层、BatchNorm层、激活函数层)、平均池化层和全连接层。
优选的,步骤4中的损失函数L:
其中,λ1,λ2,λ3,λ4,λ5,λ6均为损失函数的权重且均大于0(根据实验过程中各个部分对最终结果的影响设置权重的大小。比如实验中发现当λ2必须为一个较大的数值,实验中各部分权重(即系数)设置为λ1=2,λ2=100,λ3=1,λ4=0.01,λ5=1,λ6=0.1)。Lmask表示书法字生成网络生成的每个字生成的图片与步骤3得到的字的二值化图片的差异值;Lbox表示书法字布局预测网络得到的每个字在裁剪图片中相对位置和步骤2的标注文件中的所记录的字的位置之间的坐标差异值;Lpix表示高清化生成网络生成的书法图像和步骤3中所述的标准化后的裁剪图片之间的差异值;表示利用对图片的判别器,计算生成器输出的书法图像和步骤3得到的标准化后的裁剪图片之间分布的相似度;/>表示利用对字的判别器,计算生成器得到的生成图片中的字和标准化后的裁剪图片中的字之间分布的相似度(即判别是字否真实);/>表示利用对字的判别器,计算生成器得到的生成图片中的每个字分类的误差损失值(即判别字是否准确)。
实施例1:
本实施例公开了基于生成对抗网络的书法图片生成方法,包括如下步骤:
步骤1和步骤2,采集整幅书法图像(本实施例中采集一副赵孟頫的横幅书法作品),对其进行裁剪得到多张裁剪图片并得到标注文件。其中切割过程中从右至左,使用一个覆盖书法图像高度方向的正方形窗口进行截取,然后向左平移一列字的距离继续截取直至到达书法图像末尾。然后对所有裁剪图片中每个字进行位置标注形成一个每一行组织为(class,X_center,Y_center,width,height,label)格式的标注文档。其中class代表字的类别,(X_center,Y_center)代表字的外接矩形的中心坐标,(width,height)代表字的外切矩形的相对宽和高。label代表字的附加信息。得到每张裁剪图片对应的标注文件;所有的裁剪图片及标注文件组成数据集。
附加信息包括换行信息、落款信息等,如某个字之后要换行,其换行信息可用1表示,否则用0表示;如某个字属于落款部分,其落款信息可用1表示,否则用0表示。
该步骤中,裁剪所用的正方形根据实际图像进行调整,保证将边缘的字完整裁剪,因此裁剪后的图片有可能不是严格的正方形。
该步骤中,选用《归去来兮辞》对应数据集进行模型训练。数据集制作方法具体如下:
1、剪裁:三篇书法作品都是篇幅较长的书法作品,形状为较长的横幅,同时将一篇作品截成正方形的时候数据量会非常的少。因此在对数据进行剪裁的时候将数据从右至左每隔一列作为剪裁正方形的右边起始位置。这样下来字体数据会有些许冗余,但是却有了较多的书法图片,而且每一张书法图片都不相同。通过这样的方法将数据图片剪裁成大小基本一致的正方形。
2、标注:数据集标注过程中按照传统书法书写顺序(从右向左,从上到下)一一使用标注工具为每个字构建一个外切矩形用来描述字的位置、大小和形状。由于前期没有类似的数据集,因此在制作过程中首先使用手动标注的方法,等到标注了足够多的数据后,再使用目标检测的方法训练出一个可以检测出每个字外切矩形形状的模型,然后使用这个模型来标注更多的数据集。
当数据中每个字的外切矩形标注出来后,还需要精准地知道每一个外切矩形所对应是什么字。因此,接下来需要将数据原文中的字按照书法作品的预先排列顺序一一与先前标注的位置进行对应。另外,使用目标检测模型标注出来的数据在排列上是乱序的,因此在和字对应之前需要使用代码对标注结果进行排序,然后使用和前面相同的步骤使字和标注一一对应。
数据集格式描述:每一张图片有一个同名的txt标注文件与其对应,标注文件的每一行对应一个字,是class x_centery_center width heightlabel的形式,class代表字的唯一标识,x_centery_center代表字的外切矩形中心点的位置,width height代表字的宽和高。label代表每个字的附加信息。其中class的索引是从0开始的,剩余的值都是在0-1之间表示字在整张图片中的相对位置和大小形状(即像素的位置或长度除以整张图片像素的长度)。附加信息包括换行信息、落款信息等,如某个字之后要换行,其换行信息可用1表示,否则用0表示;如某个字属于落款部分,其落款信息可用1表示,否则用0表示。
步骤3、对上述数据集中的裁剪图片和使用标注文件裁剪下来的每个字的图片进行预处理,得到预处理后的数据集,包括标准化后的裁剪图片、字的二值化图片和步骤2得到的数据集中的标注文件。
本实施例中受限于硬件设备,将所有裁剪图片缩放到256*256大小像素,将每个字的图片缩放为64*64大小的像素。
步骤4、将步骤2得到的每个字的编码及附加信息进行词嵌入操作,得到该字的编码对应的向量和附加信息对应的向量,将这两个向量拼接后作为生成对抗网络的输入数据,使用步骤3得到的预处理后得到的数据集中的标准化后的裁剪图片、字的二值化图片和标注文件中的字的位置和大小信息计算损失函数,训练生成对抗网络,得到训练好的书法图片生成模型。
在本实施例中,生成器结构包括书法字生成网络结构(见表1)、书法字布局预测网络结构(见表2)和高清化生成网络部分(见表3)。本实施例采用Python语言和pytorch深度学习框架实现,其中各神经网络层均调用相应框架中的函数获得。
表1书法字生成网络
表2书法字布局预测网络
第一层 | 第二层 | 第三层 |
双向LSTM | 全连接层 | 全连接层 |
Batch Norm层 | Batch Norm层 | |
激活函数层 | 激活函数层 |
表3高清化生成网络
本实施例中,激活函数层中的激活函数除非特别注明,均是指LeakyRELU函数。
在本步骤中,两个判别器包括依次连接的四个卷积块(卷积层、Batch Norm层、激活函数层),对字的判别器额外增加了一个全连接层用来对字分类。
为了生成准确且逼真的书法图像,本发明通过判别器进行判断生成图像的真伪和图片中每个字的真伪和准确程度。具体模型结构如表4和表5所示。
表4对图片的判别器
第一层 | 第二层 | 第三层 | 第四层 | 第五层 |
卷积层 | 卷积层 | 卷积层 | 卷积层 | 卷积层 |
Batch Norm层 | Batch Norm层 | Batch Norm层 | Batch Norm层 | |
激活函数层 | 激活函数层 | 激活函数层 | 激活函数层 |
表5对字的判别器
第一层 | 第二层 | 第三层 | 第四层 | 第五层 |
卷积层 | 卷积层 | 卷积层 | 卷积层 | 平均池化层 |
Batch Norm层 | Batch Norm层 | Batch Norm层 | Batch Norm层 | 全连接层 |
激活函数层 | 激活函数层 | 激活函数层 | 激活函数层 |
在本实施例中,两个判别器都设置了四个卷积块(卷积层、Batch Norm层、激活函数层)。其中,对图片的判别器使用pathGAN结构(输出一个n*n的矩阵来表示图片的真实度)得到对抗损失函数,对字的判别器额外增加了一个平均池化层和一个全连接层作为对字体的分类任务。
在本实施例中,激活函数层中的激活函数除非特别注明,其余的都为LeakyRELU函数。
本实施例采用的损失函数L:
损失函数中各个参数说明如下:
Lmask采用二分类交叉熵计算得到,具体是以步骤3得到的字的二值化图片作为参考,对生成的图片的每个像素点采用二分类交叉熵计算,得到两个图片的差异值。
其中bi表示真实的相对位置坐标(即步骤2的标注文件记录的字的位置),/>表示通过书法字布局预测网络得到的相对位置的坐标。即使用均方误差来计算损失函数。n为书法字布局预测网络输出的位置的个数,即字的个数。
其中Ii表示步骤3中所述的标准化后的裁剪图片,/>表示通过高清化生成网络之后生成的书法图像,使用L1距离来计算两个图像之间的误差作为损失函数。
其中Dimg表示对图片的判别器,x~Preal表示x符合步骤3中所述的标准化后的裁剪图片的分布。x~Pfake表示x符合生成器生成图片分布的数据。其损失函数使用交叉熵进行计算。
其中Dobj表示对字的判别器,x~Preal表示x符合步骤3中所述的标准化后的裁剪图片的分布。x~Pfake表示x符合生成生成器生成的图片分布的数据。损失函数使用交叉熵进行计算。
其中C表示字的分类,使用多分类交叉熵计算分类的误差作为分类部分的损失函数。
在本实施例中,几个网络结构分别对应不同的功能,其中比较重要的是书法字布局预测的部分,实验的过程中证明当布局预测相对准确且稳定的时候,最终生成的图片会非常清晰。因此在调参过程中将Lbox的权重加大会对最终过的结构有较好的影响。如图6,展示了书法字布局预测网络稳定后的可视化结果,从结果中可以看出,预测的书法字的相对位置与标注文件中字的相对位置相差无几。
书法字生成网络用来生成每个字的图片如图2所示,因为在整副书法图片中有多次出现的字,但是这些字又不尽相同,因此造成一种字的编码对应的向量生成的图片有多种标签,最终结果会有些生成的图片会模糊如图7所示。但是在最终整个模型稳定后生成的图片中的字会变得很清晰。
高清化生成网络部分需要把上述结果整合成一张多通道的特征图片,整合过程中需要将所有字的图片按照图3中的做法固定成一定的通道数然后将所对应的裁剪图片中的每个字形成的特征图片加在一起形成多通道的特征图片。然后进行高清化生成,其过程如图4所示。
因为在本实施例中生成的字的图片和书法字的布局预测的准确性对最终结果可能会有较大的影响。因此首先做了使用字的二值化图片和标注文件中字的相对位置训练的结果如图8所示,其结果表明当生成的字的图片和书法字相对位置的预测都准确无误时可以使用高清化生成网络生成清晰的书法图片。再使用生成的字的图片和标注文件中字的相对位置进行训练得到的结果如图9所示,由此证明生成的字的图片模糊但是书法字相对位置的预测准确无误时仍然可以使用后面的高清化生成网络进行高清化最终生成清晰的书法图片。
另外使用字的二值化图片和预测的书法字的相对位置进行训练,结果表明当生成的字的图片准确无误但是书法字相对位置预测不够准确时整个模型的收敛速度较慢,如图10所示。但是最终会有较好的结果。
综合上述实验结果得出书法字生成网络的收敛速度较快书法字布局预测网络的收敛速度较慢在实验中需要增大与书法字相对位置坐标预测相关的损失函数的权重。
最终使用生成的字的图片和预测的书法字的相对位置训练出来的结果如图11所示。从结果可以看出,本发明提出的方法能较清晰的生成所需的书法图片。
Claims (8)
1.一种基于生成对抗网络的书法图片生成方法,其特征在于,具体包括以下步骤:
步骤1,采集整幅书法图像,并采用覆盖该书法图像高度的正方形窗口对其进行裁剪,得到多张裁剪图片;
步骤2,对每张裁剪图片上的每个字构建一个外切矩形,获得每个字在裁剪图片上的相对位置和大小信息,并对每个字赋予唯一的编码及附加信息;将字的位置和大小信息、附加信息均与字的编码一一对应,得到每张裁剪图片的标注文件;所有的裁剪图片及标注文件组成数据集;
步骤3,对步骤2得到的数据集中的每张裁剪图片进行预处理;具体包括如下操作:对步骤2得到的数据集中的每张裁剪图片统一尺寸和标准化,得到标准化后的裁剪图片,同时,对裁剪图片中每个字裁剪得到字的图片、将字的图片转为单通道图片并统一尺寸、二值化,得到的字的二值化图片;标准化后的裁剪图片、字的二值化图片和步骤2得到的数据集中的标注文件组成预处理后的数据集;
步骤4,将步骤2得到的每个字的编码及附加信息进行词嵌入操作,得到该字的编码对应的向量和附加信息对应的向量,将这两个向量拼接后作为生成对抗网络的输入数据,使用步骤3得到的预处理后得到的数据集中的标准化后的裁剪图片、字的二值化图片和标注文件中的字的位置和大小信息计算损失函数,训练生成对抗网络,得到训练好的书法图片生成模型;
步骤5,获得待生成书法图像的字的编码和附加信息;
步骤6,将步骤5得到的待生成书法图像的字的编码和附加信息进行词嵌入操作,得到该字的编码对应的向量和附加信息对应的向量,将这两个向量作为输入数据,输入步骤4得到的训练好的书法图片生成模型,得到生成的书法图片。
2.如权利要求1所述的基于生成对抗网络的书法图片生成方法,其特征在于,所述步骤4中,所述生成对抗网络包括生成器和判别器;
所述生成器用于将输入的字的编码对应的向量和附加信息对应的向量生成书法图像,生成器包括书法字生成网络、书法字布局预测网络和高清化生成网络,其中,所述书法字生成网络用来将步骤2得到的每个字的编码对应的向量生成所对应的书法字的图片;书法字布局预测网络用来根据步骤4所述的两个向量,预测每个字在裁剪图片中相对位置和大小;高清化生成网络用于结合所述书法字生成网络生成的书法字的图片和所述书法字布局预测网络得到的字的相对位置和大小,生成一副与步骤2得到的裁剪图片对应的书法图像;
所述判别器包括对图片的判别器和对字的判别器,其中,所述对图片的判别器用于对生成器输出的书法图像进行真伪判别;对字的判别器用于对生成器输出的书法图像中每个字判别是否真实和准确。
3.如权利要求1所述的基于生成对抗网络的书法图片生成方法,其特征在于,所述步骤4中,所述生成对抗网络包括生成器和判别器;
所述生成器包括书法字生成网络、书法字布局预测网络和高清化生成网络,其中,书法字生成网络中设置有依次连接的多个上采样卷积块、一个卷积层和一个sigmod激活函数层;书法字布局预测网络设置为依次连接的双向LSTM模型和多个全连接块;高清化生成网络则设置为依次连接的多个高清化模块、卷积层、激活函数层和卷积层;
判别器包括对图片的判别器和对字的判别器;其中,对图片的判别器设置为依次相连的多个卷积块和一个卷积层;对字的判别器设置为依次相连的多个卷积块、平均池化层和全连接层。
4.如权利要求3所述的基于生成对抗网络的书法图片生成方法,其特征在于,所述上采样卷积块设置为依次连接的上采样层、Batch Norm层、卷积层以及激活函数层。
5.如权利要求3所述的基于生成对抗网络的书法图片生成方法,其特征在于,所述全连接块设置为依次相连的全连接层、Batch Norm层和激活函数层。
6.如权利要求3所述的基于生成对抗网络的书法图片生成方法,其特征在于,所述高清化模块包括依次连接的卷积层、Batch Norm层、激活函数层、卷积层、Batch Norm层、激活函数层。
7.如权利要求3所述的基于生成对抗网络的书法图片生成方法,其特征在于,所述卷积块包括依次连接的卷积层、Batch Norm层、激活函数层。
8.如权利要求1所述的基于生成对抗网络的书法图片生成方法,其特征在于,步骤4中的损失函数L:
其中,λ1,λ2,λ3,λ4,λ5,λ6均为损失函数的权重且均大于0;Lmask表示书法字生成网络生成的每个字生成的图片与步骤3得到的字的二值化图片的差异值;Lbox表示书法字布局预测网络得到的每个字在裁剪图片中相对位置和步骤2的标注文件中的所记录的字的位置之间的坐标差异值;Lpix表示高清化生成网络生成的书法图像和步骤3中所述的标准化后的裁剪图片之间的差异值;表示利用对图片的判别器,计算生成器输出的书法图像和步骤3得到的标准化后的裁剪图片之间分布的相似度;/>表示利用对字的判别器,计算生成器得到的生成图片中的字和标准化后的裁剪图片中的字之间分布的相似度;/>表示利用对字的判别器,计算生成器得到的生成图片中的每个字分类的误差损失值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110284046.0A CN112950749B (zh) | 2021-03-17 | 2021-03-17 | 基于生成对抗网络的书法图片生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110284046.0A CN112950749B (zh) | 2021-03-17 | 2021-03-17 | 基于生成对抗网络的书法图片生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112950749A CN112950749A (zh) | 2021-06-11 |
CN112950749B true CN112950749B (zh) | 2023-10-27 |
Family
ID=76228723
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110284046.0A Active CN112950749B (zh) | 2021-03-17 | 2021-03-17 | 基于生成对抗网络的书法图片生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112950749B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107577651A (zh) * | 2017-08-25 | 2018-01-12 | 上海交通大学 | 基于对抗网络的汉字字体迁移系统 |
CN109559287A (zh) * | 2018-11-20 | 2019-04-02 | 北京工业大学 | 一种基于DenseNet生成对抗网络的语义图像修复方法 |
CN110570346A (zh) * | 2019-08-19 | 2019-12-13 | 西安理工大学 | 一种基于循环生成对抗网络对书法进行风格迁移的方法 |
WO2020029356A1 (zh) * | 2018-08-08 | 2020-02-13 | 杰创智能科技股份有限公司 | 一种基于生成对抗网络的脸部变化预测方法 |
-
2021
- 2021-03-17 CN CN202110284046.0A patent/CN112950749B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107577651A (zh) * | 2017-08-25 | 2018-01-12 | 上海交通大学 | 基于对抗网络的汉字字体迁移系统 |
WO2020029356A1 (zh) * | 2018-08-08 | 2020-02-13 | 杰创智能科技股份有限公司 | 一种基于生成对抗网络的脸部变化预测方法 |
CN109559287A (zh) * | 2018-11-20 | 2019-04-02 | 北京工业大学 | 一种基于DenseNet生成对抗网络的语义图像修复方法 |
CN110570346A (zh) * | 2019-08-19 | 2019-12-13 | 西安理工大学 | 一种基于循环生成对抗网络对书法进行风格迁移的方法 |
Non-Patent Citations (1)
Title |
---|
基于生成对抗网络的风格化书法图像生成;王晓红;卢辉;麻祥才;;包装工程(第11期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112950749A (zh) | 2021-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109902622B (zh) | 一种用于登机牌信息验证的文字检测识别方法 | |
CN111325203B (zh) | 一种基于图像校正的美式车牌识别方法及系统 | |
CN112651289B (zh) | 一种增值税普通发票智能识别与校验系统及其方法 | |
CN102663377B (zh) | 一种基于模板匹配的字符识别方法 | |
CN111160352A (zh) | 一种基于图像分割的工件金属表面文字识别方法及系统 | |
CN112699775A (zh) | 基于深度学习的证件识别方法、装置、设备及存储介质 | |
CN112508011A (zh) | 一种基于神经网络的ocr识别方法及设备 | |
CN115424282A (zh) | 一种非结构化文本表格识别方法和系统 | |
Xie et al. | Graph neural network-enabled manufacturing method classification from engineering drawings | |
CN112052845A (zh) | 图像识别方法、装置、设备及存储介质 | |
CN111523622B (zh) | 基于特征图像自学习的机械臂模拟手写笔迹方法 | |
CN114359553B (zh) | 一种基于物联网的签章定位方法、系统及存储介质 | |
CN113343740A (zh) | 表格检测方法、装置、设备和存储介质 | |
CN111476210A (zh) | 基于图像的文本识别方法、系统、设备及存储介质 | |
CN113837151A (zh) | 表格图像处理方法、装置、计算机设备及可读存储介质 | |
CN113158895A (zh) | 票据识别方法、装置、电子设备及存储介质 | |
CN114092938B (zh) | 图像的识别处理方法、装置、电子设备及存储介质 | |
CN113657377B (zh) | 一种机打票据图像结构化识别方法 | |
CN114758341A (zh) | 一种智能化合同图像识别与合同要素抽取方法及装置 | |
CN112950749B (zh) | 基于生成对抗网络的书法图片生成方法 | |
Yamazaki et al. | Embedding a mathematical OCR module into OCRopus | |
CN111274863A (zh) | 一种基于文本山峰概率密度的文本预测方法 | |
CN111914706B (zh) | 一种文字检测输出结果质量检测和控制的方法与装置 | |
CN112633116A (zh) | 一种智能解析pdf图文的方法 | |
CN111950550A (zh) | 基于深度卷积神经网络的车架号识别系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |