发明内容
本发明的目的是解决目前使用GAN进行高分辨率图像生成过程中,如果生成的目标图像过大导致难以训练的问题,提出了一种使用对抗生成网络(GAN)经多阶段分块递进生成高清晰度图像的方法,需要注意的是画面清晰度可包括分辨率,但不限于清晰度还可以是画面色彩空间,色深等信息,但为了方便举例说明,下文仅以分辨率进行描述。
针对现有技术的不足,本发明提出一种基于对抗生成网络生成高清图像的方法,其中包括:
步骤1、将真实图像的特征图连接随机噪声后输入第一生成器,生成第一对抗样本,将第一对抗样本与下采样后的真实样本输入第一判别器,计算网络判别器损失函数,交替训练第一生成器和第一阶段判别器,直到达到预设要求,保存当前该第一生成器作为第一图片生成器;
步骤2、使用第一图片生成器生成的第一对抗样本,将该第一图片生成器生成的第一对抗样本进行上采样处理,得到上采样本,复制该上采样本,得到复制样本,并将该上采样本、该复制样本和该真实图像进行图像分区;
步骤3、选取复制样本中连续的分区图像同时作为第一输入和第二输入送入第二生成器,得到初始对抗样本,通过第二判别器计算该真实图像中对应分区图像位置的图像块和该初始对抗样本间的损失,以交替训练该第二生成器与该第二判别器,直到达到预设要求,将当前初始对抗样本替换该复制样本中对应分区图像位置的图像;
步骤4、选取该复制样本中已替换的分区图像及其未替换的邻域区块,作为第一输入,并从该上采样本中选取对应第一输入位置的图像,作为第二输入,将该第一输入和该第二输入送入该第二生成器,生成第二对抗样本,通过该第二判别器计算该真实图像对应第一输入位置的图像块和该第二对抗样本间的损失,以交替训练该第二生成器与该第二判别器,直到达到预设要求,将该第二对抗样本替换该复制样本中位于该位置的分区图像;
步骤5、重复执行步骤4,直到该复制样本中的分区图像均被替换,更新该真实图像;
步骤6,循环执行该步骤2到步骤5,直到该第二判别器计算的损失收敛,级联当前该第一图片生成器和该第二生成器,作为清晰度提升模型,将待清晰度提升的图像输入该清晰度提升模型,得到该待清晰度提升的图像对应的高清图像。
所述的基于对抗生成网络生成高清图像的方法,其中步骤4中该第一输入包括的已替换的分区图像的面积大小等于该邻域区块的面积大小。
所述的基于对抗生成网络生成高清图像的方法,其中该第一生成器的输入为该特征图和该随机噪声,该特征图经浅层卷积池化增加通道减少尺寸后与该随机噪声连接得到F',F'经多级残差块与反卷积结构,得到该第一对抗样本;
第一判别器的输入为该第一对抗样本或该真实图像经下采样模糊处理得到的真实样本,输入经多层卷积池化最后连接全连接层得到标量输出;
该第二生成器首先将两个输入及二者做差的结果各自卷积池化后连接,经过多层残差块组合采样网络结构输出与输入相同尺寸的高分辨率细化图像,作为第二对抗样本;
该第二判别器用于判断该第二对抗样本真实度,该第二判别器的输入为该第二对抗样本或该真实图像对应第一输入位置的图像的图像块,经多层卷积池化最后连接全连接层得到标量输出。
所述的基于对抗生成网络生成高清图像的方法,其中该第一生成器的损失LG1:
式中E表示期望,z表示随机噪声,Pz表示输入噪声Z的概率分布,D1表示第一判别器,G1表示第一生成器,f表示输入特征图像;
该第一判别器的损失LD1:
式中x'0表示真实图像经下采样模糊处理后的样本,P'x0表示真实图像经下采样模糊处理后的样本的概率分布.
该第二生成器的损失LG2:
式中s表示第一阶段生成样本分区后的图像块,Ps表示s的概率分布,s'表示经第二生成器生成并替换更新后的图像块,P's表示s'的概率分布,D2表示第二判别器,G2表示第二生成器,G2(s,s')表示输入s与s'生成的图像,F()为计算第二生成器生成图像与已生成区块连续度的惩罚函数,λ用于控制该惩罚函数所占的权重;
F(G2(s,s′),s)=f(||G2(s,s′)-s||1)
式中f为神经网络非线性函数,将s'的已生成过的区域的部分与G2(s,s')中对部分做比较判断新生成的图像区块与已生成区块的连续度。
该第二判别器的损失LD2:
式中x0表示真实图像对应的图像块,Px0表示x0的概率分布。
所述的基于对抗生成网络生成高清图像的方法,其中该上采样具体为双线性插值。
本发明还提出了一种基于对抗生成网络生成高清图像的系统,其中包括:
模块1,用于将真实图像的特征图连接随机噪声后输入第一生成器,生成第一对抗样本,将第一对抗样本与下采样后的真实样本输入第一判别器,计算网络判别器损失函数,交替训练第一生成器和第一阶段判别器,直到达到预设要求,保存当前该第一生成器作为第一图片生成器;
模块2,用于使用第一图片生成器生成的第一对抗样本,将该第一图片生成器生成的第一对抗样本进行上采样处理,得到上采样本,复制该上采样本,得到复制样本,并将该上采样本、该复制样本和该真实图像进行图像分区;
模块3,用于选取复制样本中连续的分区图像同时作为第一输入和第二输入送入第二生成器,得到初始对抗样本,通过第二判别器计算该真实图像中对应分区图像位置的图像块和该初始对抗样本间的损失,以交替训练该第二生成器与该第二判别器,直到达到预设要求,将当前初始对抗样本替换该复制样本中对应分区图像位置的图像;
模块4,用于选取该复制样本中已替换的分区图像及其未替换的邻域区块,作为第一输入,并从该上采样本中选取对应第一输入位置的图像,作为第二输入,将该第一输入和该第二输入送入该第二生成器,生成第二对抗样本,通过该第二判别器计算该真实图像对应第一输入位置的图像块和该第二对抗样本间的损失,以交替训练该第二生成器与该第二判别器,直到达到预设要求,将该第二对抗样本替换该复制样本中位于该位置的分区图像;
模块5,用于重复调用模块4,直到该复制样本中的分区图像均被替换,更新该真实图像;
模块6,用于循环调用该模块2到模块5,直到该第二判别器计算的损失收敛,级联当前该第一图片生成器和该第二生成器,作为清晰度提升模型,将待清晰度提升的图像输入该清晰度提升模型,得到该待清晰度提升的图像对应的高清图像。
所述的基于对抗生成网络生成高清图像的系统,其中模块4中该第一输入包括的已替换的分区图像的面积大小等于该邻域区块的面积大小。
所述的基于对抗生成网络生成高清图像的系统,其中该第一生成器的输入为该特征图和该随机噪声,该特征图经浅层卷积池化增加通道减少尺寸后与该随机噪声连接得到F',F'经多级残差块与反卷积结构,得到该第一对抗样本;
第一判别器的输入为该第一对抗样本或该真实图像经下采样模糊处理得到的真实样本,输入经多层卷积池化最后连接全连接层得到标量输出;
该第二生成器首先将两个输入及二者做差的结果各自卷积池化后连接,经过多层残差块组合采样网络结构输出与输入相同尺寸的高分辨率细化图像,作为第二对抗样本;
该第二判别器用于判断该第二对抗样本真实度,该第二判别器的输入为该第二对抗样本或该真实图像对应第一输入位置的图像的图像块,经多层卷积池化最后连接全连接层得到标量输出。
所述的基于对抗生成网络生成高清图像的系统,其中该第一生成器的损失LG1:
式中E表示期望,z表示随机噪声,Pz表示输入噪声Z的概率分布,D1表示第一判别器,G1表示第一生成器,f表示输入特征图像;
该第一判别器的损失LD1:
式中x'0表示真实图像经下采样模糊处理后的样本,P'x0表示真实图像经下采样模糊处理后的样本的概率分布.
该第二生成器的损失LG2:
式中s表示第一阶段生成样本分区后的图像块,Ps表示s的概率分布,s'表示经第二生成器生成并替换更新后的图像块,P's表示s'的概率分布,D2表示第二判别器,G2表示第二生成器,G2(s,s')表示输入s与s'生成的图像,F()为计算第二生成器生成图像与已生成区块连续度的惩罚函数,λ用于控制该惩罚函数所占的权重;
F(G2(s,s'),s)=f(||G2(s,s')-s||1)
式中f为神经网络非线性函数,将s'的已生成过的区域的部分与G2(s,s')中对部分做比较判断新生成的图像区块与已生成区块的连续度。
该第二判别器的损失LD2:
式中x0表示真实图像对应的图像块,Px0表示x0的概率分布。
所述的基于对抗生成网络生成高清图像的系统,其中该上采样具体为双线性插值。
由以上方案可知,本发明的优点在于:
本方法能够使生成的图像的分辨率的图像突破目前可生成的高分辨率时仍能够稳定生成带有细节的图像,且需要更少的训练集。
具体实施方式
发明人在进行地外星体样本增广过程中,分析样本增广的需求为:使用GAN根据有限的训练样本生成高分辨率的新样本。分析现有方法发现,主流使用GAN生成高分辨率图像的方法中效果出色的大多是分阶段逐级优化训练的方案。进一步,分阶段生成高分辨率图像的方法在提升辨率的过程中,都是将一整幅图像完整地一次性生成,则完整图像对应的特征图会相应成比例增大导致占用资源越来越多,在硬件资源有限的情况下导致能够生成的分辨率达到瓶颈。发明人在尝试高分辨率图像的合成过程,在PGGAN分阶段提升分辨率的设计思想的基础上,在较高分辨率的单张图片生成过程中采用分区块逐步生成的方式,将待细化的图像作为结构草图,参考已经生成的部分区块生成新的区块,使得生成网络能够保持适中的输入输出规模,进而突破分辨率进一步提升的瓶颈,且能够使GAN网络的训练更加稳定。
本发明包括下述关键技术点:生成低分辨率框架图,参考低分辨率框架图和已细化的图像区域逐步生成邻接区域的细化图像,两个参考使网络能够根据结构与已有细节逐步生成更多细节;本方法分阶段分块生成高清图像,可使GAN网络在生成高分辨率图像时保持合理的输入输出尺寸和网络体量,可以稳定训练;生成的图像块较实际需要图像大,多出部分用于增强判断图像块真实度的同时,还用于判断与已生成图像块的连续性。
为让本发明的上述特征和效果能阐述的更明确易懂,下文特举实施例,并配合说明书附图作详细说明如下。
对抗生成网络(GAN)使用输入特征图经多阶段分块递进生成高分辨率图像的方法,该方法核心包括网络的构建及训练流程,方法流程如图1所示,包括以下步骤:
1.搜集包含真实高清图像及每张图片对应特征图的训练集,将原图及特征图对当作训练集,其中特征图类型如图3b所示,用于描述如图3a所示的原图内容,例如用不同的颜色块代表图像中不同的内容的一张图。
2.构建第一阶段网络与第二阶段网络并初始化。第一阶段网络为中间框架图生成网络,结构以渐进增长生成对抗网络结构为基础,由框架生成器G1与判别器D1组成;第二阶段网络为分区逐步细化网络,由细化生成器G2与判别器D2组成。
3.连接特征图训练样本F与随机噪声Z并输入第一阶段生成网络,生成对抗样本S0,参照真实样本x',计算生成器损失和判别器损失,交替训练生成器G1与判别器D1,直至网络稳定,稳定判断标准可以是:生成器损失和判别器损失下降到合理范围内波动以及视觉判断生成的样本大致达到要求的清晰度。
4.使用步骤3训练结束后G1生成样本,将生成的样本进行上采样得到s1,将生成样本分区,并分配编号使区块转换为可按坐标访问的区块组S1[0:H,0:W],并将将S1复制得到S1’,并对真实样本做相同分区操作。
5.初始化训练阶段,取S1'中连续区块子集,构成图像S1'[xn,m,yn',m'],同时作为G2的第一和第二输入送入网络,训练流程同步骤6。
6.从S1’中取已生成而邻域为未生成区块的连续区块构成图像S1’[xn,m,yn',m'],并取S1中对应区域区块子集S1[xn,m,yn',m'],将S1’[xn,m,yn',m']与S1[xn,m,yn',m']输入G2生成对应S″1,将该生成的区块与真实样本对应区块图像输入判别器D2,计算生成器和判别器损失函数,交替训练生成器G2和判别器D2,直到达到迭代次数,将S″1复制到S'1中对应区域更新S'1。
7.重复步骤6直至完成S'1全部区块的生成。
8.输入下一张图片重复步骤4到步骤6继续训练,直至第二阶段GAN达到稳态训练结束。
9.将训练好的两阶段网络生成器G1,G2级联用于高清图像样本生成。
进一步,步骤1中各组件的参数及结构如下:
第一阶段网络生成器结构、判别器结构;
生成器G1可选结构为:G1输入为特征图F和噪声Z,F经浅层卷积池化增加通道减少尺寸后与噪声Z连接得到F',F'经G1后续层通过多级残差块与反卷积结构,输出为中尺度图像,本方法称该图像为中间框架图;
判别器D1可选结构为:输入为G1生成中间框架图或真实样本图经下采样模糊处理得到的中间尺寸真实样本,输入经多层卷积池化最后连接全连接层得到标量输出。标量输出是损失函数中的D()函数,例如LD1中D1(G1(z,c))部分,用来计算损失函数。
第二阶段网络生成器结构、判别器结构:
生成器G2可选结构为:输入是两个为尺寸为分区边长二倍的图像块(图像块指第二阶段分区后若干连续分区构成的矩形区域的图像)标注为F1和F2。本方法将将使用G2生成图像称为区块细化生成。F1包含一半已细化生成的图像和一半背景框架图,F2为中间框架图中与F1相同区域的子图,将F1与F2输入G2,G2首先将两个输入及二者做差的结果各自卷积池化后连接,经过多层残差块组合采样网络结构输出与输入相同尺寸的高分辨率细化图像。
判别器D2结构为:D2用于判断生成的图片的真实度,D2输入为G2生成的生成样本或真实样本对应区域的图像块,经多层卷积池化最后连接全连接层得到标量输出。
进一步,步骤1涉及的各损失函数可选如下:
第一阶段生成器损失函数:
式中,LG1表示第一阶段生成器G1的损失函数,E表示期望,z表示随机噪声,Pz表示输入噪声Z的概率分布,D1表示判别器1,G1表示生成器G1,f表示输入特征图。
第一阶段判别器损失函数:
式中LD1表示判别器D1的损失函数,x'0表示真实样本的下采样模糊样本,P'x0表示真实样本下采样模糊样本的概率分布。
第二阶段生成器G2损失函数:
式中LG2表示第二阶段生成器G2的损失函数,s表示第一阶段生成样本分区后的区块,Ps表示s的概率分布,s'表示经生成器G2生成并更新后的区块,P's表示s'的概率分布,D2表示第二阶段判别器D2,G2表示第二阶段生成器G2,G2(s,s')表示输入s与s'生成的图像,F()为计算G2生成器生成图像与已生成区块连续度的惩罚函数,λ用于控制该惩罚函数所占的权重。
F(G2(s,s′),s)=f(||G2(s,s′)-s||1)
式中f为神经网络非线性函数,将s'的已生成过的区域的部分与G2(s,s')中对部分做比较判断新生成的图像区块与已生成区块的连续度。
第二阶段判别器D2损失函数:
式中LD2表示判别器D2的损失函数,x0表示真实样本对应区块,Px0表示x0的概率分布。
进一步,步骤2训练过程具体如下:
1)训练G1:将特征图训练样本F与随机噪声Z,输入生成器G1,生成特征图s0,计算损失函数LG1,反向传播更新G1权重;
2)训练D1:将真实样本x0下采样得到x'0,将x'0与s0输入判别器D1,计算损失函数LD2,反向传播更新D1权重;
3)交替训练G1及D1,直到达到迭代次数训练结束。
进一步,步骤3可选的处理方式为:
1)上采样采用双线性插值的方式,将特征图长宽各增大为2倍使得分辨率增大为4倍
2)分区可将长宽各均匀划分为k(k∈N,k≥4)份
进一步:步骤5的具体过程为:
1)在S1’中取已生成而邻域为未生成区块的连续区块子集S1’[xn,m,yn',m'],其中,图像中一半区域为已更新过的部分,另外一半为未更新过内容与S1相同的部分,两部分为对称邻接矩形。
2)取S1中与S1’[xn,m,yn',m']对应同区域区块子集S1[xn,m,yn',m']
3)将S1’[xn,m,yn',m']与S1[xn,m,yn',m'],输入生成器G2,G2首先将两个输入及二者之差经多通道卷积池化后连接,经过后续系列残差网络生成网络生成细化图像区块图像输出S″1。
4)根据S″1及S1’[xn,m,yn',m']计算生成器G2的包括样本连续性惩罚项的损失函数LG2,并反向传播更新G2。
5)将S″1输入判别器D2,根据S″1及真实样本对应区块x0计算D2的损失函数LD2,并反向传播更新D2。
6)重复步骤1,2,3,4或1,2,3,5迭代训练生成器G2与判别器D2,直到达到迭代次数。
具体使用例子:
1.搜集包含真实火星高清图像,处理得到每张图片对应特征图,将原图及特征图对当作训练集。
2.首先构建第一阶段和第二阶段网络
生成器G1结构为:输入为特征图F和噪声Z,F为3*256*256,F经2次大小3*3步长为1卷积窗口做卷积连接步长为2的池化得到32*64*64特征图,与生成的尺寸为32*64*64的随机噪声Z拼接,组成64*64*64特征图输入,生成器G1为多级逐步上采样残差块结构,输出为3*512*512;
判别器D1结构为:输入为1*512*512生成图或1*512*512模糊处理的真实样本图,经多级卷积池化,最后连接全连接层得到1*1*1的判别输出。
生成器G2结构为:外部输入为两个3*512*512的图像块F1和F2,图像F1是已经G2细化过的区块及相邻未细化区块,图像F2为提升分辨率后的还未经G2生成细化的对应区块,生成器首先将两个输入各自卷积池化,再与两个输入做差后卷积池化的结果相连得到8*256*256的组合特征图,然后经过残差块组合连接采样网络结构,得到3*512*512的生成网络输出。
判别器D2结构为:D2用于判断生成的图片的真实度,D2输入为3*512*512的生成器生成样本或真实样本对应区域截取的图像块,经多层卷积池化最后连接全连接层得到1*1*1的判别输出。
3.可选流程及生成顺序如图2所示。
4.连接特征图训练样本F与随机噪声Z并输入第一阶段生成网络生成对抗样本S0,参照真实样本x',计算生成器损失
和判别器损失,
交替训练生成器G1与判别器D1,直至网络稳定。
5.使用步骤3训练结束后G1生成样本,将生成的样本进行上采样得到s1,将生成样本分区,并分配编号使区块转换为可按坐标访问的区块组S1[0:3,0:3],并将将S1复制得到S1’,并对真实样本做相同分区操作。
6.取S1’中连续区块子集构成图像S1'[x1,2,y1,2],同时作为G2的第一,第二输入送入网络,训练流程同步骤6。
7.从S1’中取已生成而邻域为未生成区块的连续区块构成图像S1’[x1,2,y2,3],并取S1中对应区域区块子集S1[x1,2,y2,3],将S1’[x1,2,y2,3]与S1[x1,2,y2,3]输入G2生成对应S″1,将该生成的区块与真实样本对应区块图像输入判别器D2,计算生成器G2损失函数
和判别器D2损失函数,
交替训练生成器G2和判别器D2,直到达到迭代次数,将S″1复制到S'1中对应区域更新S'1。
8.重复步骤6直至完成S'1全部区块的生成。
9.输入下一张图片重复步骤4到步骤6继续训练,直至第二阶段GAN达到稳态训练结束。
10.将训练好的两阶段网络生成器G1,G2级联用于高清火星样本图像样本生成。
以下为与上述方法实施例对应的系统实施例,本实施方式可与上述实施方式互相配合实施。上述实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在上述实施方式中。
本发明还提出了一种基于对抗生成网络生成高清图像的系统,其中包括:
模块1,用于将真实图像的特征图连接随机噪声后输入第一生成器,生成第一对抗样本,将第一对抗样本与下采样后的真实样本输入第一判别器,计算网络判别器损失函数,交替训练第一生成器和第一阶段判别器,直到达到预设要求,保存当前该第一生成器作为第一图片生成器;
模块2,用于使用第一图片生成器生成的第一对抗样本,将该第一图片生成器生成的第一对抗样本进行上采样处理,得到上采样本,复制该上采样本,得到复制样本,并将该上采样本、该复制样本和该真实图像进行图像分区;
模块3,用于选取复制样本中连续的分区图像同时作为第一输入和第二输入送入第二生成器,得到初始对抗样本,通过第二判别器计算该真实图像中对应分区图像位置的图像块和该初始对抗样本间的损失,以交替训练该第二生成器与该第二判别器,直到达到预设要求,将当前初始对抗样本替换该复制样本中对应分区图像位置的图像;
模块4,用于选取该复制样本中已替换的分区图像及其未替换的邻域区块,作为第一输入,并从该上采样本中选取对应第一输入位置的图像,作为第二输入,将该第一输入和该第二输入送入该第二生成器,生成第二对抗样本,通过该第二判别器计算该真实图像对应第一输入位置的图像块和该第二对抗样本间的损失,以交替训练该第二生成器与该第二判别器,直到达到预设要求,将该第二对抗样本替换该复制样本中位于该位置的分区图像;
模块5,用于重复调用模块4,直到该复制样本中的分区图像均被替换,更新该真实图像;
模块6,用于循环调用该模块2到模块5,直到该第二判别器计算的损失收敛,级联当前该第一图片生成器和该第二生成器,作为清晰度提升模型,将待清晰度提升的图像输入该清晰度提升模型,得到该待清晰度提升的图像对应的高清图像。
所述的基于对抗生成网络生成高清图像的系统,其中模块4中该第一输入包括的已替换的分区图像的面积大小等于该邻域区块的面积大小。
所述的基于对抗生成网络生成高清图像的系统,其中该第一生成器的输入为该特征图和该随机噪声,该特征图经浅层卷积池化增加通道减少尺寸后与该随机噪声连接得到F',F'经多级残差块与反卷积结构,得到该第一对抗样本;
第一判别器的输入为该第一对抗样本或该真实图像经下采样模糊处理得到的真实样本,输入经多层卷积池化最后连接全连接层得到标量输出;
该第二生成器首先将两个输入及二者做差的结果各自卷积池化后连接,经过多层残差块组合采样网络结构输出与输入相同尺寸的高分辨率细化图像,作为第二对抗样本;
该第二判别器用于判断该第二对抗样本真实度,该第二判别器的输入为该第二对抗样本或该真实图像对应第一输入位置的图像的图像块,经多层卷积池化最后连接全连接层得到标量输出。
所述的基于对抗生成网络生成高清图像的系统,其中该第一生成器的损失LG1:
式中E表示期望,z表示随机噪声,Pz表示输入噪声Z的概率分布,D1表示第一判别器,G1表示第一生成器,f表示输入特征图像;
该第一判别器的损失LD1:
式中x'0表示真实图像经下采样模糊处理后的样本,P'x0表示真实图像经下采样模糊处理后的样本的概率分布.
该第二生成器的损失LG2:
式中s表示第一阶段生成样本分区后的图像块,Ps表示s的概率分布,s'表示经第二生成器生成并替换更新后的图像块,P's表示s'的概率分布,D2表示第二判别器,G2表示第二生成器,G2(s,s')表示输入s与s'生成的图像,F()为计算第二生成器生成图像与已生成区块连续度的惩罚函数,λ用于控制该惩罚函数所占的权重;
F(G2(s,s'),s)=f(||G2(s,s')-s||1)
式中f为神经网络非线性函数,将s'的已生成过的区域的部分与G2(s,s')中对部分做比较判断新生成的图像区块与已生成区块的连续度。
该第二判别器的损失LD2:
式中x0表示真实图像对应的图像块,Px0表示x0的概率分布。
所述的基于对抗生成网络生成高清图像的系统,其中该上采样具体为双线性插值。