自然场景图片生成方法与流程

文档序号:15689928发布日期:2018-10-16 21:52阅读:598来源:国知局

本发明涉及图像处理技术领域,具体地,涉及自然场景图片生成方法。



背景技术:

自动生成自然场景图片是计算机视觉技术中一个非常重要的环节,而自然场景图片生成的主要难点在于如何很好地组织各视觉元素的空间布局。例如山、河、路、海等视觉元素之间在空间上的布局。视觉元素之间的空间关系通常是指在图像平面上的邻近信息和在景深方向上的顺序信息。例如在自然场景图片中,海和天空经常在图像中彼此邻近,河流通常更靠近观察者而山脉的景深位置则相河流对更远。因此,如何更好的编码各视觉元素在空间中的位置是生成逼真自然场景的关键。

目前,虽然基于马尔可夫随机场的方法能够对二维空间内各元素的构图进行建模,但是现有的方法中仍然缺少在景深方向上对个视觉元素间高阶依赖关系建模的系统性方法。但是,在景深方向上各视觉元素的高阶依赖关系对于整张图片的合理性是十分重要的。这是因为,物体间的关系不仅仅体现在与其相邻的两层,即某一图层中的元素不仅仅依赖于和它相邻的两图层中的元素,还与这张图像整体的景深结构有关。例如,沙漠在场景远处,一些高大的树在画面中间而河流是距离观察者最近的元素,在这样的场景中如果只考虑相邻的元素,比如河流和树木,图像的构图是合理的。但是,当考虑到在远处出现的沙漠时,就会使得生成的自然场景图片存在逻辑错误。



技术实现要素:

针对现有技术中的缺陷,本发明的目的是提供一种自然场景图片生成方法。

根据本发明提供的一种自然场景图片生成方法,包括:

根据图片中不同视觉元素或者不同图层之间的依赖关系,基于hawkes过程建立自然场景生成模型;其中,所述自然场景生成模型包括:异步层生成网络和对抗生成网络;所述异步层生成网络用于生成标签序列;所述对抗生成网络用于根据所述标签序列生成对应的图层,并将生成的图层进行叠加处理后得到合成的自然场景图片;

通过所述自然场景生成模型生成合成的自然场景图片。

可选地,在通过所述自然场景生成模型生成合成的自然场景图片之前,还包括:

获取自然场景图片训练集,所述自然场景图片训练集中的自然场景图片是指经过人工标注视觉元素且按照景深方向进行图片分层处理后的图片,自然场景图片训练集中的每张自然场景图片对应一个标签序列,所述标签序列是指按照景深方向排序的图层的类别信息和景深信息景深;

将所述标签序列中的图层,以及该图层对应的类别信息和景深信息作为自然场景生成模型的输入,以使所述自然场景生成模型中建立不同视觉元素、不同图层之间的依赖关系,并得到目标图层序列;

根据所述目标图层序列合成自然场景图片。

可选地,在根据所述目标图层序列合成自然场景图片之后,还包括:

在所述自然场景生成模型的训练过程中,通过对抗生成网络中的判别器对自然场景生成模型合成的自然场景图片进行判别,若判别器判断所述合成自然场景图片不是真实图片,则对所述自然场景生成模型进行调整后继续训练;

若判别器判断所述合成自然场景图片为真实图片,则训练结束,得到训练完成的自然场景生成模型。

可选地,所述根据图片中不同视觉元素或者不同图层之间的依赖关系,基于hawkes过程建立自然场景生成模型,包括:

假设图片包含u类分层,ti∈[0,1]表示第i层的景深,ti=0表示在图片中距离最远的位置,ti=1表示在图片中距离最近的位置,ui表示第i层的标签,i∈1,2,…,n;n是一张图片中层的总数;则基于hawkes过程的图层间的依赖关系函数如下:

式中:λu(t)表示强度函数,t表示景深,u表示第u类分层,其中u∈1,2,…,u,μu表示第u类的基础强度,auui表示第u类分层对第ui类分层的影响强度,ui表示位于ti位置处的图层类别,auui越大则第ui类图层在第u类图层之后出现的概率越大,g(t-ti)表示衰减因子;

通过计算某一景深位置上不同视觉元素对应的图层的强度函数λu(t)来确定所述景深位置上的图层类别;其中,强度函数λu(t)表征了在所述景深位置上不同图层出现的概率。

可选地,通过所述自然场景生成模型生成合成的自然场景图片,包括:

通过递归神经网络得到图层之间的潜在相关性;

根据所述潜在相关性,得到所述目标图层序列中每个图层的类别和景深信息;

基于所述目标图层序列的图层的类别信息和景深信息,合成的自然场景图片。

与现有技术相比,本发明具有如下的有益效果:

本发明中提供的自然场景图片生成方法,首先根据图片中不同视觉元素或者不同图层之间的依赖关系,基于hawkes过程建立自然场景生成模型;再通过所述自然场景生成模型生成合成的自然场景图片。在整个图片合成过程中,充分考虑了图片中视觉元素的景深上的结构,使得生成的自然场景图片更加真实清晰。

附图说明

通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:

图1为本发明中提供的自然场景图片生成方法的原理示意图;

图2为本发明一实施例提供的自然场景生成模型的原理示意图;

图3为人工标注和分层后的图片示意图;

图4为不同层间影响示意图;

图5为应用本发明中的自然场景生成模型生成的合成图片的示意图;

图6为应用本发明中的自然场景生成模型生成的相似场景的合成图片的示意图;

图7为包含不同网络的自然场景生成模型所生成的合成图片的示意图。

具体实施方式

下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。

大部分的图像生成方法仅利用训练数据的平面二维信息,而在景深方向上不同层之间的关系并没有被考虑,尤其是具有空间分层结构的自然风景图像。本发明就是要解决这个问题,利用图像上的景深信息来生成具有分层结构的风景图像。

图1为本发明中提供的自然场景图片生成方法的原理示意图,如图1所示,首先将输入图片按照不同景深上的元素分解成不同的图层,以得到类似事件的视觉元素序列。然后对层与层之间的依赖性关系建立自然场景生成模型,通过训练好的自然场景生成模型生成新的图层序列。

图2为本发明一实施例提供的自然场景生成模型的原理示意图,如图2所示,自然场景生成模型包括层内生成模块和层间生成模块,层内生成模块以图像的景深结构信息作为条件来进一步生成每一景深层的图像内容。虽然基于马尔科夫随机场的方法也能对层与层之间的关系进行建模,但是场景图片内的景深结构非常复杂,仅描述相邻两层之间的关系是远远不够的。而与之相反,基于hawkes过程的方法能够对高阶的景深结构以及更复杂的每层之间的关系进行很好的建模,即使是相距较远的两层。

层间生成模块是指:在景深方向生,一张自然场景图片可以分解成不同类别的层,例如大海,天空,山脉等。所有的这些层,层层堆叠形成整张图片,并且不同层的空间位置上存在强烈的结构化优先级。例如,假设观察者在图片当中观察到大海,那么图片中有更大的可能性存在岛屿和一些岩石而不是森林或者草地,而且通常在距离观察者较近的位置还会有沙滩。换句话说,在层与层之间存在相互的影响。例如,较远层中物体的出现会增加较近的层中某些物体的出现。本发明的目的就是要清晰地对层与层之间的关系进行建模,并且其中的某些交互层在景深方向上彼此相距较远。本发明利用了hawkes过程,hawkes过程最先提出是对具有时间连续性的事件之间的关系进行建模,在一个hawkes过程中,每一个事件的发生都会激励这一过程,使得一段时间之中后续事件发生的概率增加。原始hawkes过程中的事件序列和图片中景深层序列具有潜在的相似性。这里的景深层序列是指按照图像中的景深信息排序好的图像层,每个图像层对应着每一层的标签,例如天空、大海、草地。利用ti∈[0,1]代表序列中第i层的景深,ti=0表示在图像平面中距离最远的位置,ti=1表示距离最近的位置。ui∈1,2,…,u表示这一层预先定义的标签(例如用1来代表“岩石”),这里u是层的类别总数。进而对于每一张图片,一个基于景深的层序列可以表示为n是一张图片中层的总数。

假设图片包含u类分层,ti∈[0,1]表示第i层的景深,ti=0表示在图片中距离最远的位置,ti=1表示在图片中距离最近的位置,ui表示第i层的标签,i∈1,2,…,n;n是一张图片中层的总数;则基于hawkes过程的图层间的依赖关系函数如下:

式中:λu(t)表示强度函数,t表示景深,u表示第u类分层,其中u∈1,2,…,u,μu表示第u类的基础强度,auui表示第u类分层对第ui类分层的影响强度,ui表示位于ti位置处的图层类别,auui越大则第ui类图层在第u类图层之后出现的概率越大,g(t-ti)表示衰减因子。

通过计算某一景深位置上不同视觉元素对应的图层的强度函数λu(t)来确定所述景深位置上的图层类别;其中,强度函数λu(t)表征了在所述景深位置上不同图层出现的概率。具体地,可以随机从概率最大的前三个类别具选择一个类别作为出现在景深ti上的图层类别,并且这一结果将会影响其后采样的层。这一过程将会持续进行直到景深ti=1。

考虑从已经习得的hawkes过程采样得到的层序列,利用合适的空间分布来生成图片仍是比较困难的。一种直接的方式是分别生成每一层然后将它们组合得到整张图片。然而,如果生成器对之前的层没有接触,不同层之间的影响就会丢失。为了解决这一问题,本发明中利用递归神经网络例如(longshort-termmemory,lstm)来对层之间的潜在相关性进行建模。lstm结构保证了将要生成的层中包含了之前生成的所有层的信息。这意味着生成器在景深方向上具有已经生成的层的类别和景深信息。通过这种方式,层与层之间的相关性能够很好地从层序列映射到生成过程。

进一步地,在本发明中对抗生成网络中的生成器同时生成图片层及其对应的模板层,其中模板层的作用是用于对图片层的边缘进一步地锐化。图片层展现了根据图层序列生成得到的图层的外观信息,而模板层的值在0.0到1.0之间,在像素级别上控制着在同一个时间步上图片层的透明程度从而将物体的外形进一步明确。这两个层生成了中间层,而这一中间层不仅是整个图片的一部分,而且还被用来训练后续依赖于层的生成器。

额外的,可以设置多个判别器,每个判别器对应一个独立的生成器,且所有生成器最后连接一个最终的判别器。从而形成多个独立的子对抗生成网络。获取自然场景图片训练集,所述自然场景图片训练集中的自然场景图片是指经过人工标注视觉元素且按照景深方向进行图片分层处理后的图片,自然场景图片训练集中的每张自然场景图片对应一个初始图层序列;其中,所述初始图层序列按照景深方向进行图层排序;将所述初始图层序列作为子对抗生成网络的输入,并得到目标图层序列;根据所述目标图层序列合成自然场景图片。然后利用对抗生成网络中的判别器对自然场景生成模型合成的自然场景图片进行判别,若判别器判断所述合成自然场景图片不是真实图片,则对所述自然场景生成模型进行调整后继续训练;若判别器判断所述合成自然场景图片为真实图片,则训练结束,得到训练完成的对抗生成网络。在训练过程中还可以通过设置价值函数和损失函数对子对抗生成网络进行训练,以提高合成图片的质量。

具体地,假设有生成器g1,g2,…,gn;n表示生成器的数量,图片c1,c2,…,cn;模板m1,m2,…,mn;中间层f1,f2,…,fn的生成过程如下

式中:fi表示第i个中间层,ci表示第i个图片,mi表示第i个模板。

hawkes过程是通过最大化似然函数来学习。具体地,本发明中自然场景生成模型的输入是包含某张特定图片景深和标签信息的层序列。这一序列进一步转化成为n个128维的向量,每个向量包含特定层的信息,n是图片的层数。在rmsprop最优器下训练整个层级对抗生成网络的学习率是0.0002,而子对抗生成网络的学习率是0.0001。训练子对抗生成网络与训练整体对抗生成网络的次数比为7:1,并且训练过程的迭代次数大约是8000。

为了方便起见,首先利用训练数据来学习点过程,并且基于强度函数从点过程中采样来得到测试的层序列。采样过程如下:对于第一层,设置标签u1为“天空”这一自然场景中很普遍的背景,并且景深t1=0,生成过程中一个小的数值被加到t1上来避免0输入。然后,为了彻底的测试模型的能力,随机选择两个景深值来生成新的层。之后根据得到的强度函数,计算所有类别在景深t2上的概率并且从概率最大的前三类中选择一类进行生成,同样的步骤在t3上进行。虽然仅生成了3个层,本发明很容易推广到任意层,对于推广到任意层的情况,其实现过程与生成3层的过程类似,本发明不再赘述。

下面结合具体实施例对本发明中的技术方案做更加详细的说明。

实施例1:由于目前没有包含景深信息的自然场景图片数据库,本发明中从sun2012中挑选了一部分图片进行了分割和标注,将这些图片根据图片提供的标签分成了不同的层。在训练集中大约有800张标注的自然场景图片用于训练,这些图片共有13个不同的标签。本发明中将所有的图片分割成了两到三层并且将这些图片调整大小到64x64的大小。一些训练数据如图3所示。图3为人工标注和分层后的图片示意图。

图4展示的是不同层间关系示意图,根据颜色编码可以直观的观察到不同类的层之间影响的强度。可以观察到两个方面的特点,一方面这一强度矩阵是非对称的,这表明自然场景图片在景深方向上不同类别的元素在序列上具有明显的限制。另一方面,这一结果表明矩阵与人类认知的一致性,例如岛屿经常与大海一同出现,而森林可以看作是不同的场景。因此这些类别的交叉区域是需要强调的。

这些结果证明了自然场景图片中的景深空间分布在图片生成中是一个重要因素,并且可以通过hawkes过程很好的建模。

图5为应用本发明中的自然场景生成模型生成的合成图片的示意图。这些图片主要有三个特点:一是特定的目标在每一层被清楚的生成,并且具有清晰的边界。二是在生成过程中不同层之间的关系被很好的维持。例如,包含山脉的层总是出现在草地和河流的前面。三是即使在层与层之间的分界线很清晰,整张图片依然很逼真。图6为应用本发明中的自然场景生成模型生成的相似场景的合成图片的示意图,进一步说明了本发明生成的图片并不是对训练数据的简单复制。生成的层也表明了多样性,这不仅是由景深和标签所影响,而且也收到之前生成的空间分布所影响。换句话说,即使有相似的层和相同的标签,如果处于当前层之前的层发生改变同样会导致生成层的巨大改变。训练集和本发明中生成图片之间的不同也进一步表明了本发明的有效性。

对本发明中模型的成分分析如下,如果从模型中移除lstm并且改变生成特定层的输入,将输入向量改变为一个白噪声向量。而这些白噪声向量采样于正常的分布,均值和标准差被标签μ和标签μ与景深t的乘积取代。可以观察到不同层之间不存在相关性,并且模型不能生成逼真的图片这证明了分级的生成器在维持不同层之间的关系上具有很重要的作用。

景深卷积生成对抗网络(deepconvolutionalgenerativeadversarialnetwork,dcgan)是对抗生成网络(generativeadversarialnetwork,gan)的基本结构,并且在众多工作中被应用作为基础模型,本发明与景深生成对抗网(deepgenerativeadversarialnetwork,dgan)进行了对比。同时也与组成对抗生成网络(compositegenerativeadversarialnetwork,cgan)进行了对比,结果被标注为cgan1。对于dcgan和gan而言,模型的输入是没有任何额外信息仅在噪声分布下采样的噪音。同时本发明也进一步利用本发明中模型的输入来训练和测试cgan模型,结果被标注为cgan2以评价本发明中模型的效果提升。

图7为包含不同网络的自然场景生成模型所生成的合成图片的示意图,从图7中可以看出由dcgan生成的样本有严重的模糊现象。这些生成结果的质量不仅在整个图片的层面上较差,而且在单一图层的层面上也差。这是因为之前的方法总是一步生成整张图片而不考虑不同层之间的关系。因此,dcgan很难生成包含复杂空间分布的自然场景图片。虽然这样的结构和本发明中模型的结构很相似,同样是结合了多个生成器来逐个部分地生成整张图片,并没有额外的信息提供给每个生成器来聚焦到特定成分。因此,cgan不能直接用于具有复杂层级结构的图片。cgan2模型得到的结果也和cgan1模型的结果有同样的问题。与上述的方法相比,本发明中的景深结构保持型对抗生成网络(depthstructurepreservinggenerativeadversarialnetwork,dsp-gan)能够生成高质量的自然场景图片。

以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。

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