掌桥专利:专业的专利平台
掌桥专利
首页

一种基于地图边界重建可行使区域的点云过滤方法

文献发布时间:2024-04-18 19:58:26


一种基于地图边界重建可行使区域的点云过滤方法

技术领域

本发明涉及自动驾驶领域,特别涉及一种基于地图边界重建可行使区域的点云过滤方法。

背景技术

以深度学习为突破的“人工智能时代”大风口下,无人驾驶被给予了前所未有的关注。无人驾驶技术已经成为整个汽车产业的最新发展方向。科研院校、汽车制造厂商、科技公司、无人驾驶汽车创业公司以及汽车零部件供应商在无人驾驶技术领域进行不断地探索。

激光雷达作为一种稳定可靠的传感器,可以得到汽车周围环境的3D模型以及目标的位置,同时还可用于车辆的定位,在智能驾驶中扮演着重要的角色。激光感知的目标检测通常需要获取感兴趣区域ROI(region of interest)内的点云输入数据,以避免无关输入造成的计算资源浪费,目前感兴趣区域的分割主要依靠高精地图行驶外边界等先验信息,形成外包多边形并判断各点是否在多边形内以保留多边形内的输入数据,根据ROI区域内的数据计算自车需要的信息从而实现特定的自动驾驶功能。

但是,对于每帧点云的每个扫描点都需判断点是否在地图边界多边形内,其计算量与扫描点数和ROI多边形边界点数直接相关,造成实时计算量大,需要大量计算资源,难以满足传感器的实时数据处理要求;当路况比较复杂时,根据高精地图矢量信息和当前位置的实时ROI多边形外边界计算容易出错。

发明内容

本发明实施例提供一种基于地图边界重建可行使区域的点云过滤方法,以解决相关技术中实时计算量大,需要大量计算资源,难以满足传感器的实时数据处理要求,实时ROI多边形外边界计算容易出错的问题。

第一方面,提供了一种基于地图边界重建可行使区域的点云过滤方法,其包括:获取全局地图的边界信息;根据所述边界信息重建ROI区域点云,通过所述ROI区域点云建立八叉树地图;采集激光雷达的点云数据,利用所述八叉树地图过滤所述点云数据。

一些实施例中,所述根据所述边界信息重建ROI区域点云包括:根据所述边界信息计算网格位置范围;根据所述网格位置范围计算网格起止点信息,并整合;根据整合后的所述网格起止点信息重建所述ROI区域点云。

一些实施例中,所述边界信息包括外边界和内边界;所述根据所述边界信息计算网格位置范围包括:以所述外边界计算所述网格位置范围,所述外边界的XY极值需包含所述内边界的范围。

一些实施例中,所述根据所述网格位置范围计算网格起止点信息包括:对所述外边界的边界点进行线性插值;根据所述XY极值对所述边界点进行体素化;将所述边界点的坐标进行排序去重,并计算子区间、检测峰值区间;根据所述子区间和所述峰值区间计算区间起止信息,并整合得到所述网格起止点信息。

一些实施例中,所述对所述外边界的边界点进行线性插值包括:计算边界各前后点的2D距离,若距离大于分辨率,则相除并向上取整计算分段数;根据分段数计算分段i处的插值。

一些实施例中,所述将所述边界点的坐标进行排序去重包括:将体素化的XY坐标先按X坐标从小到大排序,对于X坐标相同的按Y坐标从小到大排序,对相同坐标的数值进行去重。

一些实施例中,所述计算子区间包括:对于X坐标范围内的每一个坐标,若存在Y值则计算Y值区间,Y值前后差1则分割区间。

一些实施例中,所述检测峰值区间包括:根据当前区间的上下连续区间数量判断,若上一行或下一行不存在连续区间则当前区间为峰值区间;若当前区间上一行连续区间总数与连续区间峰值数之差小于2且下一行连续区间总数与连续区间峰值数之差大于1,或者当前区间下一行连续区间总数与连续区间峰值数之差小于2且上一行连续区间总数与连续区间峰值数之差大于1,则当前区间为峰值区间;从一个峰值区间依次往下迭代,若区间的下一行连续区域数量为1且下一行连接区域的上一行连续区域数量为1则继续往下迭代,当迭代区间的下一行连续区域为峰值区域时则两峰值区域之间的所有单向连接区域都为峰值区域。

一些实施例中,所述根据所述子区间和所述峰值区间计算区间起止信息,并整合得到所述网格起止点信息包括:历X网格坐标获取Y网格坐标的区间和峰值信息,依次遍历Y网格坐标信息,第一个非峰值区间为内段的起始点,当遍历区间为峰值区间时不影响内外段切换,当遍历到第二个非峰值区间时,当前内段根据区间起始值计算完成,同时切换为外段计算并以区间结束值为外段的起始点,依次切换内外段区间计算直至完成所有的内外段区间计算;遍历X网格坐标,获取各内边界当前X坐标下的起止信息,合成为一个数组并按Y起止信息从小到大排序,内边界合成完后再整合外边界和内边界起止信息,将外边界起止信息中包含内边界起止信息的区间段去掉,整合得到所述网格起止点信息。

一些实施例中,所述采集激光雷达的点云数据,利用所述八叉树地图过滤所述点云数据包括:根据所述激光雷达的每帧点云扫描点和自车位置,将扫描点XYZ坐标整合定位位置和外参将传感器局部坐标数据转化为地图全局坐标系XYZ坐标;搜索每个坐标点在八叉树地图内的最近点,根据搜索的最近点和点云点的距离是否小于阈值判断点是否在可行使区域内,并过滤所述点云数据。

本发明提供的实施例提供的基于地图边界重建可行使区域的点云过滤方法具体包括以下步骤:

步骤1:获取全局地图的边界信息;

步骤2:将边界信息预先重建处理为可行使区域点云,通过可行使区域点云建立八叉树地图。

步骤3:实时采集传感器激光雷达点云数据,根据接收的定位信息和已知的标定外参将输入点云数据转化为全局坐标系下的数据。

步骤4:通过ROI八叉树地图过滤点云。

步骤5:ROI区域点云处理。

本方法提出了一种根据全局地图内外边界重建自车可行使区域点云,根据可行使区域点云建立八叉树可行使区域地图,每帧点云根据扫描点和自车位置在八叉树地图内搜索最近点以保留ROI内输入点云信息。对于有限场景如矿区港口等,根据内存大小通常可一次性建立可行使区域八叉树地图,对于开放场景如城市道路等,可根据行驶信息和地图按一定公里数或区域迭代建立可行使区域八叉树地图,一次建成即可在地图定位范围内重复使用。

本发明提供的技术方案带来的有益效果包括:

本发明实施例提供了一种基于地图边界重建可行使区域的点云过滤方法,通过基于全局地图边界重建的可行使区域八叉树地图,通过搜索的方式可以快速区分ROI内数据和非ROI区域,可有效提高计算效率减少计算资源,减少目标信息的计算延时,使传感器数据处理实时化,避免自动驾驶车辆规控误动作。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的基于地图边界重建可行使区域的点云过滤方法的流程图;

图2为本发明实施例提供的地图内外边界示意图;

图3为本发明实施例提供的距离分辨率线性插值;

图4为本发明实施例提供的地图外边界插值体素化示意图;

图5为本发明实施例提供的峰值区间检测示例图;

图6为本发明实施例提供的内段区间示意图;

图7为本发明实施例提供的内外边界整合后某一内段区间示意图;

图8为本发明实施例提供的可行使区域点云图;

图9为本发明实施例提供的全局地图边界信息图;

图10为本发明实施例提供的全局地图边界信息图;

图11为本发明实施例提供的可行使区域点云图;

图12为本发明实施例提供的地图坐标系下传感器点云图;

图13为本发明实施例提供的可行使区域ROI点云图;

图14为本发明实施例提供的目标检测点云图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例提供了一种基于地图边界重建可行使区域的点云过滤方法,其能解决相关技术中实时计算量大,需要大量计算资源,难以满足传感器的实时数据处理要求,实时ROI多边形外边界计算容易出错的问题。

参见图1所示,为本发明实施例提供的一种基于地图边界重建可行使区域的点云过滤方法,其可以包括:

S01、获取全局地图的边界信息;具体的,根据地图边界构成,通常地图边界有且仅有一条外边界,内边界根据实际情况可能没有也可能有多条。

S02、根据所述边界信息重建ROI区域点云,通过所述ROI区域点云建立八叉树地图;具体的,主要计算过程为:统一网格位置范围、计算各外边界和内边界的网格起止点信息、起止信息整合、重建ROI区域点云并保存为八叉树地图。

S03、采集激光雷达的点云数据,利用所述八叉树地图过滤所述点云数据。

本实施例中,通过基于全局地图边界重建的可行使区域八叉树地图,通过搜索的方式可以快速区分ROI内数据和非ROI区域,可有效提高计算效率减少计算资源,减少目标信息的计算延时,使传感器数据处理实时化,避免自动驾驶车辆规控误动作。

进一步的,所述根据所述边界信息重建ROI区域点云可以包括:根据所述边界信息计算网格位置范围;根据所述网格位置范围计算网格起止点信息,并整合;根据整合后的所述网格起止点信息重建所述ROI区域点云。

进一步的,所述边界信息包括外边界和内边界;所述根据所述边界信息计算网格位置范围包括:以所述外边界计算所述网格位置范围,所述外边界的XY极值需包含所述内边界的范围。

进一步的,所述根据所述网格位置范围计算网格起止点信息包括:对所述外边界的边界点进行线性插值;根据所述XY极值对所述边界点进行体素化;将所述边界点的坐标进行排序去重,并计算子区间、检测峰值区间;根据所述子区间和所述峰值区间计算区间起止信息,并整合得到所述网格起止点信息。

在一些实施例中,所述对所述外边界的边界点进行线性插值包括:计算边界各前后点的2D距离,若距离大于分辨率,则相除并向上取整计算分段数;根据分段数计算分段i处的插值。

进一步的,所述将所述边界点的坐标进行排序去重包括:将体素化的XY坐标先按X坐标从小到大排序,对于X坐标相同的按Y坐标从小到大排序,对相同坐标的数值进行去重。

进一步的,所述计算子区间包括:对于X坐标范围内的每一个坐标,若存在Y值则计算Y值区间,Y值前后差1则分割区间。所述检测峰值区间包括:根据当前区间的上下连续区间数量判断,若上一行或下一行不存在连续区间则当前区间为峰值区间;若当前区间上一行连续区间总数与连续区间峰值数之差小于2且下一行连续区间总数与连续区间峰值数之差大于1,或者当前区间下一行连续区间总数与连续区间峰值数之差小于2且上一行连续区间总数与连续区间峰值数之差大于1,则当前区间为峰值区间;从一个峰值区间依次往下迭代,若区间的下一行连续区域数量为1且下一行连接区域的上一行连续区域数量为1则继续往下迭代,当迭代区间的下一行连续区域为峰值区域时则两峰值区域之间的所有单向连接区域都为峰值区域。

进一步的,所述根据所述子区间和所述峰值区间计算区间起止信息,并整合得到所述网格起止点信息包括:历X网格坐标获取Y网格坐标的区间和峰值信息,依次遍历Y网格坐标信息,第一个非峰值区间为内段的起始点,当遍历区间为峰值区间时不影响内外段切换,当遍历到第二个非峰值区间时,当前内段根据区间起始值计算完成,同时切换为外段计算并以区间结束值为外段的起始点,依次切换内外段区间计算直至完成所有的内外段区间计算;遍历X网格坐标,获取各内边界当前X坐标下的起止信息,合成为一个数组并按Y起止信息从小到大排序,内边界合成完后再整合外边界和内边界起止信息,将外边界起止信息中包含内边界起止信息的区间段去掉,整合得到所述网格起止点信息。

进一步的,所述采集激光雷达的点云数据,利用所述八叉树地图过滤所述点云数据包括:根据所述激光雷达的每帧点云扫描点和自车位置,将扫描点XYZ坐标整合定位位置和外参将传感器局部坐标数据转化为地图全局坐标系XYZ坐标;搜索每个坐标点在八叉树地图内的最近点,根据搜索的最近点和点云点的距离是否小于阈值判断点是否在可行使区域内,并过滤所述点云数据。

本方法提出了一种根据全局地图内外边界重建自车可行使区域点云,根据可行使区域点云建立八叉树可行使区域地图,每帧点云根据扫描点和自车位置在八叉树地图内搜索最近点以保留ROI内输入点云信息。对于有限场景如矿区港口等,根据内存大小通常可一次性建立可行使区域八叉树地图,对于开放场景如城市道路等,可根据行驶信息和地图按一定公里数或区域迭代建立可行使区域八叉树地图,一次建成即可在地图定位范围内重复使用。

下面结合附图对本发明实施例做进一步描述。

本方法基于地图内外边界,需首先获取其他模块传输的地图内外边界信息。根据地图边界构成,通常地图边界有且仅有一条外边界,内边界根据实际情况可能没有也可能有多条。一条内边界和一条外边界地图如下图2所示,其中外圈为外边界,内圈为内边界。

获取输入的地图边界后,其重建可行使区域八叉树地图的主要计算过程为:统一网格位置范围、计算各外边界和内边界的网格起止点信息、起止信息整合、重建ROI区域点云并保存为八叉树地图。

首先,统一网格位置范围以唯一的外边界计算,外边界的XY最大最小值能够包含内边界的范围,对于右手坐标系,其边界XY极值XYmin、XYmax分别为左下点和右上点。

其次,计算各外边界和内边界的网格起止点信息,计算流程包括以下步骤:

<1>距离分辨率线性插值

确定外边界的XY极值后,根据设置的分辨率(resolution)如0.1m体素各坐标,为保证网格的连续性,对于边界两点大于分辨率的情况需按照分辨率进行线性插值。计算边界各前后点2D距离(dist),若大于分辨率,则相除并向上取整计算分段数num=std::ceil(dist/resolution),根据分段数线性插值,分段i处的插值为:

x

y

图2左上角的插值效果如下图3所示。

<2>坐标XY体素化

根据前面确定的外边界XY极值Xmin、Ymin、Xmax、Ymax,边界各2d点的坐标体素化公式为:

x

y

图2外边界插值和体素化效果如下图4所示,其中X轴向右,Y轴向上,原点O在坐下点,体素化后各点坐标从浮点型转化为整型从而对应图4中的网格坐标索引。

<3>排序去重

体素化的XY坐标需要先按X坐标从小到大排序,对于X坐标相同的需按Y坐标从小到大排序,由于可能存在一个网格多个点的情况,故需要对相同坐标的数值进行去重保证唯一性。

<4>计算各子区间

对于X坐标范围内的每一个坐标,若存在Y值则计算Y值区间,Y值前后差1则分割区间。如图4中X坐标为2时Y值为15、16、17、31、32、72、73,则计算的区间为[15-17]、[31-32]、[72-73],每个区间代表一条线的起止段,段与段之间17-31为内段需保留,32-72段为外段无需保留,其中72-73段为一个峰值区间。

<5>峰值区间检测

一般情况下,段段之间的区间段首段为内段,后面为外段,内外段交替,但峰值区间段会打乱这种规律,如图4中X坐标为0时Y值区间[18-21]、[23-26]均为峰值区间,区间[21-23]为外段而非内段,故需检测峰值区间。由于已经按分辨率做了线性插值,故区间[y1-y2]上下若存在连续区间段则必有一个数在[(y1-1)-(y2+1)]之间,以此来判断当前区间的上下连续区间数量。

峰值区间检测首先根据当前区间的上下连续区间数量来判断,若上一行或下一行不存在连续区间则当前区间为峰值区间;其次对于一分多的区间也应为峰值区间,若当前区间上一行连续区间总数与连续区间峰值数之差小于2且下一行连续区间总数与连续区间峰值数之差大于1,或者当前区间下一行连续区间总数与连续区间峰值数之差小于2且上一行连续区间总数与连续区间峰值数之差大于1,则当前区间为峰值区间;最后对于两峰值区间中间的区域也存在全为峰值区域的情况,从一个峰值区间依次往下迭代,若区间的下一行连续区域数量为1且下一行连接区域的上一行连续区域数量为1则继续往下迭代,当迭代区间的下一行连续区域为峰值区域时则两峰值区域之间的所有单向连接区域都为峰值区域。峰值区间检测示例如下图5所示,其中1、2、3点对应第一种情况,4点对应第二种情况,3-4点之间的区域对应第三种情况。

<6>计算起止信息

根据第四步和第五步的区间和峰值信息计算区间起止信息。遍历X网格坐标获取Y网格坐标的区间和峰值信息,依次遍历Y网格坐标信息,第一个非峰值区间为内段的起始点,当遍历区间为峰值区间时不影响内外段切换,当遍历到第二个非峰值区间时,当前内段根据区间起始值计算完成,同时切换为外段计算并以区间结束值为外段的起始点,依次切换内外段区间计算直至完成所有的内外段区间计算。例如区间[74-74]、[162-166]、[183-191]、[207-215]、[235-246]、[278-278]、[406-406],其中[183-191]、[235-246]、[278-278]为峰值区间,则内段为[74-162]、[215-406],外段为[166-207]。图4中外边界X坐标为7时Y值内段区间如下图6所示。

再次,起止信息整合需在各外边界和内边界的网格起止点信息计算完成后计算。上一步计算了各外边界和内边界单独的起止信息,由于外边界只有一条而内边界可能有多条,故先整合所有内边界信息合成一个,遍历X网格坐标,获取各内边界当前X坐标下的起止信息,合成为一个数组并按Y起止信息从小到大排序,内边界合成完后再整合外边界和内边界起止信息,将外边界起止信息中包含内边界起止信息的区间段去掉。整合后某一X网格坐标的内段区间如下图7所示。

最后,重建ROI区域点云并保存为八叉树地图。计算完所有X网格坐标内的Y网格内段起止坐标后,对于每个Y轴起止段内的坐标都重建一个网格中点:

pt

pt

重建完所有的ROI区域点云后,通过点云库PCL内的octree建立八叉树地图并输入上述ROI点云,八叉树地图建图完成后,根据激光雷达的每帧点云扫描点和自车位置,将扫描点XYZ坐标整合定位位置和外参将传感器局部坐标数据转化为地图全局坐标系XYZ坐标,然后每个坐标点在八叉树地图内搜索最近点,根据搜索的最近点和点云点的距离是否小于阈值(2*resolution)0.2m来判断点是否在可行使区域内,最终过滤保留ROI内输入点云信息。重建的可行使区域ROI点云如下图8黑色点所示。

本方案非ROI区域点云过滤基于全局地图边界重建的可行使区域八叉树地图,通过搜索的方式快速区分ROI内数据和非ROI区域,可有效提高计算效率减少计算资源,减少目标信息的计算延时,使传感器数据处理实时化,避免自动驾驶车辆规控误动作。

本发明提供的实施例提供的基于地图边界重建可行使区域的点云过滤方法具体包括以下步骤:

步骤1:获取全局地图的边界信息,如下图9和图10所示;

步骤2:将边界信息预先重建处理为可行使区域点云,如下图11所示。通过可行使区域点云建立八叉树地图。

步骤3:实时采集传感器激光雷达点云数据,根据接收的定位信息和已知的标定外参将输入点云数据转化为全局坐标系下的数据,如下图12所示。

步骤4:通过ROI八叉树地图过滤点云,ROI区域点云如下如13所示。

步骤5:ROI区域点云处理,目标检测如下图14所示。

在本发明的描述中,需要说明的是,术语“上”、“下”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。

需要说明的是,在本发明中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。

相关技术
  • 一种基于点云地图的图像边界获取方法、设备及飞行器
  • 一种基于高精度矢量地图的三维点云重建方法及系统
技术分类

06120116489102