一种基于生成对抗网络的3D图像生成方法及装置与流程

allin2023-03-14  117


一种基于生成对抗网络的3d图像生成方法及装置
技术领域
1.本发明属于人工神经网络技术领域,具体涉及一种基于生成对抗网络的3d图像生成方法及装置。


背景技术:

2.深度神经网络是深度学习的一种框架,广泛用于图像的分割、分类和检测。它是一种具有至少一个隐藏层的神经网络。深度神经网络能够为复杂非线性系统建模,多层隐藏层的深度神经网络可以为模型提供更高的抽象层,因而会提高模型的表达能力。生成式对抗网络(gan,generativeadversarialnetworks)是图像生成领域内的一种重要方法。gan由生成网络和判别网络组成。生成网络生成图像,判别网络判断图像的真伪。
3.现阶段生成图像的方法大都是基于gan,该类方法的一般步骤是:将一个潜在n维向量输入生成网络,输出生成的图像;判别网络输入一张图像,判别该图像的真伪。然而可能会因潜在的n维向量的分布与真实图像分布的差异过大导致图像生成的质量和真实程度不高。多目视觉是指从多个角度获得同一场景的图像,这种方式生成的2d图像场景完整且噪声低。而从2d图像生成3d场景的方法大都是基于单目图像的对抗生成网络,该类方法的一般步骤是:采集一张2d图像,构建3d生成网络和判别网络,利用生成网络将一潜在向量映射到3d场景,判别网络输出该场景为真实场景的置信度。这种方法生成的3d场景较单一且不够完整,场景失去了自身的很多特征。


技术实现要素:

4.为了解决现有技术中存在的上述问题,本发明提供一种基于生成对抗网络的3d图像生成方法及装置。
5.为了实现上述目的,本发明采用以下技术方案。
6.第一方面,本发明提供一种基于生成对抗网络的3d图像生成方法,包括以下步骤:
7.将从不同视角拍摄的多目视觉2d图像和一个随机变量输入到一个训练好的生成对抗网络,生成一幅2d图像;
8.将生成的2d图像输入3dinn网络得到所述2d图像对应的3d结构;
9.将所述3d结构与2d图像拼接后输入到一个训练好的3d卷积神经网络,输出r、g、b三通道预测值。
10.进一步地,所述方法还包括:将多目视觉2d图像拼接后拉伸为一个一维向量,然后与一个n维随机向量拼接,得到一个n+1维向量,将所述n+1维向量输入到生成对抗网络中。
11.进一步地,所述3d卷积神经网络包括5个基础网络、一个全连接层和一个包含3个神经元的输出层,所述基础网络为轻量级的resnet18。
12.进一步地,所述方法还包括:对已生成的2d图像进行缓存,下次进行2d图像生成时,先检查缓存中的2d图像是否有与输入的多目视觉2d图像相似的图像,若有,则从缓存中获取所述相似图像,与输入的多目视觉2d图像拼接后输入到生成对抗网络。
13.更进一步地,检查两幅图像是否相似的方法包括:将待检查的两幅图像分别表示成一个一维向量,通过计算两个向量之间的余弦距离得到两幅图像的相似度;若所述相似度大于设定的阈值,则待检查图像相似;否则不相似;计算两个向量x、y余弦距离的公式如下:
[0014][0015]
式中,cos(x,y)为x、y的余弦距离,x=(x1,x2,

,xn),y=(y1,y2,

,yn)。
[0016]
第二方面,本发明提供一种基于生成对抗网络的3d图像生成装置,包括:
[0017]
2d图像生成模块,用于将从不同视角拍摄的多目视觉2d图像和一个随机变量输入到一个训练好的生成对抗网络,生成一幅2d图像;
[0018]
3d结构生成模块,用于将生成的2d图像输入3dinn网络得到所述2d图像对应的3d结构;
[0019]
3d图像生成模块,用于将所述3d结构与2d图像拼接后输入到一个训练好的3d卷积神经网络,输出r、g、b三通道预测值。
[0020]
进一步地,所述装置还包括向量拼接模块,用于将多目视觉2d图像拼接后拉伸为一个一维向量,然后与一个n维随机向量拼接,得到一个n+1维向量,将所述n+1维向量输入到生成对抗网络中。
[0021]
进一步地,所述3d卷积神经网络包括5个基础网络、一个全连接层和一个包含3个神经元的输出层,所述基础网络为轻量级的resnet18。
[0022]
进一步地,所述装置还包括2d图像缓存模块,用于对已生成的2d图像进行缓存,下次进行2d图像生成时,先检查缓存中的2d图像是否有与输入的多目视觉2d图像相似的图像,若有,则从缓存中获取所述相似图像,与输入的多目视觉2d图像拼接后输入到生成对抗网络。
[0023]
更进一步地,检查两幅图像是否相似的方法包括:将待检查的两幅图像分别表示成一个一维向量,通过计算两个向量之间的余弦距离得到两幅图像的相似度;若所述相似度大于设定的阈值,则待检查图像相似;否则不相似;计算两个向量x、y余弦距离的公式如下:
[0024][0025]
式中,cos(x,y)为x、y的余弦距离,x=(x1,x2,

,xn),y=(y1,y2,

,yn)。
[0026]
与现有技术相比,本发明具有以下有益效果。
[0027]
本发明通过将从不同视角拍摄的多目视觉2d图像和一个随机变量输入到一个训练好的生成对抗网络,生成一幅2d图像,将生成的2d图像输入3dinn网络得到所述2d图像对应的3d结构,将所述3d结构与2d图像拼接后输入到一个训练好的3d卷积神经网络,输出r、
g、b三通道预测值,实现了3d图像的自动生成。本发明利用生成对抗网络基于从同一场景不同视角拍摄的多目视觉2d图像生成3d图像,可有效降低噪声,并能解决现有技术因基于单目视觉(同一角度拍摄)2d图像生成3d图像存在的生成的3d场景较单一且不够完整等问题。
附图说明
[0028]
图1为本发明实施例一种基于生成对抗网络的3d图像生成方法的流程图。
[0029]
图2为生成对抗网络的结构示意图。
[0030]
图3为由多目视觉2d图像生成的3d图像示意图。
[0031]
图4为本发明实施例一种基于生成对抗网络的3d图像生成装置的方框图。
具体实施方式
[0032]
为使本发明的目的、技术方案及优点更加清楚、明白,以下结合附图及具体实施方式对本发明作进一步说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0033]
图1为本发明实施例一种基于生成对抗网络的3d图像生成方法的流程图,包括以下步骤:
[0034]
步骤101,将从不同视角拍摄的多目视觉2d图像和一个随机变量输入到一个训练好的生成对抗网络,生成一幅2d图像;
[0035]
步骤102,将生成的2d图像输入3dinn网络得到所述2d图像对应的3d结构;
[0036]
步骤103,将所述3d结构与2d图像拼接后输入到一个训练好的3d卷积神经网络,输出r、g、b三通道预测值。
[0037]
本实施例中,步骤101主要用于利用生成对抗网络生成一幅2d图像。生成对抗网络gan(generativeadversarial networks)的原理来自博弈论中零和博弈思想,在深度学习领域具有非常重要的意义。gan由生成模型和判别模型两部分组成,生成模型主要是学习样本数据特征分布;判别模型可以看作是一个分类器,对其输入的数据进行判断,给出是真实数据还是生成的样本反馈。如图2所示,gan由生成网络和判别网络两部分组成,两者之间以对抗的方式进行训练。生成网络是希望学习真实样本数据的数据分布,而判别网络是用来判别是否为真实输入还是假的生成数据。以交替的方式训练它们,直到两部分网络达到一个优良的平衡状态。两者是一个互相优化的过程,通过判别网络对真实数据还是生成数据的判别反馈来对生成网络进行优化,使生成网络的生成能力不断进步。在这个过程中,生成网络生成的数据越来越接近真实样本。而要对输入到判别网络的真实数据和生成数据进行很好地区分,判别网络的性能也要有很好地提高。在这两者进行对抗学习的过程中,生成网络和判别网络逐渐达到均衡。通过这个不断优化的过程,生成网络能够生成和样本数据特征分布一致的生成数据,判别网络也不再能很好地区分它们,直到判别概率p=0.5完成训练。
[0038]
现有技术输入gan的一般是单目视觉2d图像,即从一个视角拍摄的场景的视频图像。当场景比较复杂(比如场景中的物体比较多)时,单目视觉2d图像中会出现一些物体被遮挡的现象,严重时一些物体完全不能出现在图像中,因此基于单目视觉2d图像生成的3d
图像会因遮挡而不完整。为此,本实施例将输入到gan的单目视觉2d图像替换为从不同视角拍摄的多目视觉2d图像(拼接后作为真实图像输入gan)。
[0039]
本实施例中,步骤102主要用于基于生成的2d图像获得其3d结构。本实施例利用现有的3dinn(3d interpreternetwork)网络生成三维结构。3dinn网络是一个端到端的三维解释器网络,根据给定的2d图像输出该2d图像的关键点信息和三维结构。从2d图像生成三维结构通过将三维关键点位置公式化为一组基本形状的加权和,再通过旋转映射和平移映射来建模。例如,对于一把椅子来说,基本形状是指椅子骨架表示的简化:一是椅子的平均形状,二是控制背部如何弯曲,三是椅子的腿。每个基本形状的权重决定了变形的强度,将这些权重表示为对象的内部参数。为了恢复2d图像到三维结构信息,训练时除了学习这些内部参数以及旋转映射、平移映射的参数外,为了有监督地训练,还要学习三维结构到2d关键点的映射变换参数。本实施例采用端到端的3dinn网络生成3d结构,可减小生成3d场景的复杂度。
[0040]
本实施例中,步骤103主要用于生成场景的3d图像。本实施例通过将步骤102获得的3d结构与步骤101获得的2d图像拼接后输入到一个训练好的3d卷积神经网络,输出r、g、b三通道预测值,从而得到场景的3d图像。对所述3d卷积神经网络训练时,通过最小化当前实际输出值和训练集中标签值之间的均方根误差来优化模型。本实施例利用2d图像中物体的颜色和纹理特征、3d结构中物体的空间结构信息和位置信息,可生成真实的3d场景。
[0041]
本实施例通过将输入到gan的单目视觉2d图像替换为从不同视角拍摄的多目视觉2d图像,解决了现有技术存在的生成的3d场景较单一且不够完整等问题。如图3所示,上面一行的3幅2d图像就是从三个不同角度拍摄的,其中每幅图都不完整,比如,最左边的一幅图像中就没有出现鼠标和水杯;下面的一幅图像是最后生成的3d图像,很显然,所述3d图像中包含了场景中的所有物体。
[0042]
作为一可选实施例,所述方法还包括:将多目视觉2d图像拼接后拉伸为一个一维向量,然后与一个n维随机向量拼接,得到一个n+1维向量,将所述n+1维向量输入到生成对抗网络中。
[0043]
本实施例给出了一种将2d图像一维化的一种技术方案。本实施例中,在将真实图像输入生成对抗网络前,先将从不同角度拍摄的多目视觉2d图像(最少2幅)拼接在一起;然后再将2d图像拉伸为一个一维向量,并与一个n维随机向量拼接,得到一个n+1维向量;最后将得到的n+1维向量输入到生成对抗网络。
[0044]
作为一可选实施例,所述3d卷积神经网络包括5个基础网络、一个全连接层和一个包含3个神经元的输出层,所述基础网络为轻量级的resnet18。
[0045]
本实施例给出了3d卷积神经网络的一种技术方案。本实施例的3d卷积神经网络包括5个基础网络、一个全连接层和一个包含3个神经元的输出层。所述基础网络用于提取图像的特征,通过5次基础网络提取其高级特征。基础网络连接一个全连接层和一个输出辅助节点,在训练过程中,可使输出的特征值更好地逼近真实的特征值。为了简化模型、减小计算量从而提高运行速度,本实施例的5个基础网络均采用轻量级的resnet18。网络轻量化一般通过模型压缩原理实现,解决网络参数占用内存大的问题,从而提升网络计算速度。resnet18是目前比较常见的轻量级神经网络模型,使用了2个3
×
3的卷积操作的基本单元,输入图像经过一个步长为2的卷积层后,再经过bn层和relu层,最后经最大池化层输出。再
经过resnet18的4个卷积块,其中每个卷积块中有4个卷积层,一共有16个卷积层。最后经过平均池化层、全连接层和softmax输出最终的结果。
[0046]
作为一可选实施例,所述方法还包括:对已生成的2d图像进行缓存,下次进行2d图像生成时,先检查缓存中的2d图像是否有与输入的多目视觉2d图像相似的图像,若有,则从缓存中获取所述相似图像,与输入的多目视觉2d图像拼接后输入到生成对抗网络。
[0047]
本实施例给出了减小计算量提高运行速度的一种技术方案。本实施例通过对已生成的2d图像进行缓存,利用缓存的图像来减小计算量。具体地,先对已生成的2d图像进行缓存,在生成新的2d图像前,读取缓存中的2d图像,如果缓存中存在与多目视觉2d图像相似的图像,则将缓存中的相似图像与多目视觉2d图像拼接,然后输入到生成对抗网络;如果没有相似图像,则将多目视觉2d图像放入缓存。
[0048]
作为一可选实施例,检查两幅图像是否相似的方法包括:将待检查的两幅图像分别表示成一个一维向量,通过计算两个向量之间的余弦距离得到两幅图像的相似度;若所述相似度大于设定的阈值,则待检查图像相似;否则不相似;计算两个向量x、y余弦距离的公式如下:
[0049][0050]
式中,cos(x,y)为x、y的余弦距离,x=(x1,x2,

,xn),y=(y1,y2,

,yn)。
[0051]
本实施例给出了检查两幅图像是否相似的一种技术方案。本实施例先将两幅图像分别表示成一个一维向量;然后计算两个一维向量的余弦距离(计算公式如上式),也就是将所述余弦距离作为两个向量的相似度;再与设定的阈值进行比较,如果所述相似度大于设定的阈值,则认为所述两幅图像相似;否则不相似。所述阈值可根据经验进行设定,比如可将阈值设为0.9。
[0052]
图4为本发明实施例一种基于生成对抗网络的3d图像生成装置的组成示意图,所述装置包括:
[0053]
2d图像生成模块11,用于将从不同视角拍摄的多目视觉2d图像和一个随机变量输入到一个训练好的生成对抗网络,生成一幅2d图像;
[0054]
3d结构生成模块12,用于将生成的2d图像输入3dinn网络得到所述2d图像对应的3d结构;
[0055]
3d图像生成模块13,用于将所述3d结构与2d图像拼接后输入到一个训练好的3d卷积神经网络,输出r、g、b三通道预测值。
[0056]
本实施例的装置,可以用于执行图1所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。后面的实施例也是如此,均不再展开说明。
[0057]
作为一可选实施例,所述装置还包括向量拼接模块,用于将多目视觉2d图像拼接后拉伸为一个一维向量,然后与一个n维随机向量拼接,得到一个n+1维向量,将所述n+1维向量输入到生成对抗网络中。
[0058]
作为一可选实施例,所述3d卷积神经网络包括5个基础网络、一个全连接层和一个
包含3个神经元的输出层,所述基础网络为轻量级的resnet18。
[0059]
进一步地,所述装置还包括2d图像缓存模块,用于对已生成的2d图像进行缓存,下次进行2d图像生成时,先检查缓存中的2d图像是否有与输入的多目视觉2d图像相似的图像,若有,则从缓存中获取所述相似图像,与输入的多目视觉2d图像拼接后输入到生成对抗网络。
[0060]
作为一可选实施例,检查两幅图像是否相似的方法包括:将待检查的两幅图像分别表示成一个一维向量,通过计算两个向量之间的余弦距离得到两幅图像的相似度;若所述相似度大于设定的阈值,则待检查图像相似;否则不相似;计算两个向量x、y余弦距离的公式如下:
[0061][0062]
式中,cos(x,y)为x、y的余弦距离,x=(x1,x2,

,xn),y=(y1,y2,

,yn)。
[0063]
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

技术特征:
1.一种基于生成对抗网络的3d图像生成方法,其特征在于,包括以下步骤:将从不同视角拍摄的多目视觉2d图像和一个随机变量输入到一个训练好的生成对抗网络,生成一幅2d图像;将生成的2d图像输入3dinn网络得到所述2d图像对应的3d结构;将所述3d结构与2d图像拼接后输入到一个训练好的3d卷积神经网络,输出r、g、b三通道预测值。2.根据权利要求1所述的基于生成对抗网络的3d图像生成方法,其特征在于,所述方法还包括:将多目视觉2d图像拼接后拉伸为一个一维向量,然后与一个n维随机向量拼接,得到一个n+1维向量,将所述n+1维向量输入到生成对抗网络中。3.根据权利要求1所述的基于生成对抗网络的3d图像生成方法,其特征在于,所述3d卷积神经网络包括5个基础网络、一个全连接层和一个包含3个神经元的输出层,所述基础网络为轻量级的resnet18。4.根据权利要求1所述的基于生成对抗网络的3d图像生成方法,其特征在于,所述方法还包括:对已生成的2d图像进行缓存,下次进行2d图像生成时,先检查缓存中的2d图像是否有与输入的多目视觉2d图像相似的图像,若有,则从缓存中获取所述相似图像,与输入的多目视觉2d图像拼接后输入到生成对抗网络。5.根据权利要求4所述的基于生成对抗网络的3d图像生成方法,其特征在于,检查两幅图像是否相似的方法包括:将待检查的两幅图像分别表示成一个一维向量,通过计算两个向量之间的余弦距离得到两幅图像的相似度;若所述相似度大于设定的阈值,则待检查图像相似;否则不相似;计算两个向量x、y余弦距离的公式如下:式中,cos(x,y)为x、y的余弦距离,x=(x1,x2,

,x
n
),y=(y1,y2,

,y
n
)。6.一种基于生成对抗网络的3d图像生成装置,其特征在于,包括:2d图像生成模块,用于将从不同视角拍摄的多目视觉2d图像和一个随机变量输入到一个训练好的生成对抗网络,生成一幅2d图像;3d结构生成模块,用于将生成的2d图像输入3dinn网络得到所述2d图像对应的3d结构;3d图像生成模块,用于将所述3d结构与2d图像拼接后输入到一个训练好的3d卷积神经网络,输出r、g、b三通道预测值。7.根据权利要求6所述的基于生成对抗网络的3d图像生成装置,其特征在于,所述装置还包括向量拼接模块,用于将多目视觉2d图像拼接后拉伸为一个一维向量,然后与一个n维随机向量拼接,得到一个n+1维向量,将所述n+1维向量输入到生成对抗网络中。8.根据权利要求6所述的基于生成对抗网络的3d图像生成装置,其特征在于,所述3d卷积神经网络包括5个基础网络、一个全连接层和一个包含3个神经元的输出层,所述基础网络为轻量级的resnet18。9.根据权利要求6所述的基于生成对抗网络的3d图像生成装置,其特征在于,所述装置
还包括2d图像缓存模块,用于对已生成的2d图像进行缓存,下次进行2d图像生成时,先检查缓存中的2d图像是否有与输入的多目视觉2d图像相似的图像,若有,则从缓存中获取所述相似图像,与输入的多目视觉2d图像拼接后输入到生成对抗网络。10.根据权利要求9所述的基于生成对抗网络的3d图像生成装置,其特征在于,检查两幅图像是否相似的方法包括:将待检查的两幅图像分别表示成一个一维向量,通过计算两个向量之间的余弦距离得到两幅图像的相似度;若所述相似度大于设定的阈值,则待检查图像相似;否则,不相似;计算两个向量x、y余弦距离的公式如下:式中,cos(x,y)为x、y的余弦距离,x=(x1,x2,

,x
n
),y=(y1,y2,

,y
n
)。

技术总结
本发明提供一种基于生成对抗网络的3D图像生成方法及装置。所述方法包括:将从不同视角拍摄的多目视觉2D图像和一个随机变量输入到一个训练好的生成对抗网络,生成一幅2D图像;将生成的2D图像输入3DINN网络得到所述2D图像对应的3D结构;将所述3D结构与2D图像拼接后输入到一个训练好的3D卷积神经网络,输出R、G、B三通道预测值。本发明利用生成对抗网络基于从同一场景不同视角拍摄的多目视觉2D图像生成3D图像,可有效降低噪声,并能解决现有技术因基于单目视觉2D图像生成3D图像存在的生成的3D场景较单一且不够完整等问题。成的3D场景较单一且不够完整等问题。成的3D场景较单一且不够完整等问题。


技术研发人员:马雅红 刘锋 周振 俞益洲 李一鸣 乔昕
受保护的技术使用者:杭州深睿博联科技有限公司
技术研发日:2022.02.17
技术公布日:2022/7/5
转载请注明原文地址: https://www.8miu.com/read-6039.html

最新回复(0)