一种基于胶囊网络的图像生成方法及系统与流程

文档序号:17893395发布日期:2019-06-13 15:49阅读:382来源:国知局
一种基于胶囊网络的图像生成方法及系统与流程

本发明涉及图像处理领域,尤其涉及一种基于胶囊网络的图像生成方法及系统。



背景技术:

gan模型通常由两部分组成:(1)一个生成器,它试图将从一个先验分布中提取的样本转换为从一个多维度的复杂数据分布中提取的样本;(2)一个判别器,它决定给定的样本是真实的还是来自生成器的分布。这两个部分的训练过程就像两个选手在进行一场博弈游戏。

深度卷积生成对抗网络dcgan模型是gan的一种延伸,将卷积网络引入到生成式模型当中来做无监督的训练,利用卷积网络(cnn)强大的特征提取能力来提高生成网络的学习效果。dcgan能够更为有效、快速地实现生成高质量图片。

2017年提出的胶囊网络(capsnets)的胶囊(capsule)是一组神经元,它的输出向量表示某一类型实体的实例化参数,这个实体可以是一个对象或者对象的某一部分。输出向量的长度表示实体存在的概率,向量的方向表示实例化参数。低层的活性胶囊通过变换矩阵和权重系数对高层的胶囊的实例化参数进行预测。当多个预测结果一致时,高层的胶囊就会被激活。该模型中的这些权重系数使用动态路由来确定,并使用squashing函数来计算capsule的输出向量vj,使得vj的长度不超过1。胶囊网络可以智能地对局部和整体的关系进行建模,用动态路由算法替代传统cnn的池化过程,减少了信息的损失,在mnist数字分类和重叠数字分割方面优于cnn,能对输入做一个优秀的、可解释的特征表达。这表明gan是可以使用capsnets(而不是cnn)来生成图像,以提高图像生成网络的性能。

胶囊(capsule)是一组神经元,它的输出向量表示某一类型实体的实例化参数,这个实体可以是一个对象或者对象的某一部分。输出向量的长度表示实体存在的概率,向量的方向表示实例化参数。实验表明,capsule模型在识别任务上表现优秀,能对输入做一个优秀的、可解释的表征。

变分自编码器vae包含encoder和decoder两部分,采用原始数据输入和输出,输入经过encoder之后,会提取均值和对数方差,这就是对于不同特征的样本,生成了不同特征的随机数,之后用随机数经decoder生成原始图像,就不依赖于特定输入输出。但是vae生成的图像比较模糊,不清晰真实。

为解决这个问题,本专利提出一种基于胶囊网络的图像生成模型(ccapsule-gan)。该模型包含encoder(编码器)、生成器、判别器和分类器四个部分。在胶囊网络中,其最后一层的输出向量是低层特征的聚合,能对输入样本的特征做出优秀的表示,这与vae的编码过程相似。故在ccapsule-gan模型中,加入胶囊网络作为encoder网络,有助于模型的训练过程更快收敛。另一方面,相比cnn的池化过程,胶囊网络的动态路由算法对特征的泛化鲁棒性更强。因此,ccapsule-gan模型的分类器也用胶囊网络替换现有的卷积网络。这有助于生成更多样化并且真实的图像。



技术实现要素:

为了解决传统变分自编码器vae在生成图像时,图像比较模糊,不清晰,不真实的问题,本发明提供了一种基于胶囊网络的图像生成方法及系统,一种基于胶囊网络的图像生成方法,主要包括以下步骤:

s101:根据待生成图像的属性特征构造训练数据;所述训练数据包括:多组原始图像和多个待生成图像的属性特征向量;每组原始图像包括多张原始图片;其中,一个待生成图像的属性特征向量代表待生成图像的一个属性特征;训练数据中的所有原始图片的尺寸均相等;属性特征为待生成图像的种类特征或者待生成图像的结构特征;

s102:构造图像生成模型;所述图像生成模型包括:编码器、生成器、判别器和分类器四部分;

s103:根据所述训练数据,采用批训练方法,对构造的图像生成模型进行训练,以调节图像生成模型中各部分的内部参数,得到训练后的图像生成模型;并构造一个随机噪声向量;

s104:将一个所述待生成图像的属性向量和随机噪声向量作为训练后的图像生成模型的输入,生成与训练数据中的图像尺寸一样的新图像,图像生成程序结束。

进一步地,步骤s102中,编码器为胶囊网络;生成器为逆卷积神经网络;判别器为卷积神经网络;分类器为胶囊网络;其中,所述胶囊网络包括顺次连接的卷积层、第一胶囊层和第二胶囊层;其中,第二胶囊层为全连接层;卷积层用于提取图像底层特征,第一胶囊层用于存储低级别特征的向量,第二胶囊层用于存储高级别特征的向量。

进一步地,步骤s103中,根据所述训练数据,采用批训练方法,对构造的图像生成模型进行训练,包括:

根据所述图像生成模型中的损失函数和所述训练数据,采用批训练方法,对所述编码器、生成器、判别器和分类器进行联合训练;所述编码器用于提取所述训练数据中与所述属性特征向量有关的图像特征向量;所述生成器用于根据所述图像特征向量生成新图像;所述判别器用于判别所述训练数据中的原始图像和所述新图像是否真实;所述分类器用于根据所述属性特征向量对所述训练数据中的原始图像和所述新图像进行分类;

重复训练所述编码器、生成器、判别器和分类器,在训练次数达到预设阈值或所述图像生成模型的整体输出结果处于收敛时,将当前的图像生成模型确定为训练后的图像生成模型。

进一步地,所述图像生成模型中的损失函数包括:

编码器的损失函数:kl散度损失函数和边缘损失函数;其中,kl散度损失函数用于减少先验分布pz和原数据分布pr之间的差距;边缘损失函数用于增加不同属性向量之间的差异;所述先验分布采用高斯分布;

生成器的损失函数lg如公式(1)所示:

上式中,x为训练数据中的真实图像,即所述原始图像;x′为生成器生成的新图像,fd(x)表示真实图像输入到判别器,判别器最后一个全连接层的输入特征图;fd(x′)表示生成的新图像输入到判别器,判别器最后一个全连接层的输入特征图;fc(x)表示原始图像输入到分类器,分类器最后一个全连接层的输入特征图;fc(x′)表示生成的新图像输入到分类器,分类器最后一个全连接层的输入特征图;

判别器的损失函数ld如公式(2)所示:

上式中,d(x)表示x来源于真实数据而不是生成图像的概率;e指取期望值,x~pr表示x服从分布pr;z~pz表示z服从分布pz;g(z)表示生成的新图像;d(g(z))表示生成的新图像来源于原始图像的概率;其中,先验分布采用高斯分布;

分类器的损失函数也采用边缘损失函数;

另外,在联合训练过程中,生成器与判别器会产生博弈现象,而在生成器与判别器的博弈过程中,使用非对称的损失函数来训练生成器;所述非对称的损失函数采用平均特征匹配损失函数,具体如公式(3)所示:

上式中,fd(x)表示真实图像输入到判别器,判别器最后一个全连接层的输入特征图,e表示取期望;fd(g(z))表示生成图像输入到判别器,判别器最后一个全连接层的输入特征图;

在生成器和分类器之间,也采用平均特征匹配损失函数训练生成器,具体公式如公式(4)所示:

上式中,fc(g(z,c))表示生成的新图像输入到分类器,分类器最后一个全连接层的输入特征图。

进一步地,步骤s103中,随机噪声向量采用random()函数获得,用于增加生成图像的多样性。

进一步地,一种基于胶囊网络的图像生成系统,其特征在于:包括以下模块:

训练数据构造模块,用于根据待生成图像的属性特征构造训练数据;训练数据包括:多组原始图像和多个待生成图像的属性特征向量;每组原始图像包括多张原始图片;其中,一个待生成图像的属性特征向量代表待生成图像的一个属性特征;训练数据中的所有原始图片的尺寸均相等;属性特征为待生成图像的种类特征或者待生成图像的结构特征;

模型构造模块,用于构造图像生成模型;所述图像生成模型包括依次连接的编码器、生成器、判别器和分类器四部分;

模型训练模块,用于根据训练数据,采用批训练方法,对构造的图像生成模型进行训练,以调节图像生成模型中各部分的内部参数,得到训练后的图像生成模型;并构造一个随机噪声向量;

图像生成模块,用于将一个所述待生成图像的属性向量和随机噪声向量作为训练后的图像生成模型的输入,生成与训练数据中的图像尺寸一样的新图像,图像生成程序结束。

进一步地,模型构造模块中,编码器为胶囊网络;生成器为逆卷积神经网络;判别器为卷积神经网络;分类器为胶囊网络;其中,所述胶囊网络包括顺次连接的卷积层、第一胶囊层和第二胶囊层;其中,第二胶囊层为全连接层;卷积层用于提取图像底层特征,第一胶囊层用于存储低级别特征的向量,第二胶囊层用于存储高级别特征的向量。

进一步地,模型训练模块中,根据训练数据,采用批训练方法,对构造的图像生成模型进行训练,包括:

根据所述图像生成模型中的损失函数和所述训练数据,采用批训练方法,对所述编码器、生成器、判别器和分类器进行联合训练;所述编码器用于提取所述训练数据中与所述属性特征向量有关的图像特征向量;所述生成器用于根据所述图像特征向量生成新图像;所述判别器用于判别所述训练数据中的原始图像和所述新图像是否真实;所述分类器用于根据所述属性特征向量对所述训练数据中的原始图像和所述新图像进行分类;

重复训练所述编码器、生成器、判别器和分类器,在训练次数达到预设阈值或所述图像生成模型的整体输出结果处于收敛时,将当前的图像生成模型确定为训练后的图像生成模型。

本发明提供的技术方案带来的有益效果是:本发明所提出的技术方案将图像生成模型中加入胶囊网络作为编码器网络,有助于模型的训练过程更快收敛;另一方面,相比卷积神经网络的池化过程,胶囊网络的动态路由算法对特征的泛化鲁棒性更强,能生成更多样化并且真实的图像。

附图说明

下面将结合附图及实施例对本发明作进一步说明,附图中:

图1是本发明实施例中一种基于胶囊网络的图像生成方法的流程图;

图2是本发明实施例中图像生成模型的结构示意图;

图3是本发明实施例中一种基于胶囊网络的图像生成系统的模块组成示意图。

具体实施方式

为了对本发明的技术特征、目的和效果有更加清楚的理解,现对照附图详细说明本发明的具体实施方式。

本发明的实施例提供了一种基于胶囊网络的图像生成方法及系统。

请参考图1,图1是本发明实施例中一种基于胶囊网络的图像生成方法的流程图,具体包括如下步骤:

s101:根据待生成图像的属性特征构造训练数据;训练数据包括:多组原始图像和多个待生成图像的属性特征向量;每组原始图像包括多张原始图片;其中,一个待生成图像的属性特征向量代表待生成图像的一个属性特征;训练数据中的所有原始图片的尺寸均相等;属性特征为待生成图像的种类特征或者待生成图像的结构特征;比如,待生成图像为鸟的图像,则属性特征可以为鹰、麻雀和斑鸠,也可以为白色的鸟和黑色的鸟;

s102:构造图像生成模型;所述图像生成模型包括:编码器、生成器、判别器和分类器四部分;

s103:根据所述训练数据,采用批训练方法,对构造的图像生成模型进行训练,以调节图像生成模型中各部分的内部参数,得到训练后的图像生成模型;并构造一个随机噪声向量;

s104:将一个所述待生成图像的属性向量和随机噪声向量作为训练后的图像生成模型的输入,生成与训练数据中的图像尺寸一样的新图像,图像生成程序结束。

步骤s102中,编码器为胶囊网络;生成器为逆卷积神经网络;判别器为卷积神经网络;分类器为胶囊网络,图像生成模型的结构示意图如图2所示;

胶囊网络包括顺次连接的卷积层、第一胶囊层和第二胶囊层;其中,第二胶囊层为全连接层;卷积层用于提取图像底层特征,第一胶囊层用于存储低级别特征的向量,第二胶囊层用于存储高级别特征的向量。

步骤s103中,根据训练数据,采用批训练方法,对构造的图像生成模型进行训练,包括:

根据所述图像生成模型中的损失函数、所述训练数据,采用批训练方法,对所述编码器、生成器、判别器和分类器进行联合训练;所述编码器用于提取所述训练数据中与所述属性特征向量有关的图像特征向量;所述生成器用于根据所述图像特征向量生成新图像;所述判别器用于判别所述训练数据中的原始图像和所述新图像是否真实;所述分类器用于根据所述属性特征向量对所述训练数据中的原始图像和所述新图像进行分类;

重复训练所述编码器、生成器、判别器和分类器,在训练次数达到预设阈值或所述图像生成模型的整体输出结果处于收敛时,将当前的图像生成模型确定为训练后的图像生成模型。

具体训练步骤如下:

s201:将所述训练数据中的多组原始图像输入图像生成网络中的编码器,生成多组原始图像对应的特征向量;

s202:根据训练数据中的属性特征向量对多组原始图像对应的特征向量进行mask操作,得到多组第一特征向量;所述第一特征向量为剔除与所述属性特征向量无关的部分后,剩下的与属性特征向量相关的原始图像对应的特征向量;

s203:利用均值公式和方差公式,求取所述多组第一特征向量的均值向量和方差向量;并根据公式(1)求得随机向量z;

z=μ+exp(σ2)⊙∈,∈~n(0,i)(1)

上式中,σ2为方差向量,∈为生成的随机分布,μ为均值向量,⊙代表元素对应相乘运算;

s204:将所述随机向量和所述属性特征向量进行拼接,并将拼接后的新向量作为生成器的输入,生成多组新图像;

s205:将所述多组新图像和所述多组原始图像作为判别器的输入,得到判别概率和第一特征图,并根据判别概率和第一特征图反向调节生成器和判别器的内部参数;

s206:将所述多组新图像和所述多组原始图像作为分类器的输入,得到分类概率和第二特征图,并根据分类概率和第二特征图再次反向调节生成器和分类器的内部参数;

s207:将参数调节后的图像生成模型作为新的图像生成模型;

s208:重复执行步骤s201~s207,直到达到预先设定的最大迭代次数,得到训练后的图像生成模型。

所述图像生成模型中的损失函数包括:

编码器的损失函数:kl散度损失函数(如公式(2))和边缘损失函数(如公式(3));其中,kl散度损失函数用于减少先验分布pz和原数据分布pr之间的差距;边缘损失函数用于增加不同属性向量之间的差异;所述先验分布采用高斯分布:

lmargin=tcmax(0,m+-||vc||)2+λ(1-tc)max(0,||vc||-m-)2(3)

上式中,tc为属性特征向量,||vc||表示属性c对应向量的模长,m+、m-和λ均为预先设置的超参数;

生成器的损失函数lg如公式(4)所示:

上式中,x为训练数据中的真实图像,即所述原始图像;x′为生成器生成的新图像,fd(x)表示真实图像输入到判别器,判别器最后一个全连接层的输入特征图;fd(x′)表示生成的新图像输入到判别器,判别器最后一个全连接层的输入特征图;fc(x)表示原始图像输入到分类器,分类器最后一个全连接层的输入特征图;fc(x′)表示生成的新图像输入到分类器,分类器最后一个全连接层的输入特征图;

判别器的损失函数ld如公式(5)所示:

上式中,d(x)表示x来源于真实数据而不是生成图像的概率;e指取期望值,x~pr表示x服从分布pr;z~pz表示z服从分布pz;g(z)表示生成的新图像;d(g(z))表示生成的新图像来源于原始图像的概率;其中,先验分布采用高斯分布;

分类器的损失函数也采用边缘损失函数(公式(6))。

lc=lmargin(6)

另外,在联合训练过程中,生成器与判别器会产生博弈现象,而在生成器与判别器的博弈过程中,使用非对称的损失函数来训练生成器;所述非对称的损失函数采用平均特征匹配损失函数,具体如公式(7)所示:

上式中,fd(x)表示真实图像输入到判别器,判别器最后一个全连接层的输入特征图,e表示取期望;fd(g(z))表示生成图像输入到判别器,判别器最后一个全连接层的输入特征图;

在生成器和分类器之间,也采用平均特征匹配损失函数训练生成器,具体公式如公式(8)所示:

上式中,fc(g(z,c))表示生成的新图像输入到分类器,分类器最后一个全连接层的输入特征图。

步骤s103中,随机噪声向量采用random()函数获得,用于增加生成图像的多样性。

请参阅图3,图3为本发明实施例中一种基于胶囊网络的图像生成系统的模块组成示意图,包括顺次连接的:训练数据构造模块11、模型构造模块12、模型训练模块13和图像生成模块14;

训练数据构造模块11,用于根据待生成图像的属性特征构造训练数据;训练数据包括:多组原始图像和多个待生成图像的属性特征向量;每组原始图像包括多张原始图片;其中,一个待生成图像的属性特征向量代表待生成图像的一个属性特征;训练数据中的所有原始图片的尺寸均相等;属性特征为待生成图像的种类特征或者待生成图像的结构特征;

模型构造模块12,用于构造图像生成模型;所述图像生成模型包括依次连接的编码器、生成器、判别器和分类器四部分;

模型训练模块13,用于根据所述训练数据,采用批训练方法,对构造的图像生成模型进行训练,以调节图像生成模型中各部分的内部参数,得到训练后的图像生成模型;并构造一个随机噪声向量;

图像生成模块14,用于将一个所述待生成图像的属性向量和随机噪声向量作为训练后的图像生成模型的输入,生成与训练数据中的图像尺寸一样的新图像,图像生成程序结束。

进一步地,模型构造模块12中,编码器为胶囊网络;生成器为逆卷积神经网络;判别器为卷积神经网络;分类器为胶囊网络;其中,所述胶囊网络包括顺次连接的卷积层、第一胶囊层和第二胶囊层;其中,第二胶囊层为全连接层;卷积层用于提取图像底层特征,第一胶囊层用于存储低级别特征的向量,第二胶囊层用于存储高级别特征的向量。

进一步地,模型训练模块13中,根据训练数据,采用批训练方法,对构造的图像生成模型进行训练,包括:

根据所述图像生成模型中的损失函数和所述训练数据,采用批训练方法,对所述编码器、生成器、判别器和分类器进行联合训练;所述编码器用于提取所述训练数据中与所述属性特征向量有关的图像特征向量;所述生成器用于根据所述图像特征向量生成新图像;所述判别器用于判别所述训练数据中的原始图像和所述新图像是否真实;所述分类器用于根据所述属性特征向量对所述训练数据中的原始图像和所述新图像进行分类;

重复训练所述编码器、生成器、判别器和分类器,在训练次数达到预设阈值或所述图像生成模型的整体输出结果处于收敛时,将当前的图像生成模型确定为训练后的图像生成模型。

本发明的有益效果是:本发明所提出的技术方案将图像生成模型中加入胶囊网络作为编码器网络,有助于模型的训练过程更快收敛;另一方面,相比卷积神经网络的池化过程,胶囊网络的动态路由算法对特征的泛化鲁棒性更强,能生成更多样化并且真实的图像。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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