CN114037640A - 图像生成方法及装置 - Google Patents
图像生成方法及装置 Download PDFInfo
- Publication number
- CN114037640A CN114037640A CN202111006421.1A CN202111006421A CN114037640A CN 114037640 A CN114037640 A CN 114037640A CN 202111006421 A CN202111006421 A CN 202111006421A CN 114037640 A CN114037640 A CN 114037640A
- Authority
- CN
- China
- Prior art keywords
- image
- semantic
- target image
- target
- generated
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 89
- 238000009826 distribution Methods 0.000 claims abstract description 68
- 238000012549 training Methods 0.000 claims description 62
- 238000012545 processing Methods 0.000 claims description 30
- 230000006870 function Effects 0.000 claims description 26
- 230000015654 memory Effects 0.000 claims description 26
- 238000001514 detection method Methods 0.000 claims description 25
- 230000008569 process Effects 0.000 claims description 20
- 238000009499 grossing Methods 0.000 claims description 15
- 238000000605 extraction Methods 0.000 claims description 12
- 238000002372 labelling Methods 0.000 claims description 11
- 238000003860 storage Methods 0.000 claims description 11
- 238000004364 calculation method Methods 0.000 claims description 6
- 230000009471 action Effects 0.000 claims description 4
- 238000011176 pooling Methods 0.000 description 32
- 238000013527 convolutional neural network Methods 0.000 description 31
- 238000013528 artificial neural network Methods 0.000 description 27
- 239000011159 matrix material Substances 0.000 description 21
- 239000013598 vector Substances 0.000 description 16
- 238000005070 sampling Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 11
- 230000001537 neural effect Effects 0.000 description 11
- 210000002569 neuron Anatomy 0.000 description 10
- 238000004590 computer program Methods 0.000 description 7
- 230000004913 activation Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 5
- 230000003321 amplification Effects 0.000 description 4
- 238000013135 deep learning Methods 0.000 description 4
- 238000003199 nucleic acid amplification method Methods 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000013145 classification model Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 230000036961 partial effect Effects 0.000 description 3
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000008602 contraction Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000037308 hair color Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 239000004576 sand Substances 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/70—Denoising; Smoothing
-
- 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
-
- 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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/50—Image enhancement or restoration using two or more images, e.g. averaging or subtraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20212—Image combination
- G06T2207/20221—Image fusion; Image merging
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
Abstract
本申请公开了一种图像生成方法,该图像生成方法包括:确定源图像的第一语义目标图像,所述第一语义目标图像为所述源图像包含的至少一个语义目标图像中的至少一个;根据所述第一语义目标图像和第一先验分布确定目标图像,所述第一先验分布为第一背景图像和待生成语义目标信息的噪声的先验分布,所述目标图像包括多种包含所述待生成语义目标信息的图像,所述待生成语义目标信息包括待生成语义目标图像的标签和待生成语义目标图像的指示信息,所述第一背景图像为所述源图像的背景图像。从而能够针对特定样本图片集中包含的多语义目标图像实现自动生成质量稳定并且多样性的目标图片集。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种图像生成方法及装置。
背景技术
目前,图像生成技术在计算机视觉领域的应用越来越广泛,可以广泛应用于工业自动化、生物医药、汽车等领域,例如,自动驾驶、智能检测以及视频监控等。
现有技术中,通过深度神经网络模型强大的计算能力可以有效进行图像数据的处理。例如,通过判别类模型可以对给定的已知输入预测其未知的属性,即,识别给定图片所述类型以及检测图片中存在的所有语义目标;通过生成类模型可以对数据的分布进行模型构建,描述可观测的数据集,从而生成与之具有相同分布的数据。结合当前的判别模型和生成模型可以实现不同类别的图像的相互转换。
当前的生成模型极大的启发了关于生成大型复杂场景图片的研究,例如,条件生成对抗网络(conditional generative adversarial nets,cGAN)。但一方面,当前的生成模型在实现之前所需的人工成本不可忽视,例如,需要准备足够数量的原始图片集与目标图片集,并对其中的语义目标进行人工标注;另一方面,在复杂场景下仅能生成针对单一语义目标的图片,并且生成的图片质量欠佳,例如,语义目标细节与图像纹理缺失,导致图片严重失真,甚至部分语义目标缺失。
如何针对少量样本图片集中包含的多语义目标图片实现自动生成质量稳定并且多样性的目标图片集,成为业界亟需解决的问题。
发明内容
本申请提供一种图像生成方法及装置,能够针对少量样本图片集中包含的多语义目标图像实现自动生成质量稳定并且多样性的目标图片集。
第一方面,提供了一种图像生成方法,该方法包括:确定源图像的第一语义目标图像,该第一语义目标图像为该源图像包含的至少一个语义目标图像中的至少一个;根据该第一语义目标图像和第一先验分布确定目标图像,该第一先验分布为根据第一背景图像和待生成语义目标信息得到的噪声的先验分布,该目标图像包括多种包含待生成语义目标信息的图像,该待生成语义目标信息包括待生成语义目标图像的标签和待生成语义目标图像的指示信息,该第一背景图像为上述源图像的背景图像。
根据本申请提供的上述方案,基于源图像的背景图像和待生成的语义目标图像的信息生成先验分布,根据该先验分布进行随机抽样可以生成待生成的语义目标图像在第一背景图像的多样性分布并且符合全图纹理的目标图像。
结合第一方面,在第一方面的某些实现方式中,该方法还包括:该根据第一语义目标图像和第一先验分布确定目标图像,包括:根据该第一语义目标图像确定该第一背景图像;根据该第一背景图像和该待生成语义目标信息生成该第一先验分布;根据该第一先验分布和该第一背景图像生成该目标图像。
根据上述技术方案,生成模块根据第一语义目标图像来确定第一背景图像的区域,进一步确定第一背景图像的特征,根据第一背景图像特征和待生成的语义目标生成第一先验分布,从而确保生成的图像能够符合全图纹理,避免图像失真,并且基于第一背景图像特征生成的待生成的语义目标的先验分布可以使得后续的抽样具有多样性,从而保障目标图像的多样性。
结合第一方面,在第一方面的某些实现方式中,该方法还包括:该根据该第一先验分布和该第一背景图像生成该目标图像,包括:根据该第一先验分布生成该待生成语义目标图像的噪声;根据该待生成语义目标图像的噪声和该第一背景图像生成该目标图像。
根据上述技术方案,从该第一先验分布进行噪声抽样,进一步结合第一背景图像生成目标图像,噪声抽样具有随机性,从而保证目标图像的多样性。
结合第一方面,在第一方面的某些实现方式中,该方法还包括:根据该第一语义目标图像确定第一背景图像,包括:对该第一语义目标图像进行平滑处理;根据该经过平滑处理的第一语义目标图像确定该第一背景图像。
根据上述技术方案,对要替换的语义目标图像进行平滑处理,确保要生成的语义目标图像的区域能够完成覆盖被替换的语义目标图像,从而保证生成的目标图像符合全图纹理,避免语义目标图像的失真。
结合第一方面,在第一方面的某些实现方式中,该方法还包括:从该源图像中移除该经过平滑处理的第一语义目标图像。
根据上述技术方案,将第一语义目标图像从源图像中删除,可以使得待生成语义目标图像能够更好的融合第一背景图像,有利于全图纹理的一致性。
结合第一方面,在第一方面的某些实现方式中,该方法还包括:将该目标图像作为输入图像,利用待训练的图像判别器鉴别该目标图像的真实性;
根据该待训练的图像判别器的输出结果以及该输入图像,调整图像生成器的网络参数值,该图像生成器用于生成该目标图像;
将网络参数值调整后的图像生成器生成的目标图像作为输入图像,重复该待训练的图像判别器的鉴别动作,直至该训练过程收敛。
根据该技术方案,对生成器和判别器进行训练,使得生成器生成的图像趋于真实,确保生成的目标图像更加逼真自然。
结合第一方面,在第一方面的某些实现方式中,该方法还包括:利用待训练的图像判别器鉴别该目标图像的真实性,包括:
该待训练的图像判别器对该目标图像包括的不同区域内的图像进行判别,包括:
该待训练的图像判别器结合所述待生成语义目标信息对所述不同区域在执行损失函数计算时进行加权。
根据该技术方案,判别器对目标图像进行区域识别,使用卷积网络得到二维的区域判别结果,用以表示每个区域内图像为真实的概率。特别的,本申请对区域判别的结果进行加权得到损失函数,从而使模型更加关注生成区域的结果,即,对待生成的语义目标图像区域进行重点判别,进而提高判别器的判别能力,使得生成器生成的目标图像更加逼真自然。
结合第一方面,在第一方面的某些实现方式中,该方法还包括:该待训练的图像判别器对该目标图像进行区域划分。
结合第一方面,在第一方面的某些实现方式中,该方法还包括:该待训练的图像判别器对该目标图像中包括的待生成语义目标图像进行平滑处理;该待训练的图像判别器对该包括经过平滑处理的待生成语义目标图像的目标图像进行真实性判别。
根据该技术方案,判别器对已经替换的语义目标图像进行平滑处理,确保要该语义目标图像的区域能够完成覆盖被替换的语义目标图像,从而保证生成的目标图像符合全图纹理,避免语义目标图像的失真。
结合第一方面,在第一方面的某些实现方式中,该方法还包括:根据该待生成语义目标信息和该第一语义目标图像的信息完成该目标图像的语义目标的标注。
根据该技术方案,基于待生成的语义目标信息中的语义目标标签可以对生成的目标图像进行自动标注,避免了人工标注的工作量,有效提升训练数据集准备效率。
结合第一方面,在第一方面的某些实现方式中,该方法还包括:该待训练的图像判别器包括图像检测器,该图像检测器用于对该源图像包括的第一语义目标图像进行特征提取。
根据该技术方案,将识别器与判别器耦合,在这种情况下,可以实现判别器与检测器共享特征提取,从而大幅降低了模型的运算量,有效提升图像生成效率。
第二方面,提供了一种图像生成装置,该图像生成装置执行该第一方面或其各种实现方式中的方法的单元。
第三方面,提供了一种图像生成装置,包括,处理器,存储器,该存储器用于存储计算机程序,该处理器用于从存储器中调用并运行该计算机程序,使得该通信设备执行第一方面及其各种可能实现方式中的图像生成方法。
可选地,该处理器为一个或多个,该存储器为一个或多个。
可选地,该存储器可以与该处理器集成在一起,或者该存储器与处理器分离设置。
第四方面,提供了一种计算机可读存储介质,其特征在于,该计算机可读介质存储用于设备执行的程序代码,该程序代码包括用于执行第一方面或第二方面该的方法。
第五方面,提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述各方面中的任意一种实现方式中的方法。
第六方面,提供一种芯片,该芯片包括处理器与数据接口,该处理器通过该数据接口读取存储器上存储的指令,执行上述各方面中的任意一种实现方式中的方法。
可选地,作为一种实现方式,该芯片还可以包括存储器,该存储器中存储有指令,该处理器用于执行该存储器上存储的指令,当该指令被执行时,该处理器用于执行上述各方面中的任意一种实现方式中的方法。
上述芯片具体可以是现场可编程门阵列(field-programmable gate array,FPGA)或者专用集成电路(application-specific integrated circuit,ASIC)。
附图说明
图1示出了本申请实施例提供的***架构的结构示意图;
图2为本申请实施例提供的一种卷积神经网络的结构示意图;
图3为本申请实施例提供的一种产品实现形态示意图;
图4为本申请实施例提供的一种图像生成方法的示意性流程图;
图5为本申请实施例提供的一种共享特征提取的判别器结构与检测器结构示意图;
图6是本申请实施例提供的一种图像生成装置的示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
应理解,本申请中所有节点、装置的名称仅仅是本申请为描述方便而设定的名称,在实际应用中的名称可能不同,不应理解本申请限定各种节点、装置的名称,相反,任何具有和本申请中用到的节点或装置具有相同或类似功能的名称都视作本申请的方法或等效替换,都在本申请的保护范围之内,以下不再赘述。
由于本申请实施例涉及大量神经网络的应用,为了便于理解,下面先对本申请实施例可能涉及的神经网络的相关术语和概念进行介绍。
(1)神经网络
神经网络可以是由神经单元组成的,神经单元可以是指以xs和截距1为输入的运算单元,该运算单元的输出可以为:
其中,s=1、2、……n,n为大于1的自然数,Ws为xs的权重,b为神经单元的偏置。f为神经单元的激活函数(activation functions),用于对神经网络中获取到的特征进行非线性变换,来将神经单元中的输入信号转换为输出信号。该激活函数的输出信号可以作为下一层卷积层的输入,激活函数可以是sigmoid函数。神经网络是将多个上述单一的神经单元联结在一起形成的网络,即一个神经单元的输出可以是另一个神经单元的输入。每个神经单元的输入可以与前一层的局部接受域相连,来提取局部接受域的特征,局部接受域可以是由若干个神经单元组成的区域。
(2)深度神经网络
深度神经网络(deep neural network,DNN),也称多层神经网络,可以理解为具有多层隐含层的神经网络。按照不同层的位置对DNN进行划分,DNN内部的神经网络可以分为三类:输入层,隐含层,输出层。一般来说第一层是输入层,最后一层是输出层,中间的层数都是隐含层。层与层之间是全连接的,也就是说,第i层的任意一个神经元一定与第i+1层的任意一个神经元相连。
虽然DNN看起来很复杂,但是就每一层的工作来说,其实并不复杂,简单来说就是如下线性关系表达式:其中,是输入向量,是输出向量,是偏移向量,W是权重矩阵(也称系数),α()是激活函数。每一层仅仅是对输入向量经过如此简单的操作得到输出向量由于DNN层数多,系数W和偏移向量的数量也比较多。这些参数在DNN中的定义如下所述:以系数W为例:假设在一个三层的DNN中,第二层的第4个神经元到第三层的第2个神经元的线性系数定义为上标3代表系数W所在的层数,而下标对应的是输出的第三层索引2和输入的第二层索引4。
需要注意的是,输入层是没有W参数的。在深度神经网络中,更多的隐含层让网络更能够刻画现实世界中的复杂情形。理论上而言,参数越多的模型复杂度越高,“容量”也就越大,也就意味着它能完成更复杂的学习任务。训练深度神经网络的也就是学习权重矩阵的过程,其最终目的是得到训练好的深度神经网络的所有层的权重矩阵(由很多层的向量W形成的权重矩阵)。
(3)卷积神经网络
卷积神经网络(convolutional neuron network,CNN)是一种带有卷积结构的深度神经网络。卷积神经网络包含了一个由卷积层和子采样层构成的特征抽取器,该特征抽取器可以看作是滤波器。卷积层是指卷积神经网络中对输入信号进行卷积处理的神经元层。在卷积神经网络的卷积层中,一个神经元可以只与部分邻层神经元连接。一个卷积层中,通常包含若干个特征平面,每个特征平面可以由一些矩形排列的神经单元组成。同一特征平面的神经单元共享权重,这里共享的权重就是卷积核。共享权重可以理解为提取图像信息的方式与位置无关。卷积核可以以随机大小的矩阵的形式化,在卷积神经网络的训练过程中卷积核可以通过学习得到合理的权重。另外,共享权重带来的直接好处是减少卷积神经网络各层之间的连接,同时又降低了过拟合的风险。
(4)损失函数
在训练深度神经网络的过程中,因为希望深度神经网络的输出尽可能的接近真正想要预测的值,所以可以通过比较当前网络的预测值和真正想要的目标值,再根据两者之间的差异情况来更新每一层神经网络的权重向量(当然,在第一次更新之前通常会有化的过程,即为深度神经网络中的各层预先配置参数),比如,如果网络的预测值高了,就调整权重向量让它预测低一些,不断地调整,直到深度神经网络能够预测出真正想要的目标值或与真正想要的目标值非常接近的值。因此,就需要预先定义“如何比较预测值和目标值之间的差异”,这便是损失函数(loss function)或目标函数(objective function),它们是用于衡量预测值和目标值的差异的重要方程。其中,以损失函数举例,损失函数的输出值(loss)越高表示差异越大,那么深度神经网络的训练就变成了尽可能缩小这个loss的过程。
(5)主干网络
在神经网络,尤其是计算机视觉(computer vision,CV)领域,一般先对图像进行特征提取,这一部分是整个CV任务的根基,因为后续的任务都依赖于提取出来的图像特征。因此将这一部分网络结构称为主干网络。
(6)U-Net
是比较早的使用全卷积网络进行语义分割的算法之一,其网络结构分为下采样阶段和上采样阶段,网络结构中只有卷积层和池化层,没有全连接层,网络中较浅的高分辨率层用来解决像素定位的问题,较深的层用来解决像素分类的问题,从而可以实现图像语义级别的分割。在U-Net的结构中,包括捕获一个上下文信息的收缩路径和一个允许精确定位的对称拓展路径。在本申请中,这种方法可以理解为,使用非常少的数据完成端到端的训练,即输入是一幅图像,输出也是一幅图像,并获得最好的效果。
(7)图像特征
图像特征可以理解是由原始数据通过特征提取操作转化的,方便算法理解、处理的数值特征。在本申请实施例中,图像特征特指使用主干网络模型提取到的图像特征。
(8)判别模型
本申请实施例中,判别类模型可以对给定的已知输入预测其未知的属性,即识别给定图片所属的类别,以及检测图片中存在的所有语义目标。该判别类模型例如,目标分类模型、目标检测模型。
判别模型中,首先实现的是对单一语义目标图像的分类,即目标分类模型。该模型采用了卷积层对图像进行局部区域的特征的提取,并将得到的特征输入到全连接层进行分类。在此基础上,目标检测模型采用了类似的主干网络对包含多语义目标的图像进行特征提取,随后根据主干网络输出的特征图进行对原始图像中语义目标进行定位与识别。根据模型结构的不同,目标检测模型又可以分为单步模型与两步模型。其中,以YOLO神经网络(you only look once neural network,YOLO)、SSD检测器(single shot multiboxdetector,SSD)为代表的单步法采用了回归的方法以整体特征图为输入计算每个格点中包含语义目标的概率;以基于快速区域的卷积神经网络(Faster Region BasedConvolutional NeuralNetworks,Faster RCNN)和基于掩模区域的卷积神经网络(MaskRegion BasedConvolutional Neural Networks,Mask RCNN)为代表的两步法引入了候选区域网络,首先依据特征信息鉴别预设的候选框中是否包含语义目标,随后将包含语义目标概率较高的区域输入到分类其中,进行目标检测。
(9)生成模型
本申请实施例中,生成模型以生成对抗模型为例。该模型由生成器与判别器组成,其中生成器旨在学习从噪声分布到目标数据分布的映射,而判别器用以判别接受到的数据是否为真实的。在训练时,首先使用生成器生成的假数据与真实数据分别对判别器进行训练,随后串联生成器与判别器,并固定判别器的参数,以“生成真实数据”为目标,训练生成器。在训练过程中,判别器鉴别真假的能力提升,从而使得生成器产生的图片也更加接近真实分布,最终达到均衡。生成对抗网络的训练可以理解为如下的优化问题:
生成对抗模型在生成小型单一类别图片中可以具有很好的表现,但难以处理高清晰度的图片,亦无法基于一个模型生成不同类别的图片。在此基础上,条件生成对抗模型(cGAN)在原模型的基础上引入了控制条件,实现了对生成语义目标类别可控的效果,从而可以使用一个模型生成不同类别的图片。具体的,该模型将待生成的语义目标的类别表示为一维向量作为条件向量。在生成器中,使用嵌入层将噪声与条件编码,随后传送入网络进行生成;在判断器中,将主干网络得到的特征与噪声编码,判断输入图片是否为目标类别下的真实图片。
为便于理解本申请实施例,首先结合图1简要说明本申请实施例的一种***架构100的结构示意图。如图1所示,该***架构100包括数据集模块110和模型训练模块120。数据集模块110是模型训练的基础之一,高质量大规模的数据集,是训练得到高质量模型的关键。
其中,在数据集模块110中,如图1所示,数据采集设备111用于采集原始数据;数据预处理设备112可以用于进行原始数据的筛选、过滤及数据标注,其中,该数据标注可以为人工标注,也可以为自动标注,本申请实施例对此不作限定。数据生成设备113用于根据标注的数据生成新的数据。其中,数据生成是解决数据集规模不够的重要手段。
在该数据集模块110中,还包括数据存储库114,用于存储自动生成的数据集。该数据集可以用于训练模块进行模型训练。
如图1所示,模型训练模块120中包括训练设备121,该训练设备121可以基于数据库130中维护的训练数据训练得到目标模型122。
下面对训练设备121基于训练数据得到目标模型122进行描述,训练设备120对输入的数据进行处理,将输出的数据与输入的原始数据进行对比,直到训练设备120输出的数据与输入的原始数据的差值小于一定的阈值,从而完成目标模型122的训练。
上述目标模型122能够用于实现本申请实施例的图像生成方法,即,将通过数据生成设备113自动生成的图片集输入该目标模型122,即可判断该图片集包括的图片的真伪。本申请实施例中的目标模型122具体可以为cGAN网络。
需要说明的是,在实际的应用中,所述数据库114中维护的训练数据不一定都来自于数据采集设备111的采集,也有可能是从其他设备接收得到的。另外需要说明的是,训练设备121也不一定完全基于数据库114维护的训练数据进行目标模型的训练,也有可能从云端或其他地方获取训练数据进行模型训练,上述描述不应该作为对本申请实施例的限定。
根据训练设备121训练得到的目标模型122可以应用于不同的***或设备中,如执行设备,所述执行设备可以是终端,如手机终端,平板电脑,笔记本电脑,增强现实(augmentedreality,AR)AR/虚拟现实(virtual reality,VR),车载终端等,还可以是服务器或者云端等。
值得说明的是,上述训练设备121可以针对不同的目标或称不同的任务,基于不同的训练数据生成相应的目标模型122,该相应的目标模型122即可以用于实现上述目标或完成上述任务,从而为用户提供所需的结果。
值得注意的是,图1仅是本申请实施例提供的一种***架构的示意图,图中所示设备、器件、模块等之间的位置关系不构成任何限制。
由于CNN是一种非常常见的神经网络,下面结合图2重点对CNN的结构进行详细的介绍。如上文的基础概念介绍所述,卷积神经网络是一种带有卷积结构的深度神经网络,是一种深度学习(deep learning)架构,深度学习架构是指通过神经网络模型更新的算法,在不同的抽象层级上进行多个层次的学习。作为一种深度学习架构,CNN是一种前馈(feed-forward)人工神经网络,该前馈人工神经网络中的各个神经元可以对输入其中的图像作出响应。
在图2中,卷积神经网络(CNN)200可以包括输入层210,卷积层/池化层220(其中池化层为可选的),以及全连接层(fully connected layer)230。图二中的卷积神经网络可适用于图像分类模型结构。下面对图2中的CNN 200中内部的层结构进行详细的介绍。
卷积层/池化层220:
卷积层:
如图2所示卷积层/池化层220可以包括如示例221-226层,举例来说:在一种实现中,221层为卷积层,222层为池化层,223层为卷积层,224层为池化层,225为卷积层,226为池化层;在另一种实现方式中,221、222为卷积层,223为池化层,224、225为卷积层,226为池化层。即卷积层的输出可以作为随后的池化层的输入,也可以作为另一个卷积层的输入以继续进行卷积操作。
下面将以卷积层221为例,介绍一层卷积层的内部工作原理。
卷积层221可以包括很多个卷积算子,卷积算子也称为核,其在图像处理中的作用相当于一个从输入图像矩阵中提取特定信息的过滤器,卷积算子本质上可以是一个权重矩阵,这个权重矩阵通常被预先定义,在对图像进行卷积操作的过程中,权重矩阵通常在输入图像上沿着水平方向一个像素接着一个像素(或两个像素接着两个像素……这取决于步长stride的取值)的进行处理,从而完成从图像中提取特定特征的工作。该权重矩阵的大小应该与图像的大小相关,需要注意的是,权重矩阵的纵深维度(depth dimension)和输入图像的纵深维度是相同的,在进行卷积运算的过程中,权重矩阵会延伸到输入图像的整个深度。因此,和一个单一的权重矩阵进行卷积会产生一个单一纵深维度的卷积化输出,但是大多数情况下不使用单一权重矩阵,而是应用多个尺寸(行×列)相同的权重矩阵,即多个同型矩阵。每个权重矩阵的输出被堆叠起来形成卷积图像的纵深维度,这里的维度可以理解为由上面所述的“多个”来决定。不同的权重矩阵可以用来提取图像中不同的特征,例如一个权重矩阵用来提取图像边缘信息,另一个权重矩阵用来提取图像的特定颜色,又一个权重矩阵用来对图像中不需要的噪点进行模糊化等。该多个权重矩阵尺寸(行×列)相同,经过该多个尺寸相同的权重矩阵提取后的卷积特征图的尺寸也相同,再将提取到的多个尺寸相同的卷积特征图合并形成卷积运算的输出。
这些权重矩阵中的权重值在实际应用中需要经过大量的训练得到,通过训练得到的权重值形成的各个权重矩阵可以用来从输入图像中提取信息,从而使得卷积神经网络200进行正确的预测。
当卷积神经网络200有多个卷积层的时候,的卷积层(例如221)往往提取较多的一般特征,该一般特征也可以称之为低级别的特征;随着卷积神经网络200深度的加深,越往后的卷积层(例如226)提取到的特征越来越复杂,比如高级别的语义之类的特征,语义越高的特征越适用于待解决的问题。
池化层:
由于常常需要减少训练参数的数量,因此卷积层之后常常需要周期性的引入池化层,在如图2中220所示例的221-226各层,可以是一层卷积层后面跟一层池化层,也可以是多层卷积层后面接一层或多层池化层。在图像处理过程中,池化层的唯一目的就是减少图像的空间大小。池化层可以包括平均池化算子和/或最大池化算子,以用于对输入图像进行采样得到较小尺寸的图像。平均池化算子可以在特定范围内对图像中的像素值进行计算产生平均值作为平均池化的结果。最大池化算子可以在特定范围内取该范围内值最大的像素作为最大池化的结果。另外,就像卷积层中用权重矩阵的大小应该与图像尺寸相关一样,池化层中的运算符也应该与图像的大小相关。通过池化层处理后输出的图像尺寸可以小于输入池化层的图像的尺寸,池化层输出的图像中每个像素点表示输入池化层的图像的对应子区域的平均值或最大值。
全连接层230:
在经过卷积层/池化层220的处理后,卷积神经网络200还不足以输出所需要的输出信息。因为如前所述,卷积层/池化层220只会提取特征,并减少输入图像带来的参数。然而为了生成最终的输出信息(所需要的类信息或其他相关信息),卷积神经网络200需要利用全连接层230来生成一个或者一组所需要的类的数量的输出。因此,在全连接层230中可以包括多层隐含层(如图3所示的231、232至23n)以及输出层240,该多层隐含层中所包含的参数可以根据具体的任务类型的相关训练数据进行预先训练得到,例如该任务类型可以包括图像识别,图像分类,图像超分辨率重建等等。
在全连接层230中的多层隐含层之后,也就是整个卷积神经网络200的最后层为输出层240,该输出层240具有类似分类交叉熵的损失函数,具体用于计算预测误差,一旦整个卷积神经网络200的前向传播(如图3由210至240方向的传播为前向传播)完成,反向传播(如图3由240至210方向的传播为反向传播)就会开始更新前面提到的各层的权重值以及偏差,以减少卷积神经网络200的损失,及卷积神经网络200通过输出层输出的结果和理想结果之间的误差。
需要说明的是,图2所示的卷积神经网络仅作为一种卷积神经网络的示例,在具体的应用中,卷积神经网络还可以以其他网络模型的形式存在。
下面介绍本申请实施例提供的一种产品实现形态。
图3为本申请实施例提供的一种产品实现形态示意图。
本申请实施例的一种产品实现形态,可以包含在数据集***中,并且部署在服务器硬件上的程序代码。本申请的程序代码可以存在于数据集***的数据生成模块中,例如***架构100中的数据生成设备113。此部分代码运行于主机存储(内存或磁盘)上,用于执行创新的数据自动生成方法。
图3示出了本申请的一种产品实现形态,该产品包括服务器310、硬件320和软件330,其中硬件330包括主机内存或磁盘,用于运行本申请的程序代码;软件320包括图像识别装置321和图像生成装置322,该图像识别装置321用于识别输入图像的真伪,该图像生成装置322用于生成用户要求的目标语义信息的多样性图像,并将生成的图片存储至主机内存或磁盘,用于输入图像识别装置321进行图片识别。
本申请实施例提供的图像生成方法和装置可以运用于其他类似的图片编辑、替换的任务中。例如,自动驾驶中不同路况场景中交通工具或其他目标物体的替换、视频监控场景中的人物发型、发色及头饰的替换、工业自动化质量监测场景中的不同产品形状、颜色及布局等的替换,等。具体而言,本申请实施例的图像生成方法能够应用在图片编辑替换的场景中,本申请实施例以自动驾驶场景为例对本申请实施例的图像生成方法进行详细的介绍。
为便于对本实施例进行理解,首先对本公开实施例所公开的一种样本图像生成方法进行详细介绍,本公开实施例所提供的样本图像生成方法的执行主体一般为具有一定计算能力的计算机设备,该计算机设备例如包括:终端设备或服务器或其它处理设备,终端设备可以为用户设备(User Equipment,UE)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字处理(Personal Digital Assistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备等。在一些可能的实现方式中,该样本图像生成方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
下面结合图4描述本申请实施例的图像生成方法。图4示出了本申请实施例提供的一种图像生成方法400的示意性流程图。所述方法可以应用于数据集***中,所述数据集***包括检测模块和生成模块。其中,生成模块中包括判别器与生成器,生成器包括编码结构和解码结构,检测模型和生成模型可以基于生成对抗网络进行模型训练。所述方法可以由上述执行设备执行。可选地,方法400可以由CPU处理,也可以由CPU和GPU共同处理,也可以不用GPU,而是使用其他适合用于神经网络计算的处理器,本申请不做限制。
在训练中,检测模型首先使用带有标注的源图像训练图片识别器,该带有标注的源图像指的是预先对源图像中的图片包括的语义目标进行标注,可以进行人工标注,或是自动标注,不作限定。训练图片识别器的目的为通过训练使得图片识别器通过标注能够识别对应标注的语义目标。该训练方式可以采用现有技术中的训练方式,也可以采用任意可以达到训练图片识别器目的的方式,本申请实施例对此不作限定。
在本申请实施例中,经过训练的检测模型对源图像进行语义目标识别,然后生成模型根据预先给定的条件,对识别到的语义目标进行编辑,实现端到端的自动图像生成和自动标注。
在本申请实施例中,源图像作为输入的原始图片的一例,该源图像包括多个输入图片,第一语义目标图像作为语义目标的一例,第一背景图像为根据用户的待生成语义目标信息对源图像进行处理后的图像的一例,目标图像为生成器生成的图片的一例。
应理解,源图像可以称为原始图像,输入图像,原始图片等相似术语,目标图像也可以称为生成图像,生成图片等相似术语,本申请实施例采用源图像和目标图像为例进行说明,本申请实施例对此不作限定。
方法400包括步骤S410至步骤S440。下面对步骤S410至步骤S440进行详细说明。
S410,检测模型确定源图像的第一语义目标图像。
S420,生成模型根据所述第一语义目标图像确定第一背景图像。
S430,生成模型根据所述第一背景图像和待生成语义目标信息生成第一先验分布。
S440,生成模型根据所述第一先验分布和所述第一背景图像生成所述目标图像。
下面对步骤S410至步骤S440进行详细说明。
S410,检测模型确定源图像的第一语义目标图像。
源图像作为数据集***的输入图像,数据集***的检测模型包括图片识别器,图片识别器可以识别源图像的第一语义目标图像。
在本申请实施例中,该图像生成方法可以用于自动驾驶场景中,因此源图像可以为自动驾驶车辆采集的图像,第一语义目标图像可以为源图像中的车辆图像,例如,公交车,小汽车,自行车等。
具体的,在一种可能的实施方式中,上述识别器是经过训练的,因此可以根据标注识别第一语义目标图像,其中,该源图像为原始输入图像,包括一个或多个图像,每个图像包括一个或多个语义目标,该第一语义目标图像为其中的至少一个。
在一种可能的实施方式中,检测模型针对识别到的语义目标图像进行标注,具体包括标注该语义目标的边界框及语义目标的类别,对于检测到的边界框,记录其位置并进行适当放大,从而包含了部分边界部分,以避免生成的语义目标与周围环境融合不够流畅。
例如,该源图像为自动驾驶场景的图像,该源图像包含多个语义目标,例如,公交车,道路,天空,植物,行人等,其中,该第一语义目标图像可以为交通工具,例如,公交车。检测模型对该第一语义目标图像的位置进行记录并放大边界框,同时识别其语义目标的类别为交通工具。
应理解,第一语义目标图像的边界框可以为任意形状,该任意形状可以理解为对检测到的包含第一语义目标图像的区域进行适当放大,获取第一语义目标图像周围的部分环境图像,因此该任意形状中包括第一语义目标的完整图像和周围的部分环境图像,该任意形状例如:矩形,圆形,梯形等,本申请实施例对此不作限定。
应理解,以上举例仅为示例性说明,不应对本申请实施例构成任何限定,本申请以图像生成在自动驾驶场景为例,除此以外,本申请实施例提供的图像生成方法还可以应用于任意需要替换语义目标的图像生成场景中。
S420,生成模型根据所述第一语义目标图像确定第一背景图像。
生成模型确定检测模型检测的第一语义目标图像,并根据该第一语义目标图像对源图像进行编辑确定第一背景图像,并进行特征提取,从而确定第一背景图像的特征。
具体的,生成模型确定检测模型检测的第一语义目标图像,生成模型确定第一语义目标图像的位置及标注信息,根据该第一语义目标的标注信息对源图像进行处理,从而确定第一背景图像,进一步的,对第一背景图像进行特征提取,得到第一背景图像的特征。
在一种可能的实施方式中,对所述第一语义目标图像进行平滑处理,用于对所述第一语义目标图像区域进行放大处理,可以理解为,经过放大处理后,待生成语义目标可以完全覆盖该第一语义目标图像的区域,从而实现全图纹理的一致性。
应理解,在本申请中,对所述第一语义目标图像进行平滑处理后,可以直接由待生成目标语义图像覆盖该第一语义目标图像的区域。
在一种可能的实施方式中,从所述源图像中移除所述经过平滑处理的第一语义目标图像,获得第一背景图像。
在一种可能的实施方式中,待生成语义目标信息为给定的语义目标信息,例如,该语义目标信息可以为将公交车替换为卡车,或者为,将公交车去掉,类似的,根据用户需求定义的要求均可以作为该语义目标信息。
在一种可能的实施方式中,该待生成语义目标信息也可以是***自定义的,本申请实施例对此不作限定。
优选的,该待生成语义目标信息可以包括语义目标图像的标签和待生成语义目标图像的指示信息,该语义目标可以理解为待生成的语义目标,该待生成语义目标与源图像中语义目标体积,语义类别相近。
例如,当源图像被检测到的第一语义目标图像为体积较大的汽车时,待生成的语义目标的标签可以为卡车,公交车,消防车等,语义目标信息包括的语义目标标签为交通工具,语义目标体积描述为大型。再例如,当第一语义目标图像为自行车时,待生成的语义目标可以为摩托车,三轮车等。语义目标信息包括的语义目标类别为交通工具,语义目标体积描述为小型。
应理解,根据待生成语义目标信息和第一语义目标图像的标注信息对源图像进行处理,包括:对所述第一语义目标图像进行平滑处理,例如,待生成语义目标信息中的指示信息为将公交车替换为卡车,则生成模型根据第一语义目标的标注信息在源图像中确定第一语义目标的位置及边界框,并对该边界框内的图像进行删除处理或者覆盖处理,从而得到第一背景图像;再例如,待生成语义目标信息中的指示信息为将公交车去掉,则生成模型确定第一语义目标的位置及边界框,对边界框内的图像进行删除处理,同时填充周围环境色块,作为一种理解,例如,使用路面色块填充至该边界框内,从而获得第一背景图像。
应理解,以上举例仅为示例性说明,不应对本申请实施例构成任何限定。
S430,生成模型根据所述第一背景图像和所述待生成语义目标信息生成第一先验分布。
应理解,本申请实施例中,生成器包括编码结构和解码结构两部分,编码器包括先验条件编码模块。
具体的,以第一背景图像作为输入,编码器通过卷积层、池化层对图像进行下采样并提取第一背景图像的特征。随后,将提取第一背景图像的特征与待生成语义目标信息进行编码合并,输入至先验条件编码模块,通过该先验条件编码模块得到关于当前源图像的先验条件,并依据先验条件生成该待生成语义目标的噪声的先验分布。
应理解,第一先验分布仅为示例性说明。本申请实施例对此不作限定。
应理解,待生成语义目标信息为用户定义或***定义等方式确定,待生成语义目标作为一种理解,例如,可以为物体B,物体C,物体D,物体E等。第一语义目标图像可以为物体A,则,该待生成语义目标信息可以理解为将源图像中的物体A替换为物体B,或者替换为物体C或物体D等。以语义目标信息为将源图像中的物体A替换为物体B为例,在该情况下,判别器首先判别出源图像中的物体A,输入至生成器后,生成器中先对该物体A的区域进行平滑处理得到第一背景图像,然后编码器对该第一背景图像通过采样进行特征提取,将该第一背景图像的特征与物体B的信息进行编码合并,输入至先验条件编码模块,得到关于物体B的先验分布。可以理解,如果要替换为物体C,则需要生成物体C的先验分布。
在本申请实施例中,应理解,第一背景图像作为编码器的输入,编码器通过卷积层和池化层,得到一个长度向量和矩阵,该向量和矩阵作为高斯分布的先验条件,从该高斯分布中进行抽样。当待生成一个单一物体A,根据从高斯分布的随机抽样的不同,以及高斯分布的分布参数的不同,会生成A1,A2,A3等不同的关于物体A的图像,从而可以生成关于物体A的多样性图像。其中,分布参数的大小取决于被替换图像区域的大小,即,第一语义目标图像的区域大小。
进一步的,将高斯分布抽样得到的噪声与第一背景图像的特征进行合并解码,例如,当该第一背景图像表示光线充足的环境,则,合并解码得到的目标图像可以为A1,A2,A3等处于充足光线下的物体A的图像,再例如,当第一背景图像为阴雨天气环境,则,合并解码得到的目标图像可以为A1’,A2’,A3’等处于阴雨天气的物体A的图像。
应理解,以第一背景图像作为先验条件可以获得源图像的环境信息,该环境信息可以理解为除去要替换的语义目标的周围环境的状况,进而可以控制生成区域的环境、纹理与全图一致。
应理解,以待生成语义目标信息为条件,其中包括待生成的语义目标的标签,从而可以控制生成图片的语义目标输出类型与源图像相近或一致。
S440,生成模型根据所述第一先验分布和所述第一背景图像生成所述目标图像。
具体的,生成模型从上述第一先验分布中抽样得到噪声,并与编码器中提取的第一背景图像特征进行合并,将结果输入至解码器中,生成目标图像。
可选的一种理解,生成模型从上述先验分布中抽样得到的噪声,该噪声可以理解为待生成语义目标图像在第一背景图像中基于高斯分布的位置分布变化量特征,基于该变化量特征与第一背景图像特征进行编码可以得到多个不同的特征,经过解码器解码该多个不同的特征可以获取不同的图像。
应理解,上述基于高斯分布的先验分布仅为示例性说明,该先验分布也可以为其他形式,本申请实施例对此不作限定。
应理解,上述生成的不同的图像是基于抽样的噪声生成的,每一次抽样得到的噪声都是不同的,从而实现了待生成语义目标在源图像中的不同位置分布变化图像的生成。
可以理解,上述待生成语义目标在源图像中的不同位置分布可以理解为角度的变化,位置的变化,布局的变化等,并且,该待生成语义目标也可以根据用户定义进行颜色的变化等。
在上述先验分布的指导下,待生成语义目标图像在上述第一背景图像中的位置具有更加合理和多样性的分布,从而生成的样本数据更加合理丰富。
在一种可能的实施方式中,生成模型根据待生成语义目标信息和所述第一语义目标图像的信息生成目标图像的标注,实现语义目标的自动标注。
应理解,上述生成器和判别器均为经过训练的生成器和判别器,下面在方法500中介绍具体的训练方法。
为了便于本领域技术人员理解,下面将结合图5中的例子进行描述。
图5提供了根据本申请实施例包括的模块的一个示意性框图。如图5所示,包括:检测模块和生成模块。
其中,检测模块包括识别器;生成模块中包括生成器与判别器,生成器包括编码结构和解码结构,检测模型和生成模型可以基于生成对抗网络进行模型训练。
针对检测模块,具体的,源图像作为输入,该源图像预先进行标注,使用该带有标注的源图像训练识别器,从而使得识别器可以检测到语义目标。该训练方式可以采用现有技术中的训练方式,也可以采用任意可以达到训练图片识别器目的的方式,本申请实施例对此不作限定。
应理解,经过训练的识别器可以确定源图像的第一语义目标图像,如方法400步骤S410所述,在此不进行赘述。
应理解,当数据样本不均衡时,模型会针对数据量丰富的类别识别能力增强,对数据量较少的类别识别能力减弱。因此,选取的边界框具有较高的概率选中样本量较多的类别。在语义目标编辑模块中,被选中原始语义目标会被替换为其他语义目标,而原本无法识别到的语义目标及其标签被保留在了原始的图像中。
针对生成模块,具体的,在语义目标编辑模块中,可以根据待生成语义目标信息对源图像进行处理得到第一背景图像,将第一背景图像输入编辑器得到第一背景图像特征,再将源图像和目标语义类别输入编辑器得到先验条件,进一步生成噪声的先验分布,进而从先验分布提取噪声特征,将该噪声特征与第一背景图像特征输入编辑器进行编辑合并,将得到的特征输入解码器进行解码,得到合成的图像。
应理解,生成器合成的图像需要输入判别器进一步进行判断是否为真。
可以理解,该生成器和判别器进行串联并固定判别器参数,并以“该图片为真”为目标,优化生成器的参数,以实现生成器生成的图片能够“欺骗”判别器的目的,即,生成器生成的图片尽可能与真实图片无限接近。
具体的,将生成器合成的图像输入判别器,判别器需要获取真实图片,即源图像,判别器根据源图像来判断输入的图像是否为真。根据判别器的判别结果来调整生成器的网络参数值,进一步的,将调整调整后的生成器生成的图片作为输入判别器继续上述步骤,知道判断其输出的结果为真,待训练的图像生成器的训练结束条件和所述待训练的图像判别器的训练结束条件达到平衡。
在一种可能的实施方式中,判别器对所述目标图像中包括的目标语义信息进行平滑处理,然后对所述包括经过平滑处理的目标语义信息的目标图像进行真实性判别。可选的一种理解,判别器根据真实图像对识别器生成的图像进行判别,该生成的图像仅在第一语义目标边界框内的图像与真实图像有区别,其他语义目标没有任何变化,因此,判别器的主要判别区域为该第一语义目标的边界框内的区域。
在一种可能的实施方式中,判别器对所述目标图像进行区域划分,针对不同区域进行真实性判别。
具体的,所述待训练的图像判别器结合所述待生成语义目标信息对所述不同区域在执行损失函数计算时进行加权。
应理解,判别器识别到与待生成语义目标图像重合率较高的区域时,在进行损失函数计算时会增大损失函数的权重,使判别模型更关注生成的语义目标图像,从而提升模型的效果,也即,可以提高该区域内判别的真实性。
在一种可能的实施方式中,待训练的判别器对图像中包括目标语义信息的边界框进行放大处理,对所述边界框区域内的图像进行真实性判别。
应理解,本申请实施例中,判别器的判别区域扩大,不仅是在语义目标轮廓范围内,因此,判别器对边界框内语义目标的环境区域也有判别过程,进而控制生成模型的输出,使得经过训练的识别器生成的目标图像局部融合流畅自然,全图纹理高度一致。
在一种可能的实施方式中,当判别器的主干网络提取到图像特征后,将该特征与基于原始图像标注的类别信息图进行嵌入,随后使用卷积网络得到二维的区域判别结果,用以表示每个区域内图像为真实的概率。特别的,本申请对区域判别的结果进行加权得到损失函数,从而使模型更加关注生成区域的结果。
优选的,本申请的判别器可以采用PatchGAN结构。
可以理解,判别器在经过训练后识别真实图片、伪造图片的能力上升,在优化生成器的参数时,会相应的提升生成器生成以假乱真图片的能力。通过持续迭代优化,判别器与生成器逐渐达到平衡,从而完成模型的训练。
应理解,经过训练后的识别器可以直接生成目标图像。
根据目标语义信息、第一语义目标图像的信息生成目标图像的标注,实现语义目标的自动标注,避免了人工标注的工作量,有效提升训练数据集准备效率。
在一种可能的实施方式中,图5中的检测模块可以与生成模块耦合,即,将识别器与判别器耦合,在这种情况下,可以实现判别器与检测器共享特征提取,从而大幅降低了模型的运算量,有效提升图像生成效率。
根据本申请实施例的图像生成方法,基于预置的待生成语义目标信息,引入识别器自动识别原始图片中待替换的语义目标,对该语义目标做预处理,随后获取处理后的图片特征,结合待生成语义目标信息,生成噪声的条件分布并与图片特征进行合并,然后自动替换为预期生成的语义目标,最后合成符合图片纹理信息并满足多样性的图片并自动标注,保证生成数据的多样性。
图6是本申请实施例提供的一种图像生成装置的结构框图。该图像生成装置600包括:检测单元610、生成单元620和判别单元630。
其中,检测单元610用于确定源图像的第一语义目标图像,所述第一语义目标图像为所述源图像包含的至少一个语义目标图像中的至少一个。
生成单元620用于根据所述第一语义目标图像确定第一背景图像;根据所述第一背景图像和待生成语义目标信息生成噪声的先验分布;根据所述先验分布和所述第一背景图像生成所述目标图像。
具体的,生成单元620用于从所述先验分布抽取噪声,根据所述噪声和所述第一背景图像生成所述目标图像。
具体的,生成单元620用于对所述第一语义目标图像进行平滑处理,根据所述经过平滑处理的第一语义目标图像确定所述第一背景图像。
在一种可能的实施方式中,生成单元620用于从所述源图像中移除所述经过平滑处理的第一语义目标图像,获得第一背景图像。
具体的,生成单元620还用于根据所述语义目标信息完成所述目标图像的语义目标的标注。
训练单元630用于训练所述生成单元生成的图像趋于真实。
具体的,将所述目标图像作为输入图像,利用待训练的图像判别器鉴别所述目标图像的真实性;根据所述图像判别器的输出结果以及所述输入图像,调整图像生成器的网络参数值,所述图像生成器用于生成所述目标图像;将网络参数值调整后的图像生成器生成的目标图像作为输入图像,重复所述待训练的图像判别器的鉴别动作,直至该训练过程收敛。
在一种可能的实施方式中,所述待训练的图像判别器对所述目标图像包括的不同区域内的图像进行判别。
可选的,所述待训练的图像判别器对所述目标图像进行区域划分。
具体的,所述待训练的图像判别器还用于对所述目标图像中包括目标语义信息进行平滑处理,并对所述包括经过平滑处理的目标语义信息的目标图像进行真实性判别。
应理解,该平滑处理,例如,对所述目标语义图像的边界框进行放大处理,所述待训练的图像判别器对所述边界框区域内的图像进行真实性判别。
应理解,检测单元610和生成单元620中的判别器可以共用一个图像检测器,所述图像检测器用于对所述源图像包括的第一语义目标图像进行特征提取。从而能够提高图像生成效率。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
应理解,本申请实施例中的处理器可以为中央处理单元(central processingunit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(digital signalprocessor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(fieldprogrammable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
还应理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-onlymemory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的随机存取存储器(randomaccessmemory,RAM)可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令或计算机程序。在计算机上加载或执行所述计算机指令或计算机程序时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质。半导体介质可以是固态硬盘。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,其中A,B可以是单数或者复数。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系,但也可能表示的是一种“和/或”的关系,具体可参考前后文进行理解。
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (25)
1.一种图像生成方法,其特征在于,包括:
确定源图像的第一语义目标图像,所述第一语义目标图像为所述源图像包含的至少一个语义目标图像中的至少一个;
根据所述第一语义目标图像和第一先验分布确定目标图像,所述第一先验分布为根据第一背景图像和待生成语义目标信息得到的噪声的先验分布,所述目标图像包括多种包含所述待生成语义目标信息的图像,所述待生成语义目标信息包括待生成语义目标图像的标签和待生成语义目标图像的指示信息,所述第一背景图像为所述源图像的背景图像。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一语义目标图像和第一先验分布确定目标图像,包括:
根据所述第一语义目标图像确定所述第一背景图像;
根据所述第一背景图像和所述待生成语义目标信息生成所述第一先验分布;
根据所述第一先验分布和所述第一背景图像生成所述目标图像。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第一先验分布和所述第一背景图像生成所述目标图像,包括:
根据所述第一先验分布生成所述待生成语义目标图像的噪声;
根据所述待生成语义目标图像的噪声和所述第一背景图像生成所述目标图像。
4.根据权利要求1-3项中任一项所述的方法,其特征在于,根据所述第一语义目标图像确定第一背景图像,包括:
对所述第一语义目标图像进行平滑处理;
根据所述经过平滑处理的第一语义目标图像确定所述第一背景图像。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
从所述源图像中移除所述经过平滑处理的第一语义目标图像。
6.根据权利要求1-5项中任一项所述的方法,其特征在于,所述方法还包括:
将所述目标图像作为输入图像,利用待训练的图像判别器鉴别所述目标图像的真实性;
根据所述待训练的图像判别器的输出结果以及所述输入图像,调整图像生成器的网络参数值,所述图像生成器用于生成所述目标图像;
将网络参数值调整后的图像生成器生成的目标图像作为输入图像,重复所述待训练的图像判别器的鉴别动作,直至训练过程收敛。
7.根据权利要求6所述的方法,其特征在于,所述利用待训练的图像判别器鉴别所述目标图像的真实性,包括:
所述待训练的图像判别器对所述目标图像包括的不同区域内的图像进行判别,包括:
所述待训练的图像判别器结合所述待生成语义目标信息对所述不同区域在执行损失函数计算时进行加权。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
所述待训练的图像判别器对所述目标图像进行区域划分。
9.根据权利要求6-8项中任一项所述的方法,其特征在于,所述方法还包括:
所述待训练的图像判别器对所述目标图像中包括的待生成语义目标图像进行平滑处理;
所述待训练的图像判别器对所述包括经过平滑处理的待生成语义目标图像的目标图像进行真实性判别。
10.根据权利要求1-9项中任一项所述的方法,其特征在于,所述方法还包括:
根据所述待生成语义目标信息和所述第一语义目标图像的信息完成所述目标图像的语义目标的标注。
11.根据权利要求1-10项中任一项所述的方法,其特征在于,所述方法还包括:
所述待训练的图像判别器包括图像检测器,所述图像检测器用于对所述源图像包括的第一语义目标图像进行特征提取。
12.一种图像生成装置,其特征在于,包括:
检测单元,用于确定源图像的第一语义目标图像,所述第一语义目标图像为所述源图像包含的至少一个语义目标图像中的至少一个;
生成单元,用于根据所述第一语义目标图像和第一先验分布确定目标图像,所述第一先验分布为根据第一背景图像和待生成语义目标信息得到的噪声的先验分布,所述目标图像包括多种包含所述待生成语义目标信息的图像,所述待生成语义目标信息包括待生成语义目标图像的标签和待生成语义目标图像的指示信息,所述第一背景图像为所述源图像的背景图像。
13.根据权利要求12所述的图像生成装置,其特征在于,所述生成单元具体用于:
根据所述第一语义目标图像确定所述第一背景图像;
根据所述第一背景图像和所述待生成语义目标信息生成所述第一先验分布;
根据所述第一先验分布和所述第一背景图像生成所述目标图像。
14.根据权利要求13所述的图像生成装置,其特征在于,所述生成单元还用于:
根据所述第一先验分布生成所述待生成语义目标图像的噪声;
根据所述待生成语义目标图像的噪声和所述第一背景图像生成所述目标图像。
15.根据权利要求12-14项中任一项所述的图像生成装置,其特征在于,所述生成单元还用于:
对所述第一语义目标图像进行平滑处理;
根据所述经过平滑处理的第一语义目标图像确定所述第一背景图像。
16.根据权利要求15所述的图像生成装置,其特征在于,所述生成单元还用于:
从所述源图像中移除所述经过平滑处理的第一语义目标图像。
17.根据权利要求12-16项中任一项所述的图像生成装置,其特征在于,所述图像生成装置还包括训练单元,用于:
将所述目标图像作为输入图像,利用待训练的图像判别器鉴别所述目标图像的真实性;
根据所述待训练的图像判别器的输出结果以及所述输入图像,调整图像生成器的网络参数值,所述图像生成器用于生成所述目标图像;
将网络参数值调整后的图像生成器生成的目标图像作为输入图像,重复所述待训练的图像判别器的鉴别动作,直至训练过程收敛。
18.根据权利要求17所述的图像生成装置,其特征在于,所述待训练的图像判别器对所述目标图像包括的不同区域内的图像进行判别,包括:
所述待训练的图像判别器结合所述待生成语义目标信息对所述不同区域在执行损失函数计算时进行加权。
19.根据权利要求18所述的图像生成装置,其特征在于,所述待训练的图像判别器对所述目标图像进行区域划分。
20.根据权利要求17-19项中任一项所述的图像生成装置,其特征在于,所述待训练的图像判别器对所述目标图像中包括的待生成语义目标图像进行平滑处理;
所述待训练的图像判别器对所述包括经过平滑处理的待生成语义目标图像的目标图像进行真实性判别。
21.根据权利要求12-20项中任一项所述的图像生成装置,其特征在于,所述生成单元还用于:
根据所述待生成语义目标信息和所述第一语义目标图像的信息完成所述目标图像的语义目标的标注。
22.根据权利要求12-21项中任一项所述的图像生成装置,其特征在于,所述待训练的图像判别器包括图像检测器,所述图像检测器用于对所述源图像包括的第一语义目标图像进行特征提取。
23.一种电子设备,其特征在于,包括:
处理器和存储器,其中,所述存储器用于存储程序指令,所述处理器用于调用所述程序指令来执行权利要求1至11项中任一项所述的方法。
24.一种计算机可读存储介质,其特征在于,所述计算机可读介质存储用于设备执行的程序代码,该程序代码包括用于执行如权利要求1至11项中任一项所述的方法。
25.一种芯片,其特征在于,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,以执行如权利要求1至11项中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111006421.1A CN114037640A (zh) | 2021-08-30 | 2021-08-30 | 图像生成方法及装置 |
PCT/CN2022/115028 WO2023030182A1 (zh) | 2021-08-30 | 2022-08-26 | 图像生成方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111006421.1A CN114037640A (zh) | 2021-08-30 | 2021-08-30 | 图像生成方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114037640A true CN114037640A (zh) | 2022-02-11 |
Family
ID=80140000
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111006421.1A Pending CN114037640A (zh) | 2021-08-30 | 2021-08-30 | 图像生成方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114037640A (zh) |
WO (1) | WO2023030182A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023030182A1 (zh) * | 2021-08-30 | 2023-03-09 | 华为技术有限公司 | 图像生成方法及装置 |
CN116563673A (zh) * | 2023-07-10 | 2023-08-08 | 浙江华诺康科技有限公司 | 烟雾训练数据生成方法、装置和计算机设备 |
CN117475262A (zh) * | 2023-12-26 | 2024-01-30 | 苏州镁伽科技有限公司 | 图像生成方法、装置、存储介质及电子设备 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116091873B (zh) * | 2023-04-10 | 2023-11-28 | 宁德时代新能源科技股份有限公司 | 图像生成方法、装置、电子设备及存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9129192B2 (en) * | 2013-12-16 | 2015-09-08 | Adobe Systems Incorporated | Semantic object proposal generation and validation |
CN107610126A (zh) * | 2017-08-31 | 2018-01-19 | 浙江工业大学 | 一种基于局部先验分布的交互式图像分割方法 |
CN112200889A (zh) * | 2020-10-30 | 2021-01-08 | 上海商汤智能科技有限公司 | 样本图像生成、图像处理、智能行驶控制方法及装置 |
CN114037640A (zh) * | 2021-08-30 | 2022-02-11 | 华为技术有限公司 | 图像生成方法及装置 |
-
2021
- 2021-08-30 CN CN202111006421.1A patent/CN114037640A/zh active Pending
-
2022
- 2022-08-26 WO PCT/CN2022/115028 patent/WO2023030182A1/zh unknown
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023030182A1 (zh) * | 2021-08-30 | 2023-03-09 | 华为技术有限公司 | 图像生成方法及装置 |
CN116563673A (zh) * | 2023-07-10 | 2023-08-08 | 浙江华诺康科技有限公司 | 烟雾训练数据生成方法、装置和计算机设备 |
CN116563673B (zh) * | 2023-07-10 | 2023-12-12 | 浙江华诺康科技有限公司 | 烟雾训练数据生成方法、装置和计算机设备 |
CN117475262A (zh) * | 2023-12-26 | 2024-01-30 | 苏州镁伽科技有限公司 | 图像生成方法、装置、存储介质及电子设备 |
CN117475262B (zh) * | 2023-12-26 | 2024-03-19 | 苏州镁伽科技有限公司 | 图像生成方法、装置、存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2023030182A1 (zh) | 2023-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108509978B (zh) | 基于cnn的多级特征融合的多类目标检测方法及模型 | |
CN109584248B (zh) | 基于特征融合和稠密连接网络的红外面目标实例分割方法 | |
Xie et al. | Multilevel cloud detection in remote sensing images based on deep learning | |
CN110443143B (zh) | 多分支卷积神经网络融合的遥感图像场景分类方法 | |
CN110298262B (zh) | 物体识别方法及装置 | |
CN109886066B (zh) | 基于多尺度和多层特征融合的快速目标检测方法 | |
CN111612008B (zh) | 基于卷积网络的图像分割方法 | |
CN111950453B (zh) | 一种基于选择性注意力机制的任意形状文本识别方法 | |
CN111583097A (zh) | 图像处理方法、装置、电子设备及计算机可读存储介质 | |
CN114037640A (zh) | 图像生成方法及装置 | |
CN110717851A (zh) | 图像处理方法及装置、神经网络的训练方法、存储介质 | |
CN113421269A (zh) | 一种基于双分支深度卷积神经网络的实时语义分割方法 | |
CN112560831B (zh) | 一种基于多尺度空间校正的行人属性识别方法 | |
CN111191654B (zh) | 道路数据生成方法、装置、电子设备及存储介质 | |
CN113780296A (zh) | 基于多尺度信息融合的遥感图像语义分割方法及*** | |
CN111696110B (zh) | 场景分割方法及*** | |
CN114187450A (zh) | 一种基于深度学习的遥感图像语义分割方法 | |
CN111310766A (zh) | 基于编解码和二维注意力机制的车牌识别方法 | |
Cho et al. | Semantic segmentation with low light images by modified CycleGAN-based image enhancement | |
Wang et al. | MCF3D: Multi-stage complementary fusion for multi-sensor 3D object detection | |
CN115861619A (zh) | 一种递归残差双注意力核点卷积网络的机载LiDAR城市点云语义分割方法与*** | |
CN115018039A (zh) | 一种神经网络蒸馏方法、目标检测方法以及装置 | |
CN116645592A (zh) | 一种基于图像处理的裂缝检测方法和存储介质 | |
CN116863194A (zh) | 一种足溃疡图像分类方法、***、设备及介质 | |
CN112149526A (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 |