发明内容
本发明的目的在于提供一种基于二维图像检索对应三维模型的方法,来克服或至少减轻现有技术的至少一个上述缺陷。
本发明的一个方面,提供一种基于二维图像检索对应三维模型的方法,所述基于二维图像检索对应三维模型的方法包括:
获取待检索二维图像;
根据所述待检索二维图像获取待检索二维图像特征;
获取数据库,所述数据库内包括多个二维图片以及多个三维模型;
根据每个所述二维图片获取每个二维图片的特征;
根据每个所述三维模型获取每个三维模型的特征;
根据所述二维图片的特征以及三维模型的特征,建立关系图,所述关系图包括多个节点,每个节点表示一个二维图片或三维模型,每个节点具有对应的二维图片特征或者三维模型特征;
根据所述关系图,通过多头注意力方法构造多个全连接图,每个全连接图包括多个节点,每个节点表示一个二维图片或三维模型,每个节点具有对应的二维图片特征或者三维模型特征;
根据全连接图生成嵌入图,其中,一个全连接图用于生成一个嵌入图;
将多个所述嵌入图进行融合,从而生成唯一嵌入图;
对所述待检索二维图像特征与所述唯一嵌入图中的每个表示三维模型的节点进行相似度比较,获取相似度最高的节点,输出所述相似度最高的节点所对应的三维模型。
可选地,所述数据库内的各个二维图片包括训练用二维图片以及测试用二维图片,其中,所述训练用二维图片包括训练用二维图片类别信息;
所述数据库内的各个三维模型包括训练用三维模型以及测试用三维模型,其中,所述训练用三维模型包括训练用三维模型类别信息。
可选地,所述根据每个所述三维模型获取每个三维模型的特征包括:
对于每个所述三维模型进行如下操作:
对所述三维模型进行归一化处理;
提取进行归一化处理的三维模型的二维视图组,其中,所述二维视图组包括多个二维视图,各个二维视图中图形角度不同;
分别提取二维视图组中的各个二维视图的特征,各个二维视图的特征融合成相对应的三维模型的特征。
可选地,所述根据所述二维图片的特征以及三维模型的特征,建立关系图,所述关系图包括多个节点,每个节点表示一个二维图片或三维模型包括:
将各个二维图片以及各个三维模型作为节点设置;
根据所述二维图片的特征以及三维模型的特征,对各个节点以预设条件进行链接以生成关系图。
可选地,所述预设条件为:
获取每个二维图片的特征与其他二维图片的特征的相似度,若相似度大于第一阈值,则链接相似度大于第一阈值的两个二维图片所对应的节点;
获取每个训练用二维图片的特征与各个三维模型的特征的相似度,若相似度大于第二阈值,则链接相似度大于第二阈值对应的训练用二维图片所对应的节点以及对应的三维模型所对应的节点;
获取每个三维模型的特征与其他三维模型的特征的相似度,若相似度大于第三阈值,则链接相似度大于第三阈值所对应的两个三维模型所对应的节点。
可选地,根据所述关系图以及各个二维图片的特征、三维模型的特征,通过多头注意力方法构造多个全连接图包括:
根据关系图获取关系图矩阵;
根据关系图矩阵生成邻接矩阵;
构建多组初始化传输矩阵;
根据各个二维图片的特征、三维模型的特征、所述关系图矩阵、邻接矩阵以及各个所述初始化传输矩阵通过多头注意力方法构造多个全连接图,其中,一组初始化传输矩阵对应一个全连接图。
本申请还提供了一种基于二维图像检索对应三维模型的装置,所述基于二维图像检索对应三维模型的装置包括:
待检索二维图像获取模块,所述待检索二维图像获取模块用于获取待检索二维图像;
待检索二维图像特征提取模块,所述待检索二维图像特征提取模块用于根据所述待检索二维图像获取待检索二维图像特征;
数据库获取模块,所述数据库获取模块用于获取数据库,所述数据库内包括多个二维图片以及多个三维模型;
二维图片特征获取模块,所述二维图片特征获取模块用于根据每个所述二维图片获取每个二维图片的特征;
三维模型特征获取模块,所述三维模型特征获取模块用于根据每个所述三维模型获取每个三维模型的特征;
关系图建立模块,所述关系图建立模块用于根据所述二维图片的特征以及三维模型的特征,建立关系图,所述关系图包括多个节点,每个节点表示一个二维图片或三维模型,每个节点具有对应的二维图片特征或者三维模型特征;
全连接图构造模块,所述全连接图构造模块用于根据所述关系图,通过多头注意力方法构造多个全连接图,每个全连接图包括多个节点,每个节点表示一个二维图片或三维模型,每个节点具有对应的二维图片特征或者三维模型特征;
嵌入图生成模块,所述嵌入图生成模块用于根据全连接图生成嵌入图,其中,一个全连接图用于生成一个嵌入图;
唯一嵌入图生成模块,所述唯一嵌入图生成模块用于将多个所述嵌入图进行融合,从而生成唯一嵌入图;
检索模块,所述检索模块用于对所述待检索二维图像特征与所述唯一嵌入图中的每个表示三维模型的节点进行相似度比较,获取相似度最高的节点,输出所述相似度最高的节点所对应的三维模型。
可选地,所述数据库内的各个二维图片包括训练用二维图片以及测试用二维图片,其中,所述训练用二维图片包括训练用二维图片类别信息;
所述数据库内的各个三维模型包括训练用三维模型以及测试用三维模型,其中,所述训练用三维模型包括训练用三维模型类别信息。
本申请还提供了一种电子设备,包括存储器、处理器以及存储在所述存储器中并能够在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的基于二维图像检索对应三维模型的方法。
本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时能够实现如上所述的基于二维图像检索对应三维模型的方法。
有益效果
1、本申请针对基于2D图像的3D模型检索问题,提出了一种多分支图卷积网络(M-GCN)。它可以在特征学习的步骤中充分考虑2D图像和3D模型之间的相关性,弥合两种不同信息检索方式之间的差距。
2、本申请利用训练数据的类别信息和测试数据的视觉相似性来定义图的边,提供2D图像和3D模型之间的原始关系,弥合2D图像和3D模型之间的差距。
具体实施方式
为使本申请实施的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行更加详细的描述。在附图中,自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。所描述的实施例是本申请一部分实施例,而不是全部的实施例。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。下面结合附图对本申请的实施例进行详细说明。
在本申请的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请保护范围的限制。
图1为本申请第一实施例的基于二维图像检索对应三维模型的方法的流程示意图。
如图1所示的基于二维图像检索对应三维模型的方法包括:
步骤1:获取待检索二维图像;
步骤2:根据所述待检索二维图像获取待检索二维图像特征;
步骤3:获取数据库,数据库内包括多个二维图片以及多个三维模型;
步骤4:根据每个二维图片获取每个二维图片的特征;
步骤5:根据每个三维模型获取每个三维模型的特征;
步骤6:根据二维图片的特征以及三维模型的特征,建立关系图,关系图包括多个节点,每个节点表示一个二维图片或三维模型,每个节点具有对应的二维图片特征或者三维模型特征;
步骤7:根据关系图,通过多头注意力方法构造多个全连接图,每个全连接图包括多个节点,每个节点表示一个二维图片或三维模型,每个节点具有对应的二维图片特征或者三维模型特征;
步骤8:根据全连接图生成嵌入图,其中,一个全连接图用于生成一个嵌入图;
步骤9:将多个嵌入图进行融合,从而生成唯一嵌入图;
步骤10:对待检索二维图像特征与唯一嵌入图中的每个表示三维模型的节点进行相似度比较,获取相似度最高的节点,输出相似度最高的节点所对应的三维模型。
有益效果
1、本申请针对基于2D图像的3D模型检索问题,提出了一种多分支图卷积网络(M-GCN)。它可以在特征学习的步骤中充分考虑2D图像和3D模型之间的相关性,弥合两种不同信息检索方式之间的差距。
2、本申请利用训练数据的类别信息和测试数据的视觉相似性来定义图的边,提供2D图像和3D模型之间的原始关系,弥合2D图像和3D模型之间的差距。
在本实施例中,数据库内的各个二维图片包括训练用二维图片以及测试用二维图片,其中,训练用二维图片包括训练用二维图片类别信息;
数据库内的各个三维模型包括训练用三维模型以及测试用三维模型,其中,训练用三维模型包括训练用三维模型类别信息。
在本实施例中,根据每个所述三维模型获取每个三维模型的特征包括:
对于每个所述三维模型进行如下操作:
对三维模型进行归一化处理;
提取进行归一化处理的三维模型的二维视图组,其中,二维视图组包括多个二维视图,各个二维视图中图形角度不同;
分别提取二维视图组中的各个二维视图的特征,各个二维视图的特征融合成相对应的三维模型的特征。
在本实施例中,根据所述二维图片的特征以及三维模型的特征,建立关系图,关系图包括多个节点,每个节点表示一个二维图片或三维模型包括:
将各个二维图片以及各个三维模型作为节点设置;
根据二维图片的特征以及三维模型的特征,对各个节点以预设条件进行链接以生成关系图。
在本实施例中,预设条件为:
获取每个二维图片的特征与其他二维图片的特征的相似度,若相似度大于第一阈值,则链接相似度大于第一阈值的两个二维图片所对应的节点;
获取每个训练用二维图片的特征与各个三维模型的特征的相似度,若相似度大于第二阈值,则链接相似度大于第二阈值对应的训练用二维图片所对应的节点以及对应的三维模型所对应的节点;
获取每个三维模型的特征与其他三维模型的特征的相似度,若相似度大于第三阈值,则链接相似度大于第三阈值所对应的两个三维模型所对应的节点。
在本实施例中,根据关系图以及各个二维图片的特征、三维模型的特征,通过多头注意力方法构造多个全连接图包括:
根据关系图获取关系图矩阵;
根据关系图矩阵生成邻接矩阵;
构建多组初始化传输矩阵;
根据各个二维图片的特征、三维模型的特征、所述关系图矩阵、邻接矩阵以及各个所述初始化传输矩阵通过多头注意力方法构造多个全连接图,其中,一组初始化传输矩阵对应一个全连接图。
下面以举例的方式对本申请进行进一步详细阐述,可以理解的是,该举例并不构成对本申请的任何限制。
在本实施例中,本申请在实验中应用来自SHREC 2018轨道和SHREC2014轨道的数据集。在这里,来自SHREC 2018轨道的SceneIBR利用从ImageNet中选择的10000个2D场景图像作为其2D场景图像数据集和1000个3D仓库场景模型作为其3D场景数据集;两个数据集都有10个类,每个类包含相同数量的2D场景图像(1000)和3D场景模型(100)。为了便于基于学习的检索,每个类随机选择700张图像,70个模型用于训练,其余模型300张图像和30个模型用于测试。
为了使实验更加有说服力,本文从SHREC 2014轨道应用基于草图的3D形状检索数据集,其中包含约13680个草图,8987个3D模型,分为171个类别。由于类别的多样性和类内的巨大变化,这个数据集具有很大的挑战性。每个类别中的模型数量从少于10到多于300,而每个类内的草图数量固定为80,其中包括50个用于训练,30个用于测试。
在特征提取过程中,首先使用AlexNet提取2D图像的特征和3D模型的视图。从倒数第二个全连接图中提取2D图像特征作为一个大小为4096的视觉表示大小。类似地,提取的视图特征随后通过视图池化层以获得具有相同大小4096的每个3D模型的描述符。在图的构造过程中,参数α和β根据经验分别设置为0.8和0.7,用于连接查询图像和其他节点。本文使用一个GTX1080Ti GPU来训练提出的网络,单个图像或视图提取CNN(Alexnet)特征需要大约2秒,生成模型训练一次的时间为15秒。
步骤1:获取待检索二维图像;
步骤2:根据所述待检索二维图像获取待检索二维图像特征;
步骤3:获取数据库,数据库内包括多个二维图片以及多个三维模型;
步骤4:根据每个二维图片获取每个二维图片的特征;
步骤5:根据每个三维模型获取每个三维模型的特征;
步骤6:根据二维图片的特征以及三维模型的特征,建立关系图,关系图包括多个节点,每个节点表示一个二维图片或三维模型,每个节点具有对应的二维图片特征或者三维模型特征;
在本实施例中,关系图构建的目的是建立2D图像和3D模型之间的原始关系。关系图G构造的关键是构造包含节点之间关系的邻接矩阵A,也就是说,如果存在从节点i到节点j的边缘,则Aij=1且Aji=1,否则Aij=0且Aji=0,其中共有四种节点:训练图像节点、测试图像节点、训练3D模型节点和测试3D模型节点。显然,需要在图G中定义这些边缘,对于训练3D模型节点,类别信息用于链接模型M1和M2(如果它们属于同一类别),反之亦然。对于训练图像节点,采用相同的机制来定义图像之间的边缘。对于训练图像节点和训练3D模型节点之间的边缘,类别信息也用于构造边缘。
对于测试用二维图片和测试用三维模型,首先需要确保测试用二维图片和测试用三维模型的描述符。对于每个3D模型,利用Normal-PCA方法对每个3D模型进行归一化,然后使用OpenGL开发的可视化工具提取一组视图,这些视图围绕模型并通过30度提取Z轴。因此,有12个提取的视图(提取进行归一化处理的三维模型的二维视图组,其中,所述二维视图组包括多个二维视图,各个二维视图中图形角度不同,在本实施例中,二维视图为12个)M={v
1,v
2,...,v
12}表示3D模型(将各个视图的特征融合即表示三维模型的特征),其中v
i表示第i个视图。对于每个视图,训练前的CNN模型用于提取特征向量f。每个3D模型都可以表示为
对于每个图像I,预训练的CNN模型也用于提取图像特征f。
两个图像I1和I2之间的相似度可以是计算为:
测试图像和训练图像之间的相似度也由等式(1)计算。在这里,训练前的CNN模型在图像分类问题上获得了更好的性能。因此,图像之间的相似性具有很高的可行性。在此,定义阈值(第一阈值)α,当S1>α时,I1将与图G中的I2链接,反之亦然。
测试图像I和3D模型M之间的相似度计算为S2(I,M)
定义阈值β(第二阈值、第三阈值,在本实施例中,第二阈值与第三阈值相同,均为β)。当S2>β,将构造I和M之间的边缘,两个不同测试模型之间的相似度计算如下:
如果S3>β,在图形G中建立模型M1和M2之间的边缘。通常,利用这些相似性度量方程式来定义图形构造的边缘。该设计具有以下优点:1)训练图像节点可以在查询图像和作为介质的3D模型之间提供清晰的相关性,相关信息将通过图形嵌入操作进行放大;2)查询图像和3D模型之间的相关性可以提供原始关系,这将作为多图生成的指南。该指南将在节点之间生成更合理的潜在关联。
步骤7:根据关系图,通过多头注意力方法构造多个全连接图,每个全连接图包括多个节点,每个节点表示一个二维图片或三维模型,每个节点具有对应的二维图片特征或者三维模型特征;
在获得了关系图后,即提供了2D图像和3D模型之间的原始关联。但是,它还具有以下不足:
(1)错误的边:视觉相似度不足以提供可靠的相关性,原因是没有针对3D模型中的虚拟视图微调CNN模型,很难保证相似度的准确性。同时,相似性度量仅考虑彼此之间的相关性,这将导致图构造集中于局部信息而忽略全局信息。例如,图像“花盆”与模型“植物”具有清晰的链接,由于它们具有很强的视觉相似性属于不同的类别。这个连接应该是一个错误的边。
(2)无边:相似度的值决定了边缘的存在,这将导致某些测试图像或某些测试模型成为图G中的孤立节点,进一步使这些测试数据在下一步中嵌入效果更差,这将直接影响最终检索性能。但是,如果将相似度值用作边的权重,则会导致边的权重不均,因为大多数边由类别信息定义。边的权重设置为1,可能比基于视觉相似性构建的许多边缘大得多。这种情况将直接影响嵌入的性能,并进一步降低检索的效果。
为了解决这个问题,本文引入了多头注意力来计算节点的自我注意力,以基于原始图G构造全连接图。首先,初始化传输矩阵Wi K和Wi Q,其中i为矩阵W的数字索引。Wi K和Wi Q是成对的,将WK和WQ初始化n次,增加相关度的多样性。传统的多头注意力类似于以下等式:
其中V是节点的特征向量,该方程的输出是通过融合注意力信息而得到的新特征向量。为了嵌入步骤构造多个图,本文利用邻接矩阵A代替矩阵V进行多图构造。最终方程如下:
其中Q和K都等于节点特征,即提取的2D图像特征和3D模型特征。为了生成一个表示每个3D模型的特征向量,本文应用最大池化操作来融合多个视图信息。A是图G的邻接矩阵,目的是基于邻接矩阵A(i)生成一组完全连接的图G′。具体而言,这可以解决以下问题:1)弱化错误边的权重:利用自我注意力来计算考虑全局信息的G上节点之间的相关性。因此,右边缘将弱化错误边并进一步更新边的权重以进行嵌入操作。2)消除孤立的节点:全连接图将直接消除孤立节点,并与其他节点构建清晰的边。同时,它还将平衡边的值,权重为1的边会变弱。但是,清晰的类别信息也将使此边具有更大的价值,换句话说,类别信息也保存在新的全连接图中。
通常,多图构造可以有效地建立节点之间的潜在相关性,进一步增强图G上关系的合理性。多图方案还增加了关系的多样性,但是,我们需要控制图的数量,全连接的图形过多会降低隐藏相关性的影响,并使此操作无效。
步骤8:根据全连接图生成嵌入图,其中,一个全连接图用于生成一个嵌入图;
步骤9:将多个嵌入图进行融合,从而生成唯一嵌入图;
利用注意力图卷积网络生成节点的嵌入,减少2D图像和3D模型之间的特征分布差异。为了学习更好的节点嵌入,将密集连接引入到图嵌入模块中,这意味着第l层中的节点v不仅接受h(l-1)的输入,还从所有先前的层接收信息。此过程可以用数学定义为:
其中
表示初始节点表示和在层{1,...,l-1}中产生的节点表示的串联,f
j表示第j个初始节点特征。初始节点特征由训练前的CNN模型提取。对于3D模型,利用最大池化操作将多视图特征融合为节点表示。
在这项工作中,获得了n个不同的嵌入图,建立了n个分支来进行嵌入操作。因此,对于第g矩阵A(g),各层的计算定义如下:
在偏差取决于注意力相关的邻接矩阵A(g)的情况下,g选择权重矩阵,并且g={1,...,N}。
嵌入图生成后,每个节点将从不同分支获得n个嵌入。接下来,融合这些信息以获得每个节点的唯一嵌入,从而生成唯一嵌入图。
将最大池化操作应用于融合多分支信息,节点的融合嵌入用于计算查询2D图像和3D模型之间的相似度,欧几里得距离用于处理相似性度量。
步骤10:对待检索二维图像特征与唯一嵌入图中的每个表示三维模型的节点进行相似度比较,获取相似度最高的节点,输出相似度最高的节点所对应的三维模型。
本申请的基于二维图像检索对应三维模型的方法与RNF-MVCVR,SORMI,RNFETL,CLA,MLIS,ADDA-MVCNN,SRN和ALIGN方法进行比较,后者是针对MI3DOR数据集上基于SHREC2019-Monocular Image的3D模型检索提出的受监督网络。由于MI3DOR数据集中只有21个类别,测试集的数量仅包含3848个模型,因此在该数据集的监督学习方式下已实现了较好的性能。需要注意的是,M-GCN和所有上述比较方法都使用多个视图来表示3D模型,这可以利用2D图像和3D对象之间的巨大模态差距。M-GCN与上述比较方法之间的最大区别在于,利用图嵌入方法来减轻2D图像和3D模型之间的分布差异。与领域自适应方法相比,M-GCN不仅可以专注于特征学习和对齐,而且可以将图像和模型之间的视觉关联性考虑在内,提高检索性能。此外,多头注意力还被用于预测节点之间的隐藏关系并增强类内相关性。如表1和图4所示,本发明得到这些方法的最新性能,这也证明了M-GCN的有效性。
表1 MI3DOR数据集与最新方法比较的评价得分
与SHREC 2018Track方法的比较
SHREC 2018Track:基于2D图像的3D场景检索与本申请的工作有一定相似之处。它着重于3D场景检索,2D场景图像用于从数据集中搜索相关的3D场景。本发明专注于3D对象检索,2D对象图像用于从数据集中查找相关的3D对象。因此,基于2D图像的3D场景检索的这些方法也适用于本文的问题。
将这些方法与本发明提出的方法进行比较。实验结果如图5和表2所示。
表2 SHREC 2018 track的方法比较
本申请还提供了一种基于二维图像检索对应三维模型的装置,所述基于二维图像检索对应三维模型的装置包括待检索二维图像获取模块、待检索二维图像特征提取模块、数据库获取模块、二维图片特征获取模块、三维模型特征获取模块、关系图建立模块、全连接图构造模块、嵌入图生成模块、唯一嵌入图生成模块以及检索模块,待检索二维图像获取模块用于获取待检索二维图像;待检索二维图像特征提取模块用于根据待检索二维图像获取待检索二维图像特征;数据库获取模块用于获取数据库,数据库内包括多个二维图片以及多个三维模型;二维图片特征获取模块用于根据每个二维图片获取每个二维图片的特征;三维模型特征获取模块用于根据每个三维模型获取每个三维模型的特征;关系图建立模块用于根据所述二维图片的特征以及三维模型的特征,建立关系图,所述关系图包括多个节点,每个节点表示一个二维图片或三维模型,每个节点具有对应的二维图片特征或者三维模型特征;全连接图构造模块用于根据所述关系图,通过多头注意力方法构造多个全连接图,每个全连接图包括多个节点,每个节点表示一个二维图片或三维模型,每个节点具有对应的二维图片特征或者三维模型特征;嵌入图生成模块用于根据全连接图生成嵌入图,其中,一个全连接图用于生成一个嵌入图;唯一嵌入图生成模块用于将多个所述嵌入图进行融合,从而生成唯一嵌入图;检索模块用于对所述待检索二维图像特征与所述唯一嵌入图中的每个表示三维模型的节点进行相似度比较,获取相似度最高的节点,输出所述相似度最高的节点所对应的三维模型。
在本实施例中,所述数据库内的各个二维图片包括训练用二维图片以及测试用二维图片,其中,所述训练用二维图片包括训练用二维图片类别信息;
所述数据库内的各个三维模型包括训练用三维模型以及测试用三维模型,其中,所述训练用三维模型包括训练用三维模型类别信息。
需要说明的是,前述对方法实施例的解释说明也适用于本实施例的装置,此处不再赘述。
本申请还提供了一种电子设备,包括存储器、处理器以及存储在存储器中并能够在处理器上运行的计算机程序,处理器执行计算机程序时实现如上的基于二维图像检索对应三维模型的方法。
本申请还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时能够实现如上的基于二维图像检索对应三维模型的方法。
图2是能够实现根据本申请一个实施例提供的基于二维图像检索对应三维模型的方法的电子设备的示例性结构图。
如图2所示,电子设备包括输入设备501、输入接口502、中央处理器503、存储器504、输出接口505以及输出设备506。其中,输入接口502、中央处理器503、存储器504以及输出接口505通过总线507相互连接,输入设备501和输出设备506分别通过输入接口502和输出接口505与总线507连接,进而与电子设备的其他组件连接。具体地,输入设备504接收来自外部的输入信息,并通过输入接口502将输入信息传送到中央处理器503;中央处理器503基于存储器504中存储的计算机可执行指令对输入信息进行处理以生成输出信息,将输出信息临时或者永久地存储在存储器504中,然后通过输出接口505将输出信息传送到输出设备506;输出设备506将输出信息输出到电子设备的外部供用户使用。
也就是说,图5所示的电子设备也可以被实现为包括:存储有计算机可执行指令的存储器;以及一个或多个处理器,该一个或多个处理器在执行计算机可执行指令时可以实现结合图1描述的基于二维图像检索对应三维模型的方法。
在一个实施例中,图2所示的电子设备可以被实现为包括:存储器504,被配置为存储可执行程序代码;一个或多个处理器503,被配置为运行存储器504中存储的可执行程序代码,以执行上述实施例中的自适应播放终端播放方法。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动,媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数据多功能光盘(DVD)或其他光学存储、磁盒式磁带、磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
此外,显然“包括”一词不排除其他单元或步骤。装置权利要求中陈述的多个单元、模块或装置也可以由一个单元或总装置通过软件或硬件来实现。第一、第二等词语用来标识名称,而不标识任何特定的顺序。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,模块、程序段、或代码的一部分包括一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地标识的方框实际上可以基本并行地执行,他们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或总流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
在本实施例中所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器可用于存储计算机程序和/或模块,处理器通过运行或执行存储在存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现装置/终端设备的各种功能。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
在本实施例中,装置/终端设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减。本申请虽然以较佳实施例公开如上,但其实并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此,本申请的保护范围应当以本申请权利要求所界定的范围为准。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动,媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数据多功能光盘(DVD)或其他光学存储、磁盒式磁带、磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
此外,显然“包括”一词不排除其他单元或步骤。装置权利要求中陈述的多个单元、模块或装置也可以由一个单元或总装置通过软件或硬件来实现。第一、第二等词语用来标识名称,而不标识任何特定的顺序。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,模块、程序段、或代码的一部分包括一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地标识的方框实际上可以基本并行地执行,他们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或总流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
在本实施例中所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器可用于存储计算机程序和/或模块,处理器通过运行或执行存储在存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现装置/终端设备的各种功能。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
在本实施例中,装置/终端设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减。
虽然,上文中已经用一般性说明及具体实施方案对本发明作了详尽的描述,但在本发明基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。