模型标签的添加方法、装置、电子设备及存储介质转让专利

申请号 : CN202210320577.5

文献号 : CN114898076B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 请求不公布姓名

申请人 : 北京城市网邻信息技术有限公司

摘要 :

本发明实施例提供了一种模型标签的添加方法、装置、电子设备以及存储介质,所述方法包括:获取位于三维虚拟空间中的模型对象以及与所述三维虚拟空间对应的漫游位置点,并构建所述模型对象对应的包围盒;从所述包围盒中,确定所述模型对象对应的模型顶点以及模型中心点;根据所述漫游位置点与所述模型中心点之间的位置关系和/或所述漫游位置点与各个所述模型顶点之间的位置关系,确定所述模型对象的标签位置;在所述标签位置添加与所述模型对象对应的模型标签。

权利要求 :

1.一种模型标签的添加方法,其特征在于,包括:

获取位于三维虚拟空间中的模型对象以及与所述三维虚拟空间对应的漫游位置点,并构建所述模型对象对应的包围盒;

从所述包围盒中,确定所述模型对象对应的模型顶点以及模型中心点,所述模型顶点为所述包围盒的顶点,所述模型中心点为所述包围盒的中心点;

根据所述漫游位置点与所述模型中心点之间的位置关系或所述漫游位置点与各个所述模型顶点之间的位置关系,确定所述模型对象的标签位置;

在所述标签位置添加与所述模型对象对应的模型标签。

2.根据权利要求1所述的方法,其特征在于,所述构建与所述模型对象对应的包围盒之后,所述方法还包括:获取所述模型对象对应的缩放系数;

采用所述缩放系数对初始包围盒进行缩放,获得目标包围盒;

其中,所述从所述包围盒中,确定所述模型对象对应的模型顶点以及模型中心点,包括:从所述目标包围盒中提取所述模型对象对应的模型顶点以及模型中心点。

3.根据权利要求2所述的方法,其特征在于,所述获取所述模型对象对应的缩放系数,包括:获取所述模型对象的对象类型以及所述对象类型对应的缩放系数。

4.根据权利要求2所述的方法,其特征在于,所述模型对象包括车辆模型、车辆部件模型、家具模型对象中的一种。

5.根据权利要求1所述的方法,其特征在于,所述根据所述漫游位置点与所述模型中心点之间的位置关系或所述漫游位置点与各个所述模型顶点之间的位置关系,确定所述模型对象的标签位置,包括:以所述漫游位置点为起始点,向所述模型中心点进行射线检测,若所述模型中心点位于所述模型对象的表面或内部,且不存在遮挡所述模型中心点的其他模型对象,则将所述模型中心点作为所述模型对象的标签位置。

6.根据权利要求5所述的方法,其特征在于,所述根据所述漫游位置点与所述模型中心点之间的位置关系或所述漫游位置点与各个所述模型顶点之间的位置关系,确定所述模型对象的标签位置,包括:若所述模型中心点不位于所述模型对象的表面或内部,或存在遮挡所述模型中心点的其他模型对象,则以所述漫游位置点为起始点,向各个所述模型顶点进行射线检测;

若存在至少一个所述模型顶点和所述漫游位置点之间的连线与所述模型对象之间存在交点,则获取各个所述交点与所述模型中心点之间的点距离,并将点距离最小的交点作为所述模型对象的标签位置。

7.根据权利要求6所述的方法,其特征在于,所述根据所述漫游位置点与所述模型中心点之间的位置关系或所述漫游位置点与各个所述模型顶点之间的位置关系,确定所述模型对象的标签位置,包括:若不存在所述模型顶点和所述漫游位置点之间的连线与所述模型对象之间存在交点,则将所述模型中心点作为所述模型对象的标签位置。

8.一种模型标签的添加装置,其特征在于,包括:

数据获取模块,用于获取位于三维虚拟空间中的模型对象以及与所述三维虚拟空间对应的漫游位置点,并构建所述模型对象对应的包围盒;

点确定模块,用于从所述包围盒中,确定所述模型对象对应的模型顶点以及模型中心点,所述模型顶点为所述包围盒的顶点,所述模型中心点为所述包围盒的中心点;

标签位置确定模块,用于根据所述漫游位置点与所述模型中心点之间的位置关系或所述漫游位置点与各个所述模型顶点之间的位置关系,确定所述模型对象的标签位置;

模型标签添加模块,用于在所述标签位置添加与所述模型对象对应的模型标签。

9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口以及所述存储器通过所述通信总线完成相互间的通信;

所述存储器,用于存放计算机程序;

所述处理器,用于执行存储器上所存放的程序时,实现如权利要求1‑7任一项所述的方法。

10.一种计算机可读存储介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如权利要求1‑7任一项所述的方法。

说明书 :

模型标签的添加方法、装置、电子设备及存储介质

技术领域

[0001] 本发明涉及计算机技术领域,特别是涉及一种模型标签的添加方法、一种模型标签的添加装置、一种电子设备以及一种计算机可读存储介质。

背景技术

[0002] 随着技术的不断发展,在许多应用中可以对实体空间进行数字化呈现,使得用户可以在虚拟构建的三维立体空间中浏览对应的内容,例如,用户可以通过相应的应用程序对房屋三维虚拟空间进行浏览等。在相关的三维虚拟空间展示过程中,往往会在三维虚拟空间展示三维模型,并对三维模型进行标记,在三维模型上添加对应的模型标签,用于对三维模型的特定信息进行介绍说明等。在对三维模型进行模型标签添加过程中,相关技术采用的是人工标记,而对于人工标记,当需要标记的三维模型数量较多时,无法批量进行标记,不仅造成资源浪费,也大大降低了模型标记的效率。

发明内容

[0003] 本发明实施例是提供一种模型标签的添加方法、装置、电子设备以及计算机可读存储介质,以解决或部分解决相关技术中三维虚拟空间中对三维模型添加模型标签时存在资源浪费以及模型标记效率低下的问题。
[0004] 本发明实施例公开了一种模型标签的添加方法,包括:
[0005] 获取位于三维虚拟空间中的模型对象以及与所述三维虚拟空间对应的漫游位置点,并构建所述模型对象对应的包围盒;
[0006] 从所述包围盒中,确定所述模型对象对应的模型顶点以及模型中心点;
[0007] 根据所述漫游位置点与所述模型中心点之间的位置关系和/或所述漫游位置点与各个所述模型顶点之间的位置关系,确定所述模型对象的标签位置;
[0008] 在所述标签位置添加与所述模型对象对应的模型标签。
[0009] 可选地,所述构建与所述模型对象对应的包围盒之后,所述方法还包括:
[0010] 获取所述模型对象对应的缩放系数;
[0011] 采用所述缩放系数对所述初始包围盒进行缩放,获得目标包围盒;
[0012] 其中,所述从所述包围盒中,确定所述模型对象对应的模型顶点以及模型中心点,包括:
[0013] 从所述目标包围盒中提取所述模型对象对应的模型顶点以及模型中心点。
[0014] 可选地,所述获取所述模型对象对应的缩放系数,包括:
[0015] 获取所述模型对象的对象类型以及所述对象类型对应的缩放系数。
[0016] 可选地,所述模型对象包括车辆模型、车辆部件模型、家具模型对象中的一种。
[0017] 可选地,所述根据所述漫游位置点与所述模型中心点之间的位置关系和/或所述漫游位置点与各个所述模型顶点之间的位置关系,确定所述模型对象的标签位置,包括:
[0018] 以所述漫游观察点为起始点,向所述模型中心点进行射线检测,若所述模型中心点位于所述模型对象的表面或内部,且不存在遮挡所述模型中心点的其他模型对象,则将所述模型中心点作为所述模型对象的标签位置。
[0019] 可选地,所述根据所述漫游位置点与所述模型中心点之间的位置关系和/或所述漫游位置点与各个所述模型顶点之间的位置关系,确定所述模型对象的标签位置,包括:
[0020] 若所述模型中心点不位于所述模型对象的表面或内部,或存在遮挡所述模型中心点的其他模型对象,则以所述漫游观察点为起始点,向各个所述模型顶点进行射线检测;
[0021] 若存在至少一个所述模型顶点和所述漫游观察点之间的连线与所述模型对象之间存在交点,则获取各个所述交点与所述模型中心点之间的点距离,并将点距离最小的交点作为所述模型对象的标签位置。
[0022] 可选地,所述根据所述漫游位置点与所述模型中心点之间的位置关系和/或所述漫游位置点与各个所述模型顶点之间的位置关系,确定所述模型对象的标签位置,包括:
[0023] 若不存在所述模型顶点和所述漫游观察点之间的连线与所述模型对象之间存在交点,则将所述模型中心点作为所述模型对象的标签位置。
[0024] 本发明实施例还公开了一种模型标签的添加装置,包括:
[0025] 数据获取模块,用于获取位于三维虚拟空间中的模型对象以及与所述三维虚拟空间对应的漫游位置点,并构建所述模型对象对应的包围盒;
[0026] 点确定模块,用于从所述包围盒中,确定所述模型对象对应的模型顶点以及模型中心点;
[0027] 标签位置确定模块,用于根据所述漫游位置点与所述模型中心点之间的位置关系和/或所述漫游位置点与各个所述模型顶点之间的位置关系,确定所述模型对象的标签位置;
[0028] 模型标签添加模块,用于在所述标签位置添加与所述模型对象对应的模型标签。
[0029] 可选地,所述装置还包括:
[0030] 缩放系数获取模块,用于获取所述模型对象对应的缩放系数;
[0031] 包围盒缩放模块,用于采用所述缩放系数对所述初始包围盒进行缩放,获得目标包围盒;
[0032] 其中,所述点确定模块具体用于:
[0033] 从所述目标包围盒中提取所述模型对象对应的模型顶点以及模型中心点。
[0034] 可选地,所述缩放系数获取模块具体用于:
[0035] 获取所述模型对象的对象类型以及所述对象类型对应的缩放系数。
[0036] 可选地,所述模型对象包括车辆模型、车辆部件模型、家具模型对象中的一种。
[0037] 可选地,所述标签位置确定模块具体用于:
[0038] 以所述漫游观察点为起始点,向所述模型中心点进行射线检测,若所述模型中心点位于所述模型对象的表面或内部,且不存在遮挡所述模型中心点的其他模型对象,则将所述模型中心点作为所述模型对象的标签位置。
[0039] 可选地,所述标签位置确定模块具体还用于:
[0040] 若所述模型中心点不位于所述模型对象的表面或内部,或存在遮挡所述模型中心点的其他模型对象,则以所述漫游观察点为起始点,向各个所述模型顶点进行射线检测;
[0041] 若存在至少一个所述模型顶点和所述漫游观察点之间的连线与所述模型对象之间存在交点,则获取各个所述交点与所述模型中心点之间的点距离,并将点距离最小的交点作为所述模型对象的标签位置。
[0042] 可选地,所述标签位置确定模块具体还用于:
[0043] 若不存在所述模型顶点和所述漫游观察点之间的连线与所述模型对象之间存在交点,则将所述模型中心点作为所述模型对象的标签位置。
[0044] 本发明实施例还公开了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口以及所述存储器通过所述通信总线完成相互间的通信;
[0045] 所述存储器,用于存放计算机程序;
[0046] 所述处理器,用于执行存储器上所存放的程序时,实现如本发明实施例所述的方法。
[0047] 本发明实施例还公开了一种计算机可读存储介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如本发明实施例所述的方法。
[0048] 本发明实施例包括以下优点:
[0049] 在本发明实施例中,通过获取位于三维虚拟空间中的模型对象以及与三维虚拟空间对应的漫游位置点,并构建模型对象对应的包围盒,接着可以从包围盒中,确定模型对象对应的模型顶点以及模型中心点,然后根据漫游位置点与模型中心点之间的位置关系和/或漫游位置点与各个模型顶点之间的位置关系,确定模型对象的标签位置,并在标签位置添加与模型对象对应的模型标签,从而在对三维虚拟空间中的模型对象进行标签标记的过程中,通过获取用户浏览时的漫游位置点,以及在所构建的模型对象的包围盒上提取中心点以及模型顶点,然后根据位置点与中心点/顶点之间的位置关系,不仅可以快速地确定模型对象的标签位置,同时基于漫游位置点,可以保证标签位置与用户浏览视角的匹配性,进而保证用户对三维虚拟空间的浏览体验。

附图说明

[0050] 图1是本发明实施例中提供的一种模型标签的添加方法的步骤流程图;
[0051] 图2是本发明实施例中提供的一种模型标签的添加装置的结构框图;
[0052] 图3是本发明实施例中提供的一种电子设备的框图;
[0053] 图4是本发明实施例中提供的一种计算机可读介质的示意图。

具体实施方式

[0054] 为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
[0055] 作为一种示例,随着技术的不断发展,在许多应用中可以对实体空间进行数字化呈现,使得用户可以在虚拟构建的三维立体空间中浏览对应的内容,例如,用户可以通过相应的应用程序对房屋三维虚拟空间进行浏览等。在三维虚拟空间中可以包括若干个模型对象,则用户在浏览过程中,可以展示与模型对象对应的模型标签,以便用户通过模型标签了解模型对象的相关信息,辅助用户对模型对象、三维虚拟空间的了解等。而在对三维模型进行模型标签添加过程中,相关技术采用的是人工标记,而对于人工标记,当需要标记的三维模型数量较多时,无法批量进行标记,不仅造成资源浪费,也大大降低了模型标记的效率。此外,相关技术中还可以将模型的包围盒中心点位置作为标签位置,然而在一些模型对象中,其形状相对不规则,例如L型模型等,其包围盒的中心点位置并不在模型对象上,则通过该方式对模型对象进行标记,会大大降低模型标签标记位置的准确性。
[0056] 对此,本发明实施例的核心发明点之一在于通过获取位于三维虚拟空间中的模型对象以及与三维虚拟空间对应的漫游位置点,并构建模型对象对应的包围盒,接着可以从包围盒中,确定模型对象对应的模型顶点以及模型中心点,然后根据漫游位置点与模型中心点之间的位置关系,和/或漫游位置点与各个模型顶点之间的位置关系,确定模型对象的标签位置,并在标签位置添加与模型对象对应的模型标签,从而在对三维虚拟空间中的模型对象进行标签标记的过程中,通过获取用户浏览时的漫游位置点,以及在所构建的模型对象的包围盒上提取中心点以及模型顶点,然后根据位置点与中心点/顶点之间的位置关系,不仅可以快速地确定模型对象的标签位置,同时基于漫游位置点,可以保证标签位置与用户浏览视角的匹配性,进而保证用户对三维虚拟空间的浏览体验。
[0057] 参照图1,示出了本发明实施例中提供的一种模型标签的添加方法的步骤流程图,具体可以包括如下步骤:
[0058] 步骤101,获取位于三维虚拟空间中的模型对象以及与所述三维虚拟空间对应的漫游位置点,并构建所述模型对象对应的包围盒;
[0059] 在本发明实施例中,三维虚拟空间可以包括三维房屋空间、三维车展空间、车辆内部空间等虚拟空间,使得用户可以通过三维虚拟空间中呈现的内容进行浏览,通过三维方式为用户呈现更加真实、立体的内容,提高用户对三维虚拟空间的空间感知。其中,当三维虚拟空间为三维房屋空间时,模型对象可以为家具模型对象,例如沙发模型、茶几模型、电视柜模型、地毯模型、冰箱模型等等;当三维虚拟空间为三维车展空间时,则模型对象可以为车辆模型;当三维虚拟空间为车辆的内部空间时,则模型对象可以为车辆内部空间中车辆配件等,例如方向盘、车载中控屏幕、档位控制器等等。
[0060] 在具体实现中,为了提高用户对三维虚拟空间的浏览体验,可以对三维虚拟空间中的模型对象进行标记,并在标记的位置显示对应的模型标签,模型标签可以包括与模型对象匹配的模型信息,例如,在三维房屋空间中,可以对沙发模型进行标记,在标记处显示标签,标签中可以包括沙发模型的材质、价格、尺寸等信息,以便用户浏览过程中通过模型标签了解模型对象的相关信息,提高用户的浏览体验。
[0061] 在对三维空间中的模型对象进行标签标记的过程中,可以先获取三维空间中的模型对象,以及位于三维空间中的漫游位置点,接着可以构建与模型对象对应的包围盒。其中,漫游位置点可以为用户浏览三维空间时的视角点位,一个三维空间可以包括若干个不同的漫游位置点,每个漫游位置点支持用户进行360度的视角切换,随着用户在同一个漫游位置点的视角切换,终端可以呈现不同的内容;包围盒可以为能够包容模型对象的立方体或二维长方体,其可以用于模型的碰撞检测,在本发明实施例中,可以用于确定与模型对象对应的模型顶点以及模型中心点。需要说明的是,对于构建模型的包围盒,其属于现有技术,在此不做过多的描述。
[0062] 可选地,对于三维虚拟空间,其可以为通过采集设备对实体空间进行全景图像采集后生成的虚拟空间,则采集过程中,采集设备位于实体空间的位置可以作为定位点,然后可以将所构建的三维虚拟空间中与定位点对应的位置作为漫游位置点,例如,假设实体空间为房屋空间,采集设备在房屋空间的客厅的中点位置进行全景采集,则可以将所构建的三维房屋空间中客厅对象的中心点位置作为漫游点位置等,本发明对此不作限制。
[0063] 步骤102,从所述包围盒中,确定所述模型对象对应的模型顶点以及模型中心点;
[0064] 每一个模型对象可以对应一个包围盒,包围盒可以为立方体,则可以从立方体中提取模型对象对应的模型顶点以及模型中心点,例如,假设模型对象对应的包围盒为正方体,则可以正方体的8个顶点可以为模型对象对应的模型顶点,正方体的中心点可以为模型对象对应的模型中心点等,可以理解的是,模型顶点与模型中心点不是在模型对象上的顶点、中心点。
[0065] 在一种可选实施例中,在构建了模型对象对应的包围盒后,可以获取模型对象对应的缩放系数,接着采用缩放系数对包围盒进行缩放,得到缩放后的包围盒,然后再从缩放后的包围盒中提供模型对象对应的模型顶点以及模型中心点,通过对模型对象对应的包围盒进行缩放,可以有效保证模型标签标记位置的合理性。其中,不同模型对象可以对应不同的缩放系数,则可以通过获取模型对象的对象类型以及对象类型对应的缩放系数,然后再根据缩放系数对包围盒进行缩放。可选地,对象类型可以用于表征模型对象的种类,不同的种类可以对应不同的缩放系数;模型对象包括车辆模型、车辆部件模型、家具模型对象中的一种。
[0066] 在具体实现中,可以构建与三维空间对应的世界坐标系,在该世界坐标系下构建与模型对象对应的包围盒,接着可以构建一个与模型对象对应的缩放矩阵,接着将包围盒的8个模型顶点分别乘以该缩放矩阵,实现包围盒的缩放,从而通过对包围盒进行相应比例的缩放,可以保证模型标签标记位置的合理性。
[0067] 步骤103,根据所述漫游位置点与所述模型中心点之间的位置关系和/或所述漫游位置点与各个所述模型顶点之间的位置关系,确定所述模型对象的标签位置;
[0068] 在本发明实施例中,为了保证模型标签标记位置的准确性以及生成效率,可以根据漫游位置点与模型中心点之间的位置关系和/或漫游位置点与各个模型顶点之间的位置关系,确定模型对象的标签位置,以便在对应的标签位置上添加与模型对象对应的模型标签。
[0069] 在具体实现中,可以以漫游观察点为起始点,向模型中心点进行射线检测,若模型中心点位于模型对象的表面或内部,且不存在遮挡模型中心点的其他模型对象,则将模型中心点作为模型对象的标签位置。若模型中心点不位于模型对象的表面或内部,或存在遮挡模型中心点的其他模型对象,则以漫游观察点为起始点,向各个模型顶点进行射线检测;若存在至少一个模型顶点和漫游观察点之间的连线与模型对象之间存在交点,则获取各个交点与模型中心点之间的点距离,并将点距离最小的交点作为模型对象的标签位置。此外,若不存在模型顶点和漫游观察点之间的连线与模型对象之间存在交点,则将模型中心点作为模型对象的标签位置。
[0070] 在一种示例中,可以先构建与三维虚拟空间对应的世界坐标下,接着在世界坐标系下,计算三维虚拟空间中各个模型对象的包围盒,并且对包围盒大小进行适量的缩放(方便后续从漫游位置点向包围盒的各个顶点做射线检测,以尽可能获得较多的得到与模型对象相交的点),然后计算包围盒的模型中心点和八个顶点位置。假设以漫游位置点为起始点S,包围盒的模型中心点为E,则可以先从起始点S到模型中心点E做射线检测,如果模型中心点E在模型对象的表面或者内部,并且没有被其他模型遮挡,那么表征模型中心点E不仅满足用户的观察视角,也位于模型对象上,则可以将模型中心点E作为在漫游位置点下,模型对象的标签位置。
[0071] 如果模型中心点E不在模型对象的表面或者内部,或者模型中心点E被其他模型对象遮挡,那么需要从起始点S点到包围盒的8个模型顶点,分别做射线检测,若存在至少一个模型定点与起始点S之间的连线与模型对象之间存在交点,则可以从这些交点中选择与模型中心点E之间距离最近的交点作为目标交点,并将该目标交点所在的位置作为标签位置。具体的,可以分别从起始点S到包围盒的8个模型顶点做射线检测,循环做相交测试,例如,可以先构建一个空集数组A,并进行顶点索引,可以先判断顶点索引是否小于或等于8,若是,则从第1个模型顶点开始进行射线检测,如果模型定点与起始点S之间的连线与模型对象之间存在交点,则将该交点添加至数组A中,顶点索引加1;若不存在交点,顶点索引加1,并继续进行射线检测,直至所有模型顶点均射线检测完毕后,若数组A中仅存在一个交点,则将该交点作为模型对象的标签位置,若存在多个交点,则分别获取各个交点与包围盒的模型中心点之间的点距离,并将点距离最小的交点作为模型对象的标签位置。可选地,若存在两个或多个交点与模型对象的模型中心点之间的点距离相同,则可以获取各个交点的点坐标,并将点坐标中纵轴坐标值最大的交点作为模型对象的标签位置。
[0072] 此外,如果从起始点S到包围盒的8个模型顶点做射线检测,不存在与模型对象相交的点,则仍然以模型中心点E作为模型对象的标签位置。
[0073] 在对三维虚拟空间中的模型对象进行标签标记的过程中,通过获取用户浏览时的漫游位置点,以及在所构建的模型对象的包围盒上提取中心点以及模型顶点,然后根据位置点与中心点/顶点之间的位置关系,不仅可以快速地确定模型对象的标签位置,同时基于漫游位置点,可以保证标签位置与用户浏览视角的匹配性,进而保证用户对三维虚拟空间的浏览体验
[0074] 步骤104,在所述标签位置添加与所述模型对象对应的模型标签。
[0075] 在具体实现中,不同的模型对象可以对应不同模型标签,且同一个模型对象可以对应不同的模型标签,例如,假设模型对象为沙发模型,则模型标签可以包括沙发模型的尺寸、价格、材质等信息,也可以包括沙发模型的材质、耐久性、有害物质信息等信息,本发明对此不作限制。
[0076] 需要说明的是,本发明实施例包括但不限于上述示例,可以理解的是,本领域技术人员在本发明实施例的思想指导下,还可以根据实际需求进行设置,本发明对此不作限制。
[0077] 在本发明实施例中,通过获取位于三维虚拟空间中的模型对象以及与三维虚拟空间对应的漫游位置点,并构建模型对象对应的包围盒,接着可以从包围盒中,确定模型对象的模型顶点以及模型中心点,然后根据漫游位置点与模型中心点的位置关系或与模型顶点的位置关系,确定模型对象的标签位置,并在标签位置添加与模型对象对应的模型标签,从而在对三维虚拟空间中的模型对象进行标签标记的过程中,通过获取用户浏览时的漫游位置点,以及在所构建的模型对象的包围盒上提取中心点以及模型顶点,然后根据位置点与中心点/顶点之间的位置关系,不仅可以快速地确定模型对象的标签位置,同时基于漫游位置点,可以保证标签位置与用户浏览视角的匹配性,进而保证用户对三维虚拟空间的浏览体验。
[0078] 需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
[0079] 参照图2,示出了本发明实施例中提供的一种模型标签的添加装置的结构框图,具体可以包括如下模块:
[0080] 数据获取模块201,用于获取位于三维虚拟空间中的模型对象以及与所述三维虚拟空间对应的漫游位置点,并构建所述模型对象对应的包围盒;
[0081] 点确定模块202,用于从所述包围盒中,确定所述模型对象对应的模型顶点以及模型中心点;
[0082] 标签位置确定模块203,用于根据所述漫游位置点与所述模型中心点之间的位置关系和/或所述漫游位置点与各个所述模型顶点之间的位置关系,确定所述模型对象的标签位置;
[0083] 模型标签添加模块204,用于在所述标签位置添加与所述模型对象对应的模型标签。
[0084] 在一种可选实施例中,所述装置还包括:
[0085] 缩放系数获取模块,用于获取所述模型对象对应的缩放系数;
[0086] 包围盒缩放模块,用于采用所述缩放系数对所述初始包围盒进行缩放,获得目标包围盒;
[0087] 其中,所述点确定模块202具体用于:
[0088] 从所述目标包围盒中提取所述模型对象对应的模型顶点以及模型中心点。
[0089] 在一种可选实施例中,所述缩放系数获取模块具体用于:
[0090] 获取所述模型对象的对象类型以及所述对象类型对应的缩放系数。
[0091] 在一种可选实施例中,所述模型对象包括车辆模型、车辆部件模型、家具模型对象中的一种。
[0092] 在一种可选实施例中,所述标签位置确定模块203具体用于:
[0093] 以所述漫游观察点为起始点,向所述模型中心点进行射线检测,若所述模型中心点位于所述模型对象的表面或内部,且不存在遮挡所述模型中心点的其他模型对象,则将所述模型中心点作为所述模型对象的标签位置。
[0094] 在一种可选实施例中,所述标签位置确定模块203具体还用于:
[0095] 若所述模型中心点不位于所述模型对象的表面或内部,或存在遮挡所述模型中心点的其他模型对象,则以所述漫游观察点为起始点,向各个所述模型顶点进行射线检测;
[0096] 若存在至少一个所述模型顶点和所述漫游观察点之间的连线与所述模型对象之间存在交点,则获取各个所述交点与所述模型中心点之间的点距离,并将点距离最小的交点作为所述模型对象的标签位置。
[0097] 在一种可选实施例中,所述标签位置确定模块203具体还用于:
[0098] 若不存在所述模型顶点和所述漫游观察点之间的连线与所述模型对象之间存在交点,则将所述模型中心点作为所述模型对象的标签位置。
[0099] 对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0100] 另外,本发明实施例还提供一种电子设备,如图3所示,包括处理器301、通信接口302、存储器303和通信总线304,其中,处理器301,通信接口302,存储器303通过通信总线
304完成相互间的通信,
[0101] 存储器303,用于存放计算机程序;
[0102] 处理器301,用于执行存储器303上所存放的程序时,实现如下步骤:
[0103] 获取位于三维虚拟空间中的模型对象以及与所述三维虚拟空间对应的漫游位置点,并构建所述模型对象对应的包围盒;
[0104] 从所述包围盒中,确定所述模型对象对应的模型顶点以及模型中心点;
[0105] 根据所述漫游位置点与所述模型中心点之间的位置关系和/或所述漫游位置点与各个所述模型顶点之间的位置关系,确定所述模型对象的标签位置;
[0106] 在所述标签位置添加与所述模型对象对应的模型标签。
[0107] 在一种可选实施例中,所述构建与所述模型对象对应的包围盒之后,所述方法还包括:
[0108] 获取所述模型对象对应的缩放系数;
[0109] 采用所述缩放系数对所述初始包围盒进行缩放,获得目标包围盒;
[0110] 其中,所述从所述包围盒中,确定所述模型对象对应的模型顶点以及模型中心点,包括:
[0111] 从所述目标包围盒中提取所述模型对象对应的模型顶点以及模型中心点。
[0112] 在一种可选实施例中,所述获取所述模型对象对应的缩放系数,包括:
[0113] 获取所述模型对象的对象类型以及所述对象类型对应的缩放系数。
[0114] 在一种可选实施例中,所述模型对象包括车辆模型、车辆部件模型、家具模型对象中的一种。
[0115] 在一种可选实施例中,所述根据所述漫游位置点与所述模型中心点之间的位置关系和/或所述漫游位置点与各个所述模型顶点之间的位置关系,确定所述模型对象的标签位置,包括:
[0116] 以所述漫游观察点为起始点,向所述模型中心点进行射线检测,若所述模型中心点位于所述模型对象的表面或内部,且不存在遮挡所述模型中心点的其他模型对象,则将所述模型中心点作为所述模型对象的标签位置。
[0117] 在一种可选实施例中,所述根据所述漫游位置点与所述模型中心点之间的位置关系和/或所述漫游位置点与各个所述模型顶点之间的位置关系,确定所述模型对象的标签位置,包括:
[0118] 若所述模型中心点不位于所述模型对象的表面或内部,或存在遮挡所述模型中心点的其他模型对象,则以所述漫游观察点为起始点,向各个所述模型顶点进行射线检测;
[0119] 若存在至少一个所述模型顶点和所述漫游观察点之间的连线与所述模型对象之间存在交点,则获取各个所述交点与所述模型中心点之间的点距离,并将点距离最小的交点作为所述模型对象的标签位置。
[0120] 在一种可选实施例中,所述根据所述漫游位置点与所述模型中心点之间的位置关系和/或所述漫游位置点与各个所述模型顶点之间的位置关系,确定所述模型对象的标签位置,包括:
[0121] 若不存在所述模型顶点和所述漫游观察点之间的连线与所述模型对象之间存在交点,则将所述模型中心点作为所述模型对象的标签位置。
[0122] 上述终端提到的通信总线可以是外设部件互连标准(Peripheral Component Interconnect,简称PCI)总线或扩展工业标准结构(Extended Industry Standard Architecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0123] 通信接口用于上述终端与其他设备之间的通信。
[0124] 存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non‑volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
[0125] 上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
[0126] 如图4所示,在本发明提供的又一实施例中,还提供了一种计算机可读存储介质401,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中所述的模型标签的添加方法。
[0127] 在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中所述的模型标签的添加方法。
[0128] 在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
[0129] 需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0130] 本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0131] 以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。