CN114758075B - 用于生成三维标签的方法、装置和存储介质 - Google Patents
用于生成三维标签的方法、装置和存储介质 Download PDFInfo
- Publication number
- CN114758075B CN114758075B CN202210427457.5A CN202210427457A CN114758075B CN 114758075 B CN114758075 B CN 114758075B CN 202210427457 A CN202210427457 A CN 202210427457A CN 114758075 B CN114758075 B CN 114758075B
- Authority
- CN
- China
- Prior art keywords
- dimensional
- label
- target
- plane
- scene
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/004—Annotating, labelling
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Geometry (AREA)
- Processing Or Creating Images (AREA)
Abstract
本公开实施例公开了一种用于生成三维标签的方法、装置和存储介质,其中,方法包括:获取待处理的三维场景,三维场景中包括待标记的三维模型;在三维场景中确定三维模型用于标记三维标签的目标点及其所在的目标平面;获取三维模型的标签信息;基于目标平面以及标签信息,生成三维标签;基于目标点,将三维标签标记在三维模型上。可以利用三维标签对三维场景中的三维模型进行标记,一方面,三维标签更能突显三维场景的立体特性,解决了二维标签与三维场景的割裂问题;另一方面,在不同的空间位置采用不同姿态呈现三维标签,允许三维场景中配置更多的三维标签,有助于提高三维场景的信息含量。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种用于生成三维标签的方法、装置和存储介质。
背景技术
随着计算机技术的发展,尤其是虚拟现实(Virtual Reality,VR)的迅速进步,使得三维场景在各个领域的应用越来越广泛。三维场景可以通过多源信息融合的、交互式的三维动态视景使用户沉浸到该环境中,使用户可以在不同的视角可以观看到不同的内容。
相关技术中,为了便于用户直观地获取三维场景中各个展示对象的信息,通常利用二维的平面标签对三维场景中的三维模型进行标记,以此呈现对象的信息。
发明内容
本公开实施例提供一种用于生成三维标签的方法、装置和存储介质,以利用三维标签对三维场景中的三维模型进行标记。
本公开实施例的一个方面,提供一种用于生成三维标签的方法,包括:获取待处理的三维场景,三维场景中包括待标记的三维模型;在三维场景中确定三维模型用于标记三维标签的目标点及其所在的目标平面;获取三维模型的平面标签;基于目标平面以及平面标签,生成三维标签;基于目标点,将三维标签标记在三维模型上。
在一些实施例中,在三维场景中确定三维模型用于标记三维标签的目标点及其所在的目标平面,包括:获取三维模型以及三维模型在三维场景中的位姿信息;在三维模型中确定用于标记三维标签的参考点及其所在的参考平面;基于位姿信息,将参考点映射至三维场景,得到目标点;在参考平面中确定不共线的至少三个样本点;基于位姿信息,将至少三个样本点映射至三维场景,得到至少三个映射点;基于至少三个映射点,在三维场景中确定目标平面。
在一些实施例中,在三维模型中确定用于标记三维标签的参考点及其所在的参考平面,包括:在三维模型中确定多个参考点和多个参考平面,每个参考平面对应一个参考点,且构成三维模型的外包围盒的各个平面各自与不同的参考平面平行。
在一些实施例中,基于目标平面以及平面标签,生成三维标签之前,方法还包括:基于三维场景对应的相机的位姿和参数,构建三维场景的视锥;将位于视锥的视角之外的目标点删除;基于射线碰撞检测,确定视角内被遮挡的目标点及其所在的目标平面,并删除被遮挡的目标点。
在一些实施例中,基于目标平面以及平面标签,生成三维标签之前,方法还包括:响应于确定目标点满足预设条件中的任一项,删除目标点及其目标平面,预设条件包括:目标点与相机的距离大于第一预设距离或小于第二预设距离;目标平面与视角的夹角大于预设角度;目标点的预设空间内包含的其他三维标签的目标点的数量大于预设数量。
在一些实施例中,将三维标签标记在三维模型上之后,该方法还包括:响应于接收到标签隐藏指令,隐藏三维标签;和/或,响应于接收到标签显示指令,显示三维标签。
在一些实施例中,将三维标签标记在三维模型上,包括:采用生长动画和消失动画,在三维场景中呈现三维标签。
在一些实施例中,采用生长动画和消失动画,在三维场景中呈现三维标签,包括:响应于确定三维标签在三维场景中的高度大于预设高度,采用反向的生长动画和反向的消失动画,呈现三维标签。
本公开实施例的又一个方面,提供一种用于生成三维标签的装置,包括:场景单元,被配置成获取待处理的三维场景,三维场景中包括待标记的三维模型;确定单元,被配置成在三维场景中确定三维模型用于标记三维标签的目标点及其所在的目标平面;获取单元,被配置成获取三维模型的平面标签;生成单元,被配置成基于目标平面以及平面标签,生成三维标签;标记单元,被配置成基于目标点,将三维标签标记在三维模型上。
本公开实施例的又一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序指令,该计算机程序指令被处理器执行时,实现上述任一实施例中的方法。
本公开的实施例提供的用于生成三维标签的方法,首先获取待处理的三维场景,并在三维场景中确定三维模型用于标记三维标签的目标点及其所在的目标平面;然后获取三维模型的平面标签,并基于目标平面以及平面标签,生成三维标签;最后基于目标点,将三维标签标记在三维模型上。可以利用三维标签对三维场景中的三维模型进行标记,与二维的平面标签相比,一方面,三维标签更能突显三维场景的立体特性,与三维场景的契合程度更高,解决了二维标签与三维场景的割裂问题,避免对三维场景的质量造成不利影响;另一方面,可以在不同的空间位置采用不同的姿态呈现三维标签,允许三维场景中配置更多的三维标签,有助于提高三维场景的信息含量。
下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。
附图说明
构成说明书的一部分的附图描述了本公开的实施例,并且连同描述一起用于解释本公开的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:
图1为本公开的用于生成三维标签的方法的一个实施例的流程示意图;
图2为本公开的用于生成三维标签的方法的一个实施例中确定目标点及其所在的目标平面的流程示意图;
图3为本公开的用于生成三维标签的方法的又一个实施例的流程示意图;
图4为本公开的用于生成三维标签的装置的一个实施例的结构示意图;
图5为本公开电子设备一个应用实施例的结构示意图。
具体实施方式
现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
本领域技术人员可以理解,本公开实施例中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。
还应理解,在本公开实施例中,“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。
还应理解,对于本公开实施例中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。
另外,本公开中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本公开中字符“/”,一般表示前后关联对象是一种“或”的关系。
还应理解,本公开对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
本公开实施例可以应用于终端设备、计算机***、服务器等电子设备,其可与众多其它通用或专用计算***环境或配置一起操作。适于与终端设备、计算机***、服务器等电子设备一起使用的众所周知的终端设备、计算***、环境和/ 或配置的例子包括但不限于:个人计算机***、服务器计算机***、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的***、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机***﹑大型计算机***和包括上述任何***的分布式云计算技术环境,等等。
终端设备、计算机***、服务器等电子设备可以在由计算机***执行的计算机***可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机***/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算***存储介质上。
本公开概述
在实现本公开的过程中,发明人发现,由于二维的平面标签不具备三维特性,在三维场景中添加平面标签时,会造成平面标签与三维场景的割裂,从而影响三维场景的质量。并且,三维场景中的平面标签过多时,会导致多个平面标签的重合堆叠等问题,因而只能在三维场景中配置较少数量的平面标签,进而限制了三维场景中的信息含量。
示例性方法
下面结合图1对本公开的用于生成三维标签的方法进行示例性说明。图1示出了本公开的用于生成三维标签的方法的一个实施例的流程图,如图1所示,该流程包括以下步骤:
步骤110、获取待处理的三维场景。
其中,三维场景中包括待标记的三维模型。
实践中,通常可以利用三维场景(例如VR场景)模拟真实场景,以场景的形式向用户展示多个对象(例如可以是家具等物品)。在向用户展示对象的外观时,还可以向用户展示对象在场景中的位置和姿态。为了达到这种效果,在构建三维场景时,需要首先根据展示对象的外观和属性为每个展示对象构建一个三维模型,然后按照对象在真实场景中的位置和姿态,将各个三维模型放置在三维场景中,完成三维场景的搭建,并形成Json格式的文件。之后,执行主体(例如可以是终端设备或服务器)可以通过读取Json文件,实现三维场景的加载。
在本实施例中,待标记的三维模型表示需要利用三维标签进行标记的三维模型,待处理的三维场景表示存在待标记的三维模型的场景。
步骤120、在三维场景中确定三维模型用于标记三维标签的目标点及其所在的目标平面。
在本实施例中,目标点表示三维模型在三维场景中用于定位标记位置的点,目标平面则用于确定三维标签在三维空间中的姿态。目标点的数量可以是一个,也可以是多个,同一个目标平面中通常只包括一个目标点。
作为示例,执行主体(例如可以是终端设备或服务器)可以首选确定目标点在三维场景坐标系中的空间坐标,然后确定目标点所在的目标平面的空间位置,例如可以通过目标平面中的四个角点的空间坐标和空间法向量表征目标平面的空间位置。
步骤130、获取三维模型的标签信息。
在本实施例中,标签信息例如可以是三维模型的描述信息,描述信息的数据形式例如可以是文本信息,也可以是基于文本信息生成的二维图像。作为示例,三维模型的描述信息可以包括以下类型:模型名称;价格信息;物理性质,例如三维模型的尺寸、质量、材料等等。
步骤140、基于目标平面以及标签信息,生成三维标签。
作为示例,执行主体可以首先根据步骤130中获取的标签信息,生成二维的平面标签,例如,可以利用Canvas(画布)预先绘制平面标签,或者通过DOM (Document ObjectModel,文档对象模型)根据三维模型的描述信息,实时生成平面标签。之后,执行主体可以利用CSS(Cascading Style Sheet,层叠样式表) 中的transform应用,根据目标平面的空间位置确定三维矩阵;然后调用其中的 Rotate3d(),利用三维矩阵对平面标签进行3D旋转,将平面标签旋转位移至目标平面的位置,以赋予平面标签空间效果,从而将平面标签转化为三维标签。
步骤150、基于目标点,将三维标签标记在三维模型上。
作为示例,执行主体可以在目标平面中移动三维标签,使得三维标签的附着点与目标点重合,完成三维模型的标记过程。其中,附着点表示三维标签中用于定位标记位置的点,例如可以是三维标签的角点或其他具有代表性的点。再例如,还可以通过目标平面内的连线连接目标点与附着点,使得三维标签可以通过连线附着在三维表型的外部空间。
在一个可选示例中,目标点位于三维模型的表面,目标平面与构成三维模型的外包围盒的平面平行或垂直,可以使三维标签附着在三维模型表面,避免三维标签在三维空间中出现悬空或穿模的现象。
本公开的实施例提供的用于生成三维标签的方法,首先获取待处理的三维场景,并在三维场景中确定三维模型用于标记三维标签的目标点及其所在的目标平面;然后获取三维模型的平面标签,并基于目标平面以及平面标签,生成三维标签;最后基于目标点,将三维标签标记在三维模型上。可以利用三维标签对三维场景中的三维模型进行标记,与二维的平面标签相比,三维标签更能突显三维场景的立体特性,一方面解决了二维标签与三维场景的割裂问题,避免对三维场景的质量造成不利影响;另一方面,允许三维场景中配置更多的三维标签,进而提高三维场景的信息含量。
在本实施例的一些可选的实施方式中,还可以在三维场景中配置三维标签的控制指令,具体的,响应于接收到标签隐藏指令,隐藏三维标签;和/或,响应于接收到标签显示指令,显示三维标签。
例如,标签隐藏指令和标签显示指令可以与终端设备的点击事件绑定。用户在通过智能手机浏览三维场景时,若三维标签对用户的视线造成遮挡,用户可以通过点击屏幕(例如单击)的方式下达标签隐藏指令,以隐藏三维标签;若用户想获取三维对象的信息时,可以通过双击屏幕的方式下达标签显示指令,以显示三维标签。通过控制指令控制三维标签的显隐,可以更灵活地呈现三维标签,有助于提高用户浏览三维场景时的体验。
接着参考图2,图2示出了本公开的用于生成三维标签的方法的一个实施例中确定目标点和目标平面的流程图,如图2所示,该流程包括以下步骤:
步骤210、获取三维模型以及三维模型在三维场景中的位姿信息。
在本实施例中,位姿信息表示三维模型在三维场景中的空间位置和空间姿态,例如可以采用三维矩阵的数据形式。
作为示例,三维模型可以是三维网格模型,执行主体可以通过读取三维模型的模型文件(例如obj、ply等格式的模型文件)获取三维模型。同时,执行主体可以通过根据三维模型在三维场景中的索引(例如可以是编号),从三维场景的数据中调取三维模型的位姿信息。
步骤220、在三维模型中确定用于标记三维标签的参考点及其所在的参考平面。
在本实施例中,参考点表示三维模型中可以标记三维标签的点,参考平面则用于确定三维标签相对于三维模型的相对姿态。
作为示例,参考点可以利用其三维模型的模型坐标系中的坐标表征。参考平面则可以利用参考平面中包含的点(例如可以是角点)在模型坐标系中的坐标和法向量来表征。
步骤230、基于位姿信息,将参考点映射至三维场景,得到目标点。
在本实施例中,执行主体可以利用位姿信息对参考点作空间变换处理,将参考点映射至三维场景,得到目标点。
作为示例,可以利用位姿矩阵表征三维模型的位姿信息,执行主体可以将参考点在模型坐标系中的坐标左乘位姿矩阵,即可达到目标点在三维空间中的空间坐标。
步骤240、在参考平面中确定不共线的至少三个样本点。
根据空间几何原理可知,空间中任意不共线的三个点可以确定一个空间平面。
在本实施例中,样本点用于表征参考平面在三维模型的模型坐标系中的空间位置。例如,可以从参考平面的四个角点中选取3个样本点。
需要说明的是,步骤220中得到的目标点,也可以作为一个样本点,此时只需选取另外两个样本点即可,且目标点与另外两个样本点不共线。
步骤250、基于位姿信息,将至少三个样本点映射至三维场景,得到至少三个映射点。
在本实施例中,映射点表示样本点经空间变换后得到的点,可以理解的是,空间变换过程中不会改变各个点之间的相对位置,因此,三个映射点同样不共线。
步骤260、基于至少三个映射点,在三维场景中确定目标平面。
根据三个点确定一个空间平面的远离,可以根据三个映射点在三维场景中确定目标平面。
作为示例,执行主体可以根据三个映射点在三维场景中的空间坐标,确定目标平面的平面方程,从而得到目标平面。
在图2所示的实施例中,可以通过空间变换将三维模型中的参考点和参考平面映射至三维场景,以此确定目标点和目标平面。与直接在三维场景中选取目标点和目标平面相比,运算量更少,准确度更高。
在本实施例的一些可选的实施方式中,通过步骤220可以在三维模型中确定多个参考点和多个参考平面,每个参考平面对应一个参考点,且构成三维模型的外包围盒的各个平面各自与不同的参考平面平行。
作为示例,执行主体获取到三维模型之后,可以首先生成三维模型的外包围盒,并利用构成外包围盒的六个平面,在三维模型表面上确定六个目标点,每个目标点对应一个平面;然后,分别将该六个平面平移至目标点,即可得到六个参考平面。之后,可以通过步骤230至步骤260得到多个目标点以及每个目标点所在的目标平面。
在本实施例方式中,基于多个参考点及其对应的参考平面,可以通过空间变换得到多个目标点和目标平面,这样一来,可以在三维空间中的不同位置以不同姿态同时呈现三维标签,从而丰富三维标签的空间位姿。
在此实施方式的基础上参考图3,图3示出了本公开的生成三维标签的又一个实施例的流程图,如图3所示,该流程包括以下步骤:
步骤310、获取待处理的三维场景,三维场景中包括待标记的三维模型。
步骤320、在三维场景中确定三维模型用于标记三维标签的目标点及其所在的目标平面。
在本实施例中,执行主体通过图2所示的实施例确定多个目标点以及每个目标点所在的目标平面。
步骤330、获取三维模型的标签信息。
步骤340、基于三维场景对应的相机的位姿和参数,构建三维场景的视锥。
在本实施例中,相机可以对应用户浏览三维场景时的位置,以此构建的视锥可以表示用户浏览三维场景时的视野。
作为示例,相机的位姿可以包括相机在三维场景中的坐标和朝向,相机参数可以包括相机视锥体的垂直视野角度、视锥体长宽比、视锥体近端面以及视锥体远端面。
步骤350、将位于视锥的视角之外的目标点及其所在的目标平面删除。
在本实施例中,视锥的视角可以表征用户在浏览三维场景时的视野,用户只能观看到视角之内的场景区域,而无法观看到视角之外的场景区域。
步骤360、基于射线碰撞检测,确定视角内被遮挡的目标点,并删除被遮挡的目标点及其所在的目标平面。
通常,三维场景中包括多个三维模型时,靠近视锥体前端面的三维模型会对后面的三维模型造成遮挡。执行主体可以采用射线碰撞的方式检测出视角内被遮挡的目标点及其所在的目标平面,并予以删除。
在本实施例的一些可选的实施方式中,还可以根据预设条件进一步对目标点进行过滤,当目标点满足以下任一条件时,将目标点及其所在的目标平面删除:目标点与相机的距离大于第一预设距离或小于第二预设距离;目标平面与视角的夹角大于预设角度;目标点的预设空间内包含的其他三维标签的目标点的数量大于预设数量。
在本实施方式中,目标点与相机的距离大于第一预设距离表示目标点距离相机(即用户所处的点位)过远;目标点与相机的距离大小于第二预设距离表示目标点距离相机过近;目标平面与视角的夹角大于预设角度时,基于该目标点和目标平面生成的三维标签会对后面的三维场景区域造成遮挡;目标点的预设空间内包含的其他三维标签的目标点的数量大于预设数量,表示目标点周围存在的三维标签的数量过多。将符合条件的目标点及其所在的目标平面删除,可以避免在这些位置生成的三维标签对用户浏览三维场景时造成不利影响,例如遮挡用户视线等,进一步提高三维场景与真实场景的匹配程度。
步骤370、基于目标平面以及标签信息,生成三维标签。
步骤380、基于目标点,将三维标签标记在三维模型上。
从图3可以看出,图3的实施例体现了基于可见性对目标点进行过滤的步骤,保留可见的目标点及其所在的目标平面,仅在可视范围内生成三维标签,使得三维标签的展示逻辑更符合真实场景。
在上述实施例的一些可选实现方式中,可以采用生长动画和消失动画,在三维场景中呈现三维标签。
作为示例,执行主体可以通过CSS为三维标签设置transition(过渡)属性,并结合animation(动画)功能,为三维标签设置生长动画和消失动画。生长动画是指通过模拟植物生长的方式,逐步地、平滑地在三维场景中呈现三维标签。消失动画则是与生长动画相反,逐步地、平滑地在三维场景中隐藏三维标签。与帧动画相比,生长动画和消失动画可以更生动、更形象地呈现三维标签。
进一步的,响应于确定三维标签在三维场景中的高度大于预设高度,采用反向的生长动画和反向的消失动画,呈现三维标签。
通常,三维标签的生长动画的生长方向是由低到高的方向。当三维标签在三维场景中的高度过高时,可以将生产动画的生长方向设置为由高到低的方向,即实现反向的生长动画。同理可以实现反向的消失动画,以此可以使用户更直观、更方便地浏览三维标签。
作为示例,旗杆动画的生长方向是向上生长的,三维标签中的文字位于顶部。当采用反向的生长动画时,生长方向是向下生长的,文字位于底部,可以使用户更方便地浏览三维标签中的内容。
示例性装置
下面参考图4,图4示出了本公开的一种用于生成三维标签的装置的一个实施例的结构示意图,如图4所示,该装置包括:场景单元410,被配置成获取待处理场景,三维场景中包括待标记的三维模型;确定单元420,被配置成在三维场景中确定三维模型用于标记三维标签的目标点及其所在的目标平面;获取单元 430,被配置成获取三维模型的标签信息;生成单元440,被配置成基于目标平面以及标签信息,生成三维标签;标记单元450被配置成基于目标点,将三维标签标记在三维模型上。
在其中一个实施例中,确定单元420进一步包括:模型获取模块,被配置成获取三维模型以及三维模型在三维场景中的位姿信息;参考确定模块,被配置成在三维模型中确定用于标记三维标签的参考点及其所在的参考平面;第一映射模块,被配置成基于位姿信息,将参考点映射至三维场景,得到目标点;样本点确定模块,被配置成在参考平面中确定不共线的至少三个样本点;第二映射模块,被配置成基于位姿信息,将至少三个样本点映射至三维场景,得到至少三个映射点;平面确定模块,被配置成基于至少三个映射点,在三维场景中确定目标平面。
在其中一个实施例中,参考确定模块被进一步配置成在三维模型中确定多个参考点和多个参考平面,每个参考平面对应一个参考点,且构成三维模型的外包围盒的各个平面各自与不同的参考平面平行。
在其中一个实施例中,该装置包括:视锥单元,被配置成基于三维场景对应的相机的位姿和参数,构建三维场景的视锥;第一过滤单元,被配置成将位于视锥的视角之外的目标点删除;第二过滤单元,被配置成基于射线碰撞检测,确定视角内被遮挡的目标点及其所在的目标平面,并删除被遮挡的目标点。
在其中一个实施例中,该装置包括:第三过滤单元,被配置成响应于确定目标点满足任一预设条件,删除目标点及其目标平面,预设条件包括:目标点与相机的距离大于第一预设距离或小于第二预设距离;目标平面与视角的夹角大于预设角度;目标点的预设空间内包含的其他三维标签的目标点的数量大于预设数量。
在其中一个实施例中,该装置还包括:显示单元,被配置成响应于接收到标签隐藏指令,隐藏三维标签;和/或,隐藏单元,被配置成响应于接收到标签显示指令,显示三维标签。
在其中一个实施例中,标记单元450还包括动画模块,被配置成采用生长动画和消失动画,在三维场景中呈现三维标签。
在其中一个实施例中,动画模块还被配置成:响应于确定三维标签在三维场景中的高度大于预设高度,采用反向的生长动画和反向的消失动画,呈现三维标签。
另外,本公开实施例还提供了一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述存储器中存储的计算机程序,且所述计算机程序被执行时,实现本公开上述任一实施例所述的用于生成三维标签的方法。
图5为本公开电子设备一个应用实施例的结构示意图。下面,参考图5来描述根据本公开实施例的电子设备。该电子设备可以是第一设备和第二设备中的任一个或两者、或与它们独立的单机设备,该单机设备可以与第一设备和第二设备进行通信,以从它们接收所采集到的输入信号。
如图5所示,电子设备包括一个或多个处理器和存储器。
处理器可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备中的其他组件以执行期望的功能。
存储器可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache) 等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器可以运行所述程序指令,以实现上文所述的本公开的各个实施例的用于生成三维标签的方法以及/或者其他期望的功能。
在一个示例中,电子设备还可以包括:输入装置和输出装置,这些组件通过总线***和/或其他形式的连接机构(未示出)互连。
此外,该输入设备还可以包括例如键盘、鼠标等等。
该输出装置可以向外部输出各种信息,包括确定出的距离信息、方向信息等。该输出设备可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
当然,为了简化,图5中仅示出了该电子设备中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备还可以包括任何其他适当的组件。
除了上述方法和设备以外,本公开的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述部分中描述的根据本公开各种实施例的用于生成三维标签的方法中的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述部分中描述的根据本公开各种实施例的用于生成三维标签的方法中的步骤。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于***实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本公开中涉及的器件、装置、设备、***的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、***。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
可能以许多方式来实现本公开的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
还需要指出的是,在本公开的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。
提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。
Claims (9)
1.一种用于生成三维标签的方法,其特征在于,包括:
获取待处理的三维场景,所述三维场景中包括待标记的三维模型;
在所述三维场景中确定所述三维模型用于标记三维标签的目标点及其所在的目标平面;
获取所述三维模型的标签信息;
基于所述目标平面以及所述标签信息,生成三维标签;
基于所述目标点,将所述三维标签标记在所述三维模型上;
其中,在所述三维场景中确定所述三维模型用于标记三维标签的目标点及其所在的目标平面,包括:获取所述三维模型以及所述三维模型在所述三维场景中的位姿信息;在所述三维模型中确定用于标记三维标签的参考点及其所在的参考平面;基于所述位姿信息,将所述参考点映射至所述三维场景,得到所述目标点;在所述参考平面中确定不共线的至少三个样本点;基于所述位姿信息,将所述至少三个样本点映射至所述三维场景,得到至少三个映射点;基于所述至少三个映射点,在所述三维场景中确定所述目标平面。
2.根据权利要求1所述的方法,其特征在于,在所述三维模型中确定用于标记三维标签的参考点及其所在的参考平面,包括:
在所述三维模型中确定多个所述参考点和多个所述参考平面,每个所述参考平面对应一个所述参考点,且构成所述三维模型的外包围盒的各个平面各自与不同的所述参考平面平行。
3.根据权利要求2所述的方法,其特征在于,基于所述目标平面以及所述标签信息,生成三维标签之前,所述方法还包括:
基于所述三维场景对应的相机的位姿和参数,构建所述三维场景的视锥;
将位于所述视锥的视角之外的目标点及其所在的目标平面删除;
基于射线碰撞检测,确定所述视角内被遮挡的目标点,并删除所述被遮挡的目标点及其所在的目标平面。
4.根据权利要求3所述的方法,其特征在于,基于所述目标平面以及所述标签信息,生成三维标签之前,所述方法还包括:
响应于确定所述目标点满足预设条件中的任一项,删除所述目标点及其所在的目标平面,所述预设条件包括:所述目标点与所述相机的距离大于第一预设距离或小于第二预设距离;所述目标平面与所述视角的夹角大于预设角度;所述目标点的预设空间内包含的其他三维标签的目标点的数量大于预设数量。
5.根据权利要求1所述的方法,其特征在于,将所述三维标签标记在所述三维模型上之后,所述方法还包括:
响应于接收到标签隐藏指令,隐藏所述三维标签;和/或,
响应于接收到标签显示指令,显示所述三维标签。
6.根据权利要求1至5之一所述的方法,其特征在于,将所述三维标签标记在所述三维模型上,包括:
采用生长动画和消失动画的方式在所述三维场景中呈现所述三维标签。
7.根据权利要求6所述的方法,其特征在于,采用生长动画和消失动画,在所述三维场景中呈现所述三维标签,包括:
响应于确定所述三维标签在所述三维场景中的高度大于预设高度,采用反向的生长动画和反向的消失动画,呈现所述三维标签。
8.一种用于生成三维标签的装置,其特征在于,包括:
场景单元,被配置成获取待处理的三维场景,所述三维场景中包括待标记的三维模型;
确定单元,被配置成在所述三维场景中确定所述三维模型用于标记三维标签的目标点及其所在的目标平面;
获取单元,被配置成获取所述三维模型的标签信息;
生成单元,被配置成基于所述目标平面以及所述标签信息,生成三维标签;
标记单元,被配置成基于所述目标点,将所述三维标签标记在所述三维模型上;
其中,所述确定单元包括:模型获取模块,被配置成获取所述三维模型以及所述三维模型在所述三维场景中的位姿信息;参考确定模块,被配置成在所述三维模型中确定用于标记三维标签的参考点及其所在的参考平面;第一映射模块,被配置成基于所述位姿信息,将所述参考点映射至所述三维场景,得到所述目标点;样本点确定模块,被配置成在所述参考平面中确定不共线的至少三个样本点;第二映射模块,被配置成基于所述位姿信息,将所述至少三个样本点映射至所述三维场景,得到至少三个映射点;平面确定模块,被配置成基于所述至少三个映射点,在所述三维场景中确定所述目标平面。
9.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,该计算机程序指令被处理器执行时,实现上述权利要求1-7任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210427457.5A CN114758075B (zh) | 2022-04-22 | 2022-04-22 | 用于生成三维标签的方法、装置和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210427457.5A CN114758075B (zh) | 2022-04-22 | 2022-04-22 | 用于生成三维标签的方法、装置和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114758075A CN114758075A (zh) | 2022-07-15 |
CN114758075B true CN114758075B (zh) | 2023-03-24 |
Family
ID=82330496
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210427457.5A Active CN114758075B (zh) | 2022-04-22 | 2022-04-22 | 用于生成三维标签的方法、装置和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114758075B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115946353B (zh) * | 2022-12-30 | 2023-10-27 | 深圳市纵维立方科技有限公司 | 待打印模型的标签设置方法、计算机设备和可读存储介质 |
CN116049505B (zh) * | 2023-04-03 | 2023-06-23 | 杭州美创科技股份有限公司 | 屏幕空间标签碰撞检测方法、装置、计算机设备及存储介质 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB9930850D0 (en) * | 1999-12-24 | 2000-02-16 | Koninkl Philips Electronics Nv | 3D environment labelling |
US9530239B2 (en) * | 2013-11-14 | 2016-12-27 | Microsoft Technology Licensing, Llc | Maintaining 3D labels as stable objects in 3D world |
US20150130792A1 (en) * | 2013-11-14 | 2015-05-14 | Microsoft Corporation | Integration of labels into a 3d geospatial model |
CN104680588B (zh) * | 2015-02-13 | 2017-11-24 | 上海同筑信息科技有限公司 | 基于bim的事件标示方法和*** |
CN105825551A (zh) * | 2016-03-11 | 2016-08-03 | 广州视睿电子科技有限公司 | 三维标签实现方法和装置 |
CN106504336A (zh) * | 2016-11-08 | 2017-03-15 | 煤炭科学技术研究院有限公司 | 一种数字矿山综合管理方法和*** |
CN109685899A (zh) * | 2018-12-25 | 2019-04-26 | 成都四方伟业软件股份有限公司 | 三维可视化标注管理***、方法和计算机存储介质 |
CN110503718B (zh) * | 2019-08-20 | 2023-12-05 | 上海航空工业(集团)有限公司 | 三维工程模型轻量化显示方法 |
CN111696216B (zh) * | 2020-06-16 | 2023-10-03 | 浙江大华技术股份有限公司 | 三维增强现实全景融合方法及*** |
CN111881985B (zh) * | 2020-07-30 | 2024-04-30 | 中国空间技术研究院 | 立体匹配方法、装置、终端和存储介质 |
CN114140528A (zh) * | 2021-11-23 | 2022-03-04 | 北京市商汤科技开发有限公司 | 数据标注方法、装置、计算机设备及存储介质 |
-
2022
- 2022-04-22 CN CN202210427457.5A patent/CN114758075B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN114758075A (zh) | 2022-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11200617B2 (en) | Efficient rendering of 3D models using model placement metadata | |
US10755485B2 (en) | Augmented reality product preview | |
CN114758075B (zh) | 用于生成三维标签的方法、装置和存储介质 | |
CA3138907C (en) | System and method for interactive projection | |
US7616834B2 (en) | System for delivering and enabling interactivity with images | |
KR101787588B1 (ko) | 그래픽 객체의 조작 | |
US9087413B2 (en) | System for delivering and enabling interactivity with images | |
JP2021514089A (ja) | 物理的操作を用いたオブジェクト作成 | |
CN101025768A (zh) | 零件目录***、生成零件目录的方法和程序、及存贮编程程序的记录媒体 | |
US11893696B2 (en) | Methods, systems, and computer readable media for extended reality user interface | |
CN114842175B (zh) | 三维标签的交互呈现方法、装置、设备和介质 | |
WO2024088249A1 (zh) | 用于显示信息的方法、装置、电子设备、介质及产品 | |
CN114898076A (zh) | 模型标签的添加方法、装置、电子设备及存储介质 | |
US7079139B2 (en) | Method and system for measuring an item depicted in an image | |
CN111562845B (zh) | 用于实现三维空间场景互动的方法、装置和设备 | |
US11562538B2 (en) | Method and system for providing a user interface for a 3D environment | |
CN115512046B (zh) | 模型外点位的全景图展示方法和装置、设备、介质 | |
CN114170381A (zh) | 三维路径展示方法、装置、可读存储介质及电子设备 | |
JP2004151979A (ja) | 電子カタログ用索引自動作成システム | |
KR20180071492A (ko) | 키넥트 센서를 이용한 실감형 콘텐츠 서비스 시스템 | |
US20230008224A1 (en) | Visualization of complex data | |
CN116416367A (zh) | 资产管理方法、装置、电子设备及存储介质 | |
CN114020254A (zh) | 数据生成方法、装置、存储介质和电子设备 | |
JPWO2021173824A5 (zh) | ||
CN115455552A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |