一种基于图像插值生成编码技术的图像生成方法

文档序号:32655204发布日期:2022-12-23 21:19阅读:45来源:国知局
一种基于图像插值生成编码技术的图像生成方法
一种基于图像插值生成编码技术的图像生成方法
【技术领域】
1.本发明涉及一种图像生成方法,具体涉及一种基于图像插值生成编码技术的图像生成方法,属于图像处理技术领域。


背景技术:

2.传统的图像生成方法通常采用旋转、加噪音、改变颜色等方法对图像进行简单的处理,但并不能对图像的细节,如纹理、轮廓等做出精细化的改变。
3.随着生成对抗网络的兴起,出现了越来越多的基于生成对抗网络的图像生成模型,如cyclegan。这些模型能够实现一定程度的精细化的图像生成。但对于模型生成的图像缺乏控制。为了对生成图像进行有效控制,提出了conditionalgan,它利用one-hot标签对输入数据进行编码,实现了对生成器输出的一定的控制。但不同的one-hot标签代表不同的类别,因此其训练得到的生成器中,不同标签对应的特征之间相互独立,没有关联性。
4.最近提出的stylegan通过潜向量空间控制生成图像的“风格”。为了控制输出的特征,通常需要训练一个编码器,实现图像到潜向量空间中向量的编码,再进行计算,从而得到控制该特征的潜向量维度。因此这种控制的实现是复杂的,同时其控制的准确性取决于编码器,不同任务可能需要不同的编码器,以保证其准确性。
5.因此,为解决上述问题,确有必要提供一种创新的基于图像插值生成编码技术的图像生成方法,以克服现有技术中的所述缺陷。


技术实现要素:

6.本发明的目的在于提供一种基于图像插值生成编码技术的图像生成方法,其利用编码技术控制图像生成器,获得不同数据点间的量化关联,从而使训练得到的生成器生成更加可控和多样化的图像。
7.为实现上述目的,本发明采取的技术方案为:一种基于图像插值生成编码技术的图像生成方法,其包括如下步骤:
8.1),获取图像生成对应的数据点范围为[a,b];
[0009]
2),根据数据点范围设定数据间隔,确定数据节点和标签维数,从而得到初始的one-hot标签;
[0010]
3),根据预设的插值法对所述待插值的初始标签进行插值,得到插值标签,与初始标签一起,得到最终标签;
[0011]
4),根据获得的最终标签,获取最终标签对应数据点的真实图像,作为训练数据集,最终标签对应的数据点称为训练数据点;
[0012]
5),针对每一训练数据点,将数据点对应的标签输入基于stylegan2的图像生成模型中进行训练;当训练达到预设的收敛要求时,得到图像生成器;该图像生成器生成与标签对应的数据点相符的,且接近真实的图像。
[0013]
本发明的基于图像插值生成编码技术的图像生成方法进一步为:所述步骤2)具体
为:根据数据点范围设定数据间隔为e,则确定数据节点为a,a+e,a+2e,...,a+ne,其中a+ne=b;标签维数为n+1维;数据节点对应的初始标签分别为[1,0,...,0],[0,1,...,0],...,[0,0,...,0,1]。
[0014]
本发明的基于图像插值生成编码技术的图像生成方法进一步为:所述步骤3)中,预设的插值法为线性插值法,
[0015]
根据线性插值公式:
[0016][0017]
假定x0和x1分别为a+me和a+(m+1)e,对应的初始标签分别为[0,...,0,1,0,0,...,0]和[0,...,0,0,1,0,...,0],标签中1所在维度分别为m+1维和m+2维;x为x0和x1之间待插值计算的插值数据点,和得到插值标签为[0,...,0,fm,hm,0,...,0],其中fm和hm分别在第m+1和m+2维;
[0018]
将初始标签与计算得到的插值标签按数据节点排序得到最终标签。
[0019]
本发明的基于图像插值生成编码技术的图像生成方法进一步为:步骤5)中,所述图像生成模型中包括映射网络、生成器和判别器;所述映射网络将标签和随机向量映射为潜向量空间内的向量;
[0020]
将标签与服从正态分布的矩阵w相乘得到矩阵;其中,标签维度为(1,c),矩阵w的维度为(c,d),得到的矩阵维度为(1,d);
[0021]
然后将得到的矩阵与另一服从正态分布的矩阵z堆叠得到维度为(1,s)的输入向量;其中z的维度为(1,s-d);
[0022]
输入向量经过8层映射网络后,映射为潜向量,潜向量输入stylegan2的生成器中控制生成图像的“风格”。
[0023]
本发明的基于图像插值生成编码技术的图像生成方法进一步为:所述图像生成模型的损失函数公式为:
[0024][0025]
本发明的基于图像插值生成编码技术的图像生成方法进一步为:所述判别器的损失函数公式为:
[0026]
loss
dis
=-log(sigmoid(d(x|y)))-log(1-sigmoid(d(g(w|y))));
[0027]
其中,y为标签,x为真实图像,w为隐向量,g(w|y)为输入标签y时,图像生成模型中的生成器生成的图像;
[0028]
所述生成器的损失函数为:
[0029]
lossg=-log(sigmoid(d(g(w|y))))
[0030]
其中,y为插值标签,w为隐向量,g(w|y)为输入标签y时,图像生成模型中的生成器生成的图像。
[0031]
本发明的基于图像插值生成编码技术的图像生成方法还可为:步骤5)中,图像生成模型的训练方法为:
[0032]
5-1),根据获得的最终标签,获取最终标签对应数据点的真实图像,作为训练数据
集,最终标签对应的数据点称为训练数据点;根据步骤1)~3)的编码技术,计算得到测试数据点对应的测试插值标签;获取和测试数据点对应的真实图像,作为测试数据集;
[0033]
5-2),针对每一训练数据点,将数据点对应的标签输入图像生成模型中,经过映射网络映射后,输入生成器,生成器输出该数据点对应的生成图像;
[0034]
5-3),针对每一训练数据点,将标签、生成图像和样本图像输入图像生成模型的判别器中,输出结果,确定判别器对应的损失值,并更新判别器权重;
[0035]
5-4),针对每一数据点,根据判别器输出结果,计算确定生成器对应的损失函数,并更新生成器权重;
[0036]
5-5),不断重复所述训练步骤,当所述图像生成模型达到预设收敛状态,得到图像生成模型;此时,图像生成模型通过生成器和判别器的“博弈”使生成器可以生成与输入标签相匹配的接近真实的图像。
[0037]
与现有技术相比,本发明具有如下有益效果:
[0038]
1.本发明的基于图像插值生成编码技术的图像生成方法利用编码技术可以控制图像生成器获得不同数据点间的量化关联,从而使训练得到的生成器生成更加可控和多样化的图像。
[0039]
2.本发明的基于图像插值生成编码技术的图像生成方法通过生成插值后的最终标签,可以促使图像生成模型学习数据节点之间的影响,从而构建数据节点间的可量化关联,可以更好地控制模型量化地、连续地输出。
[0040]
3.本发明的基于图像插值生成编码技术的图像生成方法在图像生成模型训练时,通过生成器和判别器的“博弈”,使得当训练达到预设收敛要求时,图像生成器能够生成受标签控制,且接近真实图像的图像;同时,将测试插值标签输入图像生成模型中,生成器输出生成图像,通过生成图像和测试数据点对应的测试真实图像进行比较,确定图像生成模型的可靠性。
【附图说明】
[0041]
图1是本发明的基于图像插值生成编码技术的图像生成方法的编码方法流程图。
[0042]
图2是图1中的编码方法的具体示意图,其中,a为初始标签,b为标签插值计算过程,c为最终标签。
[0043]
图3是本发明的基于图像插值生成编码技术的图像生成方法的流程图。
[0044]
图4是本发明的图像生成模型的训练流程图。
[0045]
图5为本发明实施例一的真实样本数据集,其中,9幅图从左到右分别为4.093
×
10-4
m/s到36.837
×
10-4m/s之间,间隔4.093
×
10-4
m/s的数据点的真实图像。
[0046]
图6为本发明实施例一通过输入不同标签所生成的图像,其中,9幅图从左到右分别为4.093
×
10-4
m/s到36.837
×
10-4
m/s之间,间隔4.093
×
10-4
m/s的数据点的生成图像。
[0047]
图7为本发明实施例一的验证模型生成能力时的输出图像及相应的真实样本,其中,第一行为对应数据点的真实图像,第二行为对应数据点的生成图像。两行对应数据点从左到右分别为8.186
×
10-4
m/s到12.279
×
10-4
m/s之间等距离选择的4个数据点。
【具体实施方式】
[0048]
请参阅说明书附图1至附图4所示,本发明为一种基于图像插值生成编码技术的图像生成方法,其包括如下步骤:
[0049]
1),获取图像生成对应的数据点范围为[a,b]。
[0050]
2),根据数据点范围设定数据间隔,确定数据节点和标签维数,从而得到初始的one-hot标签。
[0051]
具体的说,根据数据点范围[a,b],设定数据间隔为e,则确定数据节点为a,a+e,a+2e,...,a+ne,其中a+ne=b。标签维数为n+1维。数据节点对应的初始标签分别为[1,0,...,0],[0,1,...,0],...,[0,0,...,0,1]。
[0052]
3),根据预设的插值法对所述待插值的初始标签进行插值,得到插值标签,与初始标签一起,得到最终标签。与现有技术相比,插值前的不同标签对应的不同数据节点之间相互独立,虽然能实现对图像生成模型的一定控制,且能实现固定数据间隔的节点的图像生成,但无法构建数据节点间的可量化关联,无法实现任意数据点的图像生成。而插值后的最终标签可以促使图像生成模型学习数据节点之间的影响,从而构建数据节点间的可量化关联,可以更好地控制模型量化地、连续地输出。
[0053]
由于步骤2)获得的初始标签为只有一维数值为1,其它维数值为0,不同维度互不关联,通过选择合适的插值方法对初始标签进行插值,构造出插值标签,与初始标签一起,使得本发明所述图像生成方法既能学习不同类别的图像特征,又可以通过插值标签学习不同类别图像之间的关联。
[0054]
本发明的预设的插值法是线性插值法,线性插值法实现简单,且一定程度上能实现相邻节点间的量化关联。
[0055]
根据线性插值公式:
[0056][0057]
假定x0和x1分别为a+me和a+(m+1)e,对应的初始标签分别为[0,...,0,1,0,0,...,0]和[0,...,0,0,1,0,...,0],标签中1所在维度分别为m+1维和m+2维。x为x0和x1之间待插值计算的插值数据点,所以和得到插值标签为[0,...,0,fm,hm,0,...,0],其中fm和hm分别在第m+1和m+2维。
[0058]
将初始标签与计算得到的插值标签按数据节点排序得到最终标签。
[0059]
4),根据获得的最终标签,获取最终标签对应数据点的真实图像,作为训练数据集,最终标签对应的数据点称为训练数据点。为了验证标签编码技术的可靠性,在最终标签的基础上应再选取一定数量的非训练数据点,获取相应的测试插值标签和对应的真实图像,作为测试数据集,测试插值标签对应的数据点称为测试数据点。
[0060]
5),针对每一训练数据点,将数据点对应的标签输入基于stylegan2的图像生成模型中进行训练;当训练达到预设的收敛要求时,得到图像生成器;该图像生成器生成与标签对应的数据点相符的,且接近真实的图像。
[0061]
具体的说,所述图像生成模型中包括映射网络、生成器和判别器;所述映射网络将标签和随机向量映射为潜向量空间内的向量。
[0062]
将标签与服从正态分布的矩阵w相乘得到矩阵,引入一定的多样性;其中,标签维度为(1,c),矩阵w的维度为(c,d),得到的矩阵维度为(1,d);
[0063]
然后将得到的矩阵与另一服从正态分布的矩阵z堆叠得到维度为(1,s)的输入向量;其中z的维度为(1,s-d)。
[0064]
输入向量经过8层映射网络后,映射为潜向量,潜向量输入stylegan2的生成器中控制生成图像的“风格”。
[0065]
为了使图像生成模型能够生成接近真实的图像,以及实现标签对图像生成的控制,判别器需能够判定图像是真实图像还是生成图像,同时需判定输入图像是否与输入标签匹配。通过更新判别器的权重参数,使得判别器在输入图像为生成图像和输入图像与给定插值标签不符的情况下,给定分数低,在输入图像为真实图像,且图像与给定插值标签匹配的情况下,给定分数高。
[0066]
进一步的,所述图像生成模型的损失函数公式为:
[0067][0068]
以上图像生成模型的损失函数将标签与图像的匹配关系纳入考虑范围,从而使得图像生成模型的输入标签能够控制模型的生成图像。因此,当使用获得的最终标签和相应的真实图像输入图像生成模型进行模型训练时,一方面,图像生成模型通过初始的one-hot标签和相应的真实图像获得对应类别的图像特征;另一方面,图像生成模型通过插值标签和相应真实图像学习不同类别之间的关联。
[0069]
所述判别器的损失函数公式为:
[0070]
loss
dis
=-log(sigmoid(d(x|y)))-log(1-sigmoid(d(g(w|y))));
[0071]
其中,y为标签,x为真实图像,w为隐向量,g(w|y)为输入标签y时,图像生成模型中的生成器生成的图像。该公式表示计算生成器损失函数时,将标签纳入考虑范围,通过梯度下降使判别器更新权重,实现判别器可以区分图片是否是生成的以及图片与标签是否匹配。
[0072]
训练生成器时,应设置判别器为不可训练状态。为了使图像生成器生成质量较高且受标签控制的图像,设置生成器的损失函数为:
[0073]
lossg=-log(sigmoid(d(g(w|y))))
[0074]
其中,y为插值标签,w为隐向量,g(w|y)为输入标签y时,图像生成模型中的生成器生成的图像。该公式表示计算生成器损失函数时,将标签纳入考虑范围,通过梯度下降使生成器更新权重,实现生成器生成的图片和输入标签输入判别器能获得高分。
[0075]
通过生成器和判别器的这种“博弈”,使得当训练达到预设收敛要求时,图像生成器能够生成收标签控制,且接近真实图像的图像。
[0076]
将测试插值标签输入图像生成模型中,生成器输出生成图像,通过生成图像和测试数据点对应的测试真实图像进行比较,确定图像生成模型的可靠性。
[0077]
进一步的,所述图像生成模型的训练方法为:
[0078]
5-1),根据获得的最终标签,获取最终标签对应数据点的真实图像,作为训练数据集,最终标签对应的数据点称为训练数据点;根据步骤1)~3)的编码技术,计算得到测试数据点对应的测试插值标签;获取和测试数据点对应的真实图像,作为测试数据集;
[0079]
5-2),针对每一训练数据点,将数据点对应的标签输入图像生成模型中,经过映射
网络映射后,输入生成器,生成器输出该数据点对应的生成图像;
[0080]
5-3),针对每一训练数据点,将标签、生成图像和样本图像输入图像生成模型的判别器中,输出结果,确定判别器对应的损失值,并更新判别器权重;
[0081]
5-4),针对每一数据点,根据判别器输出结果,计算确定生成器对应的损失函数,并更新生成器权重;
[0082]
5-5),不断重复所述训练步骤,当所述图像生成模型达到预设收敛状态,得到图像生成模型;此时,图像生成模型通过生成器和判别器的“博弈”使生成器可以生成与输入标签相匹配的接近真实的图像。
[0083]
实施例一:
[0084]
请参阅说明书附图5至附图7所示,本实施例的研究对象为不同表观气速下的气液两相泡状流图像。
[0085]
本实施例中,确定研究对象的数据点变化范围[a,b],即表观气速的变化范围,是[4.093
×
10-4
m/s,36.837
×
10-4
m/s]。
[0086]
根据数据点范围设定合理的数据间隔,确定数据节点和标签维数,从而得到初始的标签。在本实施例中,设定数据间隔e=8.186
×
10-4
m/s,则b=a+4e,所以n=4,标签维数为5。得到初始的one-hot标签。
[0087]
插值方法不同会使得生成的插值标签不同,导致图像生成模型学习到的规律不同,最终影响未训练标签输入后生成图像的准确性。在本实施例中,设定插值方法为线性插值。
[0088]
在数据节点间设定插值数据点,根据预设的插值法对插值数据点进行计算,对初始标签进行插值,获得插值标签,在本实施例中设定插值数据点为相邻两节点的等分点。
[0089]
根据线性插值公式:
[0090][0091]
当对数据点4.093
×
10-4
m/s和8.186
×
10-4
m/s对应的标签进行插值时,计算数据点的等分点,即6.1395
×
10-4
m/s。将其代入和(此时,x0和x1分别为4.093
×
10-4
m/s和8.186
×
10-4
m/s,x=6.1395
×
10-4
m/s)中,分别计算得到f=0.5和h=0.5。因为此时m=0,所以得到插值标签[0.5,0.5,0,0,0]。以此类推,可得到4个插值标签。将其与初始标签按对应数据点从小到大排列即可得到最终标签。
[0092]
在本实施例中,标签维度为(1,5),矩阵w的维度为(5,128),所以得到的矩阵维度为(1,128)。然后将得到的矩阵与另一服从正态分布的矩阵z堆叠得到要求维度的输入向量。本实施例中s为256,所以矩阵z的维度为(1,128),得到最终输入向量,其维度为(1,256)。经过8层映射网络后,映射为潜向量w,控制图像生成模型的生成。
[0093]
潜向量输入生成器生成图像,生成图像和真实图像分别与标签配对输入判别器,判别图像是真实还是生成的,以及图像与标签是否配对。通过损失函数反向传播更新生成器和判别器的权重,使生成器生成尽可能真实且与标签一致的图片,同时使判别器提高判别图像-标签对的能力。通过这种“博弈”,当模型达到收敛目标时,生成器能生成接近真实且受标签控制的图像。
[0094]
本实施例的图像生成模型的训练方法为:
[0095]
步骤1:根据获得的最终标签,获取最终标签对应数据点的真实图像,作为训练数据集,最终标签对应的数据点称为训练数据点。部分训练数据集如图5所示。为了验证标签编码技术的可靠性,在目标标签的基础上应再选取一定数量的非训练数据点为测试数据点。在本实施例中,选择在8.186
×
10-4
m/s到12.279
×
10-4
m/s之间等距离选择4个数据点,设置为测试数据点。根据上述编码技术,计算得到测试数据点对应的测试插值标签。获取和测试数据点对应的真实图像,作为测试数据集。
[0096]
步骤2:针对每一训练数据点,将数据点对应的标签输入图像生成模型中,经过映射网络映射后,输入生成器。生成器输出该数据点对应的生成图像;
[0097]
步骤3:针对每一训练数据点,将标签、生成图像和样本图像输入图像生成模型的判别器中,输出结果,确定判别器对应的损失值,并更新判别器权重;
[0098]
步骤4:针对每一数据点,根据判别器输出结果,计算确定生成器对应的损失函数,并更新生成器权重;
[0099]
训练生成器时,应设置判别器为不可训练状态。
[0100]
步骤5:不断重复所述训练步骤,当所述图像生成模型达到预设收敛状态,得到图像生成模型。此时,图像生成模型通过生成器和判别器的“博弈”使生成器可以生成与输入标签相匹配的接近真实的图像。
[0101]
将测试标签输入图像生成模型中,生成测试数据点的图片。将图片与真实图片对比,可验证图像生成模型的可靠性。
[0102]
这一实施例中生成器在训练数据点和测试数据点的生成图像如图6和图7中第二行所示。与真实图片相比,生成图像与真实图像在气泡大小、分布等方面都十分接近,这意味着生成器获得了不同节点间的关联性。
[0103]
以上的具体实施方式仅为本创作的较佳实施例,并不用以限制本创作,凡在本创作的精神及原则之内所做的任何修改、等同替换、改进等,均应包含在本创作的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1