CN111815788B - 三维地图处理方法、装置、设备和存储介质 - Google Patents
三维地图处理方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN111815788B CN111815788B CN202010708793.8A CN202010708793A CN111815788B CN 111815788 B CN111815788 B CN 111815788B CN 202010708793 A CN202010708793 A CN 202010708793A CN 111815788 B CN111815788 B CN 111815788B
- Authority
- CN
- China
- Prior art keywords
- coordinate system
- coordinate
- projection
- dimensional
- candidate
- 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
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Architecture (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Processing Or Creating Images (AREA)
Abstract
本公开提供了一种三维地图处理方法、装置、设备和存储介质。其中,该三维地图处理方法包括:获取所述三维地图中待剔除区域的边界信息;基于所述边界信息,在第一坐标系下生成与所述待剔除区域相关联的剔除匹配模板;在第二坐标系下,确定所述三维地图中的候选三维元素在给定平面上的垂直投影坐标,所述给定平面为所述待剔除区域在所述第二坐标系下所对应的平面;基于所述候选三维元素在所述给定平面上的所述垂直投影坐标,确定所述候选三维元素在所述第一坐标系下所对应的第一坐标;以及在所述第一坐标系下,基于所述垂直投影坐标所对应的第一坐标、以及与所述待剔除区域相关联的剔除匹配模板,确定是否剔除所述候选三维元素。
Description
技术领域
本公开涉及图形处理技术,更具体地,涉及三维地图处理方法、装置、设备和存储介质。
背景技术
为了满足三维(3D)室内地图在三维地图上的叠加显示,以及其他应用场景下在三维地图上添加自定义模型的需求,三维地图需要提供区域剔除的能力,以避免叠加模型与现有地图立体元素的重叠或碰撞冲突。现有方案一般使用数学上的几何方法进行碰撞计算,在数据处理阶段将剔除区域多边形与底图元素进行二维平面内的碰撞计算,例如,进行特定点是否在多边形内、或者多边形与多边形是否相交等判断。然而,现有的几何碰撞方案会造成巨大的计算开销,导致CPU占用率较高。另一方面,现有的几何碰撞方案不适合剔除区域动态变化的应用场景。
因此,需要一种方案简便、计算开销小、并且能够适应渲染目标的动态变化的优效区域剔除方法。
发明内容
本公开的实施例提供了一种三维地图处理方法,包括:获取所述三维地图中待剔除区域的边界信息;基于所述边界信息,在第一坐标系下生成与所述待剔除区域相关联的剔除匹配模板;在第二坐标系下,确定所述三维地图中的候选三维元素在给定平面上的垂直投影坐标,所述给定平面为所述待剔除区域在所述第二坐标系下所对应的平面;基于所述候选三维元素在所述给定平面上的所述垂直投影坐标,确定所述候选三维元素在所述第一坐标系下所对应的第一坐标;以及在所述第一坐标系下,基于所述垂直投影坐标所对应的第一坐标、以及与所述待剔除区域相关联的剔除匹配模板,确定是否剔除所述候选三维元素。
根据本公开的实施例,其中,基于所述边界信息,在第一坐标系下生成与所述待剔除区域相关联的剔除匹配模板包括:在所述第一坐标系下,生成用于所述三维地图的初始匹配模板,其中,基于所述三维地图的显示尺寸确定所述初始匹配模板的尺寸,并且按照预定分辨率设置所述初始匹配模板的像素分辨率;以及基于所述待剔除区域的边界信息,在所述初始匹配模板中,将所述待剔除区域所对应的像素设置为具有第一像素值,并且将其余像素设置为具有不同于所述第一像素值的第二像素值,以生成所述剔除匹配模板。
根据本公开的实施例,其中,确定所述三维地图中的候选三维元素在给定平面上的垂直投影坐标包括:获取所述候选三维元素在所述第二坐标系下的坐标,作为第二坐标;确定所述待剔除区域在所述第二坐标系下所对应的平面作为所述给定平面;以及基于所述第二坐标确定所述候选三维元素在所述给定平面上的垂直投影坐标。
根据本公开的实施例,其中,获取所述候选三维元素在所述第二坐标系下的坐标作为第二坐标包括:获取所述候选三维元素的顶点在所述第二坐标系下的坐标,作为所述第二坐标。
根据本公开的实施例,其中,获取所述候选三维元素在所述第二坐标系下的坐标作为第二坐标包括:获取所述候选三维元素的形心点在所述第二坐标系下的坐标,作为所述第二坐标。
根据本公开的实施例,其中,确定所述候选三维元素在所述第一坐标系下所对应的第一坐标包括:确定所述第一坐标系与所述第二坐标系之间的坐标变换关系;以及基于所述坐标变换关系,对所述垂直投影坐标进行坐标变换,以确定所述候选三维元素的所述垂直投影坐标在所述第一坐标系下所对应的第一坐标。
根据本公开的实施例,其中,所述第一坐标系为纹理坐标系,所述第二坐标系为空间坐标系;其中,确定所述第一坐标系与所述第二坐标系之间的坐标变换关系包括:确定所述第一坐标系与投影坐标系之间的视图投影关系;确定所述投影坐标系与所述第二坐标系之间的平移缩放关系;以及基于所述视图投影关系和所述平移缩放关系,确定所述第一坐标系与所述第二坐标系之间的坐标变换关系。
根据本公开的实施例,其中,确定所述第一坐标系与投影坐标系之间的视图投影关系包括:确定虚拟相机的拍摄参数,其中,所述拍摄参数包括所述虚拟相机的空间位置和拍摄角度,所述虚拟相机的拍摄参数与所述投影坐标系相关联;确定投影平面的投影参数,其中,所述投影参数包括所述投影平面的投影窗口位置,所述投影平面的投影参数与所述投影坐标系相关联;以及基于所述虚拟相机的拍摄参数和所述投影平面的投影参数,确定所述第一坐标系与投影坐标系之间的视图投影关系。
根据本公开的实施例,其中,所述视图投影关系为从所述第一坐标系到所述投影坐标系的视图投影矩阵;所述平移缩放关系为从所述投影坐标系到所述第二坐标系的平移缩放矩阵;其中,确定所述候选三维元素的所述垂直投影坐标在所述第一坐标系下所对应的第一坐标包括:基于所述候选三维元素的所述垂直投影坐标、所述视图投影矩阵以及所述平移缩放矩阵,确定所述第一坐标。
根据本公开的实施例,其中,基于所述候选三维元素的所述垂直投影坐标、所述视图投影矩阵以及所述平移缩放矩阵,确定所述第一坐标包括:基于所述垂直投影坐标以及所述视图投影矩阵,生成所述垂直投影坐标在所述投影坐标系下所对应的第三坐标;以及基于所述第三坐标以及所述平移缩放矩阵,确定所述候选三维元素的所述垂直投影坐标在所述第一坐标系下所对应的第一坐标。
根据本公开的实施例,其中,在所述第一坐标系下,基于所述垂直投影坐标所对应的第一坐标、以及与所述待剔除区域相关联的剔除匹配模板,确定是否剔除所述候选三维元素包括:在所述剔除匹配模板中获取与所述第一坐标相对应的像素值;以及在所述像素值的至少一部分为第一像素值的情况下,确定剔除所述候选三维元素。
本公开的实施例提供了一种三维地图处理装置,包括:获取模块,用于获取所述三维地图中待剔除区域的边界信息;模板生成模块,用于基于所述边界信息,在第一坐标系下生成与所述待剔除区域相关联的剔除匹配模板;投影确定模块,用于在第二坐标系下,确定所述三维地图中的候选三维元素在给定平面上的垂直投影坐标,所述给定平面为所述待剔除区域在所述第二坐标系下所对应的平面;坐标变换模块,用于基于所述候选三维元素在所述给定平面上的所述垂直投影坐标,确定所述候选三维元素在所述第一坐标系下所对应的第一坐标;以及模板匹配模块,用于在所述第一坐标系下,基于所述垂直投影坐标所对应的第一坐标、以及与所述待剔除区域相关联的剔除匹配模板,确定是否剔除所述候选三维元素。
根据本公开的实施例,其中,在所述第一坐标系下,基于所述垂直投影坐标所对应的第一坐标、以及与所述待剔除区域相关联的剔除匹配模板,确定是否剔除所述候选三维元素包括:在所述剔除匹配模板中获取与所述第一坐标相对应的像素值;以及在所述像素值的至少一部分为第一像素值的情况下,确定剔除所述候选三维元素。
本公开的实施例提供了一种三维地图处理设备,包括:处理器;和存储器,其上存储有计算机可执行指令,所述指令在被处理器执行时用于实现如上所述的方法。
本公开的实施例提供了一种计算机可读存储介质,其上存储有计算机可执行指令,所述指令在被处理器执行时用于实现如上所述的方法。
本公开的实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行根据本公开实施例的三维地图处理方法。
本公开的实施例提供了一种三维地图处理方法、装置、设备和存储介质。本公开的实施例提供的三维地图处理方法通过在帧缓冲中渲染剔除区域多边形形成二值化的模板纹理,然后在渲染底图元素(例如建筑物、兴趣点(POI)等)时,将其顶点坐标二维化后转换到纹理坐标系,并通过纹理像素确定是否丢弃该元素,方案简便、计算复杂度低,避免了在CPU中进行坐标转换和几何碰撞的大量计算开销,提升了运行性能。此外,本方法的实现过程均发生在渲染阶段,与其他模块解耦,能够适应渲染目标(或剔除区域)的动态变化。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例的描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本公开的一些示例性实施例,对于本领域普通技术人员来说,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1示出了根据本公开的实施例的三维地图处理方法的应用场景示意图。
图2示出了一种基于几何碰撞的位置比对方法的处理示意图。
图3示出了一种基于几何碰撞的分离轴算法的处理示意图。
图4示出了根据本公开实施例的基于模板测试的三维地图处理方法的流程图。
图5示出了根据本公开实施例的基于模板测试的三维地图处理方法的处理示意图。
图6示出了根据本公开实施例的从二维平面到屏幕空间的空间变换过程的示意图。
图7示出了根据本公开实施例的三维地图处理方法的流程图。
图8a和图8b分别示出了根据本公开实施例的在纹理坐标系下基于待剔除区域的边界信息生成的剔除匹配模板及其对应的纹理图像的示意图。
图9示出了根据本公开实施例的候选三维元素的垂直投影示意图。
图10示出了根据本公开实施例的坐标变换过程示意图。
图11示出了根据本公开实施例的根据剔除匹配模板确定是否剔除候选三维元素的示意图。
图12示出了根据本公开实施例的三维地图处理方法的示例性处理流程。
图13示出了根据本公开实施例的三维地图处理装置的示意图。
图14示出了根据本公开实施例的三维地图处理设备的示意图。
具体实施方式
为了使得本公开的目的、技术方案和优点更为明显,下面将参考附图详细描述根据本公开的示例实施例。显然,所描述的实施例仅仅是本公开的一部分实施例,而不是本公开的全部实施例,应理解,本公开不受这里描述的示例实施例的限制。
在本说明书和附图中,基本上相同或相似的步骤和元素用相同或相似的附图标记来表示,并且对这些步骤和元素的重复描述将被省略。同时,在本公开的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性或排序。
在本说明书和附图中,根据实施例,元素以单数或复数的形式来描述。然而,单数和复数形式被适当地选择用于所提出的情况仅仅是为了方便解释而无意将本公开限制于此。因此,单数形式可以包括复数形式,并且复数形式也可以包括单数形式,除非上下文另有明确说明。
本公开的实施例涉及三维地图的图形处理场景,为便于理解,以下首先介绍与本公开的实施例相关的一些基本概念。
OpenGL:开放图形库(Open Graphics Library),是一种用于渲染二维、三维矢量图形等的跨语言、跨平台的应用编程接口。
WebGL:Web图形库(Web Graphics Library),是一种三维绘图协议,这种绘图技术标准允许把JavaScript和OpenGL ES 2.0结合在一起,在浏览器中通过画布(canvas)标签呈现二维或三维图形。
帧缓冲:OpenGL或WebGL渲染图形时需要颜色缓冲区用于写入颜色,深度缓冲区用于写入深度信息,以及指定丢弃片段的模板缓冲区,这三者结合起来称为帧缓冲。
模板测试:在片元(例如,像素)处理过程中,通过模板缓冲区中的模板值确定是否舍弃对应片元。
下面将结合附图对本公开的实施例进行进一步地描述。
图1示出了根据本公开的实施例的三维地图处理方法的应用场景示意图。具体地,图1示出了室内外一体化三维地图100的应用场景。
如图1左边部分所示,在室外地图显示模式下,室内外一体化三维地图100可以在地图显示界面上呈现包括多个底图元素(三维建筑物、兴趣点(POI)等,诸如三维元素102、三维元素103)的室外地图。在一个实施例中,当对地图上的特定区域,例如,某个商场建筑物所对应的区域,进行进一步放大时,室内外一体化三维地图100可以进入室内地图显示模式。在这种情况下,室内外一体化三维地图100可以将该商场的室内地图所对应的区域确定为待剔除区域101,并将当前正在呈现的候选三维元素(例如,三维元素102、三维元素103)与待剔除区域101进行位置比对,将位于待剔除区域101内部或者与待剔除区域101至少部分重叠的三维元素(例如,三维元素102)剔除,并在待剔除区域101内呈现该商场所对应的室内地图元素104(例如,商场内部各楼层的各个商户的二维地图),如图1右边部分所示。
为此,图2示出了一种基于几何碰撞的位置比对方法200的处理示意图。
如图2所示,可以在数据处理阶段将待剔除区域101与候选三维元素(例如,三维元素202、三维元素203和三维元素204等)进行二维平面内的碰撞计算,例如,可以判断各个候选三维元素在待剔除区域101所对应的平面上的二维投影是否位于待剔除区域101内、或者是否与待剔除区域101相交等。例如,在如图2所示的情况下,可以基于判断结果,将二维投影位于待剔除区域101内部的三维元素202和203确定为需剔除元素,而将三维元素204确定为无需剔除元素。
然而,如图2所示的几何碰撞方案可能会造成巨大的计算开销,导致CPU占用率较高。一是因为底图上的候选元素数量众多且类型复杂(包括点、线、面、体等元素),一般地,整个屏幕大约包括20~40个瓦片(tile),而每个瓦片大约包括100~600个底图元素,因此计算量大;二是因为几何碰撞算法较复杂,涉及到复杂多边形的相交、包含等情况的判断,最直接的算法是遍历候选元素的顶点来判断候选元素和待剔除区域的关系,但是在存在n个顶点的情况下,复杂度将达到O(n2)。
图3示出了一种基于几何碰撞的分离轴算法300的处理示意图。如图3所示,以候选元素301和待剔除区域四边形302为例,可以为待进行位置比对的候选元素301和待剔除区域四边形302的所有边(例如,边1-7)分别确定一个与其相垂直的平面(例如,平面1’-7’),然后判断候选元素301和待剔除区域四边形302在每个平面上的投影是否相交。在一个实施例中,如果候选元素301和待剔除区域四边形302在至少一个平面上的投影不相交,则可以确定候选元素301和待剔除区域四边形302不相交。
为了简化描述,图3仅示出了候选元素301和待剔除区域四边形302在平面1’和2’上的投影。如图3所示,候选元素301和待剔除区域四边形302在平面1’上的投影301-1’和301-1’相交,而在平面2’上的投影301-2’和302-2’不相交。因此,在一个实施例中,按照上述判断规则,可以基于候选元素301和待剔除区域四边形302在至少一个平面(例如,平面2’)上的投影不相交来确定候选元素301和待剔除区域四边形302不相交。
如图3所示的分离轴算法300处理效率相对较高,然而其一般适用于凸多边形的情况,在凹多边形的情况下,需要首先将凹多边形拆解为凸多边形的组合,然后再进行后续处理,因此可能会增大计算开销。
另一方面,在本公开所涉及的三维地图渲染中,一般地,为了提升渲染性能,可以将底图上同类型的元素(例如,多个三维建筑物、或者多个POI等)合并后再进行批量绘制,这就要求在渲染阶段之前的数据解析阶段将瓦片内的同类型元素经三角剖分后的顶点数据进行合并,并对解析后的数据进行缓存,以避免重复处理。然而,如图2或图3所示的碰撞计算是针对单个元素的处理,因此必须在三角剖分、数据合并及缓存等步骤之前进行。当剔除区域(例如,待剔除区域101或待剔除区域四边形302)进行动态变化时,例如用户动态移动地图显示窗口、动态加载或移除三维覆盖物等时,则需要重新进行碰撞计算,重新进行底图元素的剔除,然后对无需剔除的底图元素重新执行如上所述的数据解析过程,从而可能会造成巨大计算开销。因此,如图2或图3所示的碰撞计算方案不适合剔除区域动态变化的应用场景。
针对于此,本公开的实施例提供了一种三维地图处理方法400,该方法可以在渲染过程中实现元素剔除,相较于如图2或图3所示的碰撞计算方案可以大大降低计算量,并且能够适应剔除区域的动态变化。具体地,图4示出了根据本公开实施例的基于模板测试的三维地图处理方法400的流程图,并且图5示出了根据本公开实施例的基于模板测试的三维地图处理方法400的处理示意图。
具体地,以OpenGL或WebGL处理场景为例进行描述。在OpenGL或WebGL中,模板测试是指在片元(例如,像素)处理过程中,通过模板缓冲区中的模板值确定是否舍弃对应片元。如图4和图5所示,在一个实施例中,首先,在步骤S401中,可以将包括所有底图元素的地图数据渲染进颜色缓冲区501(即,对应于最终呈现的屏幕空间)。然后,在步骤S402中,可以基于待剔除区域的边界信息(例如,待剔除区域的边界经纬度信息)在帧缓冲中的模板缓冲区中生成对应的剔除匹配模板502。例如,如图5所示,可以将待剔除区域所对应的像素设置为具有第一像素值(例如,0),而将剔除匹配模板502中的其余像素设置为具有不同于第一像素值的第二像素值(例如,1)。接下来,在步骤S403中,可以基于模板缓冲区中生成的剔除匹配模板502对颜色缓冲区501中的像素进行模板测试。在一个实施例中,可以根据颜色缓冲区501中的特定像素在剔除匹配模板502中的对应位置处的像素值来确定在后续渲染呈现中是否舍弃该特定像素。例如,若颜色缓冲区501中的特定像素在剔除匹配模板502中的对应位置处的像素值为0,则可以确定在后续渲染呈现中将舍弃该特定像素,若颜色缓冲区501中的特定像素在剔除匹配模板502中的对应位置处的像素值为1,则可以确定在后续渲染呈现中将不舍弃该特定像素。如图5所示,经过模板匹配之后,在模板匹配结果503中,剔除区域504所对应的像素被舍弃。
仍以OpenGL或WebGL为例,上述的模板匹配或模板测试过程一般在片元着色器阶段之后进行。也就是说,在这种情况下,一般只能在屏幕空间下对颜色缓冲区中的像素进行模板匹配和剔除处理。这里,屏幕空间可以是与显示屏幕相对应的最终显示空间,其可以以二维平面的形式展示三维的图形元素(例如,伪3D图形)。图6示出了根据本公开实施例的从二维平面到屏幕空间的空间变换过程600的示意图。
在如图6所示的实施例中,在二维平面下,待剔除区域601为正方形,三维元素602的投影位于待剔除区域601内部,而三维元素603的投影位于待剔除区域601外部。然而,经过空间变换后,在屏幕空间下,待剔除区域601从正方形变换为平行四边形形态的待剔除区域601’,而三维元素602和三维元素603增加了深度(即,高度)维度,从正方形变成了立方体形态的三维元素602’和三维元素603’。因此,如图6所示,若在屏幕空间下进行模板匹配和剔除处理,三维元素603’(或其部分)可能将被误剔除,而三维元素602’可能将无法被完整剔除。
针对于此,本公开的实施例进一步提供了改进的三维地图处理方法700,如图7所示。
图7示出了根据本公开实施例的三维地图处理方法700的流程图。
如图7所示,首先,在步骤S701中,可以获取三维地图中待剔除区域的边界信息。在一个实施例中,待剔除区域可以是一个二维平面区域,待剔除区域的边界信息可以是待剔除区域的边界经纬度信息。例如,以图6中的待剔除区域601为例,待剔除区域601的上下边界可以分别为相对于特定地图原点的北纬30°31'38”和北纬30°31'26”,而左右边界可以分别为相对于该特定地图原点的东经135°35'25”和东经135°35'39”。在一个实施例中,待剔除区域的边界信息也可以是在地图平面坐标系下或者三维空间坐标系下表征该待剔除区域的顶点的二维坐标或三维坐标。在其他实施例中,待剔除区域的边界信息还可以是能够表征待剔除区域的范围的任何其他形式的信息。
在步骤S702中,可以基于边界信息,在第一坐标系下生成与待剔除区域相关联的剔除匹配模板。
具体地,图8a和图8b分别示出了根据本公开实施例的在纹理坐标系下基于待剔除区域的边界信息生成的剔除匹配模板810及其对应的纹理图像820的示意图。
如图8a所示,在一个实施例中,第一坐标系可以是纹理坐标系,并且可以在纹理坐标系下生成用于三维地图的初始匹配模板。在该实施例中,可以基于三维地图的显示尺寸确定该初始匹配模板的尺寸。具体地,可以基于将用于显示该三维地图的显示屏幕(未示出)的尺寸来确定用于该三维地图的初始匹配模板的尺寸。例如,在一个实施例中,可以直接将用于显示该三维地图的显示屏幕的尺寸确定为初始匹配模板的尺寸,或者可以将用于显示该三维地图的显示屏幕的尺寸进行一定比例的缩放之后的尺寸确定为初始匹配模板的尺寸,等等。此外,可以按照预定分辨率设置该初始匹配模板的像素分辨率,例如,可以将用于显示该三维地图的显示屏幕的预设显示分辨率设置为该初始匹配模板的像素分辨率(例如,如图8a所示,8×10)。
此外,在该实施例中,还可以基于待剔除区域的边界信息,在初始匹配模板中,将待剔除区域所对应的像素设置为具有第一像素值,并且将初始匹配模板中的其余像素设置为具有不同于第一像素值的第二像素值,以生成与该待剔除区域相关联的剔除匹配模板。例如,在一个实施例中,如图8a所示,可以将在步骤S701中获取的待剔除区域的边界信息转换为纹理坐标系下的边界信息,并基于该纹理坐标系下的边界信息,在初始匹配模板中,将待剔除区域所对应的像素设置为具有第一像素值(例如,0),并且将初始匹配模板中的其余像素设置为具有第二像素值(例如,1)。由此,可以生成与该待剔除区域相关联的剔除匹配模板810。图8b示出了与剔除匹配模板810相对应的纹理图像820的示意图。如图8b所示,白色的平行四边形区域可以对应于纹理坐标系下的待剔除区域,而其余黑色的背景部分可以对应于无需进行剔除的区域。
接下来,在步骤S703中,可以在第二坐标系下,确定三维地图中的候选三维元素在给定平面上的垂直投影坐标,该给定平面可以为待剔除区域在第二坐标系下所对应的平面。
在一个实施例中,可以获取候选三维元素在第二坐标系下的坐标,作为第二坐标;可以确定待剔除区域在第二坐标系下所对应的平面作为该给定平面;并且,可以基于第二坐标确定候选三维元素在该给定平面上的垂直投影坐标。
具体地,图9示出了根据本公开实施例的候选三维元素的垂直投影示意图。
在一个实施例中,第二坐标系可以是三维世界的空间坐标系900。如图1所示,待剔除区域101所对应的平面(或地图平面)可以为三维世界中的地平面,因此,对应地,如图9所示,在空间坐标系900下,可以将待剔除区域902所对应的平面确定为z=0的平面(即,XOY平面)。此外,可以获取候选三维元素903在空间坐标系900下的坐标(即,第二坐标)。在一个实施例中,可以获取候选三维元素903的一个或多个顶点在空间坐标系900下的坐标,例如,可以获取候选三维元素903的顶点901在空间坐标系900下的坐标(x_world,y_world,z_world),作为候选三维元素903在空间坐标系900下的坐标。在另一实施例中,也可以获取候选三维元素903的形心点(例如,顶面中心点)904在空间坐标系900下的坐标,作为候选三维元素903在空间坐标系900下的坐标。在下文中,以顶点901为例进行描述。在一个实施例中,可以基于顶点901的坐标来确定候选三维元素903在给定平面(即,XOY平面)上的垂直投影坐标。如图9所示,顶点901(x_world,y_world,z_world)在XOY平面上的垂直投影坐标(即,垂直投影点901’的坐标)可以确定为(x_world,y_world,0)。
接下来,回到图7,在步骤S704中,可以基于候选三维元素在给定平面上的垂直投影坐标,确定候选三维元素在第一坐标系下所对应的第一坐标。
在一个实施例中,确定候选三维元素在第一坐标系下所对应的第一坐标可以包括:确定第一坐标系与第二坐标系之间的坐标变换关系;以及基于坐标变换关系,对垂直投影坐标进行坐标变换,以确定候选三维元素的垂直投影坐标在第一坐标系下所对应的第一坐标。
具体地,图10示出了根据本公开实施例的坐标变换过程示意图1000。
如图10所示,第一坐标系可以是二维的纹理坐标系1002,而第二坐标系可以是三维的空间坐标系900。在一个实施例中,如图10所示,可以首先确定空间坐标系900和投影坐标系1001之间的视图投影关系,以及投影坐标系1001和纹理坐标系1002之间的平移缩放关系,然后可以基于该视图投影关系和平移缩放关系来确定空间坐标系900和纹理坐标系1002之间的坐标变换关系。
在一个实施例中,确定空间坐标系900和投影坐标系1001之间的视图投影关系可以包括:确定与投影坐标系1001相关联的虚拟相机的拍摄参数以及与投影坐标系1001相关联的投影平面的投影参数,并且基于虚拟相机的拍摄参数和投影平面的投影参数,确定空间坐标系900和投影坐标系1001之间的视图投影关系。
具体地,在本公开所涉及的三维地图渲染中,三维地图最终在显示屏幕上的二维呈现都是基于一定的视角来体现的。也就是说,可以在空间坐标系900下假设一个虚拟相机1003(或观察眼),并且基于该虚拟相机1003的拍摄参数来呈现三维地图。在一个实施例中,虚拟相机1003的拍摄参数可以包括虚拟相机1003的在空间坐标系900下的空间位置以及拍摄角度等。这样,可以将三维地图从空间坐标系900转换到基于该虚拟相机1003的视角的相机坐标系(或眼坐标系)。进一步地,如图10所示,还可以确定一个投影平面1007,并且可以基于该投影平面1007的投影参数,将相机坐标系进一步转换为投影坐标系1001。在一个实施例中,投影平面1007的投影参数可以包括投影平面1007的投影窗口位置等参数。这样,可以将三维地图中距投影平面1007不同距离的元素以不同的尺寸投影到投影平面1007上,例如,实现近大远小的投影效果。由此,可以基于如上所述的虚拟相机1003的拍摄参数和投影平面1007的投影参数来确定空间坐标系900和投影坐标系1001之间的视图投影关系。
在一个实施例中,还可以确定投影坐标系1001和纹理坐标系1002之间的平移缩放关系。例如,在一个实施例中,投影坐标系1001的x轴和y轴的坐标范围可以均为-1~1,而纹理坐标系1002的s轴和t轴的坐标范围可以均为0~1。因此,可以基于投影坐标系1001和纹理坐标系1002之间的坐标范围比例以及原点位置关系等信息,确定投影坐标系1001和纹理坐标系1002之间的平移缩放关系,并且可以基于该平移缩放关系实现投影坐标系1001与纹理坐标系1002之间的转换。
进一步地,基于如上所述的空间坐标系900和投影坐标系1001之间的视图投影关系、以及投影坐标系1001和纹理坐标系1002之间的平移缩放关系,可以确定空间坐标系900和纹理坐标系1002之间的坐标变换关系。
在一个实施例中,空间坐标系900和投影坐标系1001之间的视图投影关系可以是从空间坐标系900到投影坐标系1001的视图投影矩阵。在该实施例中,可以基于候选三维元素的垂直投影坐标1004([x_world,y_world,0,1]T)以及该视图投影矩阵生成垂直投影坐标1004在投影坐标系1001下所对应的第三坐标,即投影坐标系坐标1005([x_clip,y_clip,z_clip,w_clip]T),如下等式(1)所示。
以候选三维元素的一个顶点的垂直投影坐标为例,在等式(1)中,[x_world,y_world,0,1]T可以是该顶点在空间坐标系900下在地图平面或待剔除区域所对应的平面(即,z=0平面)的垂直投影坐标1004。这里可以采用齐次坐标的形式,其中,前三个维度为空间坐标系坐标,而第四个维度可以是与平移、旋转和缩放等图形变换相关的变换维度。在一个实施例中,ViewMatrix可以是与如上所述的虚拟相机1003的拍摄参数相关联的视图矩阵,并且PerspectiveMatrix可以是与如上所述的投影平面1007的投影参数相关联的透视矩阵,PerspectiveMatrix×ViewMatrix即可以表示从空间坐标系900到投影坐标系1001的视图投影矩阵。应当理解,PerspectiveMatrix和ViewMatrix可以采用本领域熟知的方式(这里不再详细描述),或者也可以采用将来开发的方式获取,本公开的技术方案不受生成上述矩阵的方式限制。在一个实施例中,可以先确定视图矩阵并与垂直投影坐标1004相乘以进行第一次坐标变换,然后再将第一次坐标变换的结果与透视矩阵相乘以进行第二次坐标变换,以实现从空间坐标系900(即,[x_world,y_world,0,1]T)到投影坐标系1001(即,[x_clip,y_clip,z_clip,w_clip]T)的坐标变换。在另一实施例中,也可以基于虚拟相机1003的拍摄参数和投影平面1007的投影参数等参数预先确定一个视图投影矩阵,然后直接将该视图投影矩阵与垂直投影坐标1004相乘,以实现从空间坐标系900到投影坐标系1001的坐标变换。
在一个实施例中,投影坐标系1001和纹理坐标系1002之间的平移缩放关系可以是从投影坐标系1001到纹理坐标系1002的平移缩放矩阵。在该实施例中,还可以基于候选三维元素在投影坐标系1001下所对应的投影坐标系坐标1005以及该平移缩放矩阵生成垂直投影坐标1004在纹理坐标系1002下所对应的第一坐标,即纹理坐标1006,如下等式(2)所示。
在等式(2)中,[x_clip,y_clip]T可以是候选三维元素在二维的投影坐标系1001下的投影坐标系坐标1005,其齐次形式可以表示为[x_clip,y_clip,1]T。矩阵[0.5,0,0.5;0,0.5,0.5;0,0,1]即可以是从投影坐标系1001到纹理坐标系1002的平移缩放矩阵,如上所述,其可以基于投影坐标系1001和纹理坐标系1002之间的坐标范围比例以及原点位置关系等信息来确定。将投影坐标系坐标1005和该平移缩放矩阵进行相乘,可以获得候选三维元素在纹理坐标系1002下所对应的第一坐标,即纹理坐标1006,其齐次形式为[s,t,1]T。
在另一实施例中,可以基于从空间坐标系900到投影坐标系1001的视图投影矩阵以及从投影坐标系1001到纹理坐标系1002的平移缩放矩阵预先确定从空间坐标系900到纹理坐标1002的总变换矩阵,然后基于该总变换矩阵来实现垂直投影坐标1004从空间坐标系900到纹理坐标系1002的变换。
再次回到图7,最后,在步骤S705中,可以在第一坐标系下,基于垂直投影坐标所对应的第一坐标、以及与待剔除区域相关联的剔除匹配模板,确定是否剔除候选三维元素。
在一个实施例中,由于如上所述在步骤S702中生成的剔除匹配模板810和如上所述在步骤S704中确定的候选三维元素的纹理坐标1006均处于相同坐标系(即,纹理坐标系),所以可以基于候选三维元素的纹理坐标1006以及剔除匹配模板810直接进行模板匹配。例如,可以在剔除匹配模板810中获取与候选元素的纹理坐标1006相对应的像素值,并且可以在该像素值具有指示应当舍弃该像素的第一像素值(例如,如图8a所示的“0”)时,舍弃该像素,并确定剔除该候选三维元素。
图11示出了根据本公开实施例的根据剔除匹配模板确定是否剔除候选三维元素的示意图1100。具体地,图11直观地示出了根据如上所述的纹理图像820来确定是否剔除候选三维元素的示意图。
如图11所示,在纹理坐标系下,位于待剔除区域1101内的候选三维元素1103可以被确定为剔除,而位于待剔除区域1101之外的候选三维元素1102可以被确定为保留。
在另一实施例中,当候选三维元素的纹理坐标1006包括候选三维元素的多个顶点的纹理坐标时,可以在与多个顶点的纹理坐标相对应的多个像素值中的至少一部分为第一像素值(例如,0)的情况下,确定剔除该候选三维元素。在另一实施例中,当候选三维元素的纹理坐标1006包括候选三维元素的多个顶点的纹理坐标时,也可以基于与多个顶点的纹理坐标相对应的多个像素值中第一像素值所占比例来确定是否剔除该候选三维元素。例如,可以预先设定一个判定阈值(例如,例如50%),假设候选三维元素的纹理坐标1006包括其四个顶点的纹理坐标,而其中仅有1个顶点所对应的像素值具有指示应当舍弃该像素的第一像素值,则可以确定第一像素值占比为1/4=25%,该占比小于预设的阈值50%,因此可以确定不剔除该候选三维元素,即时事实上该候选三维元素已经有部分位于待剔除区域。应当理解,还可以根据任何其它合适的判定规则来确定是否剔除候选三维元素,这里不做限制。
接下来,图12示出了根据本公开实施例的三维地图处理方法700的示例性处理流程1200。
处理流程1200可以基于OpenGL或WebGL来进行。如图12所示,处理流程1200可以分为预处理阶段和底图渲染阶段。在预处理阶段,首先,可以在步骤S1201中创建一个与纹理图像820相关联的帧缓冲,并将当前处理上下文绑定到该帧缓冲,然后,在步骤S1202中可以用第一值(例如,rgba(0,0,0,0))来清除或初始化帧缓冲的颜色缓冲区。在步骤S1203中,可以基于待剔除区域数据(例如,待剔除区域的边界信息)在颜色缓冲区中渲染与待剔除区域相对应的多边形,例如,可以在颜色缓冲区中将与待剔除区域相对应的像素点渲染为第二值(例如,rgba(1,1,1,1))。渲染完成之后,可以在步骤S1204中解除对该帧缓冲的绑定,以进行后续的其他操作。
接下来,在底图渲染阶段,首先,在步骤S1205中,可以根据底图数据(例如,包括多个候选底图元素)在OpenGL或WebGL的顶点着色器中计算特定候选底图元素的顶点的三维坐标。接下来,在步骤S1206中,可以如上文所述对计算出的顶点的三维坐标进行模型视图投影矩阵变换。在该步骤中,可以进行两种模型视图投影矩阵变换。第一种是保留顶点的z轴偏移的变换,经过该变换获得的顶点坐标可以在步骤S1207中进行图元装配等后续渲染处理。另一种模型视图投影矩阵变换是舍弃顶点的z轴无偏的变换。基于该变换关系,可以获得候选底图元素的顶点在如图10所示的投影坐标系1001下的投影坐标。在步骤S1208中,可以将该投影坐标传入片元着色器,并在步骤S1209中计算该投影坐标在如图10所示的纹理坐标系1002下的纹理坐标。接下来,在步骤S1210中可以从预处理阶段生成的颜色缓冲区中获取与待剔除区域相关联的模板纹理(例如,剔除匹配模板810)并从中读取模板像素值。在步骤S1211中,可以类似于如图7所示的步骤S705,基于候选底图元素的顶点的纹理坐标及其对应的模板像素值来确定是否舍弃该片元。例如,在该实施例中,根据预处理阶段的渲染配置,若对应的模板像素值为rgba(1,1,1,1),则可以认为该片元位于待剔除区域中,并且可以在步骤S1212中舍弃该片元;若对应的模板像素值为rgba(0,0,0,0),则可以认为该片元位于待剔除区域之外,可以保留该片元,并且可以在步骤S1213中进行片元着色等后续渲染处理。
通过本公开实施例的三维地图处理方法,可以在模型叠加场景下对待叠加模型所在区域内的底图元素进行准确剔除。应当理解,根据本公开实施例的三维地图处理方法不仅可用于叠加显示室内地图的应用场景,还可以应用于建筑物模型替换等其他类似场景。
图13示出了根据本公开实施例的三维地图处理装置1300的示意图。
如图13所示,根据本公开实施例的三维地图处理装置1300可以包括:获取模块1301、模板生成模块1302、投影确定模块1303、坐标变换模块1304以及模板匹配模块1305。其中,获取模块1301可以配置用于获取三维地图中待剔除区域的边界信息;模板生成模块1302可以配置用于基于边界信息,在第一坐标系下生成与待剔除区域相关联的剔除匹配模板;投影确定模块1303可以配置用于在第二坐标系下,确定三维地图中的候选三维元素在给定平面上的垂直投影坐标,其中该给定平面为剔除区域在第二坐标系下所对应的平面;坐标变换模块1304可以配置用于基于候选三维元素在给定平面上的垂直投影坐标,确定候选三维元素在第一坐标系下所对应的第一坐标;并且模板匹配模块1305可以配置用于在第一坐标系下,基于垂直投影坐标所对应的第一坐标、以及与待剔除区域相关联的剔除匹配模板,确定是否剔除候选三维元素。
在一个实施例中,在第一坐标系下,基于垂直投影坐标所对应的第一坐标、以及与待剔除区域相关联的剔除匹配模板,确定是否剔除候选三维元素可以包括:在剔除匹配模板中获取与第一坐标相对应的像素值;以及在像素值的至少一部分为第一像素值的情况下,确定剔除该候选三维元素。
图14示出了根据本公开实施例的三维地图处理设备1400的示意图。
如图14所示,根据本公开实施例的三维地图处理设备1400可以包括处理器1401以及存储器1402,其可以通过总线1403进行互联。
处理器1401可以根据存储在存储器1402中的程序或代码执行各种动作和处理。具体地,处理器1401可以是一种集成电路芯片,具有信号的处理能力。上述处理器可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本公开实施例中公开的各种方法、步骤、流程及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,可以是X86架构或者是ARM架构等。
存储器1402存储有可执行指令,该指令在被处理器1401执行时用于实现根据本公开实施例的三维地图处理方法。存储器1402可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)或闪存。易失性存储器可以是随机存取存储器(RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(SDRAM)、双倍数据速率同步动态随机存取存储器(DDRSDRAM)、增强型同步动态随机存取存储器(ESDRAM)、同步连接动态随机存取存储器(SLDRAM)和直接内存总线随机存取存储器(DR RAM)。应注意,本文描述的方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
本公开的实施例还提供了一种计算机可读存储介质,其上存储有计算机可执行指令,该计算机指令被处理器执行时可以实现根据本公开实施例的三维地图处理方法。类似地,本公开实施例中的计算机可读存储介质可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。应注意,本文描述的方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
本公开的实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行根据本公开实施例的三维地图处理方法。
本公开的实施例提供了一种三维地图处理方法、装置、设备和存储介质。本公开的实施例提供的三维地图处理方法通过在帧缓冲中渲染剔除区域多边形形成二值化的模板纹理,然后在渲染底图元素(例如建筑物、兴趣点(POI)等)时,将其顶点坐标二维化后转换到纹理坐标系,并通过纹理像素确定是否丢弃该元素,方案简便、计算复杂度低,避免了在CPU中进行坐标转换和几何碰撞的大量计算开销,提升了运行性能。此外,本方法的实现过程均发生在渲染阶段,与其他模块解耦,能够适应渲染目标(或剔除区域)的动态变化。
需要说明的是,附图中的流程图和框图,图示了按照本公开各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含至少一个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
一般而言,本公开的各种示例实施例可以在硬件或专用电路、软件、固件、逻辑,或其任何组合中实施。某些方面可以在硬件中实施,而其他方面可以在可以由控制器、微处理器或其他计算设备执行的固件或软件中实施。当本公开的实施例的各方面被图示或描述为框图、流程图或使用某些其他图形表示时,将理解此处描述的方框、装置、***、技术或方法可以作为非限制性的示例在硬件、软件、固件、专用电路或逻辑、通用硬件或控制器或其他计算设备,或其某些组合中实施。
在上面详细描述的本公开的示例实施例仅仅是说明性的,而不是限制性的。本领域技术人员应该理解,在不脱离本公开的原理和精神的情况下,可对这些实施例或其特征进行各种修改和组合,这样的修改应落入本公开的范围内。
Claims (15)
1.一种三维地图处理方法,包括:
获取所述三维地图中待剔除区域的边界信息;
基于所述边界信息,在第一坐标系下生成与所述待剔除区域相关联的剔除匹配模板,其中,在所述剔除匹配模板中,所述待剔除区域所对应的像素具有第一像素值,并且其余像素具有不同于所述第一像素值的第二像素值;
在第二坐标系下,确定所述三维地图中的候选三维元素在给定平面上的垂直投影坐标,所述给定平面为所述待剔除区域在所述第二坐标系下所对应的平面;
基于所述候选三维元素在所述给定平面上的所述垂直投影坐标,确定所述候选三维元素在所述第一坐标系下所对应的第一坐标;以及
在所述第一坐标系下,基于所述垂直投影坐标所对应的第一坐标、以及与所述待剔除区域相关联的剔除匹配模板,确定是否剔除所述候选三维元素;
其中,所述第一坐标系为二维坐标系,所述第二坐标系为三维坐标系。
2.如权利要求1所述的处理方法,其中,基于所述边界信息,在第一坐标系下生成与所述待剔除区域相关联的剔除匹配模板包括:
在所述第一坐标系下,生成用于所述三维地图的初始匹配模板,其中,基于所述三维地图的显示尺寸确定所述初始匹配模板的尺寸,并且按照预定分辨率设置所述初始匹配模板的像素分辨率;以及
基于所述待剔除区域的边界信息,在所述初始匹配模板中,将所述待剔除区域所对应的像素设置为具有第一像素值,并且将其余像素设置为具有不同于所述第一像素值的第二像素值,以生成所述剔除匹配模板。
3.如权利要求1或2中的任一项所述的处理方法,其中,确定所述三维地图中的候选三维元素在给定平面上的垂直投影坐标包括:
获取所述候选三维元素在所述第二坐标系下的坐标,作为第二坐标;
确定所述待剔除区域在所述第二坐标系下所对应的平面作为所述给定平面;以及
基于所述第二坐标确定所述候选三维元素在所述给定平面上的垂直投影坐标。
4.如权利要求3所述的处理方法,其中,获取所述候选三维元素在所述第二坐标系下的坐标作为第二坐标包括:
获取所述候选三维元素的顶点在所述第二坐标系下的坐标,作为所述第二坐标。
5.如权利要求3所述的处理方法,其中,获取所述候选三维元素在所述第二坐标系下的坐标作为第二坐标包括:
获取所述候选三维元素的形心点在所述第二坐标系下的坐标,作为所述第二坐标。
6.如权利要求1所述的处理方法,其中,确定所述候选三维元素在所述第一坐标系下所对应的第一坐标包括:
确定所述第一坐标系与所述第二坐标系之间的坐标变换关系;以及
基于所述坐标变换关系,对所述垂直投影坐标进行坐标变换,以确定所述候选三维元素的所述垂直投影坐标在所述第一坐标系下所对应的第一坐标。
7.如权利要求6所述的处理方法,其中,所述第一坐标系为纹理坐标系,所述第二坐标系为空间坐标系;
其中,确定所述第一坐标系与所述第二坐标系之间的坐标变换关系包括:
确定所述第一坐标系与投影坐标系之间的视图投影关系;
确定所述投影坐标系与所述第二坐标系之间的平移缩放关系;以及
基于所述视图投影关系和所述平移缩放关系,确定所述第一坐标系与所述第二坐标系之间的坐标变换关系。
8.如权利要求7所述的处理方法,其中,确定所述第一坐标系与投影坐标系之间的视图投影关系包括:
确定虚拟相机的拍摄参数,其中,所述拍摄参数包括所述虚拟相机的空间位置和拍摄角度,所述虚拟相机的拍摄参数与所述投影坐标系相关联;
确定投影平面的投影参数,其中,所述投影参数包括所述投影平面的投影窗口位置,所述投影平面的投影参数与所述投影坐标系相关联;以及
基于所述虚拟相机的拍摄参数和所述投影平面的投影参数,确定所述第一坐标系与投影坐标系之间的视图投影关系。
9.如权利要求7所述的处理方法,其中,
所述视图投影关系为从所述第一坐标系到所述投影坐标系的视图投影矩阵;所述平移缩放关系为从所述投影坐标系到所述第二坐标系的平移缩放矩阵;
其中,确定所述候选三维元素的所述垂直投影坐标在所述第一坐标系下所对应的第一坐标包括:
基于所述候选三维元素的所述垂直投影坐标、所述视图投影矩阵以及所述平移缩放矩阵,确定所述第一坐标。
10.如权利要求9所述的处理方法,其中,基于所述候选三维元素的所述垂直投影坐标、所述视图投影矩阵以及所述平移缩放矩阵,确定所述第一坐标包括:
基于所述垂直投影坐标以及所述视图投影矩阵,生成所述垂直投影坐标在所述投影坐标系下所对应的第三坐标;以及
基于所述第三坐标以及所述平移缩放矩阵,确定所述候选三维元素的所述垂直投影坐标在所述第一坐标系下所对应的第一坐标。
11.如权利要求1所述的处理方法,其中,在所述第一坐标系下,基于所述垂直投影坐标所对应的第一坐标、以及与所述待剔除区域相关联的剔除匹配模板,确定是否剔除所述候选三维元素包括:
在所述剔除匹配模板中获取与所述第一坐标相对应的像素值;以及
在所述像素值的至少一部分为第一像素值的情况下,确定剔除所述候选三维元素。
12.一种三维地图处理装置,包括:
获取模块,用于获取所述三维地图中待剔除区域的边界信息;
模板生成模块,用于基于所述边界信息,在第一坐标系下生成与所述待剔除区域相关联的剔除匹配模板,其中,在所述剔除匹配模板中,所述待剔除区域所对应的像素具有第一像素值,并且其余像素具有不同于所述第一像素值的第二像素值;
投影确定模块,用于在第二坐标系下,确定所述三维地图中的候选三维元素在给定平面上的垂直投影坐标,所述给定平面为所述待剔除区域在所述第二坐标系下所对应的平面;
坐标变换模块,用于基于所述候选三维元素在所述给定平面上的所述垂直投影坐标,确定所述候选三维元素在所述第一坐标系下所对应的第一坐标;以及
模板匹配模块,用于在所述第一坐标系下,基于所述垂直投影坐标所对应的第一坐标、以及与所述待剔除区域相关联的剔除匹配模板,确定是否剔除所述候选三维元素;
其中,所述第一坐标系为二维坐标系,所述第二坐标系为三维坐标系。
13.如权利要求12所述的处理装置,其中,在所述第一坐标系下,基于所述垂直投影坐标所对应的第一坐标、以及与所述待剔除区域相关联的剔除匹配模板,确定是否剔除所述候选三维元素包括:
在所述剔除匹配模板中获取与所述第一坐标相对应的像素值;以及
在所述像素值的至少一部分为第一像素值的情况下,确定剔除所述候选三维元素。
14.一种三维地图处理设备,包括:
处理器;和
存储器,其上存储有计算机可执行指令,所述指令在被处理器执行时用于实现如权利要求1-11中任一项所述的方法。
15.一种计算机可读存储介质,其上存储有计算机可执行指令,所述指令在被处理器执行时用于实现如权利要求1-11中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010708793.8A CN111815788B (zh) | 2020-07-22 | 2020-07-22 | 三维地图处理方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010708793.8A CN111815788B (zh) | 2020-07-22 | 2020-07-22 | 三维地图处理方法、装置、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111815788A CN111815788A (zh) | 2020-10-23 |
CN111815788B true CN111815788B (zh) | 2022-05-17 |
Family
ID=72862120
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010708793.8A Active CN111815788B (zh) | 2020-07-22 | 2020-07-22 | 三维地图处理方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111815788B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112307553B (zh) * | 2020-12-03 | 2024-04-16 | 之江实验室 | 一种对三维道路模型进行提取与简化的方法 |
CN114359456B (zh) * | 2021-12-27 | 2023-03-24 | 北京城市网邻信息技术有限公司 | 贴图方法、装置、电子设备及可读存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017014838A1 (en) * | 2015-07-21 | 2017-01-26 | Qualcomm Incorporated | Zero pixel culling for graphics processing |
CN110796742A (zh) * | 2019-10-25 | 2020-02-14 | 西安建筑科技大学 | 一种基于面向对象的三维场景视锥体剔除方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9286712B2 (en) * | 2013-03-15 | 2016-03-15 | Google Inc. | System and method for approximating cartographic projections by linear transformation |
CN107564089B (zh) * | 2017-08-10 | 2022-03-01 | 腾讯科技(深圳)有限公司 | 三维图像处理方法、装置、存储介质和计算机设备 |
-
2020
- 2020-07-22 CN CN202010708793.8A patent/CN111815788B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017014838A1 (en) * | 2015-07-21 | 2017-01-26 | Qualcomm Incorporated | Zero pixel culling for graphics processing |
CN107851330A (zh) * | 2015-07-21 | 2018-03-27 | 高通股份有限公司 | 用于图形处理的零像素剔除 |
CN110796742A (zh) * | 2019-10-25 | 2020-02-14 | 西安建筑科技大学 | 一种基于面向对象的三维场景视锥体剔除方法 |
Non-Patent Citations (2)
Title |
---|
Noise removal of LRF for 3D map building using the superposition median filter;Yo-Seop Hwang 等;《2012 IEEE/ASME International Conference on Advanced Intelligent Mechatronics (AIM)》;20120714;全文 * |
三维模型的数据处理与显示技术的设计与实现;李鹏飞 等;《航空电子技术》;20180930;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111815788A (zh) | 2020-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10964079B2 (en) | Method and apparatus for editing road element on map, electronic device, and storage medium | |
JP4237271B2 (ja) | 3dグラフィックスにおける属性補間のための方法及び装置 | |
US9972067B2 (en) | System and method for upsampling of sparse point cloud for 3D registration | |
CN104574501B (zh) | 一种针对复杂三维场景的高质量纹理映射方法 | |
EP1242966B1 (en) | Spherical rectification of image pairs | |
KR101396346B1 (ko) | 다수의 2차원 실사 영상들을 이용하여 3차원 영상을생성하는 방법 및 장치 | |
CN111815788B (zh) | 三维地图处理方法、装置、设备和存储介质 | |
CN102077242A (zh) | 3d纹理的超分辨率的图像生成设备和方法 | |
US20220405878A1 (en) | Image processing apparatus, image processing method, and image processing program | |
CN101271588B (zh) | 可重建几何阴影图方法 | |
Kuzmin et al. | Polygon-based true orthophoto generation | |
Boulanger et al. | ATIP: A Tool for 3D Navigation inside a Single Image with Automatic Camera Calibration. | |
CN113034347B (zh) | 倾斜摄影图像处理方法、装置、处理设备及存储介质 | |
JP4099776B2 (ja) | 3次元モデル作成装置、3次元モデル作成方法および3次元モデル作成プログラム | |
US6501481B1 (en) | Attribute interpolation in 3D graphics | |
Frommholz et al. | Inlining 3d reconstruction, multi-source texture mapping and semantic analysis using oblique aerial imagery | |
CN112132466A (zh) | 基于三维建模的路线规划方法、装置、设备和存储介质 | |
JP7195785B2 (ja) | 3次元形状データを生成する装置、方法、及びプログラム | |
Arslan | 3D object reconstruction from a single image | |
CN113168712A (zh) | 从多个图像中选择互补图像以用于3d几何提取的***和方法 | |
CN115601430A (zh) | 基于关键点映射的无纹理高反物***姿估计方法及*** | |
Bethmann et al. | Object-based semi-global multi-image matching | |
Li et al. | An occlusion detection algorithm for 3d texture reconstruction of multi-view images | |
US10600244B2 (en) | Vertex optimization method using depth image in workspace modeling and system therefor | |
Eggert et al. | Multi-layer visualization of mobile mapping data |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40030153 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |