本发明涉及图像生成领域,具体涉及一种基于mimo-gan的图像生成系统和方法。
背景技术:
对抗生成网络(generativeadversarialnetwork,简称gan)是一种机器学习模型,是近年来人工智能领域的一个研究热点,被认为是无监督学习最具前景的方法之一。该模型最初由goodfellow等人于2014年提出,启发自博弈论中的两人零和博弈。该模型由一个生成网络和一个判断网络组成,通过这两个网络不断的相互对抗和调整参数,最终达到生成和真实数据分布一样的样本。
虽然gan在图像生成,视频检测等方面取得了极大的成功,迅速得到了学术界和产业界的关注;但同时该模型也以难以训练著称,特别是对于具有多个子模态的复杂图像,在传统gan框架下的模型生成的图像往往集中在某一个子模态,缺乏多样性,该现象极大地阻碍了利用gan模型生成图像的技术,成为了一个亟待解决的问题。
申请公布号为cn110120038a(申请号为201910376122.3)的中国发明专利申请公开了一种基于对抗生成网络的路面裂缝缺陷检测方法,包括如下步骤:s1、将图像数据x输入至生成器并生成与裂缝标签y对应的赝品标签y’;s2、将图像数据x和赝品标签y’在通道上进行连接,传输至辨别器并输出第一结果g_n;s3、将图像数据x和裂缝标签y在通道上进行连接,传输至辨别器并输出第二结果g_p;s4、训练辨别器判断g_p为真,g_n为假,并将判断假的部分反向传播调整生成器参数;s5、更换所述图像数据x并重复步骤s1-s4对生成器和辨别器重复训练,直到辨别器无法判别g_p为真,g_n为假;s6、训练完成后,固定生成器参数,将要检测的图片输入生成器,输出一个1280*1280*1的得分矩阵,然后通过阀值进行过滤,得出检测结果,能够更清楚的辨别裂缝病害。但是该技术方案在传统gan框架下的模型生成的图像往往集中在某一个子模态,缺乏多样性,容易造成gan模型的模式坍塌问题,会出现梯度消失现象,该现象极大地阻碍了利用gan模型生成图像的技术。
技术实现要素:
本发明提供了一种基于mimo-gan的图像生成系统和方法。
本发明利用无线通信中的多输入多输出(mimo)系统的概念提出了一种具有多个生成器和多个判断器的多输入多输出的对抗生成网络框架,即multiple-inputandmultipleoutputgenerativeadversarialnetwork,mimo-gan,并基于此提供了一种基于mimo-gan的图像生成系统和方法。该图像生成方法和系统能够有效解决gan模型的模式坍塌问题,避免梯度消失现象。
其具体方案如下:
一种基于mimo-gan的图像生成系统,包括:
模式分解器,用于接收真实图像并将真实图像分解成多个真实图像的子模式;
mimo-gan模块,用于接收所述模式分解器输出的真实图像的子模式和输入信号,产生m个子模式和n个判断结果;
模式合成器,用于接收所述mimo-gan模块输出的m个子模式并将这些子模式进行融合生成完整的图像。
本发明中,通过模式分解器将真实图像分解成多个子模式,利用mimo-gan模块生成真实图像的完整的子模态图像,最后通过模式合成器得到输出图像。本发明通过模式分解器将真实图像分解成多个子模式,利用mimo-gan模块中的多个生成器和多个判别器对抗博弈捕捉真实图像的完整的模态信息。针对客户的需求,通过反复训练mimo-gan模块中的多个生成器和判别器,生成满足要求的生成器集合和判别器集合,最后通过模式合成器得到生成图像。
所述的mimo-gan模块包括:
m个生成器和n个判别器,所述的m个生成器与n个判别器生成对抗构成一个对抗生成网络;
所述的m个生成器与n个判别器通过矩阵生成对抗构成一个对抗生成网络;
所述的矩阵为m×n阶的矩阵,其中,m≥2,n≥2。
所述的mimo-gan中的生成器集合中的每一个生成器都是一个神经网络,能够将输入信号(譬如高斯噪声)转变成一个子模式;所述的mimo-gan中的判别器集合中的每一个判断器都是一个神经网络,这些判别器接受模式分解器输出的真实图像的子模式和与之相连的生成器产生的子模式,负责甄别这些输入的真伪。所述的mimo-gan中生成器和判别器之间的连接模式用一个h矩阵存储,假设mimo-gan有m个生成器和n个判别器,则h是一个m×n阶的矩阵,其中任一元素hij的值代表生成器i和判别器j的连接状态,hij可以取0到1的数,值的大小表示生成器i和判别器j的连接强度,hij取1代表连接最强,当hij取0时,说明生成器i和判别器j无连接,他们之间不会进行对抗博弈。
所述的模式分解器与所述mimo-gan模块的判别器连接。
所述的模式合成器与所述mimo-gan模块的生成器连接。
所述的mimo-gan模块由多个生成器组成的生成器集合和由多个判断器组成的判断器集合两部分构成;mimo-gan模块接受来自模式分解器的真实图像的子模式以及输入信号,通过判别器的对抗博弈,产生多个子模式输出。模式合成器,用于接受mimo-gan模块的生成器输出的m个子模式,将这些子模式进行融合生成完整的图像,得到最终的输出结果。
一种基于mimo-gan的图像生成方法,采用基于mimo-gan的图像生成系统,包括以下步骤:
步骤s1:将真实图像输入到模式分解器中进行模式分解,得到n个真实图像的子模式;
步骤s2:将输入信号分别输入到m个生成器中,得到m个生成的初始子模式;
步骤s3:固定mimo-gan模块中所有生成器的参数以及读入步骤s1中n个真实图像的子模式和读入步骤s2中m个生成的初始子模式,依次训练n个判别器,得到mimo-gan模块中所有判别器的参数;
步骤s4:固定步骤s3中得到的mimo-gan模块中所有判别器的参数以及读入步骤s1中n个真实图像的子模式和读入步骤s2中m个生成的初始子模式,依次训练m个生成器,得到m个生成的子模式;
步骤s5:固定mimo-gan模块中所有生成器的参数以及读入步骤s1中n个真实图像的子模式和读入步骤s4中m个生成的子模式,依次训练n个判别器,得到mimo-gan模块中所有判别器的参数;
步骤s6:固定步骤s5中得到的mimo-gan模块中所有判别器的参数以及读入步骤s1中n个真实图像的子模式和读入步骤s4中m个生成的子模式,依次训练m个生成器,得到m个新的生成的子模式;
步骤s7:将步骤s6中得到m个新的生成的子模式更新到步骤s5和s6中m个生成的子模式,循环步骤s5和s6,得到达到设计目标的每一个生成器生成的子模式,输入到模式合成器中,得到生成图像。
步骤s1中,所述的n的个数根据需要进行设定,一般根据特征提取的话,n可设定为4个;若按照奇异值分解方法,需根据输入信号的维度d确定其主成分的分量,n可设定为0.7d,例如输入信号的维度为10,则n可设定为7。
步骤s2中,m可根据实际需要进行设定,最小可设定1,最大不超过1.2n。
步骤s3中,依次训练n个判别器,该判别器的目标函数公式为:
式中,
步骤s4中,依次训练m个生成器,该生成器的目标函数公式:
式中,
步骤s7中,将步骤s6中得到m个新的生成的子模式更新到步骤s5和s6中m个生成的子模式,循环步骤s5和s6,得到达到设计目标的每一个生成器生成的子模式,输入到模式合成器中,得到生成图像,具体包括:
步骤a:固定mimo-gan模块中所有生成器的参数以及读入步骤s1中n个真实图像的子模式和读入步骤s6得到m个新的生成的子模式,依次训练n个判别器,得到mimo-gan模块中所有判别器的参数;
步骤b:固定步骤a中得到的mimo-gan模块中所有判别器的参数以及读入步骤s1中n个真实图像的子模式和读入步骤s6得到m个新的生成的子模式,依次训练m个生成器,得到m个新的生成的子模式,若未达到设计目标,则返回步骤a,并用步骤b中的m个新的生成的子模式更新步骤a中的m个新的生成的子模式;若达到设计目标,则结束进入步骤c;
步骤c:将步骤b得到的达到设计目标的每一个生成器生成的子模式输入到模式合成器中,得到生成图像。
所述的设计目标为直到每一个判别器无法识别跟判别器对抗的生成器产生的子模式。
与现有技术相比,本发明的有益效果是:
与传统的对抗生成网络相比,本项目在结构上增加了一个模式分解器和模式合成器,设计了一个mimo-gan结构,将传统的由单个生成器和单个判别器组成的gan变成一个由多个生成器和多个判断器组成的多输入输出结构的gan;在流程上,首先将真实数据进行模式分解,然后进行对抗学习,最后进行模式合成得到生成图像;有效地解决了由于多个模态共存引起的训练不收敛、模式坍塌问题,增加了生成图像的多样性,提高了运算速度,使得本发明不仅能够适用于简单的单模式图像,也适用于复杂的多模式图像,甚至跨模式信号,譬如图像信号,语言信号、文字信号。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1是本发明实施例公开的一种基于mimo-gan的图像生成系统的结构示意图;
图2是本发明实施例公开的一种基于mimo-gan的图像生成系统中mimo-gan模块的结构示意图;
图3是本发明实施例公开的一种mimo-gan图像生成方法的运行模型图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明公开的一种mimo-gan的图像生成系统,包括:模式分解器,mimo-gan模块和模式合成器三个部分。
模式分解器,用于接受真实图像,将真实图像分解成n个真实图像的子模式;
mimo-gan模块,用于接受模式分解器输出的n个真实图像的子模式和输入信号,生成n个判断结果和m个子模式;
模式合成器,用于接受mino-gan输出的m个子模式,将这些子模式进行融合生成完整的图像。
为了描述方便,以下过程中的神经网络是由cnn卷积神经网络、全连接网络以及反卷积网络构成,本领域技术人员将理解的是,除了使用以上网络之外,根据本发明的实施方式的构造也能够应用于其他方法之上。
下面将mimo-gan的结构和产生图像的过程进行详细的说明。
如图2所示,mimo-gan模块包括:m个生成器和n个判别器,所述的m个生成器与n个判别器生成对抗构成一个对抗生成网络;m个生成器与n个判别器通过矩阵生成对抗构成一个对抗生成网络,矩阵为m×n阶的矩阵,其中,m≥2,n≥2。mimo-gan模块由两部分组成,一部分是生成器集合,另一部分是判断器集合。生成器集合由m个生成器网络组成,分别记为生成器g1,生成器g2,......,生成器gm,可产生m个子模式,这m个子模式是由m个生成器将输入的信号z进行变换得到,这些信号的分布为pz;判别器集合由n个判别器网络组成,分别记为判别器d1,判别器d2,......,判别器dn。每一个判别器di对应于模式分解器产生的真实图像的一个子模式xi。n的个数等于模式分解器分解出的模式数目。图2中判别器输出的结果用t/f表示,t表示判断结果是真的,f表示判断结果是假的。在训练中,t对应于判别器输出的结果为1,f对应于判别器输出的结果为0。生成器只能与判别器相连,生成器之间以及判别器之间没有连接,图2用直线的方式示意了生成器和判别器之间的连接模式。生成器和判别器之间的连接模式用矩阵h表示,对于图2所示的mimo-gan模块,有m个生成器和n个判别器,则h是一个m×n阶的矩阵,其中任一元素hij的值代表生成器i和判别器j的连接状态,hij可以取0到1的数,值的大小表示生成器i和判别器j的连接强度,hij最大取1,当hij取0时,说明生成器i和判别器j无连接,他们之间不会进行对抗博弈。
如图2所示,模式分解器由一个神经网络构成,将真实数据x进行模式分解为n个真实图像的子模式,x`,…,xn,真实数据x的分布为:pdata。
如图3所示,基于mimo-gan产生图像的过程包括以上步骤:
步骤s1:将真实数据x进行模式分解,得到n个真实图像的子模式,x`,…,xn;
步骤s2:将输入信号z分别输入到m个生成器中,得到m个生成子模式(子模式1、2、3......m);
步骤s3:固定生成网络g中所有的生成器,依次训练n个判别器,对于任一判别器dj,该判别器的目标函数公式为:
式中,
步骤s4:固定判别网络d中所有的判别器,依次训练m个生成器,对于任一生成器gi,该生成器的目标函数公式:
式中,
步骤s5:重复步骤s3至s4,直到判别网络d中判别器无法识别生成网络g产生的图像;
步骤s6:将上一轮生成网络g每一个生成器生成的子模式输入到模式合成器中,得到生成图像。
以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
1.一种基于mimo-gan的图像生成系统,其特征在于,包括:
模式分解器,用于接收真实图像并将真实图像分解成多个真实图像的子模式;
mimo-gan模块,用于接收所述模式分解器输出的真实图像的子模式和输入信号,产生m个子模式和n个判断结果;
模式合成器,用于接收所述mimo-gan模块输出的m个子模式并将这些子模式进行融合生成完整的图像。
2.根据权利要求1所述的基于mimo-gan的图像生成系统,其特征在于,所述的mimo-gan模块包括:
m个生成器和n个判别器,所述的m个生成器与n个判别器生成对抗构成一个对抗生成网络。
3.根据权利要求2所述的基于mimo-gan的图像生成系统,其特征在于,所述的m个生成器与n个判别器通过矩阵生成对抗构成一个对抗生成网络。
4.根据权利要求3所述的基于mimo-gan的图像生成系统,其特征在于,所述的矩阵为m×n阶的矩阵,其中,m≥2,n≥2。
5.根据权利要求2所述的基于mimo-gan的图像生成系统,其特征在于,所述的模式分解器与所述mimo-gan模块的判别器连接。
6.根据权利要求2所述的基于mimo-gan的图像生成系统,其特征在于,所述的模式合成器与所述mimo-gan模块的生成器连接。
7.一种基于mimo-gan的图像生成方法,其特征在于,采用权利要求1~6任一项所述的基于mimo-gan的图像生成系统,包括以下步骤:
步骤s1:将真实图像输入到模式分解器中进行模式分解,得到n个真实图像的子模式;
步骤s2:将输入信号分别输入到m个生成器中,得到m个生成的初始子模式;
步骤s3:固定mimo-gan模块中所有生成器的参数以及读入步骤s1中n个真实图像的子模式和读入步骤s2中m个生成的初始子模式,依次训练n个判别器,得到mimo-gan模块中所有判别器的参数;
步骤s4:固定步骤s3中得到的mimo-gan模块中所有判别器的参数以及读入步骤s1中n个真实图像的子模式和读入步骤s2中m个生成的初始子模式,依次训练m个生成器,得到m个生成的子模式;
步骤s5:固定mimo-gan模块中所有生成器的参数以及读入步骤s1中n个真实图像的子模式和读入步骤s4中m个生成的子模式,依次训练n个判别器,得到mimo-gan模块中所有判别器的参数;
步骤s6:固定步骤s5中得到的mimo-gan模块中所有判别器的参数以及读入步骤s1中n个真实图像的子模式和读入步骤s4中m个生成的子模式,依次训练m个生成器,得到m个新的生成的子模式;
步骤s7:将步骤s6中得到m个新的生成的子模式更新到步骤s5和s6中m个生成的子模式,循环步骤s5和s6,得到达到设计目标的每一个生成器生成的子模式,输入到模式合成器中,得到生成图像。
8.根据权利要求7所述的基于mimo-gan的图像生成方法,其特征在于,步骤s7中,将步骤s6中得到m个新的生成的子模式更新到步骤s5和s6中m个生成的子模式,循环步骤s5和s6,得到达到设计目标的每一个生成器生成的子模式,输入到模式合成器中,得到生成图像,具体包括:
步骤a:固定mimo-gan模块中所有生成器的参数以及读入步骤s1中n个真实图像的子模式和读入步骤s6得到m个新的生成的子模式,依次训练n个判别器,得到mimo-gan模块中所有判别器的参数;
步骤b:固定步骤a中得到的mimo-gan模块中所有判别器的参数以及读入步骤s1中n个真实图像的子模式和读入步骤s6得到m个新的生成的子模式,依次训练m个生成器,得到m个新的生成的子模式,若未达到设计目标,则返回步骤a,并用步骤b中的m个新的生成的子模式更新步骤a中的m个新的生成的子模式;若达到设计目标,则结束进入步骤c;
步骤c:将步骤b得到的达到设计目标的每一个生成器生成的子模式输入到模式合成器中,得到生成图像。
技术总结