基于条件生成对抗网络的多域图像转换方法、系统及介质与流程

文档序号:19658654发布日期:2020-01-10 20:47阅读:328来源:国知局
基于条件生成对抗网络的多域图像转换方法、系统及介质与流程

本发明涉及深度学习图像生成领域,具体涉及一种基于条件生成对抗网络的多域图像转换方法、系统及介质,尤其适用于图像风格迁移和医学图像多模态转换。



背景技术:

卷积神经网络是深度学习(dl,deeplearning)领域中一个重要的研究方向,现如今已经成为计算机视觉领域中最具影响力的革新的一部分。卷积神经网络最主要的特点是卷积运算操作,擅长矩阵运算,而图像的通道一般可以表示为二维矩阵,因此卷积神经网络在与图像相关的任务上表现优异。

自2014年生成对抗网络(generativeadversarialnetwork,简称gan)被提出以来,图像邻域就有了很大的进展,许多在分类、分割、风格迁移、图像生成、超分辨率和邻域自适应等方向的工作都有了超过stateofart的研究结果。gan是一种网络结构,也属于是一种网络的训练方法。最原始的gan包括一个生成器(generator)和一个鉴别器(discriminator),其目的是为了生成类似真实图像的图像。首先,生成器根据随机噪声(通常是符合高斯分布的)生成一个假图,然后鉴别器要区分出假图和真图的真假性。根据损失函数的设计,生成器在一步步迭代的过程中生成越来越接近真实图片的假图,最终使鉴别器不能区分假图和真图。但是,由于gan难训练的特点,很容易出现模式崩溃(如鉴别器训练不够好,把假图加大概率地判别为真图,不能很好地指导生成器,导致生成假图的效果很差)和梯度消失的问题。为此,相继有相关的研究,如dcgan、wgan和wgan-gp等的提出,大大地促进了gan的发展。

我们知道,经典gan只能生成随机的图片,而不能生成指定的图片。例如我们想要使用gan来生成指定颜色的汽车的图片,gan只能确保生成的图片是汽车,而不能保证生成的汽车一定是我们所指定的颜色的。为了解决这一问题,条件生成对抗网络被提出(conditionalgan,简称cgan)。不同于原始的gan结构,cgan多了一个one-hot编码的条件y,在训练时,随机噪声z与条件y进行拼接,组成一个新的一维向量作为生成器的输入;图像x平铺为一维向量,与条件y共同作为鉴别器的输入。因为存在条件y的约束,我们就能让生成器生成我们想要的图片了,目前最成功的基于条件生成对抗网络的要属stargan了,stargan是用于人脸图像的生成,它能实现不同人脸属性间的互换(如黑发变白发),为多域转换提供了新思路。

随着深度学习的发展,越来越多领域都在尝试用神经网络找到一种新的解决方案,医学图像分析也不例外。医学图像有多种不同模态,例如不同对比度的mri、不同剂量的ct以及超声波等。越多的模态意味着越多的信息,也意味着能为医生提供更多的帮助。而现如今太多数公开数据集包含配对的多模态图像还是比较少的,若是能实现不同模态的医学图像的转换,提供更多的配对数据,那对于医学图像处理领域的其他问题,如分割、分类、可视化、图像配准和信息融合等,都能提供相应的帮助。

医学图像的处理对精度的要求很高,例如在分割任务中,对某些腺体的分割将直接影响医生的判断。不同模态之间的成像方式差异比较大,但对于同一个病人的同一个位置来说,几何结构基本是一样的。所以医学图像的跨模态转换的难点在于对细节的精确转换,使用卷积神经网络来捕捉细节特征是有效果的。因此,越来越多的相关研究基于神经网络,提出新的解决方法,推动医学图像处理的发展。



技术实现要素:

本发明要解决的技术问题:针对现有技术的上述问题,提供一种基于条件生成对抗网络的多域图像转换方法、系统及介质,本发明利用特征提取器提取原图的特征,通过上采样及与零矩阵在通道上的拼接得到条件矩阵,在具有较高的独立性情况下,又保有每个模态输入自身的语义信息;本发明训练灵活,且对要转换的域的数量没有限制,所需参数少。

为了解决上述技术问题,本发明采用的技术方案为:

一种基于条件生成对抗网络的多域图像转换方法,实施步骤包括:

1)输入待转换的x模态的原图x、y模态的原图y;

2)针对原图x采用预先训练好的条件提取器来生产x模态条件cx,针对原图y采用预先训练好的条件提取器来生产y模态条件cy;

3)将原图x、原图y、x模态条件cx、y模态条件cy输入预先训练好的条件生成对抗网络得到对应的图像转换结果。

可选地,步骤2)的详细步骤包括:针对原图x采用预先训练好的条件提取器提取图像特征,再对图像特征进行上采样放大成原图大小然后再与零矩阵进行通道上的拼接得到x模态条件cx;针对原图y采用预先训练好的条件提取器提取图像特征,再对图像特征进行上采样放大成原图大小然后再与零矩阵进行通道上的拼接得到y模态条件cy。

可选地,所述条件提取器为用于将输入的原图进行下采样到指定大小的多层卷积神经网络。

可选地,步骤2)之前还包括训练条件提取器的步骤,详细步骤包括:

a1)初始化条件提取器;

a2)输入指定数据集的任意一张图像;

a3)针对输入的图像通过条件提取器进行卷积处理得到图像特征;

a4)计算条件提取器的损失lossce;

a5)对条件提取器的损失lossce求导,并通过反向传播计算出条件提取器的各层参数的梯度值,根据梯度值更新参数,完成本轮迭代;

a6)判断是否满足预设的退出迭代条件,如果满足则结束迭代并退出;否则,跳转执行步骤a2)继续进行下一轮迭代。

可选地,步骤a4)计算条件提取器的损失lossce的函数表达式如式(1)所示;

lossce=||conditinal_extractor(a)-alabel||2(1)

式(1)中,||conditinal_extractor(a)-alabel||2表示图像特征、标签alabel之间的距离,其中a表示数据集内的任一模态的图像,conditinal_extractor(a)表示图像a提取得到的图像特征,alabel表示训练条件提取器时使用的标签,所述数据集有n个模态,第i个模态的标签的数值为i/n,大小为h/2×w/2×1,其中h为图像的高度,w为图像的宽度。

可选地,所述条件生成对抗网络包括几何信息编码器encodersame、细节信息编码器encoderdiff以及解码器decoder,步骤3)中条件生成对抗网络得到对应的图像转换结果的详细步骤包括:

3.1)针对原图x,通过几何信息编码器encodersame编码得到x模态几何空间特征xsame,将x模态几何空间特征xsame与零矩阵进行通道上的拼接后输入解码器decoder得到x模态掩膜图xmask;针对原图y,通过几何信息编码器encodersame编码得到y模态几何空间特征ysame,将y模态几何空间特征ysame与零矩阵进行通道上的拼接后输入解码器decoder得到x模态掩膜图ymask;将原图x与y模态条件cy进行通道上的拼接,然后通过细节信息编码器encoderdiff编码得到y模态细节语义特征ydiff,将y模态细节语义特征ydiff与零矩阵进行通道上的拼接后输入解码器decoder得到y模态细节特点图ydic;将图像y与x模态条件cx进行通道上的拼接,然后通过细节信息编码器encoderdiff编码得到x模态几何空间特征xdiff,将x模态几何空间特征xdiff与零矩阵进行通道上的拼接后输入解码器decoder得到x模态细节特点图xdic;

3.2)重用x模态几何空间特征xsame、y模态细节语义特征ydiff进行通道上的拼接后输入解码器decoder得到y模态生成图yfake;重用y模态几何空间特征ysame、x模态细节语义特征xdiff进行通道上的拼接后输入解码器decoder得到x模态生成图xfake;

3.3)将x模态生成图xfake和y模态生成图yfake输出。

可选地,步骤3)之前还包括训练条件生成对抗网络的步骤,详细步骤包括:

b1)输入训练集中的任意一组x模态的原图x、y模态的原图y;

b2)针对原图x采用预先训练好的条件提取器来生产x模态条件cx,针对图像y采用预先训练好的条件提取器来生产y模态条件cy;

b3)针对原图x,通过几何信息编码器encodersame编码得到x模态几何空间特征xsame,将x模态几何空间特征xsame与零矩阵进行通道上的拼接后输入解码器decoder得到x模态掩膜图xmask;针对原图y,通过几何信息编码器encodersame编码得到y模态几何空间特征ysame,将y模态几何空间特征ysame与零矩阵进行通道上的拼接后输入解码器decoder得到x模态掩膜图ymask;将原图x与y模态条件cy进行通道上的拼接,然后通过细节信息编码器encoderdiff编码得到y模态细节语义特征ydiff,将y模态细节语义特征ydiff与零矩阵进行通道上的拼接后输入解码器decoder得到y模态细节特点图ydic;将图像y与x模态条件cx进行通道上的拼接,然后通过细节信息编码器encoderdiff编码得到x模态几何空间特征xdiff,将x模态几何空间特征xdiff与零矩阵进行通道上的拼接后输入解码器decoder得到x模态细节特点图xdic;将图像x与x模态条件cx进行通道上的拼接,然后通过细节信息编码器encoderdiff编码得到x模态几何空间特征x'diff,将原图y与y模态条件cy进行通道上的拼接,然后通过细节信息编码器encoderdiff编码得到y模态细节语义特征y'diff;

b4)重用x模态几何空间特征xsame、y模态细节语义特征ydiff进行通道上的拼接后输入解码器decoder得到y模态生成图yfake;重用y模态几何空间特征ysame、x模态细节语义特征xdiff进行通道上的拼接后输入解码器decoder得到x模态生成图xfake;

b5)将原图x、原图y,x模态生成图xfake、y模态生成图yfake输入鉴别器discriminator进行对抗学习;

b6)计算条件生成对抗网络的网络总损失;

b7)对网络总损失求导,开启反向传播逐层计算出条件生成对抗网络各层参数的梯度值,然后根据各层参数梯度更新这些参数,完成本轮迭代;

b8)判断是否满足预设的退出迭代条件,如果满足则结束迭代并退出;否则,跳转执行步骤b1)继续进行下一轮迭代。

可选地,步骤b6)中生成对抗网络gan的网络总损失由鉴别器损失、生成对抗损失、特征编码损失、一致性损失求和得到,所述鉴别器损失的计算函数表达式如式(2)所示,所述生成对抗损失的计算函数表达式如式(3)所示,所述特征编码损失的计算函数表达式如式(4)所示,所述一致性损失的计算函数表达式如式(5)所示;

式(2)中,lossdis表示鉴别器损失,||discriminator(xfake)||2表示鉴别器对生成图xfake的鉴别损失,||discriminator(yfake)||2表示鉴别器对生成图yfake的鉴别损失,||discriminator(x)-xlabel||2表示鉴别器对原图x的鉴别损失,||discriminator(y)-ylabel||2表示鉴别器对原图y的鉴别损失,discriminator(xfake)表示鉴别器对生成图xfake的鉴别结果,discriminator(yfake)表示鉴别器对生成图yfake的鉴别结果,discriminator(x)表示鉴别器对原图x的鉴别结果,discriminator(y)表示鉴别器对原图y的鉴别结果,xlabel表示原图x的标签,ylabel表示原图y的标签,w1是鉴别器损失的权重;

式(3)中,lossadv表示生成对抗损失,||discriminator(yfake)-ylabel||2表示生成图yfake与原图y的对抗损失,||discriminatonr(xfake)-xlabel||2表示生成图xfake与原图x的对抗损失,discriminator(yfake)表示鉴别器对生成图yfake的鉴别结果,discriminatonr(xfake)表示鉴别器对生成图xfake的鉴别结果,xlabel表示原图x的标签,ylabel表示原图y的标签,w2是生成对抗损失的权重;

式(4)中,losscode表示特征编码损失,||xsame-ysame||2是x模态和y模态几何特征之间的距离,||xdiff-x'diff||2+||ydiff-y'diff||2是计算不同模态的原图转换至同一模态时得到的细节信息特征间的损失,(1-||xdiff-ydiff||2)+(1-||x'diff-y'diff||2)是计算同一模态的原图转换至不同模态时得到的细节信息特征的损失,w31是几何信息损失的权重,w32是同一转换方向的细节损失的权重,w33是不同转换方向的细节损失的权重;xsame为x模态几何空间特征、ysame为y模态几何空间特征,xdiff为x模态细节语义特征,ydiff为y模态细节语义特征,xdiff为原图x与x模态条件cx通过细节信息编码器encoderdiff编码得到y模态细节语义特征,y'diff为原图y与y模态条件cy通过细节信息编码器encoderdiff编码得到y模态细节语义特征;

式(5)中,lossconsistency表示一致性损失,||xmask-ymask||2表示x模态掩膜图与y模态掩膜图之间的距离损失,||x-xfake||2表示原图x与生成图xfake之间的距离损失,||y-yfake‖2表示原图y与生成图yfake之间的距离损失,||xdic-ydic‖2表示x模态细节特点图与y模态细节特点图的距离损失,w41是几何信息编码器encodersame、解码器decoder之间的训练路径的损失权重,w42是几何信息编码器encodersame、细节信息编码器encoderdiff、解码器decoder之间的训练路径的损失权重,w43是细节信息编码器encoderdiff、解码器decoder之间的训练路径的损失权重;xmask为x模态掩膜图,ymask为y模态掩膜图,xfake为x模态生成图,yfake为y模态生成图,xdic为x模态细节特点图,ydic为y模态细节特点图。

此外,本发明还提供一种基于条件生成对抗网络的多域图像转换系统,包括计算机设备,该计算机设备被编程或配置以执行所述基于条件生成对抗网络的多域图像转换方法的步骤,或者该计算机设备的存储介质上存储有被编程或配置以执行所述基于条件生成对抗网络的多域图像转换方法的计算机程序。

此外,本发明还提供一种计算机可读存储介质,该计算机可读存储介质上存储有被编程或配置以执行所述基于条件生成对抗网络的多域图像转换方法的计算机程序。

和现有技术相比,本发明具有下述优点:

1、本发明利用特征提取器提取原图的特征,通过上采样及与零矩阵在通道上的拼接得到条件矩阵,在具有较高的独立性情况下,又保有每个模态输入自身的语义信息。

2、本发明训练灵活,且对要转换的域的数量没有限制,相比于需要n(n-1)个编解码器的传统模块化网络所需要的参数更少。

3、本发明在网络结构上可进一步根据需要将编码器分为几何信息编码器encodersame和细节信息编码器encoderdiff,将差异较小的特征与差异较大的特征分开提取,并通过特征编码损失和一致性损失将编码的特征约束到同一空间。

附图说明

图1为本发明实施例方法的基本原理示意图。

图2为本发明实施例方法步骤2)的原理示意图。

图3为本发明实施例中条件提取器的训练流程示意图。

图4为本发明实施例中步骤3)的流程示意图。

图5为本发明实施例中步骤3.1)的原理示意图。

图6为本发明实施例中步骤3.2)的原理示意图。

具体实施方式

下文将以x、y两个模态的二域转换为例,对本发明可实现医学图像多模态转换的多域图像转换方法及系统进行进一步的详细说明。

如图1所示,本实施例基于条件生成对抗网络的多域图像转换方法的实施步骤包括:

1)输入待转换的x模态的原图x、y模态的原图y;

2)针对原图x采用预先训练好的条件提取器来生产x模态条件cx,针对原图y采用预先训练好的条件提取器来生产y模态条件cy;

3)将原图x、原图y、x模态条件cx、y模态条件cy输入预先训练好的条件生成对抗网络得到对应的图像转换结果。

参见图2,步骤2)的详细步骤包括:针对原图x采用预先训练好的条件提取器提取图像特征(条件特征),再对图像特征进行上采样放大成原图大小然后再与零矩阵进行通道上的拼接得到x模态条件cx;针对原图y采用预先训练好的条件提取器提取图像特征,再对图像特征进行上采样放大成原图大小然后再与零矩阵进行通道上的拼接得到y模态条件cy。

经典条件生成网络的条件是由人工给定的,并以向量的形式与随机噪声一起,作为神经网络的输入。而本实施例的条件不直接通过人工给定,而是分两步操作来生产条件。参见图2,步骤2)可分为条件特征的生成与条件矩阵的生成。

第一部分(左侧虚线框部分)用于条件特征的生成,条件提取器由卷积神经网络组成(红色虚线框部分),目的是将不同模态图像的特征约束到对应的空间当中去,通过完成对整个数据集的训练,用于为后续转换训练中图像提供标志性高的条件;本实施例中,条件提取器为用于将输入的原图进行下采样到指定大小的多层卷积神经网络,具体包括层卷积层,用于将不同模态的图像(h×w×c)下采样到(h/2)×(w/2)×1大小的矩阵,其中c为模态,h为高度,w为宽度,该矩阵代表着输入图像的语义特征。通过对不同模态的图像设计标签,神经网络能学习将不同模态图像下采样到特定的特征空间。该方法的优点是能让不同模态图像对应的特征矩阵之间的距离相对较远,而同一模态里的图像对应的特征矩阵距离相对较近,且又保留一定的自身信息。

第二部分(右侧虚线框部分)用于条件矩阵的生成,将使用第一部分训练好的条件提取器,为即将转换的图像提供符合原图空间特征的条件特征,然后将条件矩阵进行线性插值上采样并与零矩阵拼接为条件矩阵,用于后续的转换训练。假设要对n个模态的数据进行互转,提取的条件作为神经网络的一个输入,需通过上采样方法(线性插值),放大成与原始图像相同的大小(h×w×1),然后与(n-1)个零矩阵(h×w×1)在通道上进行相应位置的叠加,最终形成(h×w×n)大小的条件矩阵,其中n为模态数量。例如要将原始图(无论是哪个模态)转换为第二个模态,那么从条件提取器提取并上采样得到的条件作为生成的条件矩阵的第二个通道,其余通道则是由零矩阵组成。这样做的一个目的是为了使生成的条件能作为生成对抗网络的输入,更重要的是,与零矩阵在相应位置的通道叠加,能进一步提高不同模态的条件矩阵之间的独立性,利于网络的训练。

如图3所示,步骤2)之前还包括训练条件提取器的步骤,详细步骤包括:

a1)初始化条件提取器;

a2)输入指定数据集的任意一张图像;

a3)针对输入的图像通过条件提取器进行卷积处理得到图像特征;

a4)计算条件提取器的损失lossce;

a5)对条件提取器的损失lossce求导,并通过反向传播计算出条件提取器的各层参数的梯度值,根据梯度值更新参数,完成本轮迭代;

a6)判断是否满足预设的退出迭代条件,如果满足则结束迭代并退出;否则,跳转执行步骤a2)继续进行下一轮迭代。

本实施例中,条件生成对抗网络包括几何信息编码器encodersame、细节信息编码器encoderdiff以及解码器decoder。条件生成对抗网络共包括3个部分:编码器(encoder)、解码器(decoder)和鉴别器(discriminator)。其中,因为不同模态之间的几何空间信息相似,而细节语义信息差异较大,所以编码器又分为提取几何空间特征的几何信息编码器encodersame,以及提取细节语义特征的细节信息编码器encoderdiff。编码器和解码器都使用2d卷积核进行卷积操作,编码器为下采样路径,解码器为上采样路径。几何信息编码器encodersame的输入为要转换的原图,细节信息编码器encoderdiff的输入为原图和相应的条件矩阵,将几何信息编码器encodersame与细节信息编码器encoderdiff输出的特征进行通道上的叠加,作为decoder的输入。细节信息编码器encoderdiff与解码器decoder之间形成u-net结构,以加强细节信息转换部分的训练。由于输入的不同,decoder的输出也具有不同的意义。鉴别器采用resnet-50网络,作为n类别分类器,输出是维度为n的向量,向量的数值表示属于某一类的概率。鉴别器的主要功能为:判别输入图像属于n类中的某一类的概率,对于生成器生成的假图,鉴别器应将其判别为假,既输出n维零向量。

如图4所示,步骤3)中条件生成对抗网络得到对应的图像转换结果的详细步骤包括:

3.1)参见图4和图5,针对原图x,通过几何信息编码器encodersame编码得到x模态几何空间特征xsame,将x模态几何空间特征xsame与零矩阵进行通道上的拼接后输入解码器decoder得到x模态掩膜图xmask;针对原图y,通过几何信息编码器encodersame编码得到y模态几何空间特征ysame,将y模态几何空间特征ysame与零矩阵进行通道上的拼接后输入解码器decoder得到x模态掩膜图ymask;将原图x与y模态条件cy进行通道上的拼接,然后通过细节信息编码器encoderdiff编码得到y模态细节语义特征ydiff,将y模态细节语义特征ydiff与零矩阵进行通道上的拼接后输入解码器decoder得到y模态细节特点图ydic;将图像y与x模态条件cx进行通道上的拼接,然后通过细节信息编码器encoderdiff编码得到x模态几何空间特征xdiff,将x模态几何空间特征xdiff与零矩阵进行通道上的拼接后输入解码器decoder得到x模态细节特点图xdic;

3.2)参见图4和图6,重用x模态几何空间特征xsame、y模态细节语义特征ydiff进行通道上的拼接后输入解码器decoder得到y模态生成图yfake;重用y模态几何空间特征ysame、x模态细节语义特征xdiff进行通道上的拼接后输入解码器decoder得到x模态生成图xfake;

3.3)将x模态生成图xfake和y模态生成图yfake输出。

本实施例中,步骤3)之前还包括训练条件生成对抗网络的步骤,详细步骤包括:

b1)输入训练集中的任意一组x模态的原图x、y模态的原图y;

b2)针对原图x采用预先训练好的条件提取器来生产x模态条件cx,针对图像y采用预先训练好的条件提取器来生产y模态条件cy;

b3)针对原图x,通过几何信息编码器encodersame编码得到x模态几何空间特征xsame,将x模态几何空间特征xsame与零矩阵进行通道上的拼接后输入解码器decoder得到x模态掩膜图xmask;针对原图y,通过几何信息编码器encodersame编码得到y模态几何空间特征ysame,将y模态几何空间特征ysame与零矩阵进行通道上的拼接后输入解码器decoder得到x模态掩膜图ymask;将原图x与y模态条件cy进行通道上的拼接,然后通过细节信息编码器encoderdiff编码得到y模态细节语义特征ydiff,将y模态细节语义特征ydiff与零矩阵进行通道上的拼接后输入解码器decoder得到y模态细节特点图ydic;将图像y与x模态条件cx进行通道上的拼接,然后通过细节信息编码器encoderdiff编码得到x模态几何空间特征xdiff,将x模态几何空间特征xdiff与零矩阵进行通道上的拼接后输入解码器decoder得到x模态细节特点图xdic;将图像x与x模态条件cx进行通道上的拼接,然后通过细节信息编码器encoderdiff编码得到x模态几何空间特征x'diff,将原图y与y模态条件cy进行通道上的拼接,然后通过细节信息编码器encoderdiff编码得到y模态细节语义特征y'diff;

b4)重用x模态几何空间特征xsame、y模态细节语义特征ydiff进行通道上的拼接后输入解码器decoder得到y模态生成图yfake;重用y模态几何空间特征ysame、x模态细节语义特征xdiff进行通道上的拼接后输入解码器decoder得到x模态生成图xfake;

b5)将原图x、原图y,x模态生成图xfake、y模态生成图yfake输入鉴别器discriminator进行对抗学习;

b6)计算条件生成对抗网络的网络总损失;

b7)对网络总损失求导,开启反向传播逐层计算出条件生成对抗网络各层参数的梯度值,然后根据各层参数梯度更新这些参数,完成本轮迭代;

b8)判断是否满足预设的退出迭代条件,如果满足则结束迭代并退出;否则,跳转执行步骤b1)继续进行下一轮迭代。

参见图5,步骤b3)对应系统的辅助训练部分,抽象出来的架构如图4所示,与原始的cgan对比,生成器分解为了三部分:几何信息编码器、细节信息编码器和解码器,为了学习不同尺度的细节信息,细节信息编码器和解码器形成一种u-net结构,在一次完整训练中,输入图像与条件矩阵进行排列组合,作为细节信息编码器的输入;辅助部分主要包括两个训练路径,几何信息编码器到解码器、细节信息编码器到解码器,分别对应图5的上侧虚线框部分和绿下侧虚线框部分。本实施例中,步骤b4)对应系统的条件训练部分,抽象出来的架构如图6所示,不同于辅助训练部分,该部分是将几何信息编码器的输出特征与细节信息的输出特征进行排列组合,以此作为解码器的输入。在早期迭代过程中条件训练与辅助训练同步进行,到了中后期的迭代时,相应的会线性减少辅助训练的次数,迫使整个网络集中于两个编码器的组合训练,提高假图的质量。

条件生成对抗网络是通过输入我们给定的条件,生成我们想要的输出,即:x+cy→yfake,以a、b和c三种模态之间的互转为例,x可以为a、b和c中的任何一种模态,同样的,y也可以a、b和c中的任何一种模态,基于前面提到条件生成方法对cgan进行改进,则x生成y的过程中条件矩阵cy生成过程:

①对整个数据集的数据(x,y)作为条件提取器的输入,训练条件提取器;

②使用训练完成的条件提取器提取x的图像特征xf;

③将图像特征xf上采样成xf,并通过相应位置的通道叠加得到cy;

x+cy→yfake生成过程:

①几何信息编码器encodersame将输入x编码为特征xsame;

②细节信息编码器encoderdiff将通道叠加后的(x⊕cy)编码为特征ydiff;

③将xsame与ydiff进行通道上的拼接(xsame⊕ydiff);

④解码器decoder将拼接后的特征(xsame⊕ydiff)解码为输出yfake;

⑤鉴别器discriminator对x、y、yfake进行判别,将x,y分别判别为x、y所属的类别,将yfake判别为假。

以上是两个模态的条件训练方法,当有n个模态时,则相应的在条件生成的过程中,将会生成h×w×n的条件矩阵cy。然后根据条件矩阵cy,依次完成各种模态的转换训练。在这个过程中,为了能融合几何信息特征和细节语义特征,生成更加真实的转换图,将xsame与ydiff进行了通道上的拼接,并通过鉴别器discriminator对原图与转换图进行对抗学习。

为了提高编解码器的性能,我们在x转换成y的这一过程中,添加一些训练过程,以提高整个生成对抗网络的性能,具体过程如下:

①使用训练完成的条件提取器提取x的特征,并通过相应位置的通道叠加得到cx;

②重用x+cy→yfake生成过程中的xsame、ydiff和cy;

③encodersame将输入y编码为特征ysame;

④encoderdiff将通道叠加后的(y⊕cx)编码为特征xdiff;

⑤encoderdiff将通道叠加后的(x⊕cx)编码为特征x'diff;

⑥encoderdiff将通道叠加后的(y⊕cy)编码为特征y'diff;

⑦将xsame与零矩阵与(ydiff同维度)进行通道上的拼接(xsame⊕zero);

⑧将ysame与零矩阵与(ydiff同维度)进行通道上的拼接(ysame⊕zero);

⑨将xdiff与零矩阵与(xsame同维度)进行通道上的拼接(zero⊕xdiff);

⑩将ydiff与零矩阵与(xsame同维度)进行通道上的拼接(zero⊕ydiff);

decoder将拼接的特征(xsame⊕zero)、(ysame⊕zero)、(zero⊕xdiff)和(zero⊕ydiff)分别解码为xmask、ymask、xdic和ydic。

以上是两个模态的辅助训练方法,当有三个及以上的模态需要互相转换时,任一转换过程与上述过程相似。经过辅助训练所得到的中间结果xsame、ysame、xdiff、ydiff、x'diff和y'diff,最终结果xmask、ymask、xdic和ydic,我们希望几何空间特征xsame与ysame能约束到同一空间,xdiff和x'diff能约束到同一空间,ydiff和y'diff能约束到同一空间;从上述过程我们可以看出,xmask与ymask是原图经过encodersame→decoder这条路径的结果,是对原图几何信息的重建,通过损失函数的指导使相互之间能尽可能的相似,进而指导编码器对几何信息特征的解码。而xdic与ydic是原图经过encoderdiff→decoder这条路径的结果,是对不同转换方向的细节信息特征的重建,应尽可能的不相似,进而指导编码器对细节信息特征的解码。yfake是原图进过(encodersame⊕encoderdiff)→decoder这条训练路径的结果,通过监督学习和对抗学习,进而与真实图像y越来越接近。

以将x模态转换为y模态为例,以上方法综合训练过程的公式如下所示:

条件生成过程可用公式表示为:

xf=conditional_extractor(x)

yf=conditional_extractor(y)

cy=upsampley(xf)

cx=upsamplex(yf)

在获得条件矩阵cy的基础上,训练过程可表示为:

xsame=encodersame(x)

ysame=encodersame(y)

上述公式中xf,yf,cx,cy分别表示x、y的特征和条件,conditional_extractor表示条件提取器,upsample表示上采样以及在通道拼接的方式,encodersame、encoderdiff和decoder分别是几何信息编码器、细节信息编码器和解码器。xsame和ysame是encodersame分别对对x和y编码的特征结果,表示在通道上的拼接操作,xdiff、ydiff、x'diff和y'diff是encoderdiff对不同组合输入的结果,x、y、xfake、yfake、xmask、ymask、xdic、ydic分别为x模态原图、y模态原图、x模态生成图、y模态生成图、x模态掩膜图、y模态掩膜图、x模态细节特点图、y模态细节特点图。

上述方法仅是介绍x转换为y的单向过程,真实训练过程中,一次完整的训练包括x->y、y->x以及相应的辅助训练,在完整训练过程中我们通过设计损失函数作为模型的学习准则,约束模型的优化方向。

本实施例中,步骤a4)计算条件提取器的损失lossce的函数表达式如式(1)所示;

lossce=||conditinal_extractor(a)-alabel||2(1)

式(1)中,||conditinal_extractor(a)-alabel||2表示图像特征、标签alabel之间的距离,其中a表示数据集内的任一模态的图像,conditinal_extractor(a)表示图像a提取得到的图像特征,alabel表示训练条件提取器时使用的标签,数据集有n个模态,第i个模态的标签的数值为i/n,大小为h/2×w/2×1,其中h为图像的高度,w为图像的宽度。

本实施例中,步骤b6)中生成对抗网络gan的网络总损失由鉴别器损失、生成对抗损失、特征编码损失、一致性损失求和得到,鉴别器损失的计算函数表达式如式(2)所示,生成对抗损失的计算函数表达式如式(3)所示,特征编码损失的计算函数表达式如式(4)所示,一致性损失的计算函数表达式如式(5)所示;

式(2)中,lossdis表示鉴别器损失,||discriminator(xfake)||2表示鉴别器对生成图xfake的鉴别损失,||discriminator(yfake)||2表示鉴别器对生成图yfake的鉴别损失,||discriminator(x)-xlabel||2表示鉴别器对原图x的鉴别损失,||discriminator(y)-ylabel||2表示鉴别器对原图y的鉴别损失,discriminator(xfake)表示鉴别器对生成图xfake的鉴别结果,discriminator(yfake)表示鉴别器对生成图yfake的鉴别结果,discriminator(x)表示鉴别器对原图x的鉴别结果,discriminator(y)表示鉴别器对原图y的鉴别结果,xlabel表示原图x的标签,ylabel表示原图y的标签,w1是鉴别器损失的权重;鉴别器discriminator是所有模态共用的,可以实现n分类,鉴别器的损失由原图损失和生成图损失组成。不同于条件提取器,鉴别器对x、y、xfake、yfake进行鉴别,输出n维数值在0到1之间的向量,相应的xlabel、ylabel也为n维向量,且模态对应坐标的向量元素的值为1,其余为0。假设x对应为第一个模态,则xlabel[0]为1,xlabel[1,...,n-1]为0。由于鉴别器应当将xfake、yfake判别为假,既xfake、yfake的标签为n维0向量。

式(3)中,lossadv表示生成对抗损失,||discriminator(yfake)-ylabel||2表示生成图yfake与原图y的对抗损失,||discriminatonr(xfake)-xlabel||2表示生成图xfake与原图x的对抗损失,discriminator(yfake)表示鉴别器对生成图yfake的鉴别结果,discriminatonr(xfake)表示鉴别器对生成图xfake的鉴别结果,xlabel表示原图x的标签,ylabel表示原图y的标签,w2是生成对抗损失的权重;生成器的损失由生成图的对抗损失组成,所有模态共用生成器的编码部件和解码部件。因生成器与鉴别器是一种“博弈”的关系,生成器希望自己生成的图能够被鉴别器判别为真,所以需要最小化假图判别结果与真实标签的距离,使损失结果能指导生成器,生成出越来越真实的图片。

式(4)中,losscode表示特征编码损失,||xsame-ysame||2是x模态和y模态几何特征之间的距离,||xdiff-x'diff||2+‖ydiff-y'diff‖2是计算不同模态的原图转换至同一模态时得到的细节信息特征间的损失,(1-‖xdiff-ydiff||2)+(1-‖x'diff-y'diff||2)是计算同一模态的原图转换至不同模态时得到的细节信息特征的损失,w31是几何信息损失的权重,w32是同一转换方向的细节损失的权重,w33是不同转换方向的细节损失的权重;xsame为x模态几何空间特征、ysame为y模态几何空间特征,xdiff为x模态细节语义特征,ydiff为y模态细节语义特征,x'diff为原图x与x模态条件cx通过细节信息编码器encoderdiff编码得到y模态细节语义特征,y'diff为原图y与y模态条件cy通过细节信息编码器encoderdiff编码得到y模态细节语义特征;特征编码损失由各个模态之间的几何信息特征与细节信息特征组成,公式中的‖xsame-ysame‖2是x模态和y模态几何特征之间的距离,由此约束几何信息编码器encodersame能将x、y编码至同一特征空间;公式中的(||xdiff-x'diff‖2+||ydiff-y'diff||2)是计算不同模态的原图转换至同一模态时得到的细节信息特征间的损失,由此约束细节信息编码器encoderdiff将同一转换方向的特征编码到同一空间;公式中的((1-||xdiff-ydiff||2)+(1-||x'diff-y'diff||2))是计算同一模态的原图转换至不同模态时得到的细节信息特征的损失,由此约束encoderdiff将不同转换方向的特征编码到不同的空间。

式(5)中,lossconsistency表示一致性损失,||xmask-ymask||2表示x模态掩膜图与y模态掩膜图之间的距离损失,||x-xfake||2表示原图x与生成图xfake之间的距离损失,||y-yfake||2表示原图y与生成图yfake之间的距离损失,||xdic-ydic||2表示x模态细节特点图与y模态细节特点图的距离损失,w41是几何信息编码器encodersame、解码器decoder之间的训练路径的损失权重,w42是几何信息编码器encodersame、细节信息编码器encoderdiff、解码器decoder之间的训练路径的损失权重,w43是细节信息编码器encoderdiff、解码器decoder之间的训练路径的损失权重;xmask为x模态掩膜图,ymask为y模态掩膜图,xfake为x模态生成图,yfake为y模态生成图,xdic为x模态细节特点图,ydic为y模态细节特点图。一致性损失是由三条不同训练路径所得结果间的距离组成的,w41是训练路径encodersame→decoder的损失权重,w42是训练路径的损失权重,w43是训练路径encoderdiff→decoder的损失权重。最终,网络总损失可表达为式(6):

lossall=lossdis+lossadv+losscode+lossconsitent

上述公式为生成对抗网络的总损失,不包括单独训练的条件提取器的lossce损失,所以网络总损失由鉴别器损失、生成对抗损失、特征编码损失、一致性损失求和得到。

此外,本实施例还提供一种基于条件生成对抗网络的多域图像转换系统,包括计算机设备,该计算机设备被编程或配置以执行本实施例前述基于条件生成对抗网络的多域图像转换方法的步骤,或者该计算机设备的存储介质上存储有被编程或配置以执行本实施例前述基于条件生成对抗网络的多域图像转换方法的计算机程序。

此外,本实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有被编程或配置以执行本实施例前述基于条件生成对抗网络的多域图像转换方法的计算机程序。

以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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