CN115147561A - 位姿图生成方法、高精地图生成方法和装置 - Google Patents
位姿图生成方法、高精地图生成方法和装置 Download PDFInfo
- Publication number
- CN115147561A CN115147561A CN202210777156.5A CN202210777156A CN115147561A CN 115147561 A CN115147561 A CN 115147561A CN 202210777156 A CN202210777156 A CN 202210777156A CN 115147561 A CN115147561 A CN 115147561A
- Authority
- CN
- China
- Prior art keywords
- edge
- closed loop
- edges
- pose graph
- threshold
- 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
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformation in the plane of the image
- G06T3/40—Scaling the whole image or part thereof
- G06T3/4038—Scaling the whole image or part thereof for image mosaicing, i.e. plane images composed of plane sub-images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
Abstract
本公开提供了一种位姿图生成方法,涉及自动驾驶和智能交通领域。具体实现方案为:响应于对源点云和目标点云进行拼接的请求,逐个连接源点云中的源点和目标点云中的目标点,生成用于表示源点和目标点之间相对位姿的边,并将源点、目标点和边添加到局部位姿图中;响应于每生成一条边,在局部位姿图中确定包含该条边的至少一个闭环,并根据每个闭环中多条边各自的相对位姿,确定所有闭环中每条边的评估值;响应于源点云与目标点云拼接完成,将局部位姿图确定为完整位姿图;针对完整位姿图中的每条边,根据该边的评估值,确定该边的准确性;以及根据准确性,优化完整位姿图。本公开还提供了一种地图生成方法、装置、电子设备和存储介质。
Description
技术领域
本公开涉及自动驾驶和智能交通技术。更具体地,本公开提供了一种位姿图生成方法、地图生成方法、装置、电子设备和存储介质。
背景技术
在自动驾驶领域,用于自动驾驶车辆的专用地图可以称为高精地图,也可以称为高精度地图,可以利用车辆上的点云采集设备在不同时刻采集到的点云数据来生成高精地图。高精地图,拥有精确的车辆位置信息和丰富的道路元素数据信息,可以帮助汽车预知路面复杂信息,如坡度、曲率、航向等,更好地规避潜在的风险。
发明内容
本公开提供了一种位姿图生成方法、地图生成方法、装置、设备以及存储介质。
根据第一方面,提供了一种位姿图生成方法,该方法包括:响应于对源点云和目标点云进行拼接的请求,逐个连接源点云中的源点和目标点云中的目标点,生成用于表示所述源点和所述目标点之间相对位姿的边,并将所述源点、所述目标点和所述边添加到局部位姿图中;响应于每生成一条边,在局部位姿图中确定包含该条边的至少一个闭环,并根据每个闭环中多条边各自的相对位姿,确定所有闭环中每条边的评估值,评估值用于指示边表示的相对位姿的准确性;响应于源点云与目标点云拼接完成,将局部位姿图确定为完整位姿图;针对完整位姿图中的每条边,根据该边的评估值,确定该边的准确性;以及根据准确性,优化完整位姿图。
根据第二方面,提供了一种地图生成方法,该方法包括:获取位姿图;以及根据位姿图生成地图;位姿图是根据上述位姿图生成方法生成的局部位姿图、完整位姿图以及优化后的完整位姿图中的之一。
根据第三方面,提供了一种地图生成装置,该装置包括:第一生成模块,用于响应于对源点云和目标点云进行拼接的请求,逐个连接源点云中的源点和目标点云中的目标点,生成用于表示所述源点和所述目标点之间相对位姿的边,并将所述源点、所述目标点和所述边添加到局部位姿图中;第一确定模块,用于响应于每生成一条边,在局部位姿图中确定包含该条边的至少一个闭环,并根据每个闭环中多条边各自的相对位姿,确定所有闭环中每条边的评估值,评估值用于指示边表示的相对位姿的准确性;第二生成模块,用于响应于源点云与目标点云拼接完成,将局部位姿图确定为完整位姿图;第二确定模块,用于针对完整位姿图中的每条边,根据该边的评估值,确定该边的准确性;以及优化模块,用于根据准确性,优化完整位姿图。
根据第四方面,提供了一种地图生成装置,该装置包括:获取模块,用于获取位姿图;以及第三生成模块,用于根据位姿图,生成地图;位姿图是根据上述位姿图生成装置生成的局部位姿图、完整位姿图以及优化后的完整位姿图中的之一。
根据第五方面,提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行根据本公开提供的方法。
根据第六方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,该计算机指令用于使计算机执行根据本公开提供的方法。
根据第七方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据本公开提供的方法。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是根据本公开的一个实施例的可以应用位姿图生成方法以及地图生成方法和装置的示例性场景示意图;
图2是根据本公开的一个实施例的位姿图生成方法的流程图;
图3是根据本公开的一个实施例的确定边的评估值的方法的示意图;
图4A是根据本公开的一个实施例的相对位姿的平移误差与边的准确性的关系图;
图4B是根据本公开的一个实施例的相对位姿的旋转误差与边的准确性的关系图;
图5是根据本公开的一个实施例的地图生成方法的流程图;
图6是根据本公开的一个实施例的位姿图生成装置的框图;
图7是根据本公开的一个实施例的地图生成装置的框图;
图8是根据本公开的一个实施例的位姿图生成方法和/或地图生成方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
在本公开的技术方案中,在获取或采集用户个人信息之前,均获取了用户的授权或同意。
图1是根据本公开一个实施例的可以应用地图生成方法和装置的示例性场景示意图。需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
如图1所示,实施例100可以包括道路、行驶在道路中的自动驾驶车辆110、道路中的箭头路标120、以及位于自动驾驶车辆110上的点云采集设备111。点云采集设备111可以包括LiDAR(Light Detection and Ranging,激光探测和测距)传感器,LIDAR传感器可以在自动驾驶车辆110行驶过程中不断发射激光传感束,来扫描得到周围环境的点云数据。点云是以点的形式进行记录的数据,每个点可以包含有三维坐标、颜色、反射值等信息。点云的三维坐标所在坐标系可以称为点云采集设备111的坐标系。
由于自动驾驶车辆110在运动,点云采集设备111也在运动,使得点云采集设备111的坐标系在变化,由此点云采集设备111在不同时刻采集到的点云所在的坐标系也在变化。不同时刻采集到的点云的坐标系的相对位姿可以称为上述不同时刻的点云的相对位姿。利用不同时刻采集到的点云的相对位姿可以构建位姿图,利用位姿图可以进行高精地图的局部或全局的制图。
因此,不同时刻的点云之间的相对位姿的精度对生成的地图的精度有着直接的影响,如果相对位姿有较大误差,会导致生成的高精地图出现点云重影等问题。
一种确定相对位姿的准确性的方法是通过对两帧点云进行拼接,根据拼接结果计算相对位姿误差来确定准确性的,计算相对位姿误差例如包括计算拼接残差、内点的数量、点云的信息熵等,但是数据计算量比较大,占用较多的计算资源。
图2是根据本公开的一个实施例的位姿图生成方法的流程图。
如图2所示,该位姿图生成方法200可以包括操作S210~操作S240。
在操作S210,响应于对源点云和目标点云进行拼接的请求,逐个连接源点云中的源点和目标点云中的目标点,生成用于表示源点和目标点之间相对位姿的边,并将源点、目标点和边添加到局部位姿图中。
可以理解,点云拼接是要将源点云和目标点云进行拼接,具体是针对源点云中的点(可以称为源点),在目标点云中找到与该源点相匹配的点(可以称为目标点),源点和目标点之间位姿的变化作为源点和目标点的相对位姿,根据相对位姿将源点和目标点拼接在一起的过程。
其中,在源点云和目标点云进行拼接的过程中,如果确定源点云中的源点与目标点云中的目标点匹配,可以连接该源点和该目标点,生成该源点和该目标点之间的边,该边表示该源点和目标点之间的相对位姿。逐个连接相匹配的源点和目标点,并将源点、目标点以及边添加到局部位姿图中,该局部位姿图可以反映自动驾驶车辆的运动轨迹。
需要说明的是,局部位姿图初始时只包括新生成的第一条边和源点、目标点,在每次生成一条新边后,将该条新边以及该条新边的源点和目标点加入到局部位姿图中,使得局部位姿图逐渐完善。在源点云和目标点云拼接完成之后,局部位姿图可以确定为完整位姿图。
在操作S220,响应于每生成一条边,在局部位姿图中确定包含该条边的至少一个闭环,并根据每个闭环中多条边各自的相对位姿,确定所有闭环中每条边的评估值。
例如,在源点云和目标点云进行拼接的过程中,每完成一对源点云和目标点云的拼接,便产生一条表征该源点云和目标点云之间相对位姿的边。
例如,每产生一条新边,可以在已经生成的局部位姿图中检测包含该新边的所有闭环。其中,闭环可以理解为从该新边的源点出发,经过多条边,可以返回至该新边的源点。例如可以利用广度优先遍历算法来检测出包含该新边的所有闭环。
可以理解,针对每个闭环,如果该闭环中各个节点之间的相对位姿准确,各节点的相对位姿之和应该接近于0。因此,可以依据闭环中各个边表示的相对位姿之和,来评估闭环中各个边表示的相对位姿的准确性。例如,可以根据闭环中各个边表示的相对位姿之和,来为各个边赋予评估值,得到该闭环中每条边的评估值。进而可以得到所有闭环中每条边的评估值。其中每条边的评估值指示了该边所表示的相对位姿的准确性。
例如,针对新边New-edge,检测出包含该新边的闭环包括闭环A、闭环B和闭环C。针对每个闭环,可以根据该闭环中所有边的相对位姿之和,确定该闭环中每条边的评估值。下面以闭环A为例进行说明,闭环B和闭环C类似,这里没有赘述。
例如,闭环A包括新边New-edge、边a1、边a2,可以计算新边New-edge、边a1、边a2的相对位姿之和,如果该相对位姿之和小于第一阈值(例如0.1),可以为边New-edge赋予评估值(例如初始评估值为0,可以将评估值加1)。并更新边a1、边a2的评估值(例如,将边a1的评估值在原有基础上加1,将边a2的评估值在原有基础上加1)。类似地,可以确定闭环B、闭环C中每条边的评估值。
对于新边New-edge,可以将该新边在闭环A中的评估值、在闭环B中的评估值以及在闭环C中的评估值相加(或者加权求和)得到该新边New-edge在本次检测到的所有闭环的评估值。对于边a1,可以将边a1在闭环A中的评估值与该边a1原有的评估值进行累加,如果边a1还存在于闭环B或闭环C,可以将边a1在闭环B或闭环C中的评估值也累加进来,得到边a1在本次检测到的所有闭环的评估值。对于边a2与边a1类似,这里不再赘述。
在操作S230,响应于源点云与目标点云拼接完成,将局部位姿图确定为完整位姿图。
例如,在源点云和目标点云拼接完成后得到完整位姿图。由于在由局部位姿图形成完整位姿图的过程中,每条边均不断在赋评估值。因此在完整位姿图中每条边都具有最终的评估结果。
在操作S240,针对完整位姿图中的每条边,根据该边的评估值,确定该边的准确性。
例如,在完整位姿图中每条边的最终的评估结果可以表征该边的准确性。例如,评估值可以包括正向评估值和负向评估值,针对每条边,每次闭环检测可以为该边赋正向评估值或负向评估值。在完整位姿图中,针对每条边可以根据该边所有的正向评估值和负向评估值,综合确定该边的准确性。
在操作S250,根据准确性,优化完整位姿图。
例如,可以设置准确性的阈值(例如50%),准确性大于阈值的边表示的相对位姿误差较小,可以说明连接该边的源点和目标点匹配准确。准确性不大于阈值的边表示的相对位姿误差较大,可以说明连接该边的源点和目标点匹配不准确。可以将相对位姿误差较大的边从完整位姿图中剔除出去,以便优化位姿图。
本公开的实施例在生成位姿图的过程中,每产生一条新边,便检测出包含该新边的所有闭环,针对闭环中的每条边进行准确性评估,在最终生成的位姿图中,根据每条边的准确性优化位姿图,相比通过计算匹配残差的优化方式,能够减少计算量,节约计算资源。
可以理解,本公开的实施例每产生一条新边,便检测出包含该新边的所有闭环,进而根据闭环进行边的准确性评估,相比于在源点云和目标点云拼接完整之后再进行闭环检测和准确性评估的方式,能够提高计算效率。
可以理解,根据边的准确性优化位姿图,优化后的位姿图中每条边表示的相对位姿的准确性较高,因此,位姿图的精度较高,进而能够提高高精地图的精度。
根据本公开的实施例,操作S220包括响应于闭环中多条边的相对位姿之和小于第一阈值,将闭环中每条边的正向评估值均加一。响应于闭环中多条边的相对位姿之和大于第二阈值,将闭环中每条边的负向评估值均加一。
例如,可以针对闭环的相对位姿之和设置第一阈值来判断该闭环的每条边的相对位姿是否准确性较高,并设置第二阈值来判断该闭环中的每条边的相对位姿是否误差较大。
例如,相对位姿可以包括平移距离和旋转角度,相对位姿之和可以包括平移距离之和以及旋转角度之和,相对位姿可以是用变换矩阵(包括平移矩阵和旋转矩阵)表示的,相对位姿之和可以是变换矩阵相乘得到的。
由于相对位姿可以包括平移距离和旋转角度,对应地,第一阈值可以包括第一平移阈值和第一旋转阈值。其中,第一平移阈值可以是第一距离与闭环中边的数量(edge_count)的乘积(例如0.1米*edge_count),第一旋转阈值可以是第一角度与闭环中边的数量(edge_count)的乘积(例如0.1度*edge_count)。
第二阈值可以包括第二平移阈值和第二旋转阈值,其中,第二平移阈值可以是第二距离与闭环中边的数量(edge_count)的乘积(例如0.4米*edge_count),第二旋转阈值可以是第二角度与闭环中边的数量(edge_count)的乘积(例如0.3度*edge_count)。
下面结合具体例子对本公开提供的确定边的评估值的方法进行详细说明。
图3是根据本公开的一个实施例的确定边的评估值的方法的示意图。
如图3所示,位姿图300可以是局部位姿图。位姿图300包括节点a、节点b、节点c、节点d以及边301~306。
例如,针对每条边,可以利用广度优先遍历算法检测包含该边的所有闭环。以边301为新边为例,检测得到包含边301的所有闭环共有三个,分别是第一闭环:节点a-边301-边302-边304-节点a,第二闭环:节点a-边301-边302-边303--边306-节点a,以及第三闭环:节点a-边301-边305-边306-节点a。
其中,针对第一闭环,可以计算边301、边302和边304的相对位姿之和,包括平移距离之和以及旋转角度之和。如果第一闭环的平移距离之和小于第一平移阈值(例如0.1米*edge_count)或者旋转角度之和小于第一旋转阈值(例如0.1度*edge_count),则可以认为第一闭环中的所有边的相对位姿之和接近于0,并且可以认为第一闭环中的所有边的相对位姿相对准确。因此,可以为该第一闭环中的每条边的正向评估值(good_count)均加1(例如边301、边302和边304的正向评估值均加一,其中,每条边的初始正向评估值为0)。
如果第一闭环的平移距离之和大于第二平移阈值(例如0.4米*edge_count)或者旋转角度之和大于第二旋转阈值(例如0.3度*edge_count),则可以认为第一闭环中的所有边的相对位姿之和比较大,并且可以认为第一闭环中的所有边的相对位姿不准确。因此,可以为该第一闭环中的每条边的负向评估值(bad_count)均加1(例如边301、边302和边304的负向评估值均加一,其中,每条边的初始负向评估值为0)。
如果第一闭环的平移距离之和在第一平移阈值和第二平移阈值之间,且第一闭环的旋转角度之和在第一旋转阈值和第二旋转阈值之间,可以无需针对第一闭环中的每条边做任何操作。
针对第二闭环和第三闭环,可以采取上述类似的方式来确定第二闭环、第三闭环中每条边的评估值。
类似地,针对其他边为新边的情况,检测闭环的方式以及为闭环中的每条边赋评估值的方式可以参照上述边301为新边的具体实现方式。
如图3所示,该位姿图300除了包含第一闭环、第二闭环和第三闭环外,还包括第四闭环和第五闭环,第四闭环是边302、边303和边305组成闭环,第五闭环是边304、边303和边306组成的闭环。其中,第五闭环和第六闭环中的起始(结束)节点的确定取决于哪条边是新边。
根据本公开的实施例,在得到完整位姿图之后,可以确定每条边的正向评估值之和(例如good_count的数量,作为正向评估结果)以及负向评估值之和(例如bad_count的数量,作为负向评估结果)。根据正向评估结果和负向评估结果之间的差异,可以确定该边的准确性。
例如,如果边的good_count的数量大于bad_count的数量,可以确定该边的相对位姿是准确的,如果good_count的数量不大于bad_count的数量可以确定该边的相对位姿是不准确的。
图4A~4B是根据本公开的一个实施例的相对位姿的真实误差与边的准确性的关系图。
图4A是根据本公开的一个实施例的相对位姿的平移误差与边的准确性的关系图。
如图4A所示,实施例401的横轴为相对位姿所处的闭环中判断为好的闭环和坏的闭环的数量之差(good_loops_count-bad_loops_count),纵轴为用真值计算出来的相对位姿平移误差(translation error)。其中,相对位姿所处的闭环中判断为好的闭环的数量good_loops_count等同于相对位姿的good_count的数量,相对位姿所处的闭环中判断为坏的闭环的数量bad_loops_count等同于相对位姿的bad_count的数量。
如图4A所示,bad_loops_count大于good_loops_count的相对位姿数量较少,例如在图4A的左半部分存在较少的相对位姿,这些相对位姿的平移误差也相对较大(例如大于2.5米)。大部分相对位姿分布于图4A的右半部分(good_loops_count大于bad_loops_count),这类相对位姿的平移误差相对较小(例如小于0.5米)。
图4B是根据本公开的一个实施例的相对位姿的旋转误差与边的准确性的关系图。
如图4B所示,实施例402的横轴为相对位姿所处的闭环中判断为好的闭环和坏的闭环的数量之差(good_loops_count-bad_loops_count),纵轴为用真值计算出来的相对位姿旋转误差(rotation error)。其中,相对位姿所处的闭环中判断为好的闭环的数量good_loops_count等同于相对位姿的good_count的数量,相对位姿所处的闭环中判断为坏的闭环的数量bad_loops_count等同于相对位姿的bad_count的数量。
如图4B所示,bad_loops_count大于good_loops_count的相对位姿数量较少,例如在图4B的左半部分存在较少的相对位姿,这些相对位姿的旋转误差也相对较大(例如大于2度)。大部分相对位姿分布于图4B的右半部分(good_loops_count大于bad_loops_count),这类相对位姿的旋转误差相对较小(例如小于1度)。
本公开实施例通过闭环检测以及利用相对位姿之和来评估每条边的准确性,能够在真值(真实的相对位姿)未知的情况下,对点云拼接过程中的相对位姿的准确性进行评估,提高位姿图的精度。
图5是根据本公开的一个实施例的地图生成方法的流程图。
如图5所示,地图生成方法500包括操作S510~~操作S520。
在操作S510,获取位姿图。
在操作S520,根据位姿图生成地图。
其中,上述位姿图可以是根据上述位姿图生成方法产生的局部位姿图、完整位姿图以及优化后的完整位姿图中的之一,上述地图可以是用于自动驾驶车辆的高精地图。利用局部位姿图可以构建局部高精地图,利用完整位姿图可以构建完整高精地图。
例如,源点云和目标点云是自动驾驶车辆在不同时刻采集到的针对周围物体的数据,包含了周围物体的颜色信息、位置信息(例如坐标以及与周围物体之间的距离)。因此,将源点云和目标点云进行拼接便得到了自动驾驶车辆的真实场景。
可以基于深度学习模型从点云数据中进行元素识别或分类。例如识别或分类出信号灯、指示牌等。从点云中识别出各种元素,进而构建地图。构建地图过程中还可以进行人工或是自动标注进行数据修正,以便提高地图准确率。
在将源点云和目标点云进行拼接之后,产生位姿图,该位姿图反映了自动驾驶车辆的运动轨迹。因此,根据识别出的元素以及生成的位姿图可以生成用于自动驾驶车辆的高精地图。
图6是根据本公开的一个实施例的位姿图生成装置的框图。
如图6所示,该位姿图生成装置600包括第一生成模块601、第一确定模块602、第二生成模块603、第二确定模块604和优化模块605。
第一生成模块601用于响应于对源点云和目标点云进行拼接的请求,逐个连接源点云中的源点和目标点云中的目标点,生成用于表示源点和目标点之间相对位姿的边,并将源点、目标点和边添加到局部位姿图中。
第一确定模块602用于响应于每生成一条边,在局部位姿图中确定包含该条边的至少一个闭环,并根据每个闭环中多条边各自的相对位姿,确定所有闭环中每条边的评估值,评估值用于指示边表示的相对位姿的准确性。
第二生成模块603用于响应于源点云与目标点云拼接完成,将局部位姿图确定为完整位姿图。
第二确定模块604用于针对完整位姿图中的每条边,根据该边的评估值,确定该边的准确性。
优化模块605用于根据准确性,优化完整位姿图。
根据本公开的实施例,第一确定模块602包括第一确定单元和第二确定单元。
第一确定单元,用于针对每个闭环,根据闭环中多条边的相对位姿之和,确定闭环中每条边的评估值。
第二确定单元,用于根据至少一个闭环中每条边的评估值,确定所有闭环中每条边的评估值。
评估值包括正向评估值和负向评估值;第一确定单元包括第一评估子单元和第二评估子单元。
第一评估子单元用于响应于闭环中多条边的相对位姿之和小于第一阈值,将闭环中每条边的正向评估值均加一。
第二评估子单元用于响应于闭环中多条边的相对位姿之和大于第二阈值,将闭环中每条边的负向评估值均加一。
其中,相对位姿包括平移距离和旋转角度,第一阈值包括第一平移阈值和第一旋转阈值,第二阈值包括第二平移阈值和第二旋转阈值。
闭环中多条边的相对位姿之和小于第一阈值包括:闭环中多条边的平移距离之和小于第一平移阈值,或者闭环中多条边的旋转角度之和小于第一旋转阈值中的至少之一。
闭环中多条边的相对位姿之和大于第二阈值包括:闭环中多条边的平移距离之和大于第二平移阈值,或者闭环中多条边的旋转角度之和大于第二旋转阈值中的至少之一。
其中,第一平移阈值为第一距离与闭环中的边的数量的乘积,第一旋转阈值为第一角度与闭环中的边的数量的乘积,第二平移阈值为第二距离与闭环中的边的数量的乘积,第二旋转阈值为第二角度与闭环中的边的数量的乘积。
根据本公开的实施例,第二确定模块604用于针对完整位姿图中的每条边,根据该边的正向评估值和负向评估值之间的差异,确定该边的准确性。
图7是根据本公开的一个实施例的地图生成装置的框图。
如图7所示,该地图生成装置700包括获取模块701和第三生成模块702。
获取模块701用于获取位姿图。
第三生成模块702用于根据位姿图生成地图。
其中,位姿图是根据上述位姿图生成装置生成的局部位姿图、完整位姿图以及优化后的完整位姿图中的之一。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图8示出了可以用来实施本公开的实施例的示例电子设备800的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图8所示,设备800包括计算单元801,其可以根据存储在只读存储器(ROM)802中的计算机程序或者从存储单元808加载到随机访问存储器(RAM)803中的计算机程序,来执行各种适当的动作和处理。在RAM 803中,还可存储设备800操作所需的各种程序和数据。计算单元801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
设备800中的多个部件连接至I/O接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元801可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元801的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元801执行上文所描述的各个方法和处理,例如位姿图生成方法和/或地图生成方法。例如,在一些实施例中,位姿图生成方法和/或地图生成方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由ROM 802和/或通信单元809而被载入和/或安装到设备800上。当计算机程序加载到RAM 803并由计算单元801执行时,可以执行上文描述的位姿图生成方法和/或地图生成方法的一个或多个步骤。备选地,在其他实施例中,计算单元801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行位姿图生成方法和/或地图生成方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、复杂可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (17)
1.一种位姿图生成方法,包括:
响应于对源点云和目标点云进行拼接的请求,逐个连接所述源点云中的源点和所述目标点云中的目标点,生成用于表示所述源点和所述目标点之间相对位姿的边,并将所述源点、所述目标点和所述边添加到局部位姿图中;
响应于每生成一条边,在所述局部位姿图中确定包含该条边的至少一个闭环,并根据每个所述闭环中多条边各自的相对位姿,确定所有所述闭环中每条边的评估值,所述评估值用于指示所述边表示的相对位姿的准确性;
响应于所述源点云与所述目标点云拼接完成,将所述局部位姿图确定为完整位姿图;
针对所述完整位姿图中的每条边,根据该边的评估值,确定该边的准确性;以及
根据所述准确性,优化所述完整位姿图。
2.根据权利要求1所述的方法,其中,所述根据每个所述闭环中多条边各自的相对位姿,确定所有所述闭环中每条边的评估值包括:
针对每个所述闭环,根据所述闭环中多条边的相对位姿之和,确定所述闭环中每条边的评估值;
根据所述至少一个闭环中每条边的评估值,确定所有所述闭环中每条边的评估值。
3.根据权利要求2所述的方法,其中,所述评估值包括正向评估值和负向评估值;所述针对每个所述闭环,根据所述闭环中多条边的相对位姿之和,确定所述闭环中每条边的评估值包括:针对每个所述闭环,
响应于所述闭环中多条边的相对位姿之和小于第一阈值,将所述闭环中每条边的正向评估值均加一;
响应于所述闭环中多条边的相对位姿之和大于第二阈值,将所述闭环中每条边的负向评估值均加一。
4.根据权利要求3所述的方法,其中,所述相对位姿包括平移距离和旋转角度,所述第一阈值包括第一平移阈值和第一旋转阈值,所述第二阈值包括第二平移阈值和第二旋转阈值;
所述闭环中多条边的相对位姿之和小于第一阈值包括:所述闭环中多条边的平移距离之和小于第一平移阈值,或者所述闭环中多条边的旋转角度之和小于第一旋转阈值中的至少之一;
所述闭环中多条边的相对位姿之和大于第二阈值包括:所述闭环中多条边的平移距离之和大于第二平移阈值,或者所述闭环中多条边的旋转角度之和大于第二旋转阈值中的至少之一。
5.根据权利要求4所述的方法,其中,所述第一平移阈值为第一距离与所述闭环中的边的数量的乘积,所述第一旋转阈值为第一角度与所述闭环中的边的数量的乘积,所述第二平移阈值为第二距离与所述闭环中的边的数量的乘积,所述第二旋转阈值为第二角度与所述闭环中的边的数量的乘积。
6.根据权利要求3所述的方法,其中,所述针对所述完整位姿图中的每条边,根据该边的评估值,确定该边的准确性包括:
针对所述完整位姿图中的每条边,根据该边的正向评估值和负向评估值之间的差异,确定该边的准确性。
7.一种地图生成方法,包括:
获取位姿图;以及
根据所述位姿图生成地图;
其中,所述位姿图是根据权利要求1至6中任一项所述的方法生成的局部位姿图、完整位姿图以及优化后的完整位姿图中的之一。
8.一种位姿图生成装置,包括:
第一生成模块,用于响应于对源点云和目标点云进行拼接的请求,逐个连接所述源点云中的源点和所述目标点云中的目标点,生成用于表示所述源点和所述目标点之间相对位姿的边,并将所述源点、所述目标点和所述边添加到局部位姿图中;
第一确定模块,用于响应于每生成一条边,在所述局部位姿图中确定包含该条边的至少一个闭环,并根据每个所述闭环中多条边各自的相对位姿,确定所有所述闭环中每条边的评估值,所述评估值用于指示所述边表示的相对位姿的准确性;
第二生成模块,用于响应于所述源点云与所述目标点云拼接完成,将所述局部位姿图确定为完整位姿图;
第二确定模块,用于针对所述完整位姿图中的每条边,根据该边的评估值,确定该边的准确性;以及
优化模块,用于根据所述准确性,优化所述完整位姿图。
9.根据权利要求8所述的装置,其中,所述第一确定模块包括:
第一确定单元,用于针对每个所述闭环,根据所述闭环中多条边的相对位姿之和,确定所述闭环中每条边的评估值;
第二确定单元,用于根据至少一个闭环中每条边的评估值,确定所有所述闭环中每条边的评估值。
10.根据权利要求9所述的装置,其中,所述评估值包括正向评估值和负向评估值;所述第一确定单元包括:
第一评估子单元,用于响应于所述闭环中多条边的相对位姿之和小于第一阈值,将所述闭环中每条边的正向评估值均加一;
第二评估子单元,用于响应于所述闭环中多条边的相对位姿之和大于第二阈值,将所述闭环中每条边的负向评估值均加一。
11.根据权利要求10所述的装置,其中,所述相对位姿包括平移距离和旋转角度,所述第一阈值包括第一平移阈值和第一旋转阈值,所述第二阈值包括第二平移阈值和第二旋转阈值;
所述闭环中多条边的相对位姿之和小于第一阈值包括:所述闭环中多条边的平移距离之和小于第一平移阈值,或者所述闭环中多条边的旋转角度之和小于第一旋转阈值中的至少之一;
所述闭环中多条边的相对位姿之和大于第二阈值包括:所述闭环中多条边的平移距离之和大于第二平移阈值,或者所述闭环中多条边的旋转角度之和大于第二旋转阈值中的至少之一。
12.根据权利要求11所述的装置,其中,所述第一平移阈值为第一距离与所述闭环中的边的数量的乘积,所述第一旋转阈值为第一角度与所述闭环中的边的数量的乘积,所述第二平移阈值为第二距离与所述闭环中的边的数量的乘积,所述第二旋转阈值为第二角度与所述闭环中的边的数量的乘积。
13.根据权利要求10所述的装置,其中,所述第二确定模块用于针对所述完整位姿图中的每条边,根据该边的正向评估值和负向评估值之间的差异,确定该边的准确性。
14.一种地图生成装置,包括:
获取模块,用于获取位姿图;以及
第三生成模块,用于根据所述位姿图生成地图;
其中,所述位姿图是根据权利要求8至13中任一项所述的装置生成的局部位姿图、完整位姿图以及优化后的完整位姿图中的之一。
15.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1至7中任一项所述的方法。
16.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1至7中任一项所述的方法。
17.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210777156.5A CN115147561A (zh) | 2022-06-30 | 2022-06-30 | 位姿图生成方法、高精地图生成方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210777156.5A CN115147561A (zh) | 2022-06-30 | 2022-06-30 | 位姿图生成方法、高精地图生成方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115147561A true CN115147561A (zh) | 2022-10-04 |
Family
ID=83410889
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210777156.5A Pending CN115147561A (zh) | 2022-06-30 | 2022-06-30 | 位姿图生成方法、高精地图生成方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115147561A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115423965A (zh) * | 2022-11-04 | 2022-12-02 | 安徽蔚来智驾科技有限公司 | 地图构建方法、设备、车辆和存储介质 |
-
2022
- 2022-06-30 CN CN202210777156.5A patent/CN115147561A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115423965A (zh) * | 2022-11-04 | 2022-12-02 | 安徽蔚来智驾科技有限公司 | 地图构建方法、设备、车辆和存储介质 |
CN115423965B (zh) * | 2022-11-04 | 2023-02-28 | 安徽蔚来智驾科技有限公司 | 地图构建方法、设备、车辆和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109270545B (zh) | 一种定位真值校验方法、装置、设备及存储介质 | |
CN113377888A (zh) | 训练目标检测模型和检测目标的方法 | |
CN112147632A (zh) | 车载激光雷达感知算法的测试方法、装置、设备和介质 | |
CN110853085A (zh) | 基于语义slam的建图方法和装置及电子设备 | |
CN115719436A (zh) | 模型训练方法、目标检测方法、装置、设备以及存储介质 | |
CN115457152A (zh) | 外参标定方法、装置、电子设备及存储介质 | |
CN113724388B (zh) | 高精地图的生成方法、装置、设备以及存储介质 | |
CN115147561A (zh) | 位姿图生成方法、高精地图生成方法和装置 | |
CN114186007A (zh) | 高精地图生成方法、装置、电子设备和存储介质 | |
CN114299242A (zh) | 高精地图中图像处理方法、装置、设备以及存储介质 | |
CN113436233A (zh) | 自动驾驶车辆的配准方法、装置、电子设备和车辆 | |
CN113932796A (zh) | 高精地图车道线生成方法、装置和电子设备 | |
CN113219505A (zh) | 用于车路协同隧道场景的采集gps坐标的方法、装置和设备 | |
CN115239899B (zh) | 位姿图生成方法、高精地图生成方法和装置 | |
CN117232499A (zh) | 多传感器融合的点云地图构建方法、装置、设备及介质 | |
CN115900697B (zh) | 对象运动轨迹信息处理方法、电子设备以及自动驾驶车辆 | |
CN114674328B (zh) | 地图生成方法、装置、电子设备、存储介质、及车辆 | |
CN115937449A (zh) | 高精地图生成方法、装置、电子设备和存储介质 | |
CN114299192B (zh) | 定位建图的方法、装置、设备和介质 | |
CN113177980B (zh) | 用于自动驾驶的目标对象速度确定方法、装置及电子设备 | |
CN113762397B (zh) | 检测模型训练、高精度地图更新方法、设备、介质及产品 | |
CN115790621A (zh) | 高精地图更新方法、装置及电子设备 | |
CN114170300A (zh) | 高精地图点云位姿优化方法、装置、设备及介质 | |
CN114964204A (zh) | 地图构建方法、地图使用方法、装置、设备和存储介质 | |
CN114219907B (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 |