CN111311702A - 一种基于BlockGAN的图像生成和识别模块及方法 - Google Patents
一种基于BlockGAN的图像生成和识别模块及方法 Download PDFInfo
- Publication number
- CN111311702A CN111311702A CN202010044383.8A CN202010044383A CN111311702A CN 111311702 A CN111311702 A CN 111311702A CN 202010044383 A CN202010044383 A CN 202010044383A CN 111311702 A CN111311702 A CN 111311702A
- Authority
- CN
- China
- Prior art keywords
- image
- block
- generator
- discrimination
- discriminator
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/001—Texturing; Colouring; Generation of texture or colour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
- G06F18/251—Fusion techniques of input or preprocessed data
-
- 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
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/26—Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
- G06V10/267—Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion by performing operations on regions, e.g. growing, shrinking or watersheds
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computational Linguistics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Biology (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于BlockGAN的图像生成和识别模块及方法,该模块包括:图像分割模块;模式分解模块;多个区块,多个区块形成一个BlockGAN(区块GAN),每个区块中包含一个生成器以及与所述生成器连接的多个判别器;第一融合模块;第二融合模块。该方法主要解决复杂图像生成过程中模式多样性的问题、识别过程中准确性的问题以及运行效率的问题。本发明每个区块由一个生成器和多个判别器组成,负责对一种类型的物体进行生成和识别,多个判别器可对同一物体的多个模态进行判别,以增加图像识别的准确性。多个区块可并行处理,生成器生成的单一物体可融合成复杂图像,判别器的判别结果融合后形成对复杂图像的准确识别。
Description
技术领域
本发明涉及图像生成和识别技术领域,具体涉及一种基于BlockGAN的图像生成和识别模块及方法。
背景技术
GAN(Generative Adversarial Nets,生成式对抗网络)借鉴零和博弈的思想,通过生成器和判别器的博弈,使得生成器与判别器的性能在对抗过程中不断提升,最终生成器能够生成以假乱真的图像,而判别器无法判别生成图像的真伪。GAN的方法简单实用,被广泛应用于图像生成领域,近年来研究发现其在图像识别领域同样有着好的表现。
简单图像的生成和识别已经取得了瞩目的成绩,成果显著,而复杂图像的生成和识别仍存在较大问题,是目前研究的重点和难点,其困难主要体现在以下3个方面:1)复杂图像背景复杂,含有多种物体和模式,生成复杂图像往往存在模式多样性的问题,而用传统GAN去生成复杂图像则需要海量图像数据的训练和庞大的模型参数空间,运算量过大;2)复杂图像的识别是一个多标签图像分类问题,是图像分类领域最难的分支,而复杂图像的干扰信息过多,其识别的准确性存在较大问题;3)相比于简单图像,复杂图像的处理难度显著增加,处理过程更加复杂,无论是生成还是识别的开销都明显增大,因此模型训练和运行的效率也是不可忽视的问题。
发明内容
针对以上问题,本发明提供了一种基于BlockGAN的图像生成和识别模块及方法,该方法主要解决复杂图像生成过程中模式多样性的问题、识别过程中准确性的问题以及运行效率的问题。本发明方法由多个区块构成,每个区块由一个生成器和多个判别器组成,负责对一种类型的物体进行生成和识别,其中多个判别器可对同一物体的多个模态进行判别,以增加图像识别的准确性。多个区块可并行处理,其中生成器生成的单一物体可融合成复杂图像,判别器的判别结果融合后形成对复杂图像的准确识别。
本发明在GAN技术的基础上,提出了一种新的GAN的体系结构BlockGAN(区块GAN),用于复杂图像的生成和识别,有效解决复杂图像生成过程中模式多样性的问题、识别过程中准确性的问题以及模型运行效率的问题,其解决方法如下:
1.为解决复杂图像生成过程中模式多样性的问题,区块GAN由多个区块组成,每个区块由一个生成器和多个判别器组成,负责一种物体或模式的生成和识别;
2.为解决复杂图像识别过程中准确性的问题,采用多区块融合判别模式,首先每个区块由多个判别器组成,负责对同一物体的多种模态进行判别,提升了对同一物体识别的准确性;其次,每个判别器可根据自己判别的目标不同而采用不同的目标函数,进一步提升识别精度;最后,多个区块的判别器的输出形成判别矩阵,对判别矩阵融合处理后得到对复杂图像的准确识别,融合方式的多样性使得BlockGAN可适用于各种不同的应用;
3.为解决模型运行效率的问题,多个区块并行运行,每个区块各司其职,负责对复杂图像中的一个物体的生成和识别,生成和识别结果融合后生成复杂图像或得到对复杂图像的识别。BlockGAN(即区块GAN)具有很好的并发性,适合GPU的处理,具有很高的运行效率,其并发性主要体现在以下方面:
1)在训练阶段,每个区块只需学习对某类物体的生成和识别,用来训练的数据集相互独立,因此多个区块相互独立运行,可以并行训练;
2)在训练阶段,每个区块内部的多个判别器分别对同一物体的不同模态进行判别,在每个区块内部,真实数据和生成数据可同时送往多个判别器并行处理;
3)在测试阶段,若用于复杂图像生成,每个区块的生成器可独立生成相应的物体图像,这个过程也可并行进行;
4)在测试阶段,若用于复杂图像识别,将复杂图像分割后,每个分割的子图像可同时送往多个区块的多个判别器(形成判别器阵列)进行并行处理。
一种基于BlockGAN的图像生成和识别模块,包括:
对图像进行分割的图像分割模块;
对所述图像分割模块分割的子图像进行模式分解的模式分解模块;
与所述模式分解模块连接的多个区块,多个区块形成一个BlockGAN(中文名称为区块GAN),每个区块中包含一个生成器以及与所述生成器连接的多个判别器;
将所述多个区块中的生成器生成的各个要素进行融合的第一融合模块,所述的第一融合模块输出融合的多模态图像;
将所述多个区块中的判别器得到的判别结果进行汇聚的第二融合模块,所述的第二融合模块输出结果向量。
每个区块中多个判别器采用并行连接。
一种基于BlockGAN的图像生成和识别方法,包括以下步骤:
1)BlockGAN包括多个区块,每个区块中包含一个生成器以及与所述生成器连接的多个判别器,每个区块负责对包含单一物体类型的图像进行生成和判别,每个区块中的多个判别器负责对图像中同一物体的多个模态进行判别;
2)模型训练阶段,对每个区块用包含单一物体类型的图像采用生成器和判别器的损失函数进行训练,在对抗中提升生成器和判别器的性能,生成器用于生成该物体,而判别器用于识别该物体;
3)输入图像,将图像分割,之后将分割后的子图像进行模式分解,每个子图像模式分解后分别输入到各个区块中,进入到每个区块中并行的多个判别器,一个区块中并行的多个判别器的判别结果融合,得到对单一子图像的判别,多个区块的所有判别器的判别结果融合,得到对输入图像的判别;
4)每个区块的生成器生成包含单一物体类型的图像,多个区块的生成器生成的所有图像融合后,得到多模态的图像(即复杂图像)。
步骤1)中,BlockGAN包括多个区块,每个区块中包含一个生成器以及与所述生成器连接的多个判别器,形成判别矩阵,具体为:
其中:
m表示BlockGAN中区块的数量;
n表示每个区块中判别器的数量;
dij表示第i个区块中第j个判别器的判别结果;
Dm×n表示判别矩阵。
每个区块中的多个判别器负责对图像中同一物体的多个模态进行判别,具体包括:
101)单一类型的物体图片送往同一区块的多个判别器并行处理,具有很好的并发性,适合GPU处理,运行效率高;
102)每个区块的多个判别器分别对物体图片的一种模态进行处理,提升物体识别的准确性;
103)需要根据特征提取物体图片的多个模态,模态包括形状、纹理、颜色和空间关系等,根据每种模态在图像识别中的重要性为其分配相应的权重;
104)模态种类可根据用户需求进行设定,进而决定一个区块中判别器的数量;
105)不同区块根据要识别物体特性不同,可以灵活选择判别器的数量,在判别矩阵中缺失的判别器的判别结果可用-1标注。
步骤103)根据特征提取物体图片的多个模态,包括形状、纹理、颜色和空间关系,采用相应的特征提取算法来实现。
步骤2)中,生成器和判别器的损失函数具体为:
其中:
Vij表示目标函数;
i表示blockGAN中区块的编号;
Gi表示第i个区块的生成器;
Djj表示第i个区块的第j个判别器;
Xi表示分割后子图像的真实数据;
Zi表示符合正态分布的噪声向量;
Pr表示真实数据Xi的概率分布;
Pg表示生成数据Gi(Zi)的概率分布;
E表示数学期望;
步骤2)中,模型训练阶段,对每个区块用包含单一物体类型的图像采用生成器和判别器的损失函数进行训练,在对抗中提升生成器和判别器的性能,生成器用于生成该物体,而判别器用于识别该物体,具体包括:
201)每个区块的生成器的训练过程,从噪声生成对应的物体图像;
202)噪声采样服从均值为0,标准差为0.02的正态分布,维度是100维(维度可根据实际需求变化);
203)生成器和判别器的网络结构参考DCGAN的结构(也可采用ResNet结构,用运行效率换取准确性);
204)生成器和判别器的损失函数采用GAN的损失函数。
在训练阶段,判别器判别的对象有两个,一个是生成器生成的物体图像,一个是用来训练的真实图像。真实图像可以是单一的物体图像,也可以是带有方形包围盒标记和类别标记的复杂图像。
步骤203)生成器和判别器的网络结构具体为:
901)生成器网络结构为:输入为100维噪声向量,依次相连的是8192个节点全连接层、一个Reshape层、一个BN层、一个ReLU层、循环3遍的(DeConv2D+BN+ReLU)、一个DeConv2D和一个Tanh激活函数层,输出为一个64x64x3的图像;
902)判别器网络结构为:输入为一个单一物体图像,大小调整为(64x64x3),依次相连的是一个Conv2D层、一个LeakyReLU层、循环3遍的(Conv2D+BN+LeakyReLU)、一个Flatten拉平层、一个全连接层,输出为一个1维向量,取值为[0,1],表示判别物体为某类的概率;
903)上述网络结构中噪声向量的维度、输入和输出图像的尺寸根据实际情况可以调整。
BlockGAN(即区块GAN)的训练采用小批量梯度下降(Mini-Batch GradientDescent),生成器和判别器的优化均采用Adam算法,即带动量的自适应学习率。
步骤3)中,对复杂图像进行图像分割,将分割后的每个图片同时送往多个区块的多个判别器并行处理,多个判别器形成阵列,其判别结果融合后形成对复杂图像的识别。识别复杂图像的过程中,需将复杂图像进行分割,将分割后的图像同时送往多个区块的多个判别器进行判别,得到判别矩阵。通过对判别矩阵判别结果的融合来识别复杂图像。
对复杂图像分割时可采用滑动窗口或候选区域方法,滑动窗口可采用多尺度(32x32,64x64,128x128),所选区域送往判别器进行判断,因此该模型还可用于复杂图像的目标检测。
步骤3)中,每个子图像模式分解后分别输入到各个区块中,进入到每个区块中并行的多个判别器,一个区块中并行的多个判别器的判别结果融合,得到对单一子图像的判别,多个区块的所有判别器的判别结果融合,得到对输入图像的判别,具体包括:
301)BlockGAN中多个区块并行的多个判别器的判别结果融合后输出的结果向量具体为:
V1×m=(v1v2...vm)
其中:
V表示输出的结果向量(即对整个复杂图像的判别结果);
vi表示第i(i=1,2,...m)个区块的判别结果(即对第i个子图像的判别结果),取值为0或1,0表明未识别出子图像中的物体,1表明识别出子图像中的物体;
302)为区块中的每个判别器设置相应的权值,权值矩阵如下:
其中:
Wm×n表示判别器阵列的权值矩阵;
wij表示第i个区块的第j个判别器的权值。
303)根据判别矩阵和权值矩阵,得每个区块的判别结果如下:
ri=diwi,i=1,2,...,m
其中:
di表示判别矩阵Dm×n的第i行向量;
wi表示权值矩阵Wm×n的第i行向量;
ri表示向量di与向量wi的点乘(即内积)。
304)阈值向量T的设定:根据结果向量的定义,vi的取值为0或1,而公式ri=diwi中,di的取值为区间[0,1];权值向量wi的元素的和为1,因此算出来ri的值也是一个概率值,取值范围为区间[0,1],当与结果向量的数值0或1(取值为0或1)不符,则设置一个阈值向量T:
T=(t1,t2,...tm)
其中:
ti表示第i个区块判别结果的阈值;
步骤4)中,将每个区块的生成器生成的单一物体图像融合成复杂图像,融合过程考虑物体尺寸和图像空间布局;生成复杂图像的关键在于图像融合,融合过程需考虑生成物体图像的尺寸、类型、颜色和图像整体的空间布局,生成的复杂图像要经过合理性的检测。
与现有基于GAN的图像生成和识别技术相比,本发明有以下优点:
1.在应用上,现有技术功能单一,要么用于图像生成,要么用于图像分类,并且主要处理较为简单的图像数据,本发明提出的BlockGAN可用于复杂图像的生成、识别和目标检测;
2.在架构上,传统GAN的结构只有一个生成器和判别器,缺乏多样性和准确性,处理复杂图像的效果不佳,而现有技术往往在一个GAN内大做文章,通过增加生成器和判别器的数量来增加GAN对复杂图像的处理能力,但是众所周知,GAN的基本原理是零和博弈,利用生成器与判别器之间的对抗来训练生成器,使其能够生成足以欺骗判别器的虚假图像,当有多个生成器和多个判别器时,它们之间的对抗关系较为复杂,哪些生成器与哪些判别器形成对抗关系不明确,这会影响到损失函数的确定,甚至出现自相矛盾,影响模型的效果。而本发明跳出一个GAN的范畴,采用多个GAN来处理复杂图像,每个GAN处理一个单一的物体,其内部生成器与判别器之间的对抗关系清晰,实现简单,容易训练;
3.在运行效率上,前述发明内容部分已做了详细的介绍,BlockGAN在结构上有着很好的并发性,多个GAN的训练可并行进行,而对复杂图像的生成和识别过程也有很多的并行处理,非常适合用GPU来处理,BlockGAN模型的结构使得其具有很高的运行效率。
总之,BlockGAN模型采用多个GAN将复杂图像的生成和识别问题分解成对一个个简单图像的生成和识别问题,具有结构清晰、实现简单、功能全面、运行效率高等优点。
附图说明
图1为本发明的总体框架图;
图2为本发明实施例中区块的生成器和判别器的深度神经网络结构图;
图3为本发明实施例中判别器的流程图;
图4为本发明实施例中生成器的流程图;
图5为本发明实施例中4种不同模式用传统GAN生成的效果图,其中,图5中(a)为第1轮训练结束后生成数据与真实数据分布效果图,图5中(b)为第100轮训练结束后生成数据与真实数据分布效果图,图5中(c)为第400轮训练结束后生成数据与真实数据分布效果图,图5中(d)为(第2000轮训练结束后生成数据与真实数据分布效果图,图5中(e)为(第4000轮训练结束后生成数据与真实数据分布效果图,图5中(f)为(第5000轮训练结束后生成数据与真实数据分布效果图;
图6为本发明实施例中4种不同模式用BlockGAN生成的效果图,其中,图6中(a)为第1轮训练结束后生成数据与真实数据分布效果图,图6中(b)为第10轮训练结束后生成数据与真实数据分布效果图,图6中(c)为第200轮训练结束后生成数据与真实数据分布效果图,图6中(d)为第5000轮训练结束后生成数据与真实数据分布效果图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普遍技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
一种基于BlockGAN的复杂图像生成和识别方法包括以下步骤:
1.模型训练阶段
1)以单个区块为例,从N(0,0.022)正态分布采样的噪声向量(100维)送往生成器,生成器处理后生成固定大小(64x64x3)的图像,将图像同时送往该区块中的多个判别器进行判断;
2)该区块要生成和识别的物体的真实图像数据同时送往区块中的多个判别器进行判断;
3)生成器与该区块中每个判别器进行生成对抗(也可以和该区块中所有判别器进行对抗,判别器的损失函数求和);
4)训练结束后生成器能够对该类物体进行生成,而生成的图像达到以假乱真欺骗判别器的效果。
2.模型测试阶段
1)用于复杂图像生成
101)每个区块独立生成相应的物体图像;
102)将多个物体图像融合成一张复杂图像,考虑生成物体图像的尺寸、类型、颜色、背景和图像整体的空间布局,生成的复杂图像要经过合理性的检测。
2)用于复杂图像识别
201)将复杂图像分割成多张小图像,可采用滑动窗口算法或候选区域算法;
202)将多张小图像依次送往每个区块的多个判别器并行处理;
203)判别器阵列输出判别矩阵;
204)汇聚中心对判别矩阵处理得到结果向量,向量中数值1对应的物体在复杂图像中存在,而数值0对应的物体的在复杂图像中不存在。
BlockGAN的生成器和判别器采用DCGAN的网络结构,具体如下:
1.生成器网络结构为:输入为100维噪声向量,依次相连的是8192个节点全连接层、一个Reshape层、一个BN层、一个ReLU层、循环3遍的(DeConv2D+BN+ReLU)、一个DeConv2D和一个Tanh激活函数层,输出为一个64x64x3的图像;
2.判别器网络结构为:输入为一个单一物体图像,大小调整为(64x64x3),依次相连的是一个Conv2D层、一个LeakyReLU层、循环3遍的(Conv2D+BN+LeakyReLU)、一个Flatten拉平层、一个全连接层,输出为一个1维向量,取值为[0,1],表示判别物体为某类的概率;
上述网络结构中噪声向量的维度、输入和输出图像的尺寸可根据实际情况(复杂图像的尺寸、物体数量、模式数量、复杂度等)调整。
生成器和判别器的损失函数具体为:
其中:
i-表示区块的编号;
Gi-表示第i个区块的生成器;
Dij-表示第i个区块的第j个判别器;
Xi-表示真实数据;
Zi-表示噪声向量;
Pr-表示真实数据的概率分布;
Pg-表示生成数据的概率分布;
E-期望。
BlockGAN采用多个区块,每个区块有多个判别器,形成判别器阵列,对复杂图像的判别结果得到一个判别矩阵,具体为:
其中:
m-表示BlockGAN中区块的数量;
n-表示每个区块中判别器的数量;
dij-表示第i个区块中第j个判别器的判别结果;
Dm×n-表示判别矩阵。
3.判别矩阵融合模块
判别矩阵的融合得到结果向量,根据应用需求的不同,判别矩阵的含义不同,相应的融合方式也会不同,以复杂图像的识别为例,判别矩阵中的每一项dij表明第i个区块的第j个判别器的判别结果,其值为概率值,取值范围[0,1],判别矩阵的结果融合后输出的结果向量具体为:
V1×m=(v1v2...vm)
其中:V-表示输出的结果向量(即对整个复杂图像的判别结果);vi-表示第i(i=1,2,...m)个区块的判别结果(即对第i个子图像的判别结果),取值为0或1,0表明未识别出子图像中的物体,1表明识别出子图像中的物体。
通过对判别矩阵Dm×n判别结果的融合得到结果向量V1×m,采用的融合方式很多,可根据实际应用需求而定,这里设定了一种简单的适用于复杂图像识别的融合方法,该方法为每个判别器设置了相应的权值,权值矩阵如下:
其中:
W-表示判别器阵列的权值矩阵;
wij-表示第i个区块的第j个判别器的权值。
根据判别矩阵和权值矩阵,可得每个区块的判别结果如下:
ri=diwi,i=1,2,...,m
其中:
di-表示判别矩阵Dm×n的第i行向量;
wi-表示权值矩阵Wm×n的第i行向量;
ri-表示向量di与向量wi的点乘(即内积)。
阈值向量T的设定:根据结果向量的定义,vi的取值为0或1,而公式ri=diwi中,di的取值为区间[0,1];权值向量wi的元素的和为1,因此算出来ri的值也是一个概率值,取值范围为区间[0,1],与结果向量的数值(取值为0或1)不符,这时可设置一个阈值向量T:
T=(t1,t2,...tm)
其中:
ti-表示第i个区块判别结果的阈值。
本发明实施例公开了一种复杂图像生成和识别方法BlockGAN(区块GAN),该模型的原理框图参见图1,该模型包括:
1.GAN模块、图像分割模块、模式分解模块、汇聚模块、融合模块。
1)GAN模块:BlockGAN由多个GAN构成,每个GAN负责对一种类型的物体进行生成和识别,由1个生成器和多个判别器组成,生成器用于生成物体,而多个判别器分别对物体的一种模式进行判别,多个判别器的判别结果汇聚得到对该物体的判别;
2)图像分割模块:对复杂图像分割时可采用滑动窗口或候选区域方法,滑动窗口可采用多尺度(32x32,64x64,128x128),分割后的子图像送往GAN进行处理;
3)模式分解模块:对于送往每个GAN的判别器的单一物体图像,将其分解为多个模式(形状、纹理、颜色、空间关系),同时送往GAN中的多个判别器进行判别,进一步,根据不同模式在物体识别中的重要性为其分配相应的权重,这个权重可通过模型训练来确定;
4)汇聚模块:在识别复杂图像时,BlockGAN模型的判别器阵列会输出判别矩阵,汇聚模块对判别矩阵的结果进行汇聚,输出判别结果向量,形成对复杂图像的识别;
5)融合模块:在生成复杂图像时,BlockGAN模型的每个GAN生成一种单一的物体图像,融合模块对所有物体图像融合后生成复杂图像。融合过程需考虑生成物体图像的尺寸、类型、颜色和图像整体的空间布局,生成的复杂图像要经过合理性的检测。
2.BlockGAN生成器和判别器的网络结构参见图2,其中,x~image为子图像数据(真实的或者生成器生成的);z~noise为噪声,从正态分布采样;Conv2D:2维卷积;DeConv2D:2维反卷积;BN:批标准化;ReLU:修正线性单元函数(激活函数);LeakyReLU:带泄露修正线性单元函数(激活函数);Dense:全连接层;Flatten:拉平层;Tanh:双曲正切函数(激活函数);Reshape:数据整形操作;Repeat 3:重复3遍。
生成器和判别器的网络结构参考DCGAN的网络结构,具体为:
1)生成器网络结构:输入为100维噪声向量,依次相连的是8192个节点全连接层、一个Reshape层、一个BN层、一个ReLU层、循环3遍的(DeConv2D+BN+ReLU)、一个DeConv2D和一个Tanh激活函数层,输出为一个64x64x3的图像;
2)判别器网络结构:输入为一个单一物体图像,大小调整为(64x64x3),依次相连的是一个Conv2D层、一个LeakyReLU层、循环3遍的(Conv2D+BN+LeakyReLU)、一个Flatten拉平层、一个全连接层,输出为一个1维向量,取值为[0,1],表示判别物体为某类的概率;
3.模型训练阶段和测试阶段的流程参见图3、图4。
1)训练阶段流程:训练阶段对模型中GAN的生成器和判别器进行训练,每个GAN只负责对一种类型的物体进行生成和识别,生成器和判别器的性能在生成对抗中提升,直到达到目标函数的误差要求为止,多个GAN处理的物体不同,可同步进行训练,以单个GAN的训练过程为例,其具体步骤为:
步骤S1:噪声向量输入GAN的生成器生成虚假图像;
步骤S2:单一物体的真实图像和GAN生成的虚假图像经过模式分解后同时送往GAN的多个判别器进行判断;
步骤S3:真实图像和虚假图像的判别结果通过损失函数的处理计算误差;
步骤S4:计算误差梯度,利用BP算法调整生成器和判别器的参数;
步骤S5:回到步骤S2,循环处理,直到损失函数达到目标为止,此时得到生成器和判别器的模型。
2)测试阶段流程:测试过程包括复杂图像生成和识别两个部分。
201)复杂图像生成:
步骤S1:每个GAN生成一种类型的物体;
步骤S2:模型的融合模块将来自多个GAN的物体融合成复杂图像。
202)复杂图像识别:
步骤S1:复杂图像经过图像分割成子图像;
步骤S2:每张子图像经过模式分解成多个模态,送往对应GAN的判别器进行处理;
步骤S3:每个GAN的多个判别器对该类物体进行判别;
步骤S4:所有GAN的所有判别器输出判别矩阵;
步骤S5:判别矩阵送往汇聚模块进行处理,输出结果向量,结果向量中1对应的物体在复杂图像中存在,0对应的物体在复杂图像中不存在。
4.模型生成器和判别器的流程参见图3、图4。
1)生成器流程具体为:
输入:从N(0,0.022)正态分布采样得到100维(噪声向量维度可根据实际情况调整)噪声向量,将噪声向量送往生成器;
步骤S1:生成器的第一层是有8192个神经元节点的全连接层,通过100x8192的权值矩阵,将输入的100维噪声向量转换成8192维的向量;
步骤S2:生成器的第二层是Reshape层,对8192维向量进行形状调整,将其调整为512个4x4大小的特征图;
步骤S3:生成器的第三层是BN层,对第二层的输出数据进行批标准化处理;
步骤S4:生成器的第四层是ReLU层,用ReLU激活函数对第三层的输出数据进行非线性处理;
步骤S5:生成器的第五层是DeConv2D层,对生成器第四层的输出作反卷积处理,卷积核大小为5x5,通道数为512,步长为2x2,填充模式为same,卷积核的个数为256,对512个4x4大小的特征图处理后输出256个8x8大小的特征图;
步骤S6:生成器的第六层是BN层,对第五层的输出数据进行批标准化处理;
步骤S7:生成器的第七层是ReLU层,对第六层的输出数据进行非线性处理;
步骤S8:生成器的第八层是DeConv2D层,对生成器第七层的输出作反卷积处理,卷积核大小为5x5,通道数为256,步长为2x2,填充模式为same,卷积核的个数为128,对256个8x8大小的特征图处理后输出128个16x16大小的特征图;
步骤S9:生成器的第九层是BN层,对第八层的输出数据进行批标准化处理;
步骤S10:生成器的第十层是ReLU层,对第九层的输出数据进行非线性处理;
步骤S11:生成器的第十一层是DeConv2D层,对生成器第十层的输出作反卷积处理,卷积核大小为5x5,通道数为128,步长为2x2,填充模式为same,卷积核的个数为64,对128个16x16大小的特征图处理后输出64个32x32大小的特征图;
步骤S12:生成器的第十二层是BN层,对第十一层的输出数据进行批标准化处理;
步骤S13:生成器的第十三层是ReLU层,对第十二层的输出数据进行非线性处理;
步骤S14:生成器的第十四层是DeConv2D层,对生成器第十三层的输出作反卷积处理,卷积核大小为5x5,通道数为64,步长为2x2,填充模式为same,卷积核的个数为3,对64个32x32大小的特征图处理后输出3个64x64大小的特征图;
输出:生成器第十四层的输出就是生成器生成的最终结果图像,图像大小为64x64x3。
2)判别器流程具体为:
输入:判别器的输入为一个64x64x3(长x宽x通道数)的图像;
步骤S1:判别器的第一层是Conv2D层,对判别器的输入图像作卷积处理,卷积核大小为5x5,通道数为3,步长为2x2,填充模式为same,卷积核的个数为64,对输入图像处理后输出64个32x32大小的特征图;
步骤S2:判别器的第二层是LeakyReLU层,用LeakyReLU激活函数对判别器第一层的输出进行非线性处理;
步骤S3:判别器的第三层是Conv2D层,对判别器第二层的输出作卷积处理,卷积核大小为5x5,通道数为64,步长为2x2,填充模式为same,卷积核的个数为128,对64个32x32大小的特征图处理后输出128个16x16大小的特征图;
步骤S4:判别器的第四层是BN层,对判别器第三层的输出数据进行批标准化处理;
步骤S5:判别器的第五层是LeakyReLU层,对判别器第四层的输出数据进行非线性处理;
步骤S6:判别器的第六层是Conv2D层,对判别器第五层的输出作卷积处理,卷积核大小为5x5,通道数为128,步长为2x2,填充模式为same,卷积核的个数为256,对128个16x16大小的特征图处理后输出256个8x8大小的特征图;
步骤S7:判别器的第七层是BN层,对判别器第六层的输出数据进行批标准化处理;
步骤S8:判别器的第八层是LeakyReLU层,对判别器第七层的输出数据进行非线性处理;
步骤S9:判别器的第九层是Conv2D层,对判别器第八层的输出作卷积处理,卷积核大小为5x5,通道数为256,步长为2x2,填充模式为same,卷积核的个数为512,对256个8x8大小的特征图处理后输出512个4x4大小的特征图;
步骤S10:判别器的第十层是BN层,对判别器第九层的输出数据进行批标准化处理;
步骤S11:判别器的第十一层是LeakyReLU层,对判别器第十层的输出数据进行非线性处理;
步骤S12:判别器的第十二层是Flatten层,对判别器第十一层的输出数据进行拉平处理,输出一个8192维的向量;
步骤S13:判别器的第十三层是全连接层,采用8192x1的权值矩阵对判别器第十二层的输出数据进行处理,输出一个1维向量;
输出:判别器第十三层的输出就是判别器输出的最终结果,是一个1维向量,数值表示判别结果的概率。
5.模型仿真效果图参见图5、图6
为了便于揭示BlockGAN模型的有效性,比较了BlockGAN和传统GAN的性能,仿真过程设定如下:
真实数据选择以坐标原点(0,0)为中心,2为半径的圆上,与坐标轴相交的四个点为中心点(即均值),标准差为0.02的正态分布数据。
噪声数据选择以坐标原点(0,0)为中心(即均值),标准差为0.02的正态分布数据
一共有4种模式的数据,分别用传统GAN和BlockGAN去生成,传统GAN用1个生成器和判别器去生成和判别这4种模式的数据,而BlockGAN用4个GAN,每个GAN负责对1种模式的数据进行生成和判别。
图5为传统GAN的生成效果图,图6为BlockGAN的生成效果图,效果图解析如下:
1)可以看到在训练的最初阶段,传统GAN和BlockGAN生成的数据几乎都在原点附近,随着训练轮数的增加,生成数据在目标函数的驱动下向真实数据靠近;
2)因为传统GAN是用1个生成器生成4种模式的数据,所以在开始的训练阶段,生成数据会在4种模式间摇摆,扩散;BlockGAN对4种模式的数据,分别用1个GAN去生成,因此生成的数据在各自GAN的判别器的指引下一开始就会分别向4种模式靠近;
3)传统GAN训练到4000轮时,生成数据汇聚到了一个模式,训练到5000轮时,才拟合出4种模式,并且生成的4种模式间存在异常点(离群点,即介于两种模式之间的点);BlockGAN的生成数据一开始就分别向4种模式靠近,训练到200轮时已经拟合出4种模式,训练到5000轮时生成的数据更加集中在4种模式的中心点附近,并且整个训练过程中生成的数据几乎没有异常点。
Claims (6)
1.一种基于BlockGAN的图像生成和识别模块,其特征在于,包括:
对图像进行分割的图像分割模块;
对所述图像分割模块分割的子图像进行模式分解的模式分解模块;
与所述模式分解模块连接的多个区块,多个区块形成一个BlockGAN,每个区块中包含一个生成器以及与所述生成器连接的多个判别器;
将所述多个区块中的生成器生成的各个要素进行融合的第一融合模块,所述的第一融合模块输出融合的多模态图像;
将所述多个区块中的判别器得到的判别结果进行汇聚的第二融合模块,所述的第二融合模块输出结果向量。
2.根据权利要求1所述的基于BlockGAN的图像生成和识别模块,其特征在于,每个区块中多个判别器采用并行连接。
3.一种基于BlockGAN的图像生成和识别方法,其特征在于,包括以下步骤:
1)BlockGAN包括多个区块,每个区块中包含一个生成器以及与所述生成器连接的多个判别器,每个区块负责对包含单一物体类型的图像进行生成和判别,每个区块中的多个判别器负责对图像中同一物体的多个模态进行判别;
2)模型训练阶段,对每个区块用包含单一物体类型的图像采用生成器和判别器的损失函数进行训练,在对抗中提升生成器和判别器的性能,生成器用于生成该物体,而判别器用于识别该物体;
3)输入图像,将图像分割,之后将分割后的子图像进行模式分解,每个子图像模式分解后分别输入到各个区块中,进入到每个区块中并行的多个判别器,一个区块中并行的多个判别器的判别结果融合,得到对单一子图像的判别,多个区块的所有判别器的判别结果融合,得到对输入图像的判别;
4)每个区块的生成器生成包含单一物体类型的图像,多个区块的生成器生成的所有图像融合后,得到多模态的图像。
6.根据权利要求3所述的基于BlockGAN的图像生成和识别方法,其特征在于,步骤3)中,每个子图像模式分解后分别输入到各个区块中,进入到每个区块中并行的多个判别器,一个区块中并行的多个判别器的判别结果融合,得到对单一子图像的判别,多个区块的所有判别器的判别结果融合,得到对输入图像的判别,具体包括:
301)BlockGAN中多个区块并行的多个判别器的判别结果融合后输出的结果向量具体为:
V1×m=(v1 v2…vm)
其中:
V表示输出的结果向量;
vi表示第i个区块的判别结果,取值为0或1,0表明未识别出子图像中的物体,1表明识别出子图像中的物体;
302)为区块中的每个判别器设置相应的权值,权值矩阵如下:
其中:
Wm×n表示判别器阵列的权值矩阵;
wij表示第i个区块的第j个判别器的权值;
303)根据判别矩阵和权值矩阵,得每个区块的判别结果如下:
ri=diwi,i=1,2,…,m
其中:
di表示判别矩阵Dm×n的第i行向量;
wi表示权值矩阵Wm×n的第i行向量;
ri表示向量di与向量wi的点乘;
304)阈值向量T的设定:根据结果向量的定义,vi的取值为0或1,而公式ri=diwi中,di的取值为区间[0,1];权值向量wi的元素的和为1,因此算出来ri的值也是一个概率值,取值范围为区间[0,1],当与结果向量的数值0或1(取值为0或1)不符,则设置一个阈值向量T:
T=(t1,t2,…tm)
其中:
ti表示第i个区块判别结果的阈值;
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010044383.8A CN111311702B (zh) | 2020-01-15 | 2020-01-15 | 一种基于BlockGAN的图像生成和识别模块及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010044383.8A CN111311702B (zh) | 2020-01-15 | 2020-01-15 | 一种基于BlockGAN的图像生成和识别模块及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111311702A true CN111311702A (zh) | 2020-06-19 |
CN111311702B CN111311702B (zh) | 2023-04-28 |
Family
ID=71150808
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010044383.8A Active CN111311702B (zh) | 2020-01-15 | 2020-01-15 | 一种基于BlockGAN的图像生成和识别模块及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111311702B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112508175A (zh) * | 2020-12-10 | 2021-03-16 | 深圳先进技术研究院 | 用于低剂量pet重建的多任务学习型生成式对抗网络生成方法及系统 |
CN113052817A (zh) * | 2021-03-24 | 2021-06-29 | 浙江传媒学院 | 一种基于并行融合的判别模式的图像生成和识别方法 |
WO2022260485A1 (en) * | 2021-06-11 | 2022-12-15 | Samsung Electronics Co., Ltd. | Methods and systems for generating one or more emoticons for one or more users |
US11967000B2 (en) | 2021-06-11 | 2024-04-23 | Samsung Electronics Co., Ltd. | Methods and systems for generating one or more emoticons for one or more users |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108764085B (zh) * | 2018-05-17 | 2022-02-25 | 上海交通大学 | 基于生成对抗网络的人群计数方法 |
CN109711442B (zh) * | 2018-12-15 | 2021-04-16 | 中国人民解放军陆军工程大学 | 无监督逐层生成对抗特征表示学习方法 |
CN109800768B (zh) * | 2018-12-15 | 2021-05-14 | 中国人民解放军陆军工程大学 | 半监督gan的散列特征表示学习方法 |
-
2020
- 2020-01-15 CN CN202010044383.8A patent/CN111311702B/zh active Active
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112508175A (zh) * | 2020-12-10 | 2021-03-16 | 深圳先进技术研究院 | 用于低剂量pet重建的多任务学习型生成式对抗网络生成方法及系统 |
CN113052817A (zh) * | 2021-03-24 | 2021-06-29 | 浙江传媒学院 | 一种基于并行融合的判别模式的图像生成和识别方法 |
WO2022260485A1 (en) * | 2021-06-11 | 2022-12-15 | Samsung Electronics Co., Ltd. | Methods and systems for generating one or more emoticons for one or more users |
US11967000B2 (en) | 2021-06-11 | 2024-04-23 | Samsung Electronics Co., Ltd. | Methods and systems for generating one or more emoticons for one or more users |
Also Published As
Publication number | Publication date |
---|---|
CN111311702B (zh) | 2023-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10929649B2 (en) | Multi-pose face feature point detection method based on cascade regression | |
CN111311702B (zh) | 一种基于BlockGAN的图像生成和识别模块及方法 | |
CN111489358A (zh) | 一种基于深度学习的三维点云语义分割方法 | |
CN106354735A (zh) | 一种图像中目标的检索方法和装置 | |
CN104063719A (zh) | 基于深度卷积网络的行人检测方法及装置 | |
CN110082821B (zh) | 一种无标签框微地震信号检测方法及装置 | |
CN104036255A (zh) | 一种人脸表情识别方法 | |
CN111625667A (zh) | 一种基于复杂背景图像的三维模型跨域检索方法及系统 | |
CN105354593B (zh) | 一种基于nmf的三维模型分类方法 | |
Beikmohammadi et al. | SWP-LeafNET: A novel multistage approach for plant leaf identification based on deep CNN | |
CN107256017B (zh) | 路线规划方法及系统 | |
Wang et al. | Point linking network for object detection | |
CN108596195B (zh) | 一种基于稀疏编码特征提取的场景识别方法 | |
CN108710916A (zh) | 图片分类的方法及装置 | |
CN109214298A (zh) | 一种基于深度卷积网络的亚洲女性颜值评分模型方法 | |
CN110210431A (zh) | 一种基于点云语义标注和优化的点云分类方法 | |
CN110826462A (zh) | 一种非局部双流卷积神经网络模型的人体行为识别方法 | |
CN109840518B (zh) | 一种结合分类与域适应的视觉追踪方法 | |
CN110334584B (zh) | 一种基于区域全卷积网络的手势识别方法 | |
CN109492596A (zh) | 一种基于K-means聚类和区域推荐网络的行人检测方法及系统 | |
CN113159067A (zh) | 一种基于多粒度局部特征软关联聚合的细粒度图像辨识方法及装置 | |
CN110084211A (zh) | 一种动作识别方法 | |
CN113807176A (zh) | 一种基于多知识融合的小样本视频行为识别方法 | |
CN110503113A (zh) | 一种基于低秩矩阵恢复的图像显著性目标检测方法 | |
CN104598898A (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 |