计算;推算;计数设备的制造及其应用技术1.本发明涉及一种地面检测方法、装置及设备,属于无人驾驶技术领域。背景技术:2.搭载多种传感器的无人驾驶矿卡需要在崎岖不平、场景单一、地形复杂的路况下长时间运输作业,为了确保矿卡在行驶中做出正确反映,保证矿卡的安全与作业任务的顺利执行,需要矿卡在无人驾驶过程中准确检测出地面信息和障碍物信息。地面检测作为无人驾驶过程的第一个环节,良好的地面检测结果可大大提升系统的性能。3.相关技术中,针对地面检测的方法主要有两种方式:一种是基于激光雷达快速检测地面点云的方法,该方法可以将点云映射为图片的像素格式,通过相邻两列对应的空间位置连线与水平面的夹角来区分地面和非地面;另一种是激光点云地面分割的方法,该方法通过对点云进行体素检测,对点云进行平面拟合,使得与拟合平面接近的点作为地面点。4.基于激光雷达快速检测地面点云的方法,该方法将点云映射为图片的像素格式的方式会降低原始数据的精度,损失大部分点云信息,影响地面检测精度;激光点云地面分割的方法,该方法前提条件是整体地面接近与同一平面,而复杂场景的地形并不满足这一前提条件,很难有效进行地面检测,使得复杂道路中地面检测结果的准确度较低。5.为了解决现有地面检测的方法的缺点,本发明提供了一种地面检测方法、装置及设备,主要目的在于解决现有技术中针对复杂场景的地形很难有效进行地面检测,使得复杂道路中地面检测结果的准确度较低的问题。技术实现要素:6.目的:为了克服现有技术中存在的不足,本发明提供一种地面检测方法、装置及设备,通过获取待检测区域内经过预处理的点云数据,并将点云数据在不同方向上分割为多个区域块,针对每个区域块生成布料,每个布料包括点云数据栅格化后形成的虚拟粒子,虚拟粒子对应的初始化位置设置在不同高度值,模拟每块布料下降,并利用布料下降过程中外力作用以及内力作用更新虚拟粒子对应的当前位置,得到虚拟粒子对应的变更位置,进一步利用虚拟粒子对应的变更位置,检测点云数据中每个点是否为待检测区域内的地面点。7.技术方案:为解决上述技术问题,本发明采用的技术方案为:8.本发明的第一个方面,提供了一种地面检测方法,该方法包括:9.获取待检测区域内经过预处理的点云数据。10.将所述点云数据在不同方向上分割为多个区域块,针对每个区域块生成布料,每个布料包括点云数据栅格化后形成的虚拟粒子,所述虚拟粒子对应的初始化位置设置在不同高度值。11.模拟每块布料下降,并利用布料下降过程中外力作用以及内力作用更新所述虚拟粒子对应的当前位置,得到虚拟粒子对应的变更位置。12.利用所述虚拟粒子对应的变更位置,检测所述点云数据中每个点是否为待检测区域内的地面点。13.进一步地,所述将所述点云数据在不同方向上分割为多个区域块,针对每个区域块生成布料,具体包括:14.将所述点云数据在横向和纵向进行分割,形成多个区域块。15.采用非均匀初始化布料机制,针对每个区域块生成布料,使得布料中虚拟粒子对应的初始化位置在不同高度值。16.进一步地,所述采用非均匀初始化布料机制,针对每个区域块生成布料,使得布料中虚拟粒子对应的初始化位置在不同高度值,具体包括:17.针对每个区块内的点云数据进行栅格化,生成由虚拟粒子构成的布料,每个栅格对应一个虚拟粒子。18.计算每个栅格中点云数据的高度,将所述最高点上浮动预设高度后的高度值设置为虚拟粒子对应的初始化位置。19.进一步地,所述模拟每块布料下降,并利用布料下降过程中外力作用以及内力作用更新所述虚拟粒子对应的当前位置,得到虚拟粒子对应的变更位置,具体包括:20.模拟每块布料下降,利用布料下降过程中外部重力作用以及虚拟粒子间内部约束更新虚拟粒子对应的当前位置。21.判断若所述布料中虚拟粒子满足下降停止条件,则停止更新所述虚拟粒子对应的当前位置,得到虚拟粒子对应的变更位置。22.进一步地,所述模拟每块布料下降,利用布料下降过程中外部重力作用以及虚拟粒子间内部约束更新虚拟粒子对应的当前位置,具体包括:23.模拟每块布料下降,利用布料下降过程中外部重力作用多次迭代计算虚拟粒子对应的实时位置,以及利用布料下降过程中虚拟粒子间内部约束多次迭代调整虚拟粒子对应的实时位置,根据所述虚拟粒子对应的实时位置更新虚拟粒子对应的当前位置。24.进一步地,所述下降停止条件包括以下任一项:25.布料下降过程中所有虚拟粒子的最大移动距离小于第一预设阈值,所述虚拟粒子的最大移动距离为所有虚拟粒子在每次迭代计算的实时位置与虚拟粒子对用的初始化位置形成移动距离的最大值。26.布料下降过程中外部重力作用以及虚拟粒子间内部约束的迭代次数达到第二预设阈值。27.布料下降过程中虚拟粒子对应的变更位置与点云数据相重合。28.进一步地,所述利用所述虚拟粒子对应的变更位置,检测所述点云数据中每个点是否为待检测区域内的地面点,具体包括:29.遍历计算所述点云数据中每个点与其所在栅格中虚拟粒子对应的变更位置形成的距离值。30.若所述距离值小于第三预设阈值,则判定所述点云数据中相应点为待检测区域内的地面点;否则,判定所述点云数据中相应点为待检测区域内的非地面点。31.进一步地,在所述判定所述点云数据中相应点为待检测区域内的非地面点之后,所述方法还包括:32.利用所述非地面点所在栅格内点云数据形成的绝对高度差,检测所述非地面点是否为待检测区域内的地面点,具体包括:33.针对所述待检测区域内的非地面点,计算所述非地面点所在栅格内点云数据最高点与最低点的绝对高度差;34.若所述绝对高度差小于第四预设阈值,则判定所述非地面点为待检测区域内的地面点,将所述非地面点调整为地面点。35.进一步地,所述获取待检测区域内经过预处理的点云数据,具体包括:36.获取待检测区域所形成的初始点云数据;37.利用初始点云数据中相邻点的距离分布,对所述初始点云数据进行过滤处理,得到过滤处理的点云数据;38.利用初始点云数据中每个点在预设方向上的坐标值,对所述初始点云数据进行反转处理,得到反转处理的点云数据。39.进一步地,所述利用初始点云数据中相邻点的距离分布,对所述初始点云数据进行过滤处理,得到过滤处理的点云数据,具体包括:40.利用初始点云数据中相邻点的距离分布,计算每个点到所有相邻点的距离均值和标准差;41.根据所述距离均值和标准差生成距离阈值,以到每个点的距离大于所述距离阈值的相邻点作为离群点,对所述点云数据中的离群点进行过滤处理,得到过滤处理后的点云数据。42.本发明的第二个方面,提供了一种地面检测装置,该装置包括:43.获取单元,用于获取待检测区域内经过预处理的点云数据;44.生成单元,用于将所述点云数据在不同方向上分割为多个区域块,针对每个区域块生成布料,每块布料包括点云数据栅格化后形成的虚拟粒子,所述虚拟粒子对应的初始化位置设置在不同高度值;45.更新单元,用于模拟每块布料下降,并利用布料下降过程中外力作用以及内力作用更新所述虚拟粒子对应的当前位置,得到虚拟粒子对应的变更位置;46.第一检测单元,用于利用所述虚拟粒子对应的变更位置,检测所述点云数据是否为待检测区域内的地面点。47.进一步地,所述生成单元包括:48.分割模块,用于将所述点云数据在横向和纵向进行分割,形成多个区域块;49.生成模块,用于采用非均匀初始化布料机制,针对每个区域块生成布料,使得布料中虚拟粒子对应的初始化位置在不同高度值。50.进一步地,所述生成模块包括:51.生成子模块,用于针对每个区域块内的点云数据进行栅格化,生成由虚拟粒子构成的布料,每个栅格对应一个虚拟粒子;52.计算子模块,用于计算每个栅格中点云数据的最高点,将所述最高点向上浮动预设高度后的高度值设置为虚拟粒子对应的初始化位置。53.进一步地,所述更新单元包括:54.更新模块,用于模拟每块布料下降,利用布料下降过程中外部重力作用以及虚拟粒子间内部约束更新虚拟粒子对应的当前位置;55.判断模块,用于判断若所述布料中虚拟粒子满足下降停止条件,则停止更新所述虚拟粒子对应的当前位置,得到虚拟粒子对应的变更位置。56.进一步地,所述更新模块,具体用于模拟每块布料下降,利用布料下降过程中外部重力作用多次迭代计算虚拟粒子对应的实时位置,以及利用布料下降过程中虚拟粒子间内部约束多次迭代调整虚拟粒子对应的实时位置,根据所述虚拟粒子对应的实时位置更新虚拟粒子对应的当前位置。57.进一步地,所述下降停止条件包括以下任一项:58.布料下降过程中所有虚拟粒子的最大移动距离小于第一预设阈值,所述虚拟粒子的最大移动距离为所有虚拟粒子在每次迭代计算的实时位置与虚拟粒子对应的初始化位置形成移动距离的最大值;59.布料下降过程中外部重力作用以及虚拟粒子间内部约束的迭代次数达到第二预设阈值;60.布料下降过程中虚拟粒子对应的变更位置与点云数据相重合。61.进一步地,所述第一检测单元包括:62.第一计算模块,用于遍历计算所述点云数据中每个点与其所在栅格中虚拟粒子对应的变更位置形成的距离值;63.第一判定模块,用于若所述距离值小于第三预设阈值,则判定所述点云数据中相应点为待检测区域内的地面点;否则,判定所述点云数据中相应点为待检测区域内的非地面点。64.进一步地,所述装置还包括:65.第二检测单元,用于利用所述非地面点所在栅格内点云数据形成的绝对高度差,检测所述非地面点是否为待检测区域内的地面点;66.所述第二检测单元包括:67.第二计算模块,用于针对所述待检测区域内的非地面点,计算所述非地面点所在栅格内点云数据最高点与最低点的绝对高度差;68.第二判定模块,用于若所述绝对高度差小于第四预设阈值,则判定所述非地面点为待检测区域内的地面点,将所述非地面点调整为地面点。69.进一步地,所述获取单元包括:70.获取模块,用于获取待检测区域所形成的初始点云数据;71.第一处理模块,用于利用初始点云数据中相邻点的距离分布,对所述初始点云数据进行过滤处理,得到过滤处理的点云数据;和/或72.第二处理模块,用于利用初始点云数据中每个点在预设方向上的坐标值,对所述初始点云数据进行反转处理,得到反转处理的点云数据。73.进一步地,所述第一处理模块,具体用于利用初始点云数据中相邻点的距离分布,计算每个点到所有相邻点的距离均值和标准差;74.所述第一处理模块,具体还用于根据所述距离均值和标准差生成距离阈值,以到每个点的距离大于所述距离阈值的相邻点作为离群点,对所述点云数据中的离群点进行过滤处理,得到过滤处理后的点云数据。75.本发明的第三个方面,提供了一种存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述地面检测方法。76.本发明的第四方面,提供了一种地面检测设备,包括存储介质、处理器及存储在存储介质上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述地面检测方法。77.相关技术中,地面检测的方法主要是基于图像的深度学习方法以及基于点云的栅格处理和平面拟合等方法,这些方法主要应用于城市道路,针对城市道路的检测结果比较好,而矿区的路况特点主要是崎岖不平、毗邻峭壁、全天长时间作业等,针对矿区的复杂路况场景,现有方式很难有效进行地面检测,使得复杂道路中地面检测结果的准确度较低。78.有益效果:本发明提供的一种地面检测方法、装置及设备,通过获取待检测区域内经过预处理的点云数据,相比于目前现有方式中基于激光雷达快速检测地面点云或激光点云地面分割的方式进行地面检测,本发明针对每个区域块生成布料,使用区域块对应的布料进行地面检测,可以将全局特征变为局部特征,更好的适用矿区的复杂地形,提升地面检测精度,针对布料中虚拟粒子设置不同初始化位置,使得布料更贴合矿区的实际地形,能够有效检测出复杂道路中的地面点。附图说明79.图1示出了本发明实施例提供的一种地面检测方法的流程示意图。80.图2示出了本发明实施例提供的另一种地面检测方法的流程示意图。81.图3示出了本发明实施例提供的针对点云数据进行反转处理以及初始化布料过程的示意图。82.图4示出了本发明实施例提供的模拟每块布料下降过程的示意图。83.图5示出了本发明实施例提供的地面检测的流程框图。84.图6示出了本发明实施例提供的一种地面检测装置的结构示意图。85.图7示出了本发明实施例提供的另一种地面检测装置的结构示意图。具体实施方式86.下面结合具体实施例对本发明作更进一步的说明。87.为了解决该问题,本实施例提供了一种地面检测方法,如图1所示,该方法可以应用于无人驾驶矿卡的服务端,包括如下步骤:88.101、获取待检测区域内经过预处理的点云数据。89.其中,待检测区域可以为任何复杂场景下的地块区域,如矿区场景中复杂的地块区域,山区场景中复杂的地块区域,通常情况,针对待检测区域进行地面检测时,可使用扫描设备安装至无人驾驶矿卡上进行点云数据采集,该扫描设备可以是激光雷达、深度相机等,能够用自动化的方式测量在物体表面的大量的点的信息,然后使用某种数据文件输出点云数据,这里点云数据的输出格式为三维坐标系中的一组向量的点集合,每个点包含有xyz方向的坐标信息,以及反射强度信息,能够表征待检测区域中的空间三维信息,如地表空间位置以及垂直相对位置,其中,x的正方向指向车体正前方向,y的正方向为车体左方向,z的正方向为车体竖直向上方向。90.实际应用场景中,一方面由于扫描设备误差以及数据传输误差,使得采集到的点云数据中包含较多误差,也就是噪点数据,需要针对点云数据进行噪点过滤的预处理,具体可以检测点云数据中离群点的方式,并将离群点从点云数据中删除,另一方面为了使得地面暴露在点云数据上方,需要针对点云数据进行反转的预处理,具体可以设置竖直方向的反转坐标轴,并根据反转坐标轴计算反转后点云数据的坐标。应说明的是,上述两种针对初始点云数据进行预处理的方式可以仅使用一种,即仅针对初始点云数据进行过滤处理,或者仅针对初始点云数据进行反转处理,当然为了保证获取到更优效果的点云数据,需要对初始点云数据使用两种预处理方式,即针对初始点云数据进行过滤处理和反转处理,且两种处理方式的先后顺序在此不进行限定,可以是针对初始点云数据先进行过滤处理后再进行反转处理,还可以是针对点云数据先进行反转处理后再进行过滤处理。91.对于本发明实施例的执行主体可以为地面检测装置,具体可以配置在无人驾驶矿卡的服务端,通过获取待检测区域内经过预处理的点云数据,并根据经过预处理的点云数据作为原始点云数据,后续布料生成的过程使用该原始点云数据,可以使得生成布料能够更贴合矿区复杂的道路场景,从一定程度提升地面检测精度。92.102、将所述点云数据在不同方向上分割为多个区域块,针对每个区域块生成布料。93.考虑到矿区的地形较为复杂,在同一块视野区域内,可能存在高低不同的道路,针对这种复杂路况,这里可以通过将点云数据在不同方向上进行分割,如横向和纵向,形成多个区域块。由于每个区域块对应有不同的实际地形,这里可以根据每个区域块的实际地形分别自适应生成布料,使得每块布料能够结合区域块地形进行地面检测,将待检测区域的地面检测过程分散开来,具有更高的地面检测精度。94.其中,每块布料包括点云数据栅格化后形成的虚拟粒子,且虚拟粒子对应的初始化位置设置在不同高度值,具体在针对每个区域块生成布料过程中,可以针对每个区域块中点云数据进行栅格化处理,每个栅格对应一个虚拟粒子,该虚拟粒子的初始化位置可以为栅格内中心点坐标,还可以为栅格内指定位置坐标,用于表征栅格的序列号,进一步计算每一个栅格内点云数据的最高点,将点云数据的最高点设置为虚拟粒子对应的高度值,由于每个栅格中虚拟粒子对应的初始化位置在进行高度值设置时都会根据栅格内点云数据的最高点进行设置,使得虚拟粒子对应的初始化位置处于不同的高度值。95.103、模拟每块布料下降,并利用布料下降过程中外力作用以及内力作用更新所述虚拟粒子对应的当前位置,得到虚拟粒子对应的变更位置。96.可以理解的是,布料的展现由虚拟粒子的位置决定,虚拟粒子的运动决定了布料的动态变化,虚拟粒子的位置,由虚拟粒子之间的距离约束决定,才能展现出布料的形态,这里距离约束指的虚拟粒子在运动时需要保持布料结构中虚拟粒子之间的距离,具体可以通过模拟每块布料下降过程得到地形布料的最终形态,由于虚拟粒子的位置受到外力作用和内力作用两者的影响,这里外力作用可以为外界重力,内力作用可以为虚拟粒子之间的相互作用力,一方面,利用布料下降过程中外力作用不断更新虚拟粒子的位置,另一方面,利用布料下降过程中内力作用不断更新虚拟粒子的位置,结合虚拟粒子在外力作用和内力作用更新当前位置后,得到虚拟粒子对应的变更位置。97.上述虚拟粒子对应的变更位置会随着布料下降过程不断更新,直至虚拟粒子满足下降停止条件,也就是说,这里虚拟粒子并不是更新一次就结束了,而是需要针对每次更新后虚拟粒子进行判定,如果满足下降停止条件,则停止更新过程。这里下降停止条件可以自行设置,可以为虚拟粒子对应的更新位置达到特定位置,还可以为虚拟粒子对应的移动距离达到预设数值,还可以为更新次数达到预设数值等,这里不进行限定。98.104、利用所述虚拟粒子对应的变更位置,检测所述点云数据中每个点是否为待检测区域内的地面点。99.由于虚拟粒子对应的变更位置能够表征待检测区域的地形状态,进一步将虚拟粒子对应的变更位置与点云数据中每个点对应的位置进行比对。理想情况下,虚拟粒子对应的变更位置与点云数据相重合即说明点云数据为待检测区域内的地面点,否则,说明点云数据为待检测区域内的非地面点,例如,高架点、障碍点等。而考虑到实际情况的距离误差,这里可以设置预设值作为距离远近的判定依据,在两者位置距离较近的情况,即距离值小于预设值,判定点云数据中相应点为待检测区域的地面点,在两者位置距离较远的情况,即距离值大于或等于预设值,判定点云数据中相应点为待检测区域的非地面点。100.本发明实施例提供的地面检测方法,通过获取待检测区域内经过预处理的点云数据,并将点云数据在不同方向上分割为多个区域块,针对每个区域块生成布料,每个布料包括点云数据栅格化后形成的虚拟粒子,虚拟粒子对应的初始化位置设置在不同高度值,模拟每块布料下降,并利用布料下降过程中外力作用以及内力作用更新虚拟粒子对应的当前位置,得到虚拟粒子对应的变更位置,进一步利用虚拟粒子对应的变更位置,检测点云数据中每个点是否为待检测区域内的地面点,相比于目前现有方式中基于激光雷达快速检测地面点云或激光点云地面分割的方式进行地面检测,本发明针对每个区域块生成布料,使用区域块对应的布料进行地面检测,可以将全局特征变为局部特征,更好的适用矿区的复杂地形,提升地面检测精度,针对布料中虚拟粒子设置不同初始化位置,使得布料更贴合矿区的实际地形,能够有效检测出复杂道路中的地面点。101.进一步的,作为上述实施例具体实施方式的细化和扩展,为了完整说明本实施例的具体实施过程,本实施例提供了另一种地面检测方法,如图2所示,该方法包括:102.201、获取待检测区域内经过预处理的点云数据。103.考虑到待检测区域的复杂路况,点云数据可以真实反映道路表面形状的方法,这里具体可以获取待检测区域所形成的初始点云数据,该初始点云数据为扫描设备实时采集得到的三维坐标系中的点集合,进一步利用初始点云数据中相邻点的距离分布,对初始点云数据进行过滤处理,得到过滤处理的点云数据,过滤处理的点云数据可以去除噪点,简化点云数据;和/或利用初始点云数据中每个点在预设方向上的坐标值,对初始点云数据进行反转处理,得到反转处理的点云数据,反转处理的点云数据使得地面暴露在数据上方,提高地面检测效率。104.具体在对初始点云数据进行过滤处理过程中,可以利用初始点云数据中相邻点的距离分布,计算每个点到所有相邻点的距离均值和标准差,然后根据距离均值和标准差生成距离阈值,以到每个点的距离大于距离阈值的相邻点作为离群点,对点云数据中的离群点进行过滤处理,得到过滤处理后的点云数据。实际应用场景中,对于点云数据中点a,可以计算点a到所有相邻点的平均距离,假设该平均距离的分布是高斯分布,计算出均值μ和标准差σ,将μ+std_mul*σ作为距离阈值,这里std_mul为标准差倍数的阈值,针对点a的所有相邻点,将与点a距离大于距离阈值的相邻点作为离群点,并将离群点从点云数据中去除。105.具体在对初始点云数据进行反转处理过程中,可以基于右手定则,车体正前方为x轴,车体左方向为y轴,车体正上方为z轴,基于扫描设备获取的整个待检测区域内的点云数据,上下反转点云数据,使得地面暴露在点云数据上方。106.202、将所述点云数据在横向和纵向进行分割,形成多个区域块。107.这里可以分别在x轴和y轴上将点云数据分割为多个区域块,每个区域块内的点云数据对应区域内的实际地形。108.可以理解的是,通过将点云数据分割为多个区域块,并针对每个区域块单独生成一块布料,应用区域块对应布料对区域块进行地面检测,能够将全局特征转变为局部特征,相比于使用一块布料对整个待检测区域进行对象检测的方式,针对每个区域块进行地形检测方式能够更多考虑到区域块内的地形特征,提升地面检测精度。109.203、采用非均匀初始化布料机制,针对每个区域块生成布料,使得布料中虚拟粒子对应的初始化位置在不同高度值。110.由于点云数据无法感知区域块内的地形特征,具体在生成布料过程中,可以针对每个区域块内的点云数据进行栅格化,生成由虚拟粒子构成的布料,每个栅格对应一个虚拟粒子,计算每个栅格中点云数据的最高点,将最高点向上浮动预设高度后的高度值设置为虚拟粒子对应的初始化位置。可以理解的是,这里每个栅格中点云数据的最高点不同,使得虚拟粒子对应的初始化位置设置在不同的高度值,从而保证待检测区域内初始化的每块布料具有不均匀的分布特征,能够更贴合待检测区域中不同布料的实际地形。111.可以理解的是,通过采用非均匀初始化布料机制,使得布料中虚拟粒子的初始化位置设置在不同高度值,相比于虚拟粒子的初始化位置设置相同高度值的方式,初始化的布料具有更贴合实际地形的特征,能够减少误检的可能性,可以有效从复杂场景的地形中检测出地面。112.具体针对点云数据进行反转处理以及初始化布料过程,如图3所示,该反转处理的过程即将点云数据中坐标z反转为-z,初始化布料的过程即针对反转后点云数据模拟一层布料受重力作用在地形表面。113.204、模拟每块布料下降,利用布料下降过程中外部重力作用以及虚拟粒子间内部约束更新虚拟粒子对应的当前位置。114.由于布料在受到外部重力作用以及虚拟粒子之间内部约束的同时会产生下降,模拟布料下降过程中虚拟粒子对应的当前位置也在不断发生变化,具体可以模拟每块布料下降,利用布料下降过程中外部重力作用多次迭代计算虚拟粒子对应的实时位置,以及利用布料下降过程中虚拟粒子间内部约束多次迭代调整虚拟粒子对应的实时位置,根据虚拟粒子对应的实时位置更新虚拟粒子对应的当前位置。115.具体模拟每块布料下降过程如图4所示,从图4中可以看出,布料下降的迭代过程如(a)-(d)(a)为布料下降初始状态,(b)为布料下降第一次迭代,(c)为布料下降第二次迭代、(d)为布料下降最终结果,每次模拟下降后布料中虚拟粒子对应的实时位置会更接近栅格内点云数据的位置。116.针对布料下降过程中外部重力作用,每个虚拟粒子的实时位置坐标受到重力作用的影响不断更新,具体实时位置坐标更新过程如下公式:[0117][0118]其中,x(t)为虚拟粒子在时刻t对应的实时位置坐标,m为虚拟粒子重量,通常设置为1,δt为时间步长,g是重力常数。[0119]针对布料下降过程中虚拟粒子间内部约束,每个虚拟粒子的实时位置坐标受到内部约束的影响不断更新,具体实时位置坐标更新过程如下公式:[0120][0121]其中,d为虚拟粒子的位移量,当虚拟粒子移动时,b=1,当虚拟粒子不移动时,b=0,pi、p0为相邻虚拟粒子的当前位置坐标,n为将当前位置坐标进行标准化到垂直方向上的单位向量(0,0,1)。[0122]205、判断若所述布料中虚拟粒子满足下降停止条件,则停止更新所述虚拟粒子对应的当前位置,得到虚拟粒子对应的变更位置。[0123]其中,下降停止条件包括以下任一项:可以是布料下降过程中所有虚拟粒子的最大移动距离小于第一预设阈值,该虚拟粒子的最大移动距离为所有虚拟粒子在每次迭代计算的实时位置与虚拟粒子对应的初始化位置形成移动距离的最大值,还可以是布料下降过程中外部重力作用以及虚拟粒子间内部约束的迭代次数达到第二预设阈值,还可以是布料下降过程中虚拟粒子对应的变更位置与点云数据相重合。应说明的是,布料下降过程只要满足上述中任一项即可停止,并将此时计算得到虚拟粒子对应的位置作为虚拟粒子对应的变更位置。[0124]206、遍历计算所述点云数据中每个点与其所在栅格中虚拟粒子对应的变更位置形成的距离值。[0125]可以理解的是,这里的距离值可以为两个位置坐标之间的距离,对于同一栅格内的点云数据,由于每个点的位置坐标不同,即使使用同一个虚拟粒子对应的变更位置,两个位置坐标所形成的距离值也不相同。进一步判断该距离值是否小于第三预设阈值。[0126]207a、若所述距离值小于第三预设阈值,则判定所述点云数据中相应点为待检测区域内的地面点。[0127]相应的,与步骤207a对应的有步骤207b、否则,判定所述点云数据中相应点为待检测区域内的非地面点。[0128]208b、利用所述非地面点所在栅格内点云数据形成的绝对高度差,检测所述非地面点是否为待检测区域内的地面点。[0129]考虑到复杂道路在实际中存在很多上下坡,而上下坡同样属于地面,但由于虚拟粒子间的内部约束,导致上下坡地面不能有效识别为地面,针对这种情况,进一步对待检测区域内的非地面点进行二次判定,具体可以针对待检测区域内的非地面点,计算非地面点所在栅格内点云数据最高点与最低点的绝对高度差,若绝对高度差小于第四预设阈值,则判定非地面点为待检测区域内的地面点,将非地面点调整为地面点。[0130]可以理解的是,本发明在针对待检测区域进行地面检测过程中,使用双重检测机制,一方面利用点云数据与下降后布料中虚拟粒子之间的距离值对地面点和非地面点进行首次区分检测,另一方面利用栅格内点云数据之间的绝对高度差对地面点与非地面点进行二次区分检测,可以有效避免发生由于布料中虚拟粒子间内部约束将上下坡误检为非地面点的情况,提高地面检测结果的准确度。[0131]在实际应用场景中,具体地面检测的流程如图5所示,首先获取待检测区域的点云数据,并基于点密度对点云数据进行离散点滤除,然后对点云数据进行反转处理,针对点云数据进行区域分割并非均匀初始化多张布料,模拟布料下降,并判断布料下降过程中是否满足布料下降停止条件,若否,则重复执行布料下降,直至满足布料下降停止条件,若是,则针对点云数据中每个点进行地面点两次判定,输出待检测区域的地面点与非地面点。[0132]进一步的,作为图1-图2方法的具体实现,本发明实施例提供了一种地面检测装置,如图6所示,该装置包括:获取单元31、生成单元32、更新单元33、第一检测单元34。[0133]获取单元31,可以用于获取待检测区域内经过预处理的点云数据;[0134]生成单元32,可以用于将所述点云数据在不同方向上分割为多个区域块,针对每个区域块生成布料,每块布料包括点云数据栅格化后形成的虚拟粒子,所述虚拟粒子对应的初始化位置设置在不同高度值;[0135]更新单元33,可以用于模拟每块布料下降,并利用布料下降过程中外力作用以及内力作用更新所述虚拟粒子对应的当前位置,得到虚拟粒子对应的变更位置;[0136]第一检测单元34,可以用于利用所述虚拟粒子对应的变更位置,检测所述点云数据是否为待检测区域内的地面点。[0137]本发明实施例提供的地面检测装置,通过获取待检测区域内经过预处理的点云数据,并将点云数据在不同方向上分割为多个区域块,针对每个区域块生成布料,每个布料包括点云数据栅格化后形成的虚拟粒子,虚拟粒子对应的初始化位置设置在不同高度值,模拟每块布料下降,并利用布料下降过程中外力作用以及内力作用更新虚拟粒子对应的当前位置,得到虚拟粒子对应的变更位置,进一步利用虚拟粒子对应的变更位置,检测点云数据中每个点是否为待检测区域内的地面点,相比于目前现有方式中基于激光雷达快速检测地面点云或激光点云地面分割的方式进行地面检测,本发明针对每个区域块生成布料,使用区域块对应的布料进行地面检测,可以将全局特征变为局部特征,更好的适用矿区的复杂地形,提升地面检测精度,针对布料中虚拟粒子设置不同初始化位置,使得布料更贴合矿区的实际地形,能够有效检测出复杂道路中的地面点。[0138]在具体的应用场景中,如图7所示,所述生成单元32包括:[0139]分割模块321,可以用于将所述点云数据在横向和纵向进行分割,形成多个区域块;[0140]生成模块322,可以用于采用非均匀初始化布料机制,针对每个区域块生成布料,使得布料中虚拟粒子对应的初始化位置在不同高度值。[0141]在具体的应用场景中,如图7所示,所述生成模块322包括:[0142]生成子模块3221,可以用于针对每个区域块内的点云数据进行栅格化,生成由虚拟粒子构成的布料,每个栅格对应一个虚拟粒子;[0143]计算子模块3222,可以用于计算每个栅格中点云数据的最高点,将所述最高点向上浮动预设高度后的高度值设置为虚拟粒子对应的初始化位置。[0144]在具体的应用场景中,如图7所示,所述更新单元33包括:[0145]更新模块331,可以用于模拟每块布料下降,利用布料下降过程中外部重力作用以及虚拟粒子间内部约束更新虚拟粒子对应的当前位置;[0146]判断模块332,可以用于判断若所述布料中虚拟粒子满足下降停止条件,则停止更新所述虚拟粒子对应的当前位置,得到虚拟粒子对应的变更位置。[0147]在具体的应用场景中,所述更新模块331,具体可以用于模拟每块布料下降,利用布料下降过程中外部重力作用多次迭代计算虚拟粒子对应的实时位置,以及利用布料下降过程中虚拟粒子间内部约束多次迭代调整虚拟粒子对应的实时位置,根据所述虚拟粒子对应的实时位置更新虚拟粒子对应的当前位置。[0148]在具体的应用场景中,所述下降停止条件包括以下任一项:[0149]布料下降过程中所有虚拟粒子的最大移动距离小于第一预设阈值,所述虚拟粒子的最大移动距离为所有虚拟粒子在每次迭代计算的实时位置与虚拟粒子对应的初始化位置形成移动距离的最大值;[0150]布料下降过程中外部重力作用以及虚拟粒子间内部约束的迭代次数达到第二预设阈值;[0151]布料下降过程中虚拟粒子对应的变更位置与点云数据相重合。[0152]在具体的应用场景中,如图7所示,所述第一检测单元34包括:[0153]第一计算模块341,可以用于遍历计算所述点云数据中每个点与其所在栅格中虚拟粒子对应的变更位置形成的距离值;[0154]第一判定模块342,可以用于若所述距离值小于第三预设阈值,则判定所述点云数据中相应点为待检测区域内的地面点;否则,判定所述点云数据中相应点为待检测区域内的非地面点。[0155]在具体的应用场景中,如图7所示,所述装置还包括:[0156]第二检测单元35,可以用于利用所述非地面点所在栅格内点云数据形成的绝对高度差,检测所述非地面点是否为待检测区域内的地面点;[0157]所述第二检测单元包括:[0158]第二计算模块351,可以用于针对所述待检测区域内的非地面点,计算所述非地面点所在栅格内点云数据最高点与最低点的绝对高度差;[0159]第二判定模块352,用于若所述绝对高度差小于第四预设阈值,则判定所述非地面点为待检测区域内的地面点,将所述非地面点调整为地面点。[0160]在具体的应用场景中,如图7所示,所述获取单元31包括:[0161]获取模块311,可以用于获取待检测区域所形成的初始点云数据;[0162]第一处理模块312,用于利用初始点云数据中相邻点的距离分布,对所述初始点云数据进行过滤处理,得到过滤处理的点云数据;和/或[0163]第二处理模块313,可以用于利用初始点云数据中每个点在预设方向上的坐标值,对所述初始点云数据进行反转处理,得到反转处理的点云数据。[0164]在具体的应用场景中,所述第一处理模块312,具体可以用于利用初始点云数据中相邻点的距离分布,计算每个点到所有相邻点的距离均值和标准差;[0165]所述第一处理模块312,具体还可以用于根据所述距离均值和标准差生成距离阈值,以到每个点的距离大于所述距离阈值的相邻点作为离群点,对所述点云数据中的离群点进行过滤处理,得到过滤处理后的点云数据。[0166]需要说明的是,本实施例提供的一种可应用于服务端侧的地面检测装置所涉及各功能单元的其它相应描述,可以参考图1和图2中的对应描述,在此不再赘述。[0167]基于上述如图1-图2所示方法,相应的,本发明实施例还提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述如图1-图2所示的地面检测方法;[0168]基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施场景所述的方法。[0169]基于上述如图1-图2所示的方法,以及图6-图7所示的虚拟装置实施例,为了实现上述目的,本发明实施例还提供了一种服务端实体设备,具体可以为计算机,服务器,或者其他网络设备等,该实体设备包括存储介质和处理器;存储介质,用于存储计算机程序;处理器,用于执行计算机程序以实现上述如图1-图2所示的地面检测方法。[0170]可选的,上述实体设备都还可以包括用户接口、网络接口、摄像头、射频(radio frequency,rf)电路,传感器、音频电路、wi-fi模块等等。用户接口可以包括显示屏(display)、输入单元比如键盘(keyboard)等,可选用户接口还可以包括usb接口、读卡器接口等。网络接口可选的可以包括标准的有线接口、无线接口(如wi-fi接口)等。[0171]本领域技术人员可以理解,本实施例提供的一种地面检测的实体设备结构并不构成对该实体设备的限定,可以包括更多或更少的部件,或者组合某些部件,或者不同的部件布置。[0172]存储介质中还可以包括操作系统、网络通信模块。操作系统是管理上述地面检测的实体设备硬件和软件资源的程序,支持信息处理程序以及其它软件和/或程序的运行。网络通信模块用于实现存储介质内部各组件之间的通信,以及与信息处理实体设备中其它硬件和软件之间通信。[0173]通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以借助软件加必要的通用硬件平台的方式来实现,也可以通过硬件实现。[0174]本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本发明所必须的。本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。[0175]上述本发明序号仅仅为了描述,不代表实施场景的优劣。以上公开的仅为本发明的几个具体实施场景,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!
内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,发布内容不收取任何费用也不接任何广告!
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!
一种地面检测方法、装置及设备与流程
作者:admin
2022-11-09 14:11:18
329
关键词:
计算;推算;计数设备的制造及其应用技术
专利技术
- 下一篇: 一种UV油墨印刷装置的制作方法
- 上一篇: 基于加速后视频的目标片段实时提取方法、系统及装置与流程