地面数据的检测方法、检测装置及处理器与流程

文档序号:30578842发布日期:2022-06-29 11:00阅读:111来源:国知局
地面数据的检测方法、检测装置及处理器与流程

1.本发明涉及地面数据检测领域,具体而言,涉及一种地面数据的检测方法、检测装置及处理器。


背景技术:

2.智能车辆主要通过车载传感器实时感知周围环境,根据任务需求和自身状态进行车辆控制,是一个包含环境感知、路径规划、决策控制的综合智能系统。其中基于激光雷达的环境感知是智能车辆后续规划与控制的前提,也是智能车辆的核心环节,其任务是通过激光雷达识别周围环境,为决策规划提供信息支撑。激光雷达感知信息主要包括道路边界、车道线等可行驶区域的检测、影响汽车通过性和安全性的动态、静态障碍物的检测等。而上诉功能的前提是准确地将地面云与非地面点云高效地区分开来,目前的程序开发多运行在x86平台上,x86平台算力高,能够满足实时性的要求,然而却不能满足在车规级工作要求;要实现量产需求,就需要将开发的程序运行在车规级的嵌入式平台上,目前车规级的嵌入式平台相对于x86平台算力上还有很大差距,同样的方法在嵌入式平台上运行时耗接近是x86平台的30倍;因此要在车规级的嵌入式平台上实现可靠、实时的地面检测是智能车辆满足量产需求,实现自动驾驶的首要挑战。
3.针对现有技术中的地面检测方法在车规级嵌入式平台上的地面检测效率低的问题,目前尚未提出有效的解决方案。


技术实现要素:

4.本发明实施例提供了一种地面数据的检测方法、检测装置及处理器,以至少解决现有技术中的地面检测方法运行于车规级嵌入式平台时的地面检测效率低的技术问题。
5.根据本发明实施例的一个方面,提供了一种地面数据的检测方法,包括:获取点云数据,其中,点云数据为车载激光雷达采集到的地面和地面上目标对象反射回来的原始点云数据;基于点云数据的密度,将点云数据投影至栅格内,获得栅格点云数据;将栅格点云数据翻转,获得翻转点云数据;遍历翻转点云数据中的点云,获得遍历点云数据,其中,遍历点云数据包括如下至少之一:翻转点云数据中高度值最大的点云、翻转点云数据中位于栅格的节点处的点云;基于遍历点云数据确定迭代信息,其中,迭代信息包括:栅格的迭代节点、栅格内进行迭代的目标点云、迭代节点的初始位置、初始迭代值;基于迭代信息对栅格中的节点进行迭代,获得迭代结果;判断迭代结果是否满足预设条件,如果是,则确定对应的迭代后的迭代节点为地面上的点。
6.可选地,基于迭代信息对栅格中的节点进行迭代,包括:获取目标点云,其中,目标点云为迭代节点对应的栅格中,与迭代节点距离最近的点云;确定迭代节点与目标点云之间的高度值;基于高度值确定初始迭代值。
7.可选地,判断迭代结果是否满足预设条件,包括:获取迭代节点的最后一次的迭代高度值与前一次的迭代高度值;计算最后一次的迭代高度值与前一次的迭代高度值的差值
的绝对值;判断绝对值是否满足预设条件,如果是,则停止对迭代节点进行迭代,并确定对应的迭代后的迭代节点为地面上的点。
8.可选地,判断迭代结果是否满足预设条件,包括:获取迭代节点的迭代次数;判断迭代节点的迭代次数是否满足预设条件时,如果是,则停止对迭代节点进行迭代,并确定对应的迭代后的迭代节点为地面上的点。
9.可选地,判断迭代结果是否满足预设条件,包括:获取迭代节点的每次迭代的迭代高度值;判断迭代高度值是否满足预设条件时,如果是,则停止对迭代节点进行迭代,并确定对应的迭代后的迭代节点为地面上的点。
10.可选地,确定对应的迭代后的迭代节点为地面上的点之后,方法包括:基于获得的遍历点云数据,确定迭代节点对应的栅格中的点云与迭代节点的高度差值;判断高度差值是否满足预设条件,如果是,确定对应的点云为地面上的点。
11.可选地,方法包括:基于获得遍历点云数据,判断各迭代节点对应的栅格中是否都具有点云;如果确定迭代节点对应的栅格中没有点云,将对应的迭代节点的初始迭代值设置为第一预设高度值。
12.可选地,基于迭代信息对栅格中的节点进行迭代,包括:基于迭代节点的初始位置和初始迭代值,将迭代节点沿竖直方向向下移动至第一次迭代点;将位于第一次迭代点处的迭代节点沿竖直方向向上回调第二预设高度值,获得迭代节点进行下一次迭代时的初始位置。
13.根据本发明实施例的另一个实施例,还提供了一种地面数据的检测装置,包括:获取模块,用于获取点云数据,其中,点云数据为车载激光雷达采集到的地面和地面上目标对象反射回来的原始点云数据;投影模块,用于基于点云数据的密度,将点云数据投影至栅格内,获得栅格点云数据;翻转模块,用于将栅格点云数据翻转,获得翻转点云数据;遍历模块,用于遍历翻转点云数据中的点云,获得遍历点云数据,其中,遍历点云数据包括如下至少之一:翻转点云数据中高度值最大的点云、翻转点云数据中位于栅格的节点处的点云;确定模块,用于基于遍历点云数据确定迭代信息,其中,迭代信息包括:栅格的迭代节点、栅格内进行迭代的目标点云、迭代节点的初始位置、初始迭代值;迭代模块,用于基于迭代信息对栅格中的节点进行迭代,获得迭代结果;判断模块,用于判断迭代结果是否满足预设条件,如果是,则确定与迭代节点对应的目标点云为地面上的点。
14.根据本发明实施例的又一方面,还提供了一种处理器,处理器用于运行计算机程序,其中,上述处理器通过计算机程序执行上述的方法。
15.在本发明实施例中,采用基于点云数据的密度将点云数据投影至栅格内的方式,通过将投影点云数据翻转得到翻转点云数据,遍历翻转点云数据得到遍历点云数据,基于遍历点云数据确定迭代信息,基于迭代信息对栅格中的节点进行迭代,基于迭代结果确定地面上的点,达到了提高地面检测方法的效率的目的,同时保证了地面分割方法具有高的鲁棒性和检测精度,提供了一种可搭载于车规级的嵌入式平台的地面检测方法,该方法在嵌入式平台上既能够具有良好的检测精度,同时检测效率高,能够满足时间需求,从而实现了地面检测方法兼顾检测效果和检测效率的技术效果,进而解决了现有技术中的地面检测方法运行于车规级嵌入式平台时的地面检测效率低的技术问题。
附图说明
16.此处所说明的附图用来提供对本发明的进一步理解,构成本技术的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
17.图1是根据本发明其中一可选实施例的地面检测方法的计算机终端的硬件结构框图;
18.图2是根据本发明其中一可选实施例的地面检测方法的流程示意图;
19.图3是根据本发明其中一可选实施例的地面检测方法的流程图;
20.图4是根据本发明其中一可选实施例的地面检测装置的模块示意图。
具体实施方式
21.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
22.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
23.根据本发明其中一实施例,提供了一种地面数据的检测的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
24.该方法实施例可以在车辆中包含存储器和处理器的电子装置或者类似的运算装置中执行。以运行在车辆的电子装置上为例,如图1所示,车辆的电子装置可以包括一个或多个处理器102(处理器可以包括但不限于中央处理器(cpu)、图形处理器(gpu)、数字信号处理(dsp)芯片、微处理器(mcu)、可编程逻辑器件(fpga)、神经网络处理器(npu)、张量处理器(tpu)、人工智能(ai)类型处理器等的处理装置)和用于存储数据的存储器104。可选地,上述汽车的电子装置还可以包括用于通信功能的传输设备106、输入输出设备108以及显示设备110。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述车辆的电子装置的结构造成限定。例如,车辆的电子装置还可包括比上述结构描述更多或者更少的组件,或者具有与上述结构描述不同的配置。
25.存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的地面数据的检测方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的地面数据的检测方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性
存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
26.传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(network interface controller,简称为nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置可以为射频(radio frequency,简称为rf)模块,其用于通过无线方式与互联网进行通讯。
27.显示设备110可以例如触摸屏式的液晶显示器(lcd)和触摸显示器(也被称为“触摸屏”或“触摸显示屏”)。该液晶显示器可使得用户能够与移动终端的用户界面进行交互。在一些实施例中,上述移动终端具有图形用户界面(gui),用户可以通过触摸触敏表面上的手指接触和/或手势来与gui进行人机交互,此处的人机交互功能可选的包括如下交互:创建网页、绘图、文字处理、制作电子文档、游戏、视频会议、即时通信、收发电子邮件、通话界面、播放数字视频、播放数字音乐和/或网络浏览等、用于执行上述人机交互功能的可执行指令被配置/存储在一个或多个处理器可执行的计算机程序产品或可读存储介质中。
28.现有技术中,基于激光雷达的地面检测方法主要包括如下几类:
29.1、地面检测方法采用栅格内的均值高度提取地面,每个栅格单元与其邻域内的点云的梯度的最大值作为该栅格单元的梯度,如果该梯度小于预设阈值,则该栅格内的点云属于地面。该方法的优点是可以有效过滤点噪声点云,但是这种方法没有利用地面的连续性信息分割地面,因此该方法鲁棒性较差,容易受到环境影响而导致欠分割问题,比如在城市道路环境下容易漏检体积较小的障碍物、悬空障碍物等。
30.2、基于栅格的地面分割方法只利用了单个栅格的信息,高度依赖激光雷达的标定精度,没有利用地面的连续性特性。为充分利用地面的连续一致性特征,有学者在基于直线拟合、基于平面拟合等方面展开了研究,构建了极坐标栅格地图,该方法对栅格内的候选地面点,利用增量直线拟合方法进行地面分割,效率较高,对激光雷达标定精度要求不高,但是不能很好的检测坡度路面。
31.3、基于面拟合的地面分割方法,该方法假设地面是平面,利用平面拟合方法进行地面分割。最简单的是基于随机采样一致性方法(random sample consensus,ransac)的地面点云分割方法,通过随机采样拟合出平面作为地面。该方法对于坡度路面具有较好的检测效果,并且具有较强的鲁棒性,但是计算的复杂度大。
32.因此,现有技术中的地面数据检测方法存在着地面欠分割、计算复杂度大等缺点,同时计算复杂度大,难以适应车规级的嵌入式平台的地面实时检测需要。为解决上述问题,并基于激光雷达的点云数据具有的规模大、稀疏性、无序性的数据特点,本技术的技术方案围绕智能车辆环境感知需求,以实时分割出地面点云信息为目标,以嵌入式平台为运行环境,提供了一种新的地面检测方法。
33.需要注意的是,本技术中的地面检测方法可应用于多种领域,适用于自动驾驶、路径规划、目标跟踪多种领域。
34.本实施例中提供了一种运行于上述车辆的电子装置的示意图,图2是根据本发明其中一实施例的地面数据的检测方法的流程图,如图2所示,该流程包括如下步骤:
35.步骤s10,获取点云数据,其中,点云数据为车载激光雷达采集到的地面和地面上目标对象反射回来的原始点云数据;
36.步骤s20,基于点云数据的密度,将点云数据投影至栅格内,获得栅格点云数据;
37.步骤s30,将栅格点云数据翻转,获得翻转点云数据;
38.步骤s40,遍历翻转点云数据中的点云,获得遍历点云数据,其中,遍历点云数据包括如下至少之一:翻转点云数据中高度值最大的点云、翻转点云数据中位于栅格的节点处的点云;
39.步骤s50,基于遍历点云数据确定迭代信息,其中,迭代信息包括:栅格的迭代节点、栅格内进行迭代的目标点云、迭代节点的初始位置、初始迭代值;
40.步骤s60,基于迭代信息对栅格中的节点进行迭代,获得迭代结果;
41.步骤s70,判断迭代结果是否满足预设条件,如果是,则确定对应的迭代后的迭代节点为地面上的点。
42.通过上述步骤,采用基于点云数据的密度将点云数据投影至栅格内的方式,通过将投影点云数据翻转得到翻转点云数据,遍历翻转点云数据得到遍历点云数据,基于遍历点云数据确定迭代信息,基于迭代信息对栅格中的节点进行迭代,基于迭代结果确定地面上的点,达到了提高地面检测方法的效率的目的,同时保证了地面分割方法具有高的鲁棒性和检测精度,提供了一种可搭载于车规级的嵌入式平台的地面检测方法,该方法在嵌入式平台上既能够具有良好的检测精度,同时检测效率高,能够满足时间需求,从而实现了地面检测方法兼顾检测效果和检测效率的技术效果,进而解决了现有技术中的地面检测方法运行于车规级嵌入式平台时的地面检测效率低的技术问题。
43.应用本技术的技术方案,克服了现有技术在嵌入式平台上的时耗缺陷,设计出了一种能够在嵌入式平台上既满足性能需求又满足时间需求,并且可以具备鲁棒实时地动态分割地面点云的方法,解决地面分割中欠分割问题。本技术中的地面数据检测方法应用于基于激光雷达的地面点云检测,满足了车辆针对地面提取地面数据和实时地面检测的需求。
44.地面数据的检测方法应用于车辆驾驶领域时,基于激光点云的密度首先建立栅格,然后将点云数据投影至栅格内,获得栅格点云数据。在一个示例性实施例中,以车身后轴中心作为坐标原点,车头朝向为x轴正方向,车头朝向左侧为y轴正方向,垂直地面向上为z轴正方向,建立右手车身坐标系,在-30《y《30,0≤x《30范围内建立边长为0.5m的栅格,在-25《y《25,30≤x《60范围内建立边长为1m的栅格,在-20《y《20,60≤x《120范围内建立边长为2m的栅格。上述步骤的目的是,根据激光点云的密度建立车辆感兴趣的点云区域,并且利用该栅格区域对激光点云进行过滤,这样设置能够极大地提高地面数据检测方法的效率,使其能够在车规级的嵌入式平台上实现实时地高精度地面检测。
45.可选地,基于迭代信息对栅格中的节点进行迭代,包括:获取目标点云,其中,目标点云为迭代节点对应的栅格中,与迭代节点距离最近的点云;确定迭代节点与目标点云之间的高度值;基于高度值确定初始迭代值。
46.在一个示例性实施例中,地面数据的检测方法主要包括如下几个部分:1)基于点云密度建立不同大小的栅格;2)建立栅格的节点以及各节点之间的约束关系;3)翻转点云,根据翻转点云初始化栅格节点;4)对栅格节点做迭代下降操作,判断节点与翻转点云之间
位置关系;5)根据位置关系区分地面和非地面点。可选地,判断迭代结果是否满足预设条件,包括:获取迭代节点的最后一次的迭代高度值与前一次的迭代高度值;计算最后一次的迭代高度值与前一次的迭代高度值的差值的绝对值;判断绝对值是否满足预设条件,如果是,则停止对迭代节点进行迭代,并确定对应的迭代后的迭代节点为地面上的点。也就是说,本实施例中,迭代停止的条件为最后一次的迭代高度值与前一次的迭代高度值的差值的绝对值满足预设条件,在该情况下,该迭代节点两次迭代下降的值很小,则符合地面一致性假设,确定对应后的迭代节点为地面上的点。
47.可选地,判断迭代结果是否满足预设条件,包括:获取迭代节点的迭代次数;判断迭代节点的迭代次数是否满足预设条件时,如果是,则停止对迭代节点进行迭代,并确定对应的迭代后的迭代节点为地面上的点。当迭代次数满足预设条件时,迭代结果的精度符合预期,则结束迭代,并确定对应的迭代后的迭代节点为地面点。
48.可选地,判断迭代结果是否满足预设条件,包括:获取迭代节点的每次迭代的迭代高度值;判断迭代高度值是否满足预设条件时,如果是,则停止对迭代节点进行迭代,并确定对应的迭代后的迭代节点为地面上的点。
49.可选地,确定对应的迭代后的迭代节点为地面上的点之后,方法包括:基于获得的遍历点云数据,确定迭代节点对应的栅格中的点云与迭代节点的高度差值;判断高度差值是否满足预设条件,如果是,确定对应的点云为地面上的点。也就是说,通过将迭代节点对应的栅格中的点云与迭代节点的高度进行比较,点云与迭代节点的高度差值在预设范围内的,表明该点云与地面点十分接近,从而确定该点云为地面上的点。
50.可选地,方法包括:基于获得遍历点云数据,判断各迭代节点对应的栅格中是否都具有点云;如果确定迭代节点对应的栅格中没有点云,将对应的迭代节点的初始迭代值设置为第一预设高度值。这样设置能够对没有点云存在的栅格,进行排除而不参与之后的迭代过程,减小了地面数据的检测方法的冗余计算。举例来说,如果对应的栅格内没有点云,则将其值设置为min_inf,min_inf可以通过参数配置。
51.可选地,基于迭代信息对栅格中的节点进行迭代,包括:基于迭代节点的初始位置和初始迭代值,将迭代节点沿竖直方向向下移动至第一次迭代点;将位于第一次迭代点处的迭代节点沿竖直方向向上回调第二预设高度值,获得迭代节点进行下一次迭代时的初始位置。在本实施例中,每次迭代过程都具有向下移动和向上回调两个步骤,使得迭代过程更加逼近真实情况,符合地面一致性假设,能够有效地解决现有技术中的方法的地面欠分割问题。
52.图3是根据本发明其中一可选实施例的地面数据的检测方法的流程示意图。如图3所示,地面数据的检测方法的具体流程如下:
53.步骤:以车身后轴中心作为坐标原点,车头朝向为x轴正方向,车头朝向左侧为y轴正方向,垂直地面向上为z轴正方向,建立右手车身坐标系,在-30《y《30,0≤x《30范围内建立边长为0.5m的栅格,在-25《y《25,30≤x《60范围内建立边长为1m的栅格,在-20《y《20,60≤x《120范围内建立边长为2m的栅格;
54.此步骤的目的是基于点云密度建立栅格,并利用栅格对大量的点云数据进行过滤做栅格化处理,从而减小地面数据的检测方法的工作量。
55.步骤:根据建立的栅格建立各个节点间的约束关系,并将所有的节点存储在数组
中;读取一帧点云,根据步骤1中栅格确定的roi区域(车辆感兴趣的区域或高价值的区域)过滤点云数据并把对应的点索引存储在数组中,翻转roi区域中的点云(即翻转栅格点云数据);遍历翻转点云数据,找到翻转点云中的点云的最大高度max_z,遍历节点以max_z确定每个迭代节点的初始高度值,即将每个迭代节点的初始值都设置为max_z。
56.本实施例中,栅格线的交叉点即为节点,如3乘3的栅格区域中形成9个栅格。将每个栅格右下角的节点作为迭代节点,因此共具有9个迭代节点,9个迭代节点前存在内里关系(即各自约束关系),将上述迭代节点储存在数组中。需要说明的是,选取栅格右下角的节点作为迭代节点仅为示范实施例的选择之一,并且也可以将迭代节点储存为结构体、链表等形式。因为迭代节点的体积大,其包括迭代节点的三维坐标等信息,因此建立点索引(利用一个变量用于指引节点)以实现简化计算。实际上,现实点云数据的分布为大量的地面点云位于障碍物的下方,将栅格点云数据翻转,优先角度为180
°
,使得大量的地面点位于障碍物的上方,基于此,结合地面的一致性假设和地面连续性假设,使得迭代节点在迭代下降过程中,能够准确、快速的逼近地面点。将每个迭代节点的初始值都设置为max_z并开始迭代能够保证每个点云都会被迭代,从而保证不会有地面点云的遗漏。
57.需要说明的是,地面连续性假设是指相邻的地面点之间的高度值不会突变,即地面点连续,地面点与地面点之间相邻,地面一致性假设指的是地面点之间均位于一个高度公差带范围内,直观地讲,所有的地面点之间的高度间隔足够小,类似于一个平面。
58.步骤3:遍历步骤2中翻转点云数据,获取每个迭代节点对应的栅格内最近点的高度值(即确定迭代节点与目标点云之间的高度值),将此高度值设置为迭代节点本次所能下降的最大阈值max_down_value_limit;如果对应的栅格内没有点云,则将其值设置为min_inf,min_inf可以通过参数配置。
59.举例来说,以每个栅格右下角的点作为迭代节点,迭代节点对应该栅格内的所有点云,首先找到栅格内距离迭代节点最近的点,确定这个点的高度值,并通过计算迭代节点和该点的高度差值,将该高度差值作为本次迭代节点的迭代下降过程所允许下降的最大距离,实际上由于迭代节点间的内力关系,迭代节点实际迭代下降的值小于该最大距离。如果对应的栅格内没有点云,即认为栅格内没有地面点,无需进行迭代下降,并将该栅格对应的迭代节点做一个标记,为min_inf。遍历迭代节点,对所有的迭代节都执行本实施例中的上述操作,则过得第一次迭代后的迭代节点,举例来说,3乘3的栅格区域中形成的迭代节点在一次遍历后获得九个第一次迭代后的迭代节点。
60.步骤4:遍历迭代节点,执行节点下降操作之后,根据邻近迭代节点的内力关系(约束关系),回调迭代节点的高度位置;记录下本次下降中所有节点中最大下降的高度值max_down_value。
61.在本实施例中,将迭代节点下降一次后,根据内力关系对节点进行回调。举例来说,3乘3的栅格区域以每个栅格的右下角作为迭代节点,一个迭代节点对应单个栅格内的所有点云,该区域具有9个迭代节点,其中位于区域中间的节点的4个方向均有迭代节点,假设该迭代节点在迭代下降过程中,每个相邻的节点给与该节点1个单位的拉力回弹量,则其一共需回弹4个单位的距离,而位于区域最右下角的迭代节点周围仅仅只有两个相邻节点施加拉力回弹影响,因此该迭代节点一共回弹两个单位的距离,即迭代节点的下降综合附近节点对节点下降的影响;遍历节点,对所有节点均执行本实施例中的步骤,记录本次迭代
后的所有迭代节点的下降的高度值的最大值max_down_value。当max_down_value满足预设条件,预设条件优先为小于预设值,即下降最大的迭代节点的下降量都已经足够小,基于地面一致性假设,该迭代节点逼近了地面点,则其余的下降量小于max_down_value的节点更已经是逼近地面点无法下降,因此停止迭代,确定迭代节点为地面上的点。在另一个方面,如果max_down_value大于预设值,即多个迭代节点中至少还有一个迭代节点还存在下降空间,需进行迭代,直至该节点的下降量足够小(没有下降空间),则无限逼近地面点,确定该迭代节点为地面上的点并停止迭代循环。在本实施例中,从迭代节点整体的维度设置了迭代停止的条件,可以减小地面数据的检测方法的工作量。
62.通过将迭代节点每次迭代中设置下降和回弹两个步骤,使得迭代下降的精度高,速度快,地面数据的检测方法效率更好,适合搭载于车规级的嵌入式平台上。
63.步骤5:记录每次下降中,每个节点本次的高度与上次下降的高度差值的绝对值,如果该值小于设定的阈值delt,则将该节点设置为不动节点,不再参与下次迭代步骤4中的操作。
64.在本实施例中,从单个迭代节点的维度设置了单个迭代节点的停止条件,举例来说,上一次迭代节点高度值为5,本次为1,差值为4,若阈值delt为5,即该迭代节点逼近地面点云,将该迭代节点作为地面云,不在参与下一次的迭代过程,有效地提高了本技术的方法的效率,也无需对搭载平台的算力提出严苛的要求。
65.步骤6:重复步骤4和步骤5中的操作,如果步骤4中的最大下降高度小于阈值stop_thresh步骤4中的最大下降高度的阈值,或者迭代次数超过max_iter_num,我们认为迭代这么多次以及精度可以了迭代停止;
66.步骤7:根据迭代结果,遍历翻转点云数据,如果每个栅格内的点距离栅格的节点高度小于设定的阈值min_ground_thresh,则该点属于地面点,保存该点的索引。判断点云距离节点的高低差是否在允许范围内,如果是,则将该点作为地面点。
67.采用本技术的技术方案,有效利用了各个栅格之间的关联属性,对栅格边缘的节点进行属性区分,优化迭代次数,并且采用了基于点云密度的栅格划分,点云密度大的区域,栅格划分密,点云密度低的区域,栅格划分稀疏,增加了检测方法的鲁棒性和效率。
68.图4是根据本技术其中一实施例的一种地面数据的检测装置的结构框图,如图4所示,该装置包括:获取模块51,用于获取点云数据,其中,点云数据为车载激光雷达采集到的地面和地面上目标对象反射回来的原始点云数据;投影模块52,用于基于点云数据的密度,将点云数据投影至栅格内,获得栅格点云数据;翻转模块53,用于将栅格点云数据翻转,获得翻转点云数据;遍历模块54,用于遍历翻转点云数据中的点云,获得遍历点云数据,其中,遍历点云数据包括如下至少之一:翻转点云数据中高度值最大的点云、翻转点云数据中位于栅格的节点处的点云;确定模块55,用于基于遍历点云数据确定迭代信息,其中,迭代信息包括:栅格的迭代节点、栅格内进行迭代的目标点云、迭代节点的初始位置、初始迭代值;迭代模块56,用于基于迭代信息对栅格中的节点进行迭代,获得迭代结果;判断模块57,用于判断迭代结果是否满足预设条件,如果是,则确定与迭代节点对应的目标点云为地面上的点。
69.通过上述装置,采用基于点云数据的密度将点云数据投影至栅格内的方式,通过将投影点云数据翻转得到翻转点云数据,遍历翻转点云数据得到遍历点云数据,基于遍历
点云数据确定迭代信息,基于迭代信息对栅格中的节点进行迭代,基于迭代结果确定地面上的点,达到了提高地面检测方法的效率的目的,同时保证了地面分割方法具有高的鲁棒性和检测精度,提供了一种可搭载于车规级的嵌入式平台的地面检测方法,该方法在嵌入式平台上既能够具有良好的检测精度,同时检测效率高,能够满足时间需求,从而实现了地面检测方法兼顾检测效果和检测效率的技术效果,进而解决了现有技术中的地面检测方法运行于车规级嵌入式平台时的地面检测效率低的技术问题。
70.需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
71.本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
72.本发明的实施例还提供了一种处理器,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
73.可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
74.步骤s1,获取点云数据,其中,点云数据为车载激光雷达采集到的地面和地面上目标对象反射回来的原始点云数据;
75.步骤s2,基于点云数据的密度,将点云数据投影至栅格内,获得栅格点云数据;
76.步骤s3,将栅格点云数据翻转,获得翻转点云数据;
77.步骤s4,遍历翻转点云数据中的点云,获得遍历点云数据,其中,遍历点云数据包括如下至少之一:翻转点云数据中高度值最大的点云、翻转点云数据中位于栅格的节点处的点云;
78.步骤s5,基于遍历点云数据确定迭代信息,其中,迭代信息包括:栅格的迭代节点、栅格内进行迭代的目标点云、迭代节点的初始位置、初始迭代值;
79.步骤s6,基于迭代信息对栅格中的节点进行迭代,获得迭代结果;
80.步骤s7,判断迭代结果是否满足预设条件,如果是,则确定对应的迭代后的迭代节点为地面上的点。
81.可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
82.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
83.在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
84.在本技术所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
85.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个
单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
86.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
87.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
88.以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1