CN115544191A - 基于三维点云众包式语义地图的更新方法和装置 - Google Patents
基于三维点云众包式语义地图的更新方法和装置 Download PDFInfo
- Publication number
- CN115544191A CN115544191A CN202210006061.3A CN202210006061A CN115544191A CN 115544191 A CN115544191 A CN 115544191A CN 202210006061 A CN202210006061 A CN 202210006061A CN 115544191 A CN115544191 A CN 115544191A
- Authority
- CN
- China
- Prior art keywords
- point cloud
- cloud object
- unmatched
- collision
- map
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- 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
- G06T17/05—Geographic models
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Geometry (AREA)
- Remote Sensing (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请涉及一种基于三维点云众包式语义地图的更新方法和装置。所述方法包括:对同一采集区域的新采集的众包地图和已有的语义地图进行匹配,得到第一未匹配点云物体集合和第二未匹配点云物体集合中至少一种;判断第一未匹配点云物体集合中的各第一未匹配点云物体与语义地图中预设语义距离范围内对应的点云物体是否存在包围盒碰撞;判断第二未匹配点云物体集合中的各第二未匹配点云物体与众包地图中预设语义距离范围内对应的点云物体是否存在包围盒碰撞;根据第一未匹配点云物体的包围盒碰撞结果,和/或,第二未匹配点云物体的包围盒碰撞结果,更新语义地图。采用本方法能够降低物体检测误差,进而提高地图更新精度。
Description
技术领域
本申请涉及自动驾驶地图与定位技术领域,特别是涉及一种基于三维点云众包式语义地图的更新方法和装置。
背景技术
在自动驾驶、高精地图等领域,相比于专业采集建图的更新频率低、相对耗时耗力,更新频率高、计算量小的众包式采集建图越来越受到工业界和学术界的青睐。
专业采集方法传统,一般需要大量专业的数据采集人员、测绘设备、采集车等等。高精地图采集时,需要包含道路网络数据、车道网络数据、道路交通设施数据等等信息,因此往往需要一条道路上来回采集多遍,以确保数据的准确性。完成采集后,还需要经历数据融合、数据处理、发布和交付等诸多环节。
众包采集,可以理解为用户通过自动驾驶车辆自身的传感器,或者其他低成本的传感器,收集道路数据传到云端进行数据融合,并通过这种融合的方式提高数据精度,来完成众包式高精地图或者语义地图的制作,主要分为视觉和雷达等方式;其中,视觉众包采集方案,是目前国内外制图或者自动驾驶公司主要采集方案;基于雷达三维点云的众包采集方案,点云数据相比视觉图像数据大,数据传输成本高。
然而,目前的众包采集建图方法,多辆车传感器误差不一样,同辆车采集同一物体误差也会不一样,容易损失精度。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高地图更新精度的基于三维点云众包式语义地图的更新方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种基于三维点云众包式语义地图的更新方法。
所述方法包括:
对同一采集区域的新采集的众包地图和已有的语义地图进行匹配,得到第一未匹配点云物体集合和第二未匹配点云物体集合;
判断所述第一未匹配点云物体集合中的各第一未匹配点云物体与所述语义地图中预设语义距离范围内对应的点云物体是否存在包围盒碰撞;
判断所述第二未匹配点云物体集合中的各第二未匹配点云物体与所述众包地图中预设语义距离范围内对应的点云物体是否存在包围盒碰撞;
根据所述第一未匹配点云物体的包围盒碰撞结果,和/或,所述第二未匹配点云物体的包围盒碰撞结果,更新所述语义地图。
在其中一个实施例中,根据所述第二未匹配点云物体的包围盒碰撞结果,更新所述语义地图,包括:
当所述第二未匹配点云物体的包围盒碰撞结果为所述第二未匹配点云物体不存在包围盒碰撞时,将所述第二未匹配点云物体从所述语义地图中删除。
在其中一个实施例中,根据所述第一未匹配点云物体的包围盒碰撞结果,更新所述语义地图,包括:
当所述第一未匹配点云物体的包围盒碰撞结果为所述第一未匹配点云物体不存在包围盒碰撞时,将所述第一未匹配点云物体添加至所述语义地图中。
在其中一个实施例中,根据所述第一未匹配点云物体的包围盒碰撞结果和所述第二未匹配点云物体的包围盒碰撞结果,包括:
当所述第一未匹配点云物体的包围盒碰撞结果为所述第一未匹配点云物体不存在包围盒碰撞时,将所述第一未匹配点云物体添加至所述语义地图中;以及
当所述第二未匹配点云物体的包围盒碰撞结果为所述第二未匹配点云物体不存在包围盒碰撞时,将所述第二未匹配点云物体从所述语义地图中删除。
在其中一个实施例中,根据所述第一未匹配点云物体的包围盒碰撞结果,更新所述语义地图,包括:
当所述包围盒碰撞结果为所述第一未匹配点云物体存在包围盒碰撞时,从所述语义地图中预设距离范围内确定对应的第一碰撞点云物体;
对所述第一未匹配点云物体和所述第一碰撞点云物体,得到点云占比;
根据所述点云占比和设定阈值,更新所述语义地图。
在其中一个实施例中,所述根据所述第一未匹配点云物体和所述第一碰撞点云物体,得到点云占比,包括:
确定所述第一未匹配点云物体对应第一物体点云,以及所述第一碰撞点云物体对应的第一点云物体凸包体;
确定所述第一物体点云中的点在所述第一点云物体凸包体的点数量,得到点云占比。
在其中一个实施例中,所述根据所述点云占比和设定阈值,更新所述语义地图,包括:
当所述点云占比大于或等于所述设定阈值时,确定所述第一未匹配点云物体和所述第一碰撞点云物体为同一物体。
在其中一个实施例中,所述根据所述点云占比和设定阈值,更新所述语义地图,包括:
当所述点云占比小于所述设定阈值时,确定所述第一未匹配点云物体和所述第一碰撞点云物体不为同一物体;
将所述第一未匹配点云物体添加至所述语义地图中。
在其中一个实施例中,在所述根据所述第一未匹配点云物体和所述第一碰撞点云物体,得到点云占比之前,所述方法还包括:
判断所述第一未匹配点云物体和所述第一碰撞点云物体是否存在凸包碰撞;
当存在凸包碰撞时,执行所述根据所述第一未匹配点云物体和所述第一碰撞点云物体,得到点云占比步骤。
在其中一个实施例中,所述方法还包括:
当不存在凸包碰撞时,确定所述第一未匹配点云物体和所述第一碰撞点云物体不为同一物体;
将所述第一未匹配点云物体添加至所述语义地图中。
在其中一个实施例中,根据所述第二未匹配点云物体的包围盒碰撞结果,更新所述语义地图,包括:
当所述第二未匹配点云物体的包围盒碰撞结果为所述第二未匹配点云物体存在包围盒碰撞时,从所述众包地图中预设距离范围内确定对应的第二碰撞点云物体;
判断所述第二未匹配点云物体和所述第二碰撞点云物体是否存在凸包碰撞;
当不存在凸包碰撞时,确定所述第二未匹配点云物体和所述第二碰撞点云物体不为同一物体;
将所述第二未匹配点云物体从所述语义地图中删除。
在其中一个实施例中,所述方法还包括:
当存在凸包碰撞时,确定所述第二未匹配点云物体和所述第二碰撞点云物体为同一物体。
第二方面,本申请还提供了一种基于三维点云众包式语义地图的更新装置。所述装置包括:
点云物体匹配模块,用于对同一采集区域的新采集的众包地图和已有的语义地图进行匹配,得到第一未匹配点云物体集合和第二未匹配点云物体集合;
点云物体碰撞模块,用于判断所述第一未匹配点云物体集合中的各第一未匹配点云物体与所述语义地图中预设距离范围内对应的点云物体是否存在包围盒碰撞;
判断所述第二未匹配点云物体集合中的各第二未匹配点云物体与所述众包地图中预设距离范围内对应的点云物体是否存在包围盒碰撞,得到包围盒碰撞结果;
地图更新模块,用于根据所述第一未匹配点云物体的包围盒碰撞结果,和/或,所述第二未匹配点云物体的包围盒碰撞结果,更新所述语义地图。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
对同一采集区域的新采集的众包地图和已有的语义地图进行匹配,得到第一未匹配点云物体集合和第二未匹配点云物体集合;
判断所述第一未匹配点云物体集合中的各第一未匹配点云物体与所述语义地图中预设语义距离范围内对应的点云物体是否存在包围盒碰撞;
判断所述第二未匹配点云物体集合中的各第二未匹配点云物体与所述众包地图中预设语义距离范围内对应的点云物体是否存在包围盒碰撞;
根据所述第一未匹配点云物体的包围盒碰撞结果,和/或,所述第二未匹配点云物体的包围盒碰撞结果,更新所述语义地图。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
对同一采集区域的新采集的众包地图和已有的语义地图进行匹配,得到第一未匹配点云物体集合和第二未匹配点云物体集合;
判断所述第一未匹配点云物体集合中的各第一未匹配点云物体与所述语义地图中预设语义距离范围内对应的点云物体是否存在包围盒碰撞;
判断所述第二未匹配点云物体集合中的各第二未匹配点云物体与所述众包地图中预设语义距离范围内对应的点云物体是否存在包围盒碰撞;
根据所述第一未匹配点云物体的包围盒碰撞结果,和/或,所述第二未匹配点云物体的包围盒碰撞结果,更新所述语义地图。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
对同一采集区域的新采集的众包地图和已有的语义地图进行匹配,得到第一未匹配点云物体集合和第二未匹配点云物体集合;
判断所述第一未匹配点云物体集合中的各第一未匹配点云物体与所述语义地图中预设语义距离范围内对应的点云物体是否存在包围盒碰撞;
判断所述第二未匹配点云物体集合中的各第二未匹配点云物体与所述众包地图中预设语义距离范围内对应的点云物体是否存在包围盒碰撞;
根据所述第一未匹配点云物体的包围盒碰撞结果,和/或,所述第二未匹配点云物体的包围盒碰撞结果,更新所述语义地图。
上述基于三维点云众包式语义地图的更新方法、装置、计算机设备、存储介质和计算机程序产品,对同一采集区域的新采集的众包地图和已有的语义地图进行匹配,对同一采集区域的新采集的众包地图和已有的语义地图进行匹配,得到第一未匹配点云物体集合和第二未匹配点云物体集合至少一种;对第一未匹配点云物体集合中的点云物体,和/或,第二未匹配点云物体集合中的点云物体进行包围盒碰撞,对第一次匹配中不存在未匹配点云物体,进行匹配二次检测,提高地图更新精度。
附图说明
图1为一个实施例中基于三维点云众包式语义地图的更新方法的应用环境图;
图2为一个实施例中基于三维点云众包式语义地图的更新方法的流程示意图;
图3为一个实施例中基于第一未匹配点云物体更新语义地图的方法的流程示意图;
图4为一个实施例中确定第一未匹配点云物体的碰撞点云物体的示意图;
图5为另一个实施例中基于第一未匹配点云物体更新语义地图的方法的流程示意图;
图6a为一个实施例中匹配成功的两个点云物体;
图6b为一个实施例中两个误匹配的点云物体;
图7为一个实施例中基于第二未匹配点云物体更新语义地图的方法的流程示意图;
图8为一个实施例中确定第二未匹配点云物体的碰撞点云物体的示意图;
图9为一个实施例中语义距离确定方法的流程示意图;
图10为一个实施例中地图匹配方法的流程示意图;
图11为另一个实施例中基于三维点云众包式语义地图的更新方法的流程示意图;
图12为一个实施例中基于三维点云众包式语义地图的更新装置的结构框图;
图13为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的基于三维点云众包式语义地图的更新方法,可以应用于如图1所示的应用环境中。其中,采集设备102通过网络与终端104进行通信。数据存储系统可以存储终端104需要处理的数据。数据存储系统可以集成在终端104上,也可以放在云端或其他网络服务器上。终端104对同一采集区域的新采集的众包地图和已有的语义地图进行匹配,得到第一未匹配点云物体集合和第二未匹配点云物体集合;判断第一未匹配点云物体集合中的各第一未匹配点云物体与语义地图中预设语义距离范围内对应的点云物体是否存在包围盒碰撞;以及判断第二未匹配点云物体集合中的各第二未匹配点云物体与众包地图中预设语义距离范围内对应的点云物体是否存在包围盒碰撞;根据第一未匹配点云物体的包围盒碰撞结果,和/或,第二未匹配点云物体的包围盒碰撞结果,更新语义地图。其中,终端104可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备或自动驾驶计算平台等。采集设备可以是激光雷达、毫米波雷达或超声波雷达,也可以集成在终端上。可以理解的是,该方法也可以应用于服务器,还可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现。
在一个实施例中,如图2所示,提供了一种基于三维点云众包式语义地图的更新方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
步骤202,对同一采集区域的新采集的众包地图和已有的语义地图进行匹配,得到第一未匹配点云物体集合和第二未匹配点云物体集合。
其中,众包地图是指通过众包采集的方式获取得到的地图;可以理解为用户通过自动驾驶车辆自身的传感器,或者其他低成本的传感器,收集道路数据传到云端进行数据融合,并通过这种融合的方式提高数据精度,来完成众包式高精地图或者语义地图的制作;众包地图或众包式地图是指终端通过云端获取的、由其他车辆采集并上传到云端的地图。语义地图是指已经存在的地图。
第一未匹配点云物体集合是指众包地图中的点云物体在语义地图中没有匹配到对应的点云物体的集合,众包地图中的该点云物体可能是新增点云物体;第二未匹配点云物体集合是指语义地图中点云物体在众包地图中没有匹配到对应的点云物体的集合,语义地图中的该点云物体可能是消失的点云物体。
可以理解的是在非理想情况下,如环境遮挡,或者传感器性能(比如只扫到物体一半),往往会误匹配认为是两种不同物体,在匹配过程中会不匹配到匹配点云物体;在第一次匹配过程中会确定为新添加的点云物体和消失点云物体;新添加的点云物体是指新采集的众包地图中相比于语义地图新加的点云物体,消失点云物体是指新采集的众包地图相比语义地图消失的点云物体。
根据新采集的众包地图和已有的语义地图中的点云物体的语义信息确定语义距离,将得到的语义距离与预先设置的权值进行加权处理,得到最终的语义距离;根据语义距离对众包地图与语义地图进行二分图匹配,得到存在点云物体匹配对和/或不存在点云物体匹配对;将不存在点云物体匹配对的点云物体确定为未匹配点云物体。
其中,语义信息是预先确定的,包括点云物体的点云物体标识、点云PCA(Principal Components Analysis)坐标系方向、点云主方向、点云物体中心、点云最小包围盒(Oriented Bounding Box,OBB)、点云凸包和点云直方图。OBB的紧密性比较好,可以大大减少参与相交测试的包围盒的数目,总体性能要优于AABB。当几何物体发生旋转运动后,只要对OBB进行同样的旋转即可。
进一步地,每个物体的点云物体标识是不同的,即唯一的。点云PCA是通过点云协方差矩阵特征值分解,通过特征向量确定三个维度的方向,定义此坐标系为物体的local坐标系。点云主方向是在PCA计算之后,选取最小的特征值对应的特征向量,作为点云物体的主方向。比如常见的交通牌,其点云近似平面(当然建图中,会给一个阈值,如果小于阈值,则给一个最小的宽度(width),保证点云物体是三维物体),那么平面法线方向对应的特征值最小,我们定义该法线方向为主方向。
点云物体中心是根据点云中点的坐标最大值和最小值确定的,即在local坐标系下确定不同轴上的最大坐标值和最小坐标值,根据最大坐标值和最小坐标值进行加权平均处理后,将得到的坐标转换至世界坐标下得到的。点云最小包围盒OBB的包围盒尺寸为宽(width)、高(height)、深(depth),其中,width<height<depth,在世界坐标系可以用八个顶点表示;点云凸包是中包含一个物体所有点的最小凸包;点云直方图将x,y,z三维的直方图存在一个一维的向量中。
具体地,根据新采集的众包地图和已有的语义地图中的点云物体的语义信息确定语义距离,将得到的语义距离与预先设置的权值进行加权处理,得到最终的语义距离;根据语义距离对众包地图与语义地图进行二分图匹配,得到存在点云物体匹配对和/或不存在点云物体匹配对,将不存在点云物体匹配对的点云物体确定为未匹配点云物体;也就是说得到第一次匹配过程中认定众包地图中新增点云物体的第一未匹配点云物体集合,和/或,语义地图中消失点云物体的第二未匹配点云物体集合。
步骤204,判断第一未匹配点云物体集合中的各第一未匹配点云物体与语义地图中预设语义距离范围内对应的点云物体是否存在包围盒碰撞。
其中,预设语义距离范围内是预先设置的,用于从语义地图中,确定与确定第一未匹配点云物体集合中的各第一未匹配点云物体在预设语义距离范围内对应的点云物体(可以理解为第一候选点云物体)。
包围盒碰撞,即OBB碰撞(Oriented Bounding Box,方向包围盒),OBB碰撞处理采用但不仅限于是分离轴定理,可以理解为如果能找到一个轴,两个凸形状在该轴上的投影不重叠,则这两个形状不相交。如果这个轴不存在,并且那些形状是凸形的,则可以确定两个形状相交(凹形不适用,比如月牙形状,即使找不到分离轴,两个月牙形也可能不相交)。
也可理解为,如果能找到一条直线,令包围盒A完全在直线的一边,包围盒B完全在另一边,则两包围盒不重叠。而这条直线便成为分离线(在三维世界中被称为分离面),并且一定垂直于分离轴。在本实施例中,OBB碰撞处理需要测试15个分离轴,来确定OBB的相交状态。其中,两个OBB的坐标轴各3个,再加上垂直于每个轴的9个轴。碰撞判断和现有的二维OBB碰撞相同,即两个多边形在所有轴上的投影都发生重叠,则判定为碰撞;否则,没有发生碰撞,在此不做在赘述。
具体地,获取第一未匹配点云物体集合中的各第一未匹配点云物体,以及预设语义距离范围内对应的点云物体的语义信息,计算语义距离,确定在预设语义距离范围的第一候选点云物体,判断所述第一未匹配点云物体集合中的各第一未匹配点云物体与对应的第一候选点云物体是否存在包围盒碰撞,得到包围盒碰撞结果;包围盒碰撞结果包括存在包围盒碰撞或不存在包围盒碰撞。
步骤206,判断第二未匹配点云物体集合中的各第二未匹配点云物体与众包地图中预设语义距离范围内对应的点云物体是否存在包围盒碰撞。
其中,预设语义距离范围内是预先设置的,用于从众包地图中,确定与确定第二未匹配点云物体集合中的各第二未匹配点云物体在预设语义距离范围内对应的点云物体(可以理解为第二候选点云物体)。
具体地,获取第二未匹配点云物体集合中的各第二未匹配点云物体,以及预设语义距离范围内对应的点云物体的语义信息,计算语义距离,确定在预设语义距离范围的第二候选点云物体,判断所述第二未匹配点云物体集合中的各第二未匹配点云物体与对应的候选点云物体是否存在包围盒碰撞,得到包围盒碰撞结果;包围盒碰撞结果包括存在包围盒碰撞或不存在包围盒碰撞。
步骤208,根据第一未匹配点云物体的包围盒碰撞结果,和/或,第二未匹配点云物体的包围盒碰撞结果,更新语义地图。
可以理解的是,对同一采集区域的新采集的众包地图和已有的语义地图进行匹配时,得到第一未匹配点云物体集合和第二未匹配点云物体集合中至少一种;也就是说,在第一次匹配过程中认定众包地图中有新增点云物体,和/或,语义地图中有消失的点云物体。更新所述语义地图是包括添加新增的点云物体和/或删除消失的点云物体。
具体地,根据第一未匹配点云物体的包围盒碰撞结果为第二未匹配点云物体不存在包围盒碰撞,和/或,第二未匹配点云物体的包围盒碰撞结果为第一未匹配点云物体不存在包围盒碰撞,更新语义地图;以及根据第一未匹配点云物体的包围盒碰撞结果为第二未匹配点云物体存在包围盒碰撞,和/或,第二未匹配点云物体的包围盒碰撞结果为第一未匹配点云物体存在包围盒碰撞,更新语义地图。
进一步地,当第一未匹配点云物体的包围盒碰撞结果为第二未匹配点云物体不存在包围盒碰撞时,将第二未匹配点云物体从语义地图中删除;当第二未匹配点云物体的包围盒碰撞结果为第一未匹配点云物体不存在包围盒碰撞时,将第一未匹配点云物体添加至语义地图中。
上述基于三维点云众包式语义地图的更新方法中,对同一采集区域的新采集的众包地图和已有的语义地图进行匹配,对同一采集区域的新采集的众包地图和已有的语义地图进行匹配,得到第一未匹配点云物体集合和第二未匹配点云物体集合中至少一种;对第一未匹配点云物体集合中的点云物体和第二未匹配点云物体集合中的点云物体进行包围盒碰撞,对第一次匹配中不存在未匹配点云物体,进行匹配二次检测,提高地图更新精度。
在一个实施例中,如图3所示,提供了一种基于第一未匹配点云物体更新语义地图的方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
步骤302,当第一未匹配点云物体的包围盒碰撞结果为第一未匹配点云物体存在包围盒碰撞时,从语义地图中预设距离范围内确定对应的第一碰撞点云物体。
具体地,对同一采集区域的新采集的众包地图和已有的语义地图进行匹配,当得到众包地图的第一未匹配点云物体集合时,判断第一未匹配点云物体集合中的各第一未匹配点云物体与语义地图中预设语义距离范围内对应的点云物体是否存在包围盒碰撞;当第一未匹配点云物体的包围盒碰撞结果为第一未匹配点云物体存在包围盒碰撞时,从语义地图中预设距离范围内确定对应的第一碰撞点云物体;当第一未匹配点云物体的包围盒碰撞结果为第一未匹配点云物体不存在包围盒碰撞时,将第一未匹配点云物体添加至语义地图中。
如图4所示,众包地图A的第一未匹配点云物体集合1包括第一未匹配点云物体n和第一未匹配点云物体m,第一未匹配点云物体n与预设距离范围内的语义地图B(包括点云物体d和点云物体f)内点云物体d存在包围盒碰撞,确定点云物体d为第一碰撞点云物体。
步骤304,根据第一未匹配点云物体和第一碰撞点云物体,得到点云占比。
其中,点云占比是指第一未匹配点云物体对应物体点云在第一碰撞点云物体的物体凸包体内点的数量占物体点云总点数的百分比;即将第一未匹配点云物体对应物体点云和第一碰撞点云物体的物体凸包体投影或映射到相同坐标系中,确定同一坐标系下第一未匹配点云物体对应物体点云,在第一碰撞点云物体的物体凸包体中的点数量,根据点数量确定点云占比。
具体地,确定第一未匹配点云物体对应第一物体点云,以及第一碰撞点云物体对应的第一点云物体凸包体;确定第一物体点云中的点在第一点云物体凸包体的点数量,根据点数量与第一物体点云的点总数得到点云占比。
步骤306,根据点云占比和设定阈值,更新语义地图。
具体地,当点云占比大于或等于设定阈值时,确定第一未匹配点云物体和第一碰撞点云物体为同一物体,保留语义地图中原有的点云物体;当点云占比小于设定阈值时,确定第一未匹配点云物体和第一碰撞点云物体不为同一物体;将第一未匹配点云物体添加至语义地图中。
上述基于第一未匹配点云物体更新语义地图的方法中,在第一未匹配点云物体存在包围盒碰撞时,将第一未匹配点云物体和对应的第一碰撞点云物体进行点云检测,根据第一未匹配点云物体对应物体点云在第一碰撞点云物体的物体凸包体内点的数量占物体点云总点数的百分比,更新语义地图;避免数据采集过程中传感器误差,或者噪声干扰产生的误差,提高了地图更新精度。
在另一个实施例中,如图5所示,提供了一种基于第一未匹配点云物体更新语义地图方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
步骤502,当第一未匹配点云物体的包围盒碰撞结果为第一未匹配点云物体存在包围盒碰撞时,从语义地图中预设距离范围内确定对应的第一碰撞点云物体。
步骤504,判断第一未匹配点云物体和第一碰撞点云物体是否存在凸包碰撞,若是,执行步骤506,否则,执行步骤510。
其中,凸包碰撞是指检测一个点云物体的所有凸包点是否在另一个点云物体的凸包体内;例如,比如求出点云物体的凸包每个面的方程f(x,y,z)=0,然后将判断点带入f,和凸包其他点也带入f,如果异号,说明不在内部,这里的判断点是指一个点云物体点云凸包中的每一个点,判断每个点,是否在另一个点云凸包中。
可以理解的是,在OBB和凸包碰撞处理存在碰撞,也不能说明两个点云物体是同一物体;在实际是数据采集过程中考虑到传感器误差,或者点云聚类构造物体时,出现较大噪声,都会出现碰撞现象;需要进一步进行点云判断。如图6a所示,为匹配成功的两个点云物体;如图6b所示,为两个误匹配的点云物体。
步骤506,对第一未匹配点云物体和第一碰撞点云物体,得到点云占比。
步骤508,根据点云占比和设定阈值,更新语义地图。
步骤510,当不存在凸包碰撞时,确定第一未匹配点云物体和第一碰撞点云物体不为同一物体。
步骤512,将第一未匹配点云物体添加至语义地图中。
上述基于第一未匹配点云物体更新语义地图的方法中,在第一未匹配点云物体存在包围盒碰撞时,将第一未匹配点云物体和对应的第一碰撞点云物体进行凸包碰撞和点云检测,更新语义地图。即依次进行OBB碰撞检测和凸包碰撞检测,以及点云判断,避免由于遮挡或者传感器性能等原因导致误匹配,对未匹配点云物体,进行匹配二次检测,提高地图更新精度。
在一个实施例中,如图7所示,提供了一种基于第二未匹配点云物更新语义地图的方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
步骤702,当第二未匹配点云物体的包围盒碰撞结果为第二未匹配点云物体存在包围盒碰撞时,从众包地图中预设距离范围内确定对应的第二碰撞点云物体。
具体地,对同一采集区域的新采集的众包地图和已有的语义地图进行匹配,当得到语义地图的第二未匹配点云物体集合时,判断第二未匹配点云物体集合中的各第二未匹配点云物体与语义地图中预设语义距离范围内对应的点云物体是否存在包围盒碰撞;当第二未匹配点云物体的包围盒碰撞结果为第二未匹配点云物体存在包围盒碰撞时,从语义地图中预设距离范围内确定对应的第二碰撞点云物体;当第二未匹配点云物体的包围盒碰撞结果为第二未匹配点云物体不存在包围盒碰撞时,将第二未匹配点云物体从语义地图中删除。
如图8所示,语义地图A的第二未匹配点云物体集合包括第二未匹配点云物体n和第二未匹配点云物体m,第二未匹配点云物体n与预设距离范围内的众包地图B(包括点云物体d和点云物体f)内点云物体d存在包围盒碰撞,确定点云物体d为第二碰撞点云物体。
步骤704,判断第二未匹配点云物体和第二碰撞点云物体是否存在凸包碰撞;若是,执行步骤710,否则,执行步骤706。
步骤706,当不存在凸包碰撞时,确定第二未匹配点云物体和第二碰撞点云物体不为同一物体。
步骤708将第二未匹配点云物体从语义地图中删除。
步骤710,当存在凸包碰撞时,确定第二未匹配点云物体和第二碰撞点云物体为同一物体。
上述基于第二未匹配点云物更新语义地图的方法,在确定第二未匹配点云物体存在包围盒碰撞时,即第一次匹配确认的消失点云物体对应的第二碰撞点云物体进行凸包碰撞,通过确定是否存在凸包碰撞确认是消失点云物体还是同一点云物体,更新语义地图;避免数据采集过程中传感器误差,或者噪声干扰产生的误差,提高了地图更新精度。
在一个实施例中,如图9所示,提供了一种语义距离确定方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
步骤902,根据众包地图中第一点云物体的点云中心坐标和语义地图中第二点云物体的点云中心坐标,确定中心位置坐标距离差异值。
其中,第一点云物体是根据新采集的众包地图中提取的目标物体点云构造得到的,第一语义信息是从第一点云物体中提取的点云的物理几何信息,包括点云物体标识、点云中心、点云凸包、点云最小标定框OBB(即点云最小包围盒)、点云PCA坐标系方向、点云主方向和点云直方图等信息。
具体地,从众包地图中提取目标物体点云并构造对应的第一点云物体,以及提取第一点云物体的语义信息;从已有的语义地图中确定第二点云物体,以及第二点云物体的语义信息。例如,局部地图中(众包采集),第一点云物体object中心坐标为(x1,y1,z1),点云主方向为a,标定框尺寸为(w1,h1,d1),shape feature为30维向量s1,原始点云数量为n1。另一方面,语义地图中第二点云物体object中心坐标为(x2,y2,z2),点云主方向为b,标定框尺寸为(w2,h2,d2),shape feature为30维向量s2,原始点云数量为n2。
步骤904,根据第一点云物体的点云主方向和第二点云物体的点云主方向,确定点云物体方向差异值。
其中,点云物体方向差异值可以表示为:
cos(θ)=a·b/(|a|·|b|);夹角越大,差异越大,cos值越小;夹角越小,差异越小,cos值越大;
distance2=1-cos(θ),差异越小,方向距离越小。
步骤906,根据第一点云物体的标定框尺寸和第二点云物体的标定框尺寸,确定标定框尺寸差异值。
其中,第一点云物体的标定框尺寸为(w1,h1,d1),第二点云物体的标定框尺寸为(w2,h2,d2);标定框尺寸差异值可以表示为:
步骤908,根据第一点云物体的点云直方图的形状要素和第二点云物体的点云直方图的形状要素,确定外观特征差异值。
其中,外观特征差异值可以表示为:
步骤910,通过对中心位置坐标距离差异值、点云物体方向差异值、标定框尺寸差异值和外观特征差异值进行加权处理,得到各第一点云物体与语义地图中第二点云物体之间的语义距离。
具体地,获取中心位置坐标距离差异值distance1、点云物体方向差异值distance2、标定框尺寸差异值distance3和外观特征差异值distance4对应的权重值w1、w2、w3、w4;以w1、w2、w3、w4的权重加权求和去得到语义距离评分,其中权重值范围为0~1。也就是说通过每一个差异值加一个权重,然后线性相加一下,成为最终的语义距离;即语义距离=w1*distance1+w2*distance2+w3*distance3+w4*distance4。
基于地图匹配算法,根据确定的各第一点云物体与语义地图中第二点云物体之间的语义距离将采集的众包地图与已有的语义地图进行匹配,确定众包地图与已有的语义地图之间点云物体之间的匹配情况,其中,匹配情况包括众包地图中的第一点云物体在语义地图有匹配的第二点云物体、众包地图中的第一点云物体在语义地图没有匹配的第二点云物体(即第一点云物体为新增点云物体)和语义地图中的第二点云物体在众包地图中没有匹配的第一点云物体(即第二点云物体消失)等。
上述确定点云物体语义距离的方法中,通过提取中众包地图的第一点云物体的语义信息和已有的语义地图的第二点云物体的语义信息,根据物体几何信息确定众包地图中点云物体和语义地图中点云物体的语义距离,为地图匹配更新提供了保证。
在一个实施例中,如图10所示,提供了一种地图匹配方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
步骤1002,从当前采集区域对应的众包地图中提取目标物体点云。
步骤1004,根据目标物体点云构造第一点云物体并提取对应的第一语义信息。
具体地,对提取的目标物体点云进行去噪聚类,构造至少一个第一点云物体,并提取每个第一点云物体的第一语义信息。
步骤1006,获取语义地图中的所有第二点云物体以及对应的第二语义信息。
步骤1008,根据第一语义信息和第二语义信息,确定第一点云物体与各第二点云物体之间的语义距离。
具体地,根据第一点云物体的点云中心坐标和第二点云物体的点云中心坐标,确定中心位置坐标距离差异值;根据第一点云物体的点云主方向和第二点云物体的点云主方向,确定点云物体方向差异值;根据第一点云物体的标定框尺寸和第二点云物体的标定框尺寸,确定标定框尺寸差异值;根据第一点云物体的点云直方图的形状要素和第二点云物体的点云直方图的形状要素,确定外观特征差异值;通过对中心位置坐标距离差异评分、点云物体方向差异评分、标定框尺寸差异评分和外观特征差异评分进行加权处理,得到各第一点云物体与语义地图中第二点云物体之间的语义距离。
步骤1010,获取众包地图中第一点云物体的数量n和语义地图中第二点云物体的数量m,得到n*m的关联矩阵。
步骤1012,将语义距离作为关联矩阵的元素。
可以理解的是,关联矩阵中的每个元素代表众包地图中第一点云物体与语义地图中第二点云物体之间的语义距离;例如,众包地图中第一点云物体与语义地图中第二点云物体的数量为3,构成3*3的关联矩阵,关联矩阵中的每个元素为第一点云物体与语义地图中第二点云物体之间的语义距离。
步骤1014,根据预定阈值和关联矩阵,得到众包地图中第一点云物体与语义地图中第二点云物体的匹配结果。
其中,语义距离小于预定阈值则表明对应的第一点云物体和第二点云物体之间存在关联。
具体地,将语义距离作为关联矩阵的元素,当关联矩阵中存在第一元素大于或等于预定阈值时,确定第一元素对应的第一点云物体和第二点云物体不为点云物体匹配对;第一元素对应的第一点云物体和第二点云物体不为点云物体匹配对包括第一点云物体为新增的点云物体或第二点云物体为消失的点云物体。
当关联矩阵中至少存在一个第二元素小于预定阈值时,确定第二元素对应的第一点云物体存在至少一个匹配的第二点云物体;基于第二元素对关联矩阵进行分割,得到若干子图;对各子图分别进行二分图匹配,确定与第一点云物体匹配的第二点云物体;也就是说对各子图分别进行二分图匹配,确定子图中第一点云物体与各第二点云物体的匹配代价值;确定数值最小的匹配代价值对应的第二点云物体为第一点云物体的匹配点云物体。其中,二分图匹配采用的是匈牙利算法来实现的,使用匈牙利算法进行二分图匹配,得到cost最小的物体连接对(object,crowd_object)。
例如,众包采集地图的包括第一点云物体1、2、3,已有语义地图中有第二点云物体4、5、10,其中,第一点云物体2和第二点云物体4和第一点云物体2和第二点云物体5之间的语义距离大于预定值,为不匹配的点云物体,第一点云物体1和第二点云物体4,以及第一点云物体1和第二点云物体5的语义距离小于预定阈值,则需要将第一点云物体1和第二点云物体4,以及第一点云物体1和第二点云物体5的语义距离分割为一个子图,对第一点云物体1和第二点云物体4,以及第一点云物体1和第二点云物体5采用现有的匈牙利匹配算法,得到匹配代价值cost,将cost最小的确定为第一点云物体1最终的匹配点云物体。
上述地图匹配方法中,通过从众包采集数据中提取目标物体点云,在提取到的物体点云的基础上进一步提取语义信息,压缩数据大小的同时,得到更多的信息;使得整个地图数据尺寸极小,又同时包含所有需要的信息;此处地图更新中添加匹配算法,而不是仅仅通过语义距离的远近来判断是否是同一物体;在局部地图中,当物体数目超过一定的阈值时,基于语义距离的匹配算法,会使得地图更新精度更高。
在另一个实施例中,如图11所示,提供了一种基于三维点云众包式语义地图的更新方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
步骤1102,对同一采集区域的新采集的众包地图和已有的语义地图进行匹配,得到第一未匹配点云物体集合和第二未匹配点云物体集合。
步骤1104,判断第一未匹配点云物体集合、第二未匹配点云物体集合中的点云物体是否存在包围盒碰撞;若否,执行步骤1106,若是,执行步骤1108。
具体地,判断第一未匹配点云物体集合中的各第一未匹配点云物体与语义地图中预设语义距离范围内对应的点云物体是否存在包围盒碰撞;和/或,判断第二未匹配点云物体集合中的各第二未匹配点云物体与众包地图中预设语义距离范围内对应的点云物体是否存在包围盒碰撞;
步骤1106,将第二未匹配点云物体从语义地图中删除,和/或,将第一未匹配点云物体添加至语义地图中。
步骤1108,当包围盒碰撞结果为第一未匹配点云物体存在包围盒碰撞,执行步骤1110;包围盒碰撞结果为第二未匹配点云物体存在包围盒碰撞,执行步骤1122。
步骤1110,从语义地图中预设距离范围内确定对应的第一碰撞点云物体。
步骤1112,判断第一未匹配点云物体和第一碰撞点云物体是否存在凸包碰撞;若是,执行步骤1114,否则,执行步骤1118。
步骤1114,根据第一未匹配点云物体和第一碰撞点云物体,得到点云占比。
步骤1116,根据点云占比和设定阈值,更新语义地图。
步骤1118,当不存在凸包碰撞时,确定第一未匹配点云物体和第一碰撞点云物体不为同一物体。
步骤1120,将第一未匹配点云物体添加至语义地图中。
步骤1122,从众包地图中预设距离范围内确定对应的第二碰撞点云物体。
步骤1124,判断第二未匹配点云物体和第二碰撞点云物体是否存在凸包碰撞,若是,执行步骤1130,否则,执行步骤1126。
步骤1126,当不存在凸包碰撞时,确定第二未匹配点云物体和第二碰撞点云物体不为同一物体。
步骤1128,将第二未匹配点云物体从语义地图中删除。
步骤1130,当存在凸包碰撞时,确定第二未匹配点云物体和第二碰撞点云物体为同一物体。
可选地,在一个实施例中,对同一采集区域的新采集的众包地图和已有的语义地图进行匹配,得到第一未匹配点云物体集合;判断第一未匹配点云物体集合中的各第一未匹配点云物体与语义地图中预设语义距离范围内对应的点云物体是否存在包围盒碰撞;当第一未匹配点云物体的包围盒碰撞结果为第二未匹配点云物体不存在包围盒碰撞时,将第二未匹配点云物体从语义地图中删除。
当第一未匹配点云物体的包围盒碰撞结果为第一未匹配点云物体存在包围盒碰撞时,从语义地图中预设距离范围内确定对应的第一碰撞点云物体;根据第一未匹配点云物体和第一碰撞点云物体,得到点云占比;根据点云占比和设定阈值,更新语义地图。
进一步地,当第一未匹配点云物体的包围盒碰撞结果为第一未匹配点云物体存在包围盒碰撞时,判断第一未匹配点云物体和第一碰撞点云物体是否存在凸包碰撞;当存在凸包碰撞时,从语义地图中预设距离范围内确定对应的第一碰撞点云物体;根据第一未匹配点云物体和第一碰撞点云物体,得到点云占比;根据点云占比和设定阈值,更新语义地图;当不存在凸包碰撞时,确定第一未匹配点云物体和第一碰撞点云物体不为同一物体;将第一未匹配点云物体添加至语义地图中。
可选地,在一个实施例中,对同一采集区域的新采集的众包地图和已有的语义地图进行匹配,得到第二未匹配点云物体集合;判断第二未匹配点云物体集合中的各第二未匹配点云物体与众包地图中预设语义距离范围内对应的点云物体是否存在包围盒碰撞;当第二未匹配点云物体的包围盒碰撞结果为第一未匹配点云物体不存在包围盒碰撞时,将第一未匹配点云物体添加至语义地图中。
当第二未匹配点云物体的包围盒碰撞结果为第二未匹配点云物体存在包围盒碰撞时,从众包地图中预设距离范围内确定对应的第二碰撞点云物体;判断第二未匹配点云物体和第二碰撞点云物体是否存在凸包碰撞;当不存在凸包碰撞时,确定第二未匹配点云物体和第二碰撞点云物体不为同一物体;将第二未匹配点云物体从语义地图中删除;当存在凸包碰撞时,确定第二未匹配点云物体和第二碰撞点云物体为同一物体。
可选地,在一个实施例中,对同一采集区域的新采集的众包地图和已有的语义地图进行匹配,得到第一未匹配点云物体集合和第二未匹配点云物体集合;判断第一未匹配点云物体集合中的各第一未匹配点云物体与语义地图中预设语义距离范围内对应的点云物体是否存在包围盒碰撞;判断第二未匹配点云物体集合中的各第二未匹配点云物体与众包地图中预设语义距离范围内对应的点云物体是否存在包围盒碰撞;当第一未匹配点云物体的包围盒碰撞结果为第二未匹配点云物体不存在包围盒碰撞时,将第二未匹配点云物体从语义地图中删除;以及当第一未匹配点云物体的包围盒碰撞结果为第二未匹配点云物体不存在包围盒碰撞时,将第二未匹配点云物体从语义地图中删除。
当第一未匹配点云物体的包围盒碰撞结果为第一未匹配点云物体存在包围盒碰撞时,判断第一未匹配点云物体和第一碰撞点云物体是否存在凸包碰撞;当存在凸包碰撞时,从语义地图中预设距离范围内确定对应的第一碰撞点云物体;根据第一未匹配点云物体和第一碰撞点云物体,得到点云占比;根据点云占比和设定阈值,更新语义地图;当不存在凸包碰撞时,确定第一未匹配点云物体和第一碰撞点云物体不为同一物体;将第一未匹配点云物体添加至语义地图中。
当第二未匹配点云物体的包围盒碰撞结果为第二未匹配点云物体存在包围盒碰撞时,从众包地图中预设距离范围内确定对应的第二碰撞点云物体;判断第二未匹配点云物体和第二碰撞点云物体是否存在凸包碰撞;当不存在凸包碰撞时,确定第二未匹配点云物体和第二碰撞点云物体不为同一物体;将第二未匹配点云物体从语义地图中删除;当存在凸包碰撞时,确定第二未匹配点云物体和第二碰撞点云物体为同一物体。
上述基于三维点云众包式语义地图的更新方法中,对同一采集区域的新采集的众包地图和已有的语义地图进行匹配,对同一采集区域的新采集的众包地图和已有的语义地图进行匹配,在存在包围盒碰撞时,将第一未匹配点云物体和对应的第一碰撞点云物体进行凸包碰撞和点云检测;以及第二未匹配点云物体与对应的第二碰撞点云物体进行凸包碰撞,通过确定是否存在凸包碰撞确认是消失点云物体还是同一点云物体;避免由于遮挡或者传感器性能等原因导致误匹配,对未匹配点云物体,进行匹配二次检测,提高地图更新精度。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的基于三维点云众包式语义地图的更新方法的基于三维点云众包式语义地图的更新装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个基于三维点云众包式语义地图的更新装置实施例中的具体限定可以参见上文中对于基于三维点云众包式语义地图的更新方法的限定,在此不再赘述。
在一个实施例中,如图12所示,提供了一种基于三维点云众包式语义地图的更新装置,包括:点云物体匹配模块1202、点云物体碰撞模块1204和地图更新模块1206,其中:
点云物体匹配模块1202,用于对同一采集区域的新采集的众包地图和已有的语义地图进行匹配,得到第一未匹配点云物体集合和第二未匹配点云物体集合。
点云物体碰撞模块1204,用于判断第一未匹配点云物体集合中的各第一未匹配点云物体与语义地图中预设距离范围内对应的点云物体是否存在包围盒碰撞。
判断第二未匹配点云物体集合中的各第二未匹配点云物体与众包地图中预设距离范围内对应的点云物体是否存在包围盒碰撞,得到包围盒碰撞结果。
地图更新模块1206,用于根据第一未匹配点云物体的包围盒碰撞结果,和/或,第二未匹配点云物体的包围盒碰撞结果,更新语义地图。
上述基于三维点云众包式语义地图的更新装置,对同一采集区域的新采集的众包地图和已有的语义地图进行匹配,对同一采集区域的新采集的众包地图和已有的语义地图进行匹配,得到第一未匹配点云物体集合和第二未匹配点云物体集合;对第一未匹配点云物体集合中的点云物体,第二未匹配点云物体集合中的点云物体进行包围盒碰撞,对第一次匹配中不存在未匹配点云物体,进行匹配二次检测,提高地图更新精度。
可选地,在一个实施例中,地图更新模块1206还用于当第二未匹配点云物体的包围盒碰撞结果为第二未匹配点云物体不存在包围盒碰撞时,将第二未匹配点云物体从语义地图中删除。
可选地,在一个实施例中,地图更新模块1206还用于当第一未匹配点云物体的包围盒碰撞结果为第一未匹配点云物体不存在包围盒碰撞时,将第一未匹配点云物体添加至语义地图中。
可选地,在一个实施例中,地图更新模块1206还用于当第一未匹配点云物体的包围盒碰撞结果为第一未匹配点云物体不存在包围盒碰撞时,将第一未匹配点云物体添加至语义地图中;以及
当第二未匹配点云物体的包围盒碰撞结果为第二未匹配点云物体不存在包围盒碰撞时,将第二未匹配点云物体从语义地图中删除。
可选地,在一个实施例中,该装置还包括点云判断模块,用于当第一未匹配点云物体的包围盒碰撞结果为第一未匹配点云物体存在包围盒碰撞时,从语义地图中预设距离范围内确定对应的第一碰撞点云物体;根据第一未匹配点云物体和第一碰撞点云物体,得到点云占比。
可选地,在一个实施例中,地图更新模块1206还用于根据点云占比和设定阈值,更新语义地图。
点云判断模块还用于确定第一未匹配点云物体对应第一物体点云,以及第一碰撞点云物体对应的第一点云物体凸包体;确定第一物体点云中的点在第一点云物体凸包体的点数量,得到点云占比。
可选地,在一个实施例中,地图更新模块1206还用于当点云占比大于或等于设定阈值时,确定第一未匹配点云物体和第一碰撞点云物体为同一物体。
可选地,在一个实施例中,地图更新模块1206还用于当点云占比小于设定阈值时,确定第一未匹配点云物体和第一碰撞点云物体不为同一物体;将第一未匹配点云物体添加至语义地图中。
可选地,在一个实施例中,该装置还包括凸包碰撞模块,用于判断第一未匹配点云物体和第一碰撞点云物体是否存在凸包碰撞。
可选地,在一个实施例中,地图更新模块1206还用于当不存在凸包碰撞时,确定第一未匹配点云物体和第一碰撞点云物体不为同一物体;将第一未匹配点云物体添加至语义地图中。
凸包碰撞模块还用于当第二未匹配点云物体的包围盒碰撞结果为第二未匹配点云物体存在包围盒碰撞时,从众包地图中预设距离范围内确定对应的第二碰撞点云物体;判断第二未匹配点云物体和第二碰撞点云物体是否存在凸包碰撞。
可选地,在一个实施例中,地图更新模块1206还用于当不存在凸包碰撞时,确定第二未匹配点云物体和第二碰撞点云物体不为同一物体;将第二未匹配点云物体从语义地图中删除。
可选地,在一个实施例中,地图更新模块1206还用于当存在凸包碰撞时,确定第二未匹配点云物体和第二碰撞点云物体为同一物体。
上述基于三维点云众包式语义地图的更新装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图13所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种基于三维点云众包式语义地图的更新方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图13中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (14)
1.一种基于三维点云众包式语义地图的更新方法,其特征在于,所述方法包括:
对同一采集区域的新采集的众包地图和已有的语义地图进行匹配,得到第一未匹配点云物体集合和第二未匹配点云物体集合;
判断所述第一未匹配点云物体集合中的各第一未匹配点云物体与所述语义地图中预设语义距离范围内对应的点云物体是否存在包围盒碰撞;
判断所述第二未匹配点云物体集合中的各第二未匹配点云物体与所述众包地图中预设语义距离范围内对应的点云物体是否存在包围盒碰撞;
根据所述第一未匹配点云物体的包围盒碰撞结果,和/或,所述第二未匹配点云物体的包围盒碰撞结果,更新所述语义地图。
2.根据权利要求1所述的方法,其特征在于,根据所述第二未匹配点云物体的包围盒碰撞结果,更新所述语义地图,包括:
当所述第二未匹配点云物体的包围盒碰撞结果为所述第二未匹配点云物体不存在包围盒碰撞时,将所述第二未匹配点云物体从所述语义地图中删除。
3.根据权利要求1所述的方法,其特征在于,根据所述第一未匹配点云物体的包围盒碰撞结果,更新所述语义地图,包括:
当所述第一未匹配点云物体的包围盒碰撞结果为所述第一未匹配点云物体不存在包围盒碰撞时,将所述第一未匹配点云物体添加至所述语义地图中。
4.根据权利要求1所述的方法,其特征在于,根据所述第一未匹配点云物体的包围盒碰撞结果和所述第二未匹配点云物体的包围盒碰撞结果,包括:
当所述第一未匹配点云物体的包围盒碰撞结果为所述第一未匹配点云物体不存在包围盒碰撞时,将所述第一未匹配点云物体添加至所述语义地图中;以及
当所述第二未匹配点云物体的包围盒碰撞结果为所述第二未匹配点云物体不存在包围盒碰撞时,将所述第二未匹配点云物体从所述语义地图中删除。
5.根据权利要求1所述的方法,其特征在于,根据所述第一未匹配点云物体的包围盒碰撞结果,更新所述语义地图,包括:
当所述第一未匹配点云物体的包围盒碰撞结果为所述第一未匹配点云物体存在包围盒碰撞时,从所述语义地图中预设距离范围内确定对应的第一碰撞点云物体;
根据所述第一未匹配点云物体和所述第一碰撞点云物体,得到点云占比;
根据所述点云占比和设定阈值,更新所述语义地图。
6.根据权利要求5所述的方法,其特征在于,所述根据所述第一未匹配点云物体和所述第一碰撞点云物体,得到点云占比,包括:
确定所述第一未匹配点云物体对应第一物体点云,以及所述第一碰撞点云物体对应的第一点云物体凸包体;
确定所述第一物体点云中的点在所述第一点云物体凸包体的点数量,得到点云占比。
7.根据权利要求6所述的方法,其特征在于,所述根据所述点云占比和设定阈值,更新所述语义地图,包括:
当所述点云占比大于或等于所述设定阈值时,确定所述第一未匹配点云物体和所述第一碰撞点云物体为同一物体。
8.根据权利要求5所述的方法,其特征在于,所述根据所述点云占比和设定阈值,更新所述语义地图,包括:
当所述点云占比小于所述设定阈值时,确定所述第一未匹配点云物体和所述第一碰撞点云物体不为同一物体;
将所述第一未匹配点云物体添加至所述语义地图中。
9.根据权利要求5所述的方法,其特征在于,在所述对所述第一未匹配点云物体和所述第一碰撞点云物体,得到点云占比之前,所述方法还包括:
判断所述第一未匹配点云物体和所述第一碰撞点云物体是否存在凸包碰撞;
当存在凸包碰撞时,执行所述根据所述第一未匹配点云物体和所述第一碰撞点云物体,得到点云占比步骤。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
当不存在凸包碰撞时,确定所述第一未匹配点云物体和所述第一碰撞点云物体不为同一物体;
将所述第一未匹配点云物体添加至所述语义地图中。
11.根据权利要求1所述的方法,其特征在于,根据所述第二未匹配点云物体的包围盒碰撞结果,更新所述语义地图,包括:
当所述第二未匹配点云物体的包围盒碰撞结果为所述第二未匹配点云物体存在包围盒碰撞时,从所述众包地图中预设距离范围内确定对应的第二碰撞点云物体;
判断所述第二未匹配点云物体和所述第二碰撞点云物体是否存在凸包碰撞;
当不存在凸包碰撞时,确定所述第二未匹配点云物体和所述第二碰撞点云物体不为同一物体;
将所述第二未匹配点云物体从所述语义地图中删除。
12.根据权利要求11所述的方法,其特征在于,所述方法还包括:
当存在凸包碰撞时,确定所述第二未匹配点云物体和所述第二碰撞点云物体为同一物体。
13.一种基于三维点云众包式语义地图的更新装置,其特征在于,所述装置包括:
点云物体匹配模块,用于对同一采集区域的新采集的众包地图和已有的语义地图进行匹配,得到第一未匹配点云物体集合和第二未匹配点云物体集合;
点云物体碰撞模块,用于判断所述第一未匹配点云物体集合中的各第一未匹配点云物体与所述语义地图中预设距离范围内对应的点云物体是否存在包围盒碰撞;
判断所述第二未匹配点云物体集合中的各第二未匹配点云物体与所述众包地图中预设距离范围内对应的点云物体是否存在包围盒碰撞,得到包围盒碰撞结果;
地图更新模块,用于根据所述第一未匹配点云物体的包围盒碰撞结果,和/或,所述第二未匹配点云物体的包围盒碰撞结果,更新所述语义地图。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至12中任一项所述的方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210006061.3A CN115544191A (zh) | 2022-01-04 | 2022-01-04 | 基于三维点云众包式语义地图的更新方法和装置 |
PCT/CN2023/070501 WO2023131203A1 (zh) | 2022-01-04 | 2023-01-04 | 语义地图更新方法、路径规划方法以及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210006061.3A CN115544191A (zh) | 2022-01-04 | 2022-01-04 | 基于三维点云众包式语义地图的更新方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115544191A true CN115544191A (zh) | 2022-12-30 |
Family
ID=84724369
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210006061.3A Pending CN115544191A (zh) | 2022-01-04 | 2022-01-04 | 基于三维点云众包式语义地图的更新方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115544191A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023131203A1 (zh) * | 2022-01-04 | 2023-07-13 | 深圳元戎启行科技有限公司 | 语义地图更新方法、路径规划方法以及相关装置 |
-
2022
- 2022-01-04 CN CN202210006061.3A patent/CN115544191A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023131203A1 (zh) * | 2022-01-04 | 2023-07-13 | 深圳元戎启行科技有限公司 | 语义地图更新方法、路径规划方法以及相关装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10339669B2 (en) | Method, apparatus, and system for a vertex-based evaluation of polygon similarity | |
CN110264502B (zh) | 点云配准方法和装置 | |
CN112990010B (zh) | 点云数据处理方法、装置、计算机设备和存储介质 | |
Shinzato et al. | Road estimation with sparse 3D points from stereo data | |
CN114255323A (zh) | 机器人、地图构建方法、装置和可读存储介质 | |
CN114627073B (zh) | 地形识别方法、装置、计算机设备和存储介质 | |
CN113192174A (zh) | 建图方法、装置及计算机存储介质 | |
CN114266871B (zh) | 机器人、地图质量评估方法和存储介质 | |
CN115544191A (zh) | 基于三维点云众包式语义地图的更新方法和装置 | |
CN118319188A (zh) | 清洁机器人的重定位方法、清洁机器人和计算机设备 | |
Wu et al. | A non-rigid hierarchical discrete grid structure and its application to UAVs conflict detection and path planning | |
Border et al. | The Surface Edge Explorer (SEE): A measurement-direct approach to next best view planning | |
Jiang et al. | Multilayer map construction and vision-only multi-scale localization for intelligent vehicles in underground parking | |
CN115544189A (zh) | 语义地图更新方法、装置和计算机存储介质 | |
CN116823966A (zh) | 相机的内参标定方法、装置、计算机设备和存储介质 | |
CN115544190A (zh) | 语义地图更新方法、装置、计算机设备和存储介质 | |
CN116481517A (zh) | 扩展建图方法、装置、计算机设备和存储介质 | |
CN115830073A (zh) | 地图要素重建方法、装置、计算机设备和存储介质 | |
CN114463429B (zh) | 机器人、地图创建方法、定位方法及介质 | |
Munguía et al. | Method for SLAM Based on Omnidirectional Vision: A Delayed‐EKF Approach | |
CN111982152A (zh) | 点云地图量化方法、装置、计算机设备和存储介质 | |
Roman-Rivera et al. | 3D Point Cloud Outliers and Noise Reduction Using Neural Networks | |
Ghosh et al. | On localizing a camera from a single image | |
CN116007637B (zh) | 定位装置、方法、车载设备、车辆、及计算机程序产品 | |
Kim et al. | An enhanced density-based spatial separation strategy of 3D point clouds |
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 |