CN113947706B - 一种基于生成对抗网络的图像多样性增强方法与系统 - Google Patents
一种基于生成对抗网络的图像多样性增强方法与系统 Download PDFInfo
- Publication number
- CN113947706B CN113947706B CN202111561049.0A CN202111561049A CN113947706B CN 113947706 B CN113947706 B CN 113947706B CN 202111561049 A CN202111561049 A CN 202111561049A CN 113947706 B CN113947706 B CN 113947706B
- Authority
- CN
- China
- Prior art keywords
- image
- module
- value
- diversity
- clustering
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Biophysics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Probability & Statistics with Applications (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
本发明公开了一种基于生成对抗网络的图像多样性增强方法与系统,属于机器学习技术领域,为解决小样本学习、任意图像数据集样本扩充与平衡等问题,本发明的技术方案包括生成器模块,判别器模块和聚类可视化模块。生成器模块利用噪声生成新的对抗样本图像;判别器模块将原有图像数据集和对抗样本进行“真假”比对;聚类可视化模块计算生成的对抗样本的种群数量。该发明创新性的将“压缩编码函数”与“辛普森多样性指数”相结合,提出了分类导向的多样性最大化损失函数,能在保证生成对抗样本图像的保真度的同时,有效提升种群内样本的多样性。
Description
技术领域
本发明属于机器学习技术领域,具体涉及一种基于生成对抗网络的图像多样性增强方法与系统。
背景技术
生成式对抗网络(GAN, Generative Adversarial Networks )是一种在2014年由Goodfellow等人提出的深度学习模型,是近年来深度学习界中热门模型之一。原始的生成式对抗网络模型框架中拥有两个模块:生成模块(Generative Model)和判别模块(Discriminative Model)。两个模块通过它们之间的“博弈”来达到使用者想要得到的效果。在生成式对抗网络实例中常使用深度神经网络作为生成模块和判别模块。一个“训练有素”的生成式对抗网络对合适的训练方法有非常高的需求,否则可能因为神经网络模型的无监督性而导致训练结果不尽人意。
现有技术中,一部分相关人员在进行对生成对抗网络的改进时,他们对生成对抗网络中的生成模块以及判别模块的损失函数进行改进,如使用地球移动距离代替常见的交叉熵损失函数,但并未对生成模块和判别模块的神经网络结果进行改进,神经网络中依然全部使用全连接层。又或者一部分人是对生成模块和判别模块的神经网络结构进行改进,但是并未涉及到其损失函数的改进,通常还是使用常见的交叉熵损失函数。
现有技术存在以下技术问题:
在对生成对抗网络进行改进时,现有技术虽然能使生成的对抗样本的清晰度更高,更贴合原始图像数据集中的图像。但是通过现有技术对生成对抗网络进行改进会出现模式崩塌的问题。导致生成的图像千篇一律,并未能让图像的多样性有所增强。
发明内容
针对上述现有技术中存在的问题,本发明提出了一种基于生成对抗网络的图像多样性增强方法与系统,其目的为:解决传统生成式对抗网络模型中的模式坍塌问题。使图像低维度表征被最大化表达,做到对样本保真度和多样性之间的权衡进行精细控制。
为实现上述目的本发明所采用的技术方案是:提供一种基于生成对抗网络的图像多样性增强方法,应用于装有Tensorflow框架的Windows系统设备,包括:
S1:搭建一个生成对抗网络模型,包括聚类模块、具有分类导向的损失函数、判别器模块和生成器模块;
S2:将采集的图像数据形成原始图像数据集,并对所述原始图像数据集做归一化预处理,并定义优化器和损失函数;
本发明利用Tensorflow2.0自带的tf.data.Dataset.from_tensor_slices()函数,导入原始图像数据集之后,通过shuffle()函数进行数据打乱,之后利用map()函数并结合定义好的预处理函数对原始图像数据集进行归一化操作,之后再利用batch()函数,定义放入模型训练图像的数量;
S3:使用Tensorflow框架的函数生成噪声,将生成的噪声放入生成器模块,生成对应的图像对抗样本;
S4:所述图像对抗样本进入聚类模块,然后聚类模块对所述图像对抗样本进行聚类,并得出聚类数值;
S5:所述原始图像数据集和所述图像对抗样本进入判别器模块,判别器模块根据所述原始图像数据集对所述图像对抗样本进行判断,输出一个判断结果;
S6:根据判断结果,基于所述聚类数值,利用S2定义的损失函数,计算所述生成器模块的损失值和所述判别器模块的损失值,并通过反向传播的训练方式来提升生成器模块和判别器模块的性能,并获取判别器模块的生成图像作为图像多样性增强样本;
S7:然后循环S3-S6,直到生成器模块和判别器模块的训练次数达到预设的训练阈值,循环结束,生成最终的图像多样性增强数据集。
本发明中,使用的聚类模块为DBSCAN聚类可视化模块,通过DBSCAN聚类可视化模块得到的聚类数值并利用“辛普森多样性指数”作为正则化项的多样性最大化的损失函数,计算生成器模块的损失值以及判别器模块的损失值,之后对它们进行反向传播修改参数。具体是使用Tensorflow自带的Adam优化器,来进行反向传播提高判别器模块和生成器模块的性能。
较优的,本发明所述S1搭建判别器模块和生成器模块具体为:
S1.1:搭建一个八层神经网络结构的判别器模块:利用Keras框架中的Conv2D函数搭建四层卷积神经网络,然后使用BatchNormalization函数搭建两层BN层,以及最后的一个Flatten层和一个全连接层;
S1.2:搭建一个七层神经网络结构的生成器模块:首先搭建一个作为噪声输入大小为N×N的全连接层,再利用Keras框架中的Conv2DTranspose函数搭建四层反卷积神经网络层,然后使用BatchNormalization函数搭建两层BN层,最后一层反卷积神经网络层作为生成器模块的输出。
较优的,本发明所述S2定义的损失函数为编码长度函数和辛普森多样性指数相结合,具体为:
S2.1:定义图像的编码长度函数公式为:
其中,m和D分别为数据的尺寸,对应为图片的长与宽,I为上层网络残差,X为图像张量本身,同理X T 为图像张量的转置,ε为一个用以确定压缩精度的约束常量参数,x表示图像各点像素值;
S2.2:定义辛普森多样性指数公式为:
其中P i 代表:一个群落中,某一个种群被抽中的概率,其计算公式为:
当一个群落中,每个种群的数量相同时,得到辛普森多样性指数的另一种形式,其公式为:
其中,S代表,这个群落中的物种的种类数;
S2.3:将辛普森多样性指数和编码长度函数相结合,得到具有分类导向的损失函数,损失函数公式为:
其中,α是一个阈值,取值范围为(0,1),Ld-loss代表的是判别器损失值,Lg-loss是生成器损失值,E代表期望,x~Ptag代表的是x是tag集合中的数据,SPI是辛普森多样性指数,λ是一个范围为(0,1)的阈值,L(x,ε)代表的是编码长度函数。
较优的,本发明S3具体为:
S3.1:生成一个范围在[0-1]之间且大小为N×N的噪声,输入到生成器模块的全连接层中;
S3.2:生成器模块将输入的N×N噪声,进行一个重组操作,将其维度从二维张量改变为三维张量,然后进行反卷积操作;
S3.3:最后一层反卷积神经网络层输出生成的对抗样本图像。
较优的,本发明S4中通过聚类模块对图像对抗样本进行聚类具体为:
首先聚类模块对图像对抗样本进行标记,分别标记为核心点、边界点和噪声点,并删除噪声点,然后若核心点在规定半径以内,则赋予每两个核心点之间一条线段,被连通的核心点之间形成一个簇,所述边界点归属到与之有关联的簇中,然后得出簇的数量,即聚类数值。
较优的,本发明S5中判别器模块根据所述原始图像数据集对所述图像对抗样本进行判断具体为:
将生成的图像对抗样本和经过归一化处理的原始图像数据集一起放入判别器模块中进行判别,经过判别器模块的神经网络层处理后,输出一个范围在[0,1]的判断值,判断值的实际值大小更接近0或1进行判断。
较优的,本发明S6具体为:
若实际值大小更接近1,则基于所述聚类数值,利用辛普森多样性指数作为正则化项的编码长度损失函数,计算所述判别器模块的损失值,并进行反向传播提升判别器模块的性能,并保存通过判别器模块的生成图像作为图像多样性增强样本;
若实际值大小更接近0,则利用辛普森多样性指数作为正则化项的编码长度损失函数,计算所述生成器模块的损失值,并进行反向传播提升生成器模块。
较优的,本发明S6中计算损失值具体为:
通过聚类模块得到聚类数值,协助计算辛普森多样性指数,然后将计算好的辛普森多样性指数和编码长度函数相结合得到具体的损失函数,计算所述生成器模块的损失值和所述判别器模块的损失值。
较优的,本发明S7具体为:
设定一个Epochs,在生成器模块和判别器模块训练次数小于Epochs时,根据训练次数,输出对应的损失值和生成的图像对抗样本保存至预设文件夹中,当损失值逐渐稳定且变化极小时,即判别器模块与生成器模块达到了纳什均衡,则之后生成的图像对抗样本即作为原始图像数据集的图像多样性增强样本,达到训练次数后生成的所有图像多样性增强样本即图像多样性增强数据集。
本发明还提供一种基于生成对抗网络的图像多样性增强系统,包括:
生成器模块:包括八层神经网络,用于生成图像对抗样本;
判别器模块:包括7层神经网络,用于判别图像对抗样本和原始图像数据集的“真假”;
聚类模块:对生成的图像对抗样本进行聚类,得到聚类数值,并协助计算辛普森多样性指数,从而得到分类导向的损失函数;
损失函数:基于聚类模块得到的聚类数值,并利用辛普森多样性指数与编码长度函数相结合得到的损失函数,计算生成器模块的损失值以及判别器模块的损失值,之后对生成器模块和判别器模块进行反向传播。
相比现有技术,本发明的技术方案具有如下优点/有益效果:
1.本发明将传统的生成器网络以及判别器网络与DBSCAN聚类网络相结合,可直观的展示生成的对抗样本图像的种类及分布。使该系统使用者更加客观的了解生成图像的情况,以便进行参数的调控。
2.本发明将“编码长度函数”引入生成对抗网络损失函数中,旨在寻找图像的低秩结构,使图像能够划分的数据具有更小的空间,并通过划分能够获得对数据更有效的表示。该生成对抗网络还结合聚类网络所得结果引入“辛普森多样性指数”作为正则化项到该生成对抗网络的损失函数中,摆脱传统生成对抗网络模型使用交叉熵损失函数,而不能保证生成图像多样性的弊端。
3.本发明通过设计控制正则化约束使得生成对抗网络获得更强的鲁棒性,做到对样本保真度和多样性之间的权衡进行精细控制。尽可能使每类原始图像数据集中的图像的低维度表征被最大化表达。且可以人为的设定,生成图像的种类数量,使增强后的数据样本种类更可控,帮助解决小样本数据,数据稀少的问题。
附图说明
为了更清楚地说明本发明实施方式的技术方案,下面将对实施方式中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1是本发明实施例1的一种用于图像多样性增强的生成对抗网络框架图;
图2是本发明实施例1的一种用于图像多样性增强的生成对抗网络的生成器模块神经网络结构图;
图3是本发明实施例1的一种用于图像多样性增强的生成对抗网络判别器模块神经网络流程图;
图4是本发明实施例1的一种用于图像多样性增强的生成对抗网络中DBSCAN聚类可视化示意图;
图5是本发明实施例1的一种用于图像多样性增强的生成对抗网络运行流程图;
图6是原始图像数据集中的一张图像;
图7是通过本申请技术方案生成的对抗样本图像;
图8是通过本申请技术方案生成的对抗样本图像;
图9是通过本申请技术方案生成的对抗样本图像。
具体实施方式
为使本发明目的、技术方案和优点更加清楚,下面对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式是本发明的一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。因此,以下提供的本发明的实施方式的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施方式。
(1)、通过Windows系统下的计算机设备中安装的Tensorflow中的keras框架搭建生成器模块和判别器模块的神经网络。
(2)、在程序中定义函数,对原始图像数据集中的大小为N×N的图像进行预处理,将像素从[0,255]归一化为[0,1],减小模型训练中的不确定性。并在程序中定义“编码长度函数”和“辛普森多样性指数”相结合的分类导向的多样性最大化损失函数。并使用Tensorflow框架自带的Adam优化器来进行反向传播,更新模型参数,其学习率设置为0.0001,beta_1为0.9,beta_2为0.999。
(3)、此时使用Tensorflow框架自带的random函数产生N×N大小的噪声,之后将噪声送入生成器模块,生成器模块通过一系列以反卷积神经网络为主的神经网络,生成对抗样本图像。
(4)、经过归一化操作的原始图像数据集,和生成的对抗样本图像,一起被送入判别器模块中,经过一系列以卷积神经网络为主的神经网络之后,得到一个范围在[0-1]之间的“真假”数值。
(5)、模型根据通过判别器模块输出的“真假”数值去判断,是应该通过Adam优化器反向传播去优化生成器模块还是判别器模块,如果判别器模块输出的数值接近0,那么此时可以判断该生成图像为“假”,所以此时需要去优化生成器模块的参数,以提高它的性能。优化生成器模块之后,并继续使用生成器模块生成新的对抗样本图像,继续和判别器模块进行判别博弈。如果判别器模块输出的数值接近1,那么此时可以判断该生成图像为“真”,所以此时需要去优化判别器模块的参数,以提高它的性能。
(6)、如果当图片被判别器模块判别为“真”,那么就保存这张被生成的对抗样本图像用以作为被该系统增强多样性的样本图像。然后再根据设定的训练阈值Epochs,判断,是否还需要通过生成器模块生成对抗样本图像,是则继续和判别器模块进行判别博弈。如果训练博弈次数达到设置的阈值,那么此时结束训练。
实施例1:
如图1、图2、图3、图4和图5所示,
本发明提出一种基于生成对抗网络的图像多样性增强方法,该生成对抗网络应用于装有Tensorflow框架的Windows系统下的计算机中,该生成对抗网络包括生成器模块、判别器模块、聚类模块和具有分类导向的多样性最大化损失函数。本实施例1中的聚类模块为DBSCAN聚类可视化模块。所述生成对抗网络运行包括以下具体步骤:
S1:利用所述Tensorflow框架中的Keras框架,搭建一个八层神经网络结构的判别器模块和一个七层神经网络的生成器模块;所述S1搭建判别器模块和生成器模块具体为:
S1.1:搭建判别器模块:利用Keras框架中的Conv2D函数搭建四层卷积神经网络,然后使用BatchNormalization函数搭建两层BN层,以及最后的一个Flatten层和一个全连接层;
S1.2:搭建生成器模块:首先搭建一个作为噪声输入大小为N×N的全连接层,再利用Keras框架中的Conv2DTranspose函数搭建四层反卷积神经网络层,然后使用BatchNormalization函数搭建两层BN层,最后一层反卷积神经网络层作为生成器模块的输出。
S2:将采集的图像数据形成原始图像数据集,并对所述原始图像数据集做归一化预处理,并定义优化器,“压缩编码函数”和“辛普森多样性指数”相结合的具有分类导向的多样性最大化损失函数。即判别器模块的损失函数以及生成器模块的损失函数包括:
利用Tensorflow2.0自带的tf.data.Dataset.from_tensor_slices()函数,导入原始图像数据集之后,通过shuffle()函数进行数据打乱,之后利用map()函数并结合定义好的预处理函数对原始图像数据集进行归一化操作,之后再利用batch()函数,定义放入模型训练图像的数量;
通过分类导向的多样性最大化损失函数构建该生成对抗网络判别器模块以及生成器模块的损失函数;
优化器则使用Tensorflow框架自带的Adam优化器,其学习率设置为0.0001,beta_1为0.9,beta_2为0.999。
S3:将生成的噪声放入生成器模块,生成对应的图像对抗样本;S3具体为:
S3.1:生成一个范围在[0-1]之间且大小为N×N的噪声,输入到生成器模块的全连接层中;
S3.2:将输入的N×N噪声,进行一个重组操作,将其维度从二维张量改变为三维张量,然后进行反卷积操作;
S3.3:最后一层反卷积神经网络层输出生成的对抗样本图像。
S4:所述图像对抗样本进入DBSCAN聚类可视化模块,然后DBSCAN聚类可视化模块对所述图像对抗样本进行聚类,并得出聚类数值;具体为:
首先DBSCAN聚类可视化模块对图像对抗样本进行标记,分别标记为核心点、边界点或噪声点,并删除噪音点,然后若核心点在规定半径以内,则赋予每两个之间一条线段,被连通的核心点之间形成一个簇,所述边界点归属到与之有关联的簇中,然后得出簇的数量,即聚类数值。
S5:所述原始图像数据集和所述图像对抗样本进入判别器模块,判别器模块根据所述原始图像数据集对所述图像对抗样本进行“真假”判断;具体为:
将生成的图像对抗样本和经过归一化处理的原始图像数据集一起放入判别器模块中进行判别,经过判别器模块的神经网络层处理后,输出一个范围在[0,1]的判断值,判断值的实际值大小更接近0或1进行“真假”判断。
S6:根据“真假”判断结果,基于所述聚类数值,利用辛普森多样性指数作为正则化项的编码长度损失函数,计算所述生成器模块的损失值和所述判别器模块的损失值,并通过反向传播的训练方式来提升生成器模块和判别器模块的性能,并获取判别器模块的生成图像作为图像多样性增强样本;S6具体为:
若实际值大小更接近1,为“真”,则基于所述聚类数值,利用辛普森多样性指数作为正则化项的编码长度损失函数,计算所述判别器模块的损失值,并进行反向传播提升判别器模块的性能,并保存通过判别器模块的生成图像作为图像多样性增强样本;
若实际值大小更接近0,为“假”,则利用辛普森多样性指数作为正则化项的编码长度损失函数,计算所述生成器模块的损失值,并进行反向传播提升生成器模块。
本发明中,使用上述DBSCAN聚类可视化模块得到的聚类数值并利用“辛普森多样性指数”与“编码长度函数”相结合得到的多样性最大化损失函数,计算生成器模块损失值以及判别器模块的损失值,之后对它们进行反向传播。
编码长度函数,旨在寻找高维目标的低秩结构,使能够划分的图像具有更小的空间,并通过划分能够获得对数据更有效、更深层次表示的一种函数。对于图像来说,使用编码长度函数,可以使GAN能够更好的学习其低维度特征,该生成对抗网络还结合聚类网络所得结果引入“辛普森多样性指数”作为正则化项到该生成对抗网络的损失函数——多样性最大化损失函数。编码长度函数公式为:
其中,m和D分别为数据的尺寸,对应为图片的长与宽,I为上层网络残差,X为图像张量本身,同理X T 为图像张量的转置,ε为一个用以确定压缩精度的约束常量参数,本实施例1为0.000001;
辛普森多样性指数是一种评价或衡量群落中种类种数的一种指标,在本生成对抗网络中,本发明即使用辛普森多样性指数,来衡量该模型中,生成的对抗样本图像的种类丰富度。且缓解传统生成对抗网络模型的模式坍塌问题,即满足最大化利用原始图像数据集低维度表征,以增强图像多样性的初心。辛普森多样性指数公式为:
其中P i 代表:一个群落中,某一个种群被抽中的概率,其计算公式为:
当一个群落中,每个种群的数量相同时,得到辛普森多样性指数的另一种形式,其公式为:
其中,S代表,这个群落中的物种的种类数;本发明中S的数值就是DBSCAN聚类模块得到的聚类数值,计算得到“辛普森多样性指数”后,即可计算损失函数的损失值从而对生成器模块以及判别器模块进行优化更新以提高它们性能。
将“辛普森多样性指数”和“编码长度函数”相结合,得到具有分类导向的多样性最大化损失函数,损失函数的公式为:
其中,α是一个阈值,取值范围为(0,1),本实施例1中为0.1,损失函数在进行反向传播的过程中,通过对SPI(辛普森多样性指数)正则化约束,使SPI值接近α,对模型进行反向传播之后,尽可能使生成器模块生成的马尔科夫图像种类接近1/(1-α),从而达到提高图像种类多样性的目的。,Ld-loss代表的是判别器损失值,Lg-loss是生成器损失值,E代表期望,x~Ptag代表的是x是tag集合中的数据,SPI是辛普森多样性指数,λ是一个0到1阈值,L(x,ε)代表的是编码长度函数。
本实施例1中,在计算完判别器模块以及生成器模块的损失值之后,具体的反向传播优化过程是使用Tensorflow自带的Adam优化器,来进行反向传播提高判别器模块和生成器模块的性能。
S7:然后循环S3-S6,直到生成器模块和判别器模块的训练次数达到预设的训练阈值,循环结束,生成最终的图像多样性增强数据集。具体为:
设定一个Epochs,在生成器模块和判别器模块训练次数小于Epochs时,根据训练次数,输出对应的损失值和生成的图像对抗样本保存至预设文件夹中,当损失值逐渐稳定且变化极小时,即判别器模块与生成器模块达到了纳什均衡,则之后生成的图像对抗样本即作为原始图像数据集的图像多样性增强样本,达到训练次数后生成的所有图像多样性增强样本即图像多样性增强数据集。
如图1所示,生成器模块正如图1种G所示,包括共八层神经网络,用于生成对抗样本图像。判别器模块正如图1中D所示,共由7层神经网络构成,其作用为判别对抗样本图像和原始图像数据集的“真假”。聚类可视化模块正如图1中DBSCAN所示,它用来对生成的对抗样本图像进行聚类,并协助计算辛普森多样性指数从而得到分类导向的多样性最大化损失函数。
如图2所示,生成器模块,是在计算机设备上运用Tensorflow框架设置的一种以反卷积层为主的神经网络。生成器模块首先将Tensorflow框架中random函数产生的100×100大小的噪声,经过命名为FC1的全连接层之后,将噪声大小变成702×1,再通过对应的Reshape操作,对噪声进行升维操作,将大小为702×1噪声变为3×3×78的三维张量。之后再将此张量,经过一个通道数为1,反卷积核为大小3×3被命名为T1的反卷积层,该层的激活函数为relu函数,反卷积步长为[2,2]。而后经过一个命名为BN1的BN层,其作用是提高梯度的收敛程度,加快模型的训练速度。再经过一个通道数为1,反卷积核大小为3×3被命名为T2的反卷积层,该层使用的激活函数为relu函数, 反卷积步长为[2,2]。再经过一个被命名为BN2的BN层,其目的同上所述。之后再经过一个通道数为1,反卷积核大小为3×3被命名为T3的反卷积层,该层使用的激活函数为tanh函数, 反卷积步长为[2,2]。最后输出生成的对抗样本图像。
如图3所示,判别器模块由卷积神经网络以及全连接层以及Flatten层和BN层构成,其中卷积神经网络为主要神经网络。文件首先读取尺寸大小为28×28×1的原始图像数据集,放入第一个命名为C1的卷积层,该层使用1个大小为3×3的卷积核对输入特征图进行卷积运算,该层神经网络使用relu激活函数, 卷积步长为[2,2]。C1层之后有一个卷积核数量为1,卷积核大小为3×3的卷积层C2,C2层的激活函数为relu函数, 卷积步长为[2,2]。之后经过一个命名为BN1的BN层,其目的是加快模型训练速度。而后图像经过第三个卷积层C3,它由1个大小为3×3的卷积核构成,该层使用的是一个relu激活函数,卷积步长为[2,2]。之后再经过一个命名为BN2的BN层。最后两层是一个Flatten层和一个命名为FC1的全连接层,Flatten层作用是将数据拍平,方便放入全连接层。全连接层的目的是将整体结果进行一个“真假”判别,全连接层输出结果为一个[0-1]之间的float型值。
如图4所示,DBSCAN聚类可视化模块聚类展示生成器模块生成对抗样本图像之后被聚类之后的可视化图像,该模块由DBSCAN聚类算法构成。 DBSCAN(Density-BasedSpatial Clustering of Applications with Noise,具有噪声的基于密度的聚类方法)是一种很典型的密度聚类算法。此算法的显著优点是聚类速度快且能够有效处理噪声点和发现任意形状的空间聚类。使用DBSCAN聚类算法时,需要设定几个参数,分别是领域半径Eps以及领域密度阈值MinPts,DBSCAN算法将数据点分为三类:核心点、边界点、噪声点。核心点为在半径Eps内含有超过MinPts数目的点。边界点为在领域半径Eps内点的数量小于MinPts,但是落在核心点的邻域内的点。噪声点是既不是核心点也不是边界点的点。在得到三类点之后,算法首先将噪声点去除。之后,使用线段将距离在Eps之内的所有核心点连接。将连通的核心点及各自领域内的点形成一个簇,即达到聚类可视化的效果。也即可以直观的展示,生成器模块生成的图像是有多样性的。达到了增强图像多样性的目的。
本实施例1还包括一种基于生成对抗网络的图像多样性增强系统,其特征在于,包括:
生成器模块:包括八层神经网络,用于生成图像对抗样本;
判别器模块:包括7层神经网络,用于判别图像对抗样本和原始图像数据集的“真假”;
DBSCAN聚类可视化模块:对生成的图像对抗样本进行聚类,得到聚类数值,并协助计算“辛普森多样性指数” 从而得到分类导向的多样性最大化损失函数;
损失函数:基于DBSCAN DBSCAN聚类可视化模块得到的聚类数值,并利用“辛普森多样性指数”与“编码长度函数”相结合得到的多样性最大化损失函数,计算生成器模块的损失值以及判别器模块的损失值,之后对生成器模块和判别器模块进行反向传播。
本发明判别器模块对原始图像数据集和图像对抗样本进行“真假”判断具体为:
将生成的图像对抗样本放入判别器模块中进行判别,经过判别器模块的神经网络层处理后,输出一个[0-1]的对抗值,同样经过归一化处理的原始图像数据集放入判别器模块处理之后,输出一个[0-1]的原始值,最后根据对抗值和原始值进行“真假”判断。
图6为需要增强图像多样性的原始图像数据集中的一张图像。将该流量图像数据集送入本发明中的生成对抗网络中,经过多次训练,通过本发明的生成对抗网络可得到多张基于该原始图像数据集而增强图像多样性后图片。如图7、图8和图9所示。通过将图7、图8、图9与图6进行对比,可以看到生成的对抗样本图像和原始图像数据集中的图像相比,它们不仅保留了原始图像的重要结构特征,还将原始图像数据集中的图像的细节部分进行了泛化。以及不仅保证了生成对抗样本图像的保真度,也使送入生成对抗网络的原始图像数据集的多样性得到了增强。
以上仅是本发明的优选实施方式,应当指出的是,上述优选实施方式不应视为对本发明的限制,本发明的保护范围应当以权利要求所限定的范围为准。对于本技术领域的普通技术人员来说,在不脱离本发明的精神和范围内,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (9)
1.一种基于生成对抗网络的图像多样性增强方法,应用于装有Tensorflow框架的Windows系统设备,其特征在于,包括:
S1:搭建一个生成对抗网络模型,包括聚类模块、具有分类导向的损失函数、判别器模块和生成器模块;
S2:将采集的图像数据形成原始图像数据集,并对所述原始图像数据集做归一化预处理,并定义优化器和损失函数;
所述S2定义的损失函数为编码长度函数和辛普森多样性指数相结合,具体为:
S2.1:定义图像的编码长度函数公式为:
其中,m和D分别为数据的尺寸,对应为图片的长与宽,I为上层网络残差,X为图像张量本身,同理X T 为图像张量的转置,ε为一个用以确定压缩精度的约束常量参数,x表示图像各点像素值;
S2.2:定义辛普森多样性指数公式为:
其中P i 代表:一个群落中,某一个种群被抽中的概率,其计算公式为:
当一个群落中,每个种群的数量相同时,得到辛普森多样性指数的另一种形式,其公式为:
其中,S代表,这个群落中的物种的种类数;
S2.3:将辛普森多样性指数和编码长度函数相结合,得到具有分类导向的损失函数,损失函数公式为:
其中,α是一个阈值,取值范围为(0,1),Ld-loss代表的是判别器损失值,Lg-loss是生成器损失值,E代表期望,x~Ptag代表的是x是tag集合中的数据,SPI是辛普森多样性指数,λ是一个范围为(0,1)的阈值,L(x,ε)代表的是编码长度函数;
S3:使用Tensorflow框架的函数生成噪声,将生成的噪声放入生成器模块,生成对应的图像对抗样本;
S4:所述图像对抗样本进入聚类模块,然后聚类模块对所述图像对抗样本进行聚类,并得出聚类数值;
S5:所述原始图像数据集和所述图像对抗样本进入判别器模块,判别器模块根据所述原始图像数据集对所述图像对抗样本进行判断,输出一个判断结果;
S6:根据判断结果,基于所述聚类数值,利用S2定义的损失函数,计算所述生成器模块的损失值和所述判别器模块的损失值,并通过反向传播的训练方式来提升生成器模块和判别器模块的性能,并获取判别器模块的生成图像作为图像多样性增强样本;
S7:然后循环S3-S6,直到生成器模块和判别器模块的训练次数达到预设的训练阈值,循环结束,生成最终的图像多样性增强数据集。
2.根据权利要求1所述的一种基于生成对抗网络的图像多样性增强方法,其特征在于,所述S1搭建判别器模块和生成器模块具体为:
S1.1:搭建一个八层神经网络结构的判别器模块:利用Keras框架中的Conv2D函数搭建四层卷积神经网络,然后使用BatchNormalization函数搭建两层BN层,以及最后的一个Flatten层和一个全连接层;
S1.2:搭建一个七层神经网络结构的生成器模块:首先搭建一个作为噪声输入大小为N×N的全连接层,再利用Keras框架中的Conv2DTranspose函数搭建四层反卷积神经网络层,然后使用BatchNormalization函数搭建两层BN层,最后一层反卷积神经网络层作为生成器模块的输出。
3.根据权利要求2所述的一种基于生成对抗网络的图像多样性增强方法,其特征在于,S3具体为:
S3.1:生成一个范围在[0-1]之间且大小为N×N的噪声,输入到生成器模块的全连接层中;
S3.2:生成器模块将输入的N×N噪声,进行一个重组操作,将其维度从二维张量改变为三维张量,然后进行反卷积操作;
S3.3:最后一层反卷积神经网络层输出生成的对抗样本图像。
4.根据权利要求1所述的一种基于生成对抗网络的图像多样性增强方法,其特征在于,S4中通过聚类模块对图像对抗样本进行聚类具体为:
首先聚类模块对图像对抗样本进行标记,分别标记为核心点、边界点和噪声点,并删除噪声点,然后若核心点在规定半径以内,则赋予每两个核心点之间一条线段,被连通的核心点之间形成一个簇,所述边界点归属到与之有关联的簇中,然后得出簇的数量,即聚类数值。
5.根据权利要求3所述的一种基于生成对抗网络的图像多样性增强方法,其特征在于,S5中判别器模块根据所述原始图像数据集对所述图像对抗样本进行判断具体为:
将生成的图像对抗样本和经过归一化处理的原始图像数据集一起放入判别器模块中进行判别,经过判别器模块的神经网络层处理后,输出一个范围在[0,1]的判断值,判断值的实际值大小更接近0或1进行判断。
6.根据权利要求5所述的一种基于生成对抗网络的图像多样性增强方法,其特征在于,S6具体为:
若实际值大小更接近1,则基于所述聚类数值,利用辛普森多样性指数作为正则化项的编码长度损失函数,计算所述判别器模块的损失值,并进行反向传播提升判别器模块的性能,并保存通过判别器模块的生成图像作为图像多样性增强样本;
若实际值大小更接近0,则利用辛普森多样性指数作为正则化项的编码长度损失函数,计算所述生成器模块的损失值,并进行反向传播提升生成器模块。
7.根据权利要求2所述的一种基于生成对抗网络的图像多样性增强方法,其特征在于,S6中计算损失值具体为:
通过聚类模块得到聚类数值,协助计算辛普森多样性指数,然后将计算好的辛普森多样性指数和编码长度函数相结合得到具体的损失函数,计算所述生成器模块的损失值和所述判别器模块的损失值。
8.根据权利要求1所述的一种基于生成对抗网络的图像多样性增强方法,其特征在于,S7具体为:
设定一个Epochs,在生成器模块和判别器模块训练次数小于Epochs时,根据训练次数,输出对应的损失值和生成的图像对抗样本保存至预设文件夹中,当损失值逐渐稳定且变化极小时,即判别器模块与生成器模块达到了纳什均衡,则之后生成的图像对抗样本即作为原始图像数据集的图像多样性增强样本,达到训练次数后生成的所有图像多样性增强样本即图像多样性增强数据集。
9.一种实现权利要求1方法的基于生成对抗网络的图像多样性增强系统,其特征在于,包括:
生成器模块:包括八层神经网络,用于生成图像对抗样本;
判别器模块:包括7层神经网络,用于判别图像对抗样本和原始图像数据集的“真假”;
聚类模块:对生成的图像对抗样本进行聚类,得到聚类数值,并协助计算辛普森多样性指数,从而得到分类导向的损失函数;
损失函数:基于聚类模块得到的聚类数值,并利用辛普森多样性指数与编码长度函数相结合得到的损失函数,计算生成器模块的损失值以及判别器模块的损失值,之后对生成器模块和判别器模块进行反向传播。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111561049.0A CN113947706B (zh) | 2021-12-20 | 2021-12-20 | 一种基于生成对抗网络的图像多样性增强方法与系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111561049.0A CN113947706B (zh) | 2021-12-20 | 2021-12-20 | 一种基于生成对抗网络的图像多样性增强方法与系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113947706A CN113947706A (zh) | 2022-01-18 |
CN113947706B true CN113947706B (zh) | 2022-06-28 |
Family
ID=79339400
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111561049.0A Active CN113947706B (zh) | 2021-12-20 | 2021-12-20 | 一种基于生成对抗网络的图像多样性增强方法与系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113947706B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116563674B (zh) * | 2023-07-12 | 2023-10-20 | 菲特(天津)检测技术有限公司 | 样本图像增强方法、系统、电子设备及可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20000018921A (ko) * | 1998-09-07 | 2000-04-06 | 정선종 | 프레임워크 식별 시스템 및 프레임워크 식별방법 |
CN103686176A (zh) * | 2013-12-30 | 2014-03-26 | 清华大学 | 一种用于视频编码的码率估计方法 |
CN109063724A (zh) * | 2018-06-12 | 2018-12-21 | 中国科学院深圳先进技术研究院 | 一种增强型生成式对抗网络以及目标样本识别方法 |
CN110310345A (zh) * | 2019-06-11 | 2019-10-08 | 同济大学 | 一种基于自动分工隐聚类生成对抗网络的图像生成方法 |
CN112818152A (zh) * | 2021-03-11 | 2021-05-18 | 浙江工业大学 | 一种深度聚类模型的数据增强方法和装置 |
CN112884075A (zh) * | 2021-03-23 | 2021-06-01 | 北京天融信网络安全技术有限公司 | 一种流量数据增强方法、流量数据分类方法及相关装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10373062B2 (en) * | 2014-12-12 | 2019-08-06 | Omni Ai, Inc. | Mapper component for a neuro-linguistic behavior recognition system |
-
2021
- 2021-12-20 CN CN202111561049.0A patent/CN113947706B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20000018921A (ko) * | 1998-09-07 | 2000-04-06 | 정선종 | 프레임워크 식별 시스템 및 프레임워크 식별방법 |
CN103686176A (zh) * | 2013-12-30 | 2014-03-26 | 清华大学 | 一种用于视频编码的码率估计方法 |
CN109063724A (zh) * | 2018-06-12 | 2018-12-21 | 中国科学院深圳先进技术研究院 | 一种增强型生成式对抗网络以及目标样本识别方法 |
CN110310345A (zh) * | 2019-06-11 | 2019-10-08 | 同济大学 | 一种基于自动分工隐聚类生成对抗网络的图像生成方法 |
CN112818152A (zh) * | 2021-03-11 | 2021-05-18 | 浙江工业大学 | 一种深度聚类模型的数据增强方法和装置 |
CN112884075A (zh) * | 2021-03-23 | 2021-06-01 | 北京天融信网络安全技术有限公司 | 一种流量数据增强方法、流量数据分类方法及相关装置 |
Non-Patent Citations (1)
Title |
---|
Deep Clustering: On the Link Between;Mohammed Jabi;《IEEE》;20210630;第1887-1895页 * |
Also Published As
Publication number | Publication date |
---|---|
CN113947706A (zh) | 2022-01-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111563841B (zh) | 一种基于生成对抗网络的高分辨率图像生成方法 | |
CN108717568B (zh) | 一种基于三维卷积神经网络的图像特征提取与训练方法 | |
US11804074B2 (en) | Method for recognizing facial expressions based on adversarial elimination | |
CN109492529A (zh) | 一种多尺度特征提取及全局特征融合的人脸表情识别方法 | |
CN108764128A (zh) | 一种基于稀疏时间分段网络的视频动作识别方法 | |
CN110097178A (zh) | 一种基于熵注意的神经网络模型压缩与加速方法 | |
CN109255340A (zh) | 一种融合多种改进vgg网络的人脸识别方法 | |
CN108520213B (zh) | 一种基于多尺度深度的人脸美丽预测方法 | |
CN110119811A (zh) | 一种基于熵重要性准则模型的卷积核裁剪方法 | |
CN109949200B (zh) | 基于滤波器子集选择和cnn的隐写分析框架构建方法 | |
CN109934158A (zh) | 基于局部强化运动历史图和递归卷积神经网络的视频情感识别方法 | |
CN109325513B (zh) | 一种基于海量单类单幅图像的图像分类网络训练方法 | |
CN112784929B (zh) | 一种基于双元组扩充的小样本图像分类方法及装置 | |
CN110070116A (zh) | 基于深度树状训练策略的分段式选择集成图像分类方法 | |
CN113947706B (zh) | 一种基于生成对抗网络的图像多样性增强方法与系统 | |
CN114549985B (zh) | 一种基于自监督对比学习的目标检测方法及系统 | |
CN112434608A (zh) | 一种基于双流结合网络的人体行为识别方法及系统 | |
CN110414513A (zh) | 基于语义增强卷积神经网络的视觉显著性检测方法 | |
CN113343943A (zh) | 基于巩膜区域监督的眼部图像分割方法 | |
CN112733602A (zh) | 关系引导的行人属性识别方法 | |
CN111144497B (zh) | 基于美学分析的多任务深度网络下的图像显著性预测方法 | |
CN116823659A (zh) | 一种基于深度特征提取的微光图像增强方法 | |
CN107563287A (zh) | 人脸识别方法和装置 | |
CN113744175A (zh) | 一种基于双向约束生成对抗网络的图像生成方法及系统 | |
CN111723864A (zh) | 基于主动学习使用互联网图片进行对抗训练的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |