点云数据处理方法及装置、障碍物检测方法及装置与流程

文档序号:21982639发布日期:2020-08-25 19:19阅读:247来源:国知局
点云数据处理方法及装置、障碍物检测方法及装置与流程

本发明涉及计算机技术领域,具体地涉及一种点云数据处理方法及装置、障碍物检测方法及装置。



背景技术:

环境感知作为设备无人化操作的首要环节,主要有激光雷达和双目视觉两种解决方案。激光雷达对光照和色彩等干扰因素具有很强的鲁棒性,但易受到雪、雾灯恶劣天气的影响。双目视觉相较于激光雷达,不仅能获取环境的三维信息,还能输出特征复杂的彩色图像,且成本更低。因此,目前双目视觉被被广泛应用于无人驾驶、虚拟现实等领域,尤其应用于这些领域的障碍物检测中。



技术实现要素:

本发明实施例的目的是提供一种点云数据处理方法及装置、障碍物检测方法及装置,用于实现点云数据的聚类处理,并相应实现障碍物的检测。

为了实现上述目的,本发明实施例提供一种点云数据处理方法,所述方法包括:对当前环境的深度图像进行三维重构以生成点云数据集合;将所述点云数据集合划分为多个子点云数据集合;基于预设的标准离群点去除半径和标准深度区间长度以半径离群点去除的方式对所述多个子点云数据集合中的每个子点云数据集合执行点云滤波处理;以及对执行点云滤波处理后的每个子点云数据集合执行分割处理以得到聚类后的多个点云簇。

可选的,所述基于预设的标准离群点去除半径和标准深度区间长度对所述多个子点云数据集合中的每个子点云数据集合执行点云滤波处理包括:针对每个子点云数据集合执行以下步骤:使用所述标准离群点去除半径、所述标准深度区间长度和所述子点云数据集合的深度区间长度以等比例分配方式得到所述子点云数据集合的离群点去除半径;使用所述子点云数据集合的离群点去除半径为搜索半径对所述子点云数据集合执行邻近点搜索;以及在所述邻近点搜索的结果显示所述搜索半径内的邻近点数量小于最小邻近点数量阈值的情况下,将所述搜索半径内的点云数据作为离群数据而删除。

可选的,所述标准离群点去除半径是针对所述多个子点云数据集合中的特定子点云数据集合而预设的,所述标准深度区间长度为所述特定子点云数据集合的标准深度区间长度。

可选的,所述点云滤波处理和所述分割处理是针对所述每个子点云数据集合而被并行执行的。

可选的,所述将所述点云数据集合划分为多个子点云数据集合包括:获取所述深度图像基于像素点深度值的直方图分布;根据所述直方图分布中每个直方图维度对应的像素点个数来建立多个深度区间;以及根据所述多个深度区间中每个深度区间包括的像素点对应的点云数据来将所述点云数据集合划分为与多个深度空间对应的多个子点云数据集合。

可选的,所述根据所述直方图分布中每个直方图维度对应的像素点个数来建立多个深度区间包括:以第一直方图维度为起点,沿着深度值变化的第一方向,累加每个直方图维度对应的像素点个数;当所述累加的像素点个数大于像素区间阈值时,停止累加;建立一个深度区间,其中所述一个深度区间的下限基于所述起点处的直方图维度对应的深度值确定且所述一个深度区间的上限基于当前执行停止累加时的直方图维度对应的深度值确定;以及以所述当前执行停止累加时对应的直方图维度的下一个直方图维度为起点,重复执行上述步骤直到所述直方图分布的直方图维度遍历完成,从而得到所述多个深度区间。

可选的,所述第一直方图维度为最小深度值对应的直方图维度,所述第一方向为深度值增大的方向;或者所述第一直方图维度为最大深度值对应的直方图维度,所述第一方向为深度值减小的方向。

相应的,本发明实施例还提供一种障碍物检测方法,所述方法包括:获取当前环境的深度图像;根据上述的点云数据处理方法对所述当前环境的深度图像对应的点云数据集合进行处理以得到聚类后的多个点云簇;去除所述多个点云簇中属于地面点云的点云簇;以及基于去除地面点云后的点云簇确定所述障碍物的类别信息和/或位置信息。

可选的,所述基于去除地面点云后的点云簇确定所述障碍物的类别信息包括:基于去除地面点云后的点云簇确定所述障碍物的感兴趣区域;对所述感兴趣区域进行特征提取以得到特征向量;以及将所述特征向量输入分类器以输出所述障碍物的类别信息。

相应的,本发明实施例还提供一种点云数据处理装置,所述装置包括:第二三维重构模块,用于对当前环境的深度图像进行三维重构以生成点云数据集合;点云数据集合划分模块,用于将所述点云数据集合划分为多个子点云数据集合;点云滤波处理模块,用于基于预设的标准离群点去除半径和标准深度区间长度以半径离群点去除的方式对所述多个子点云数据集合中的每个子点云数据集合执行点云滤波处理;以及分割模块,用于对执行点云滤波处理后的每个子点云数据集合执行分割处理以得到聚类后的多个点云簇。

相应的,本发明实施例还提供一种障碍物检测装置,所述装置包括:深度图像获取模块,用于获取当前环境的深度图像;点云数据处理模块,用于根据上述的点云数据处理方法对所述当前环境的深度图像对应的点云数据集合进行处理以得到聚类后的多个点云簇;地面点云去除模块,用于去除所述多个点云簇中属于地面点云的点云簇;以及障碍物信息确定模块,用于基于去除地面点云后的点云簇确定所述障碍物的类别信息和/或位置信息。

相应的,本发明实施例还提供一种机器可读存储介质,所述机器可读存储介质上存储有指令,所述指令用于使得机器执行上述的点云数据处理方法,和/或根据上述的障碍物检测方法。

相应的,本发明实施例还提供一种电子设备,所述电子设备包括至少一个处理器、与处理器连接的至少一个存储器、以及总线;其中,所述处理器、所述存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序指令,以执行上述的点云数据处理方法,和/或上述的障碍物检测方法。

通过上述技术方案,在执行点云数据处理时,预设标准离群点去除半径和标准深度区间长度,并基于标准离群点去除半径和标准深度区间长度以半径离群点去除的方法对子点云数据集合执行点云滤波处理,这种点云滤波方式能够提升不同深度区间下点云滤波的自适应性,同时提升基于半径离群点去除的点云滤波效果,使得分割处理更加方便快捷。将所述点云数据处理应用到障碍物检测方法时可以最终提高障碍物检测精度。

本发明实施例的其它特征和优点将在随后的具体实施方式部分予以详细说明。

附图说明

附图是用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明实施例,但并不构成对本发明实施例的限制。在附图中:

图1示出了根据本发明一实施例的障碍物检测方法的流程示意图;

图2示出了根据本发明一实施例的点云数据划分方法的流程示意图;

图3示出了根据本发明一实施例的点云数据处理方法的流程示意图;

图4示出了点云滤波处理的流程示意图;

图5示出了根据本发明一实施例的用于去除地面点云的方法的流程示意图;

图6示出了根据本发明一实施例的障碍物类别信息的确定方法的流程示意图;

图7示出了根据本发明一实施例的障碍物检测装置的结构框图;

图8示出了根据本发明一实施例的点云数据划分装置的结构框图;

图9示出了根据本发明一实施例的点云数据处理装置的结构框图;

图10示出了根据本发明一实施例的用于去除地面点云的装置的结构框图;以及

图11示出了根据本发明一实施例的电子设备的结构框图。

具体实施方式

以下结合附图对本发明实施例的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明实施例,并不用于限制本发明实施例。

图1示出了根据本发明一实施例的障碍物检测方法的流程示意图。如图1所示,本发明实施例提供一种障碍物检测方法,该障碍物检测方法可以应用于各种类型的工程机械的障碍物检测。所述方法可以包括:步骤s110,获取当前环境的深度图像;步骤s120,对所述深度图像对应的点云数据集合进行划分以得到多个子点云数据集合;步骤s130,对每个子点云数据集合分别执行聚类处理以得到聚类后的多个点云簇;步骤s140,去除所述多个点云簇中属于地面点云的点云簇;步骤s150,基于去除地面点云后的点云簇确定所述障碍物的类别信息和/或位置信息。

具体而言,在步骤s110中,可以使用双目相机来获取当前环境的深度图像。

针对步骤s120,本发明实施例提供一种点云数据划分方法来实现对所述深度图像对应的点云数据集合进行划分以得到多个子点云数据集合。图2示出了根据本发明一实施例的点云数据划分方法的流程示意图。如图2所示,本发明实施例提供的点云数据划分方法可以包括步骤s210至步骤s240。

在步骤s210,对当前环境的深度图像进行三维重构以生成点云数据集合。

可选的,可以通过将深度图像中像素点的坐标从图像坐标系转换到相机坐标系的坐标来实现三维重构。具体的,可以基于双目相机生成的深度图像和双目相机标定后获取的内外参数,使得图像坐标系与相机坐标系的原点重合,从而将深度图像中各像素点在图像坐标系的x轴和y轴的值转换为在相机坐标系的x轴和y轴的值。深度图像中像素点在相机坐标系的z轴的值可以使用深度图像中像素点的深度值,如此实现深度图像的三维重构。相机坐标系中每一个像素点相当于三维点云数据中的一个点云数据,相机坐标系中针对深度图像的所有像素点就组成了点云数据集合。也就是说,点云数据在x轴和y轴的值为深度图像中对应像素点在相机坐标系中的x轴和y轴的值,点云数据在z轴的值为深度图像中对应像素点的深度值。点云数据与像素点一一对应。

在步骤s220,获取所述深度图像基于像素点深度值的直方图分布。

例如,可以基于深度值从小到大的排序得到深度值的直方图统计分布情况。但是可以理解,本发明实施例并不限制于此,也可以基于深度值从大到小或者其他任意合适的顺序得到深度值的直方图统计分布情况。

像素点的深度值为像素点对应的实体与相机的距离。

在步骤s230,根据所述直方图分布中每个直方图维度对应的像素点个数来建立多个深度区间。

具体而言,针对直方图分布,可以第一直方图维度为起点,沿着深度值变化的第一方向,累加每个直方图维度对应的像素点个数。当累加的像素点个数大于像素区间阈值时,停止累加,建立一个深度区间。所建立的深度区间的下限可以基于起点处的直方图维度对应的深度值确定,所建立的深度区间的上限可以基于当前执行停止累加时的直方图维度对应的深度值确定。之后,可以重新以当前执行停止累加时对应的直方图维度的下一个维度为起点,继续沿着深度值变化的第一方向,从零开始累加每个直方图维度对应的像素点个数。当累加的像素点个数大于像素区间阈值时,停止累加,建立下一个深度区间。如此顺序地执行,直到直方图分布的维度遍历完成。最终得到多个深度区间。

可选的,第一直方图维度可以为最小深度值对应的直方图维度,例如在最小深度值为0的情况下,第一直方图维度可以是深度值为0对应的直方图维度,第一方向相应的可以是深度值增大的方向。或者可选的,第一直方图维度可以为最大深度值对应的直方图维度,第一方向相应的可以是深度值减小的方向。本发明实施例中直方图维度是指直方图中条形图的序号,例如,直方图中第一个条形图对应的直方图维度为1……第i个条形图对应的直方图维度为i。直方图中每一个条形图表示一个深度值对应的像素点的数量,则相应的,每一个直方图维度对应一个深度值。

以第一直方图维度是最小深度值对应的直方图维度、第一方向是深度值增大的方向、一个直方图维度对应一个深度值为例。在执行步骤s230时,可以首先以最小深度值对应的直方图维度为起点,朝深度值增大方向,对每个直方图维度对应的像素点个数进行累加计算,当像素点个数的累加和大于像素区间阈值时,停止累加,得到第一个深度区间,该第一个深度区间的下限为最小深度值,上限为停止累加时的直方图维度对应的深度值。以当前执行停止累加时对应的直方图维度的下一个直方图维度为起点,继续朝深度值增大方向,从零开始对每个直方图维度对应的像素点个数进行累加计算,当像素点个数的累加和大于像素区间阈值时,停止累加,得到第二个深度区间,该第二个深度区间的下限为起点处的直方图维度对应的深度值,上限为停止累加时的直方图维度对应的深度值。继续重复前述步骤,直到遍历完所有的直方图维度,最终得到多个深度区间。

在可选情况下,直方图的每个条形图可以对应一个深度值的范围,则相应的,一个直方图维度也对应一个深度值的范围。在按照上述方式建立深度区间时,深度区间的下限为起点处的直方图维度对应的深度值的范围的下限,深度区间的上限为当前执行停止累加时的直方图维度对应的深度值的范围的上限,如此可以确保深度区间之间深度值的连续性。

可选的,本发明实施例中像素区间阈值可以基于预先确定的障碍物在所述深度图像上的平均像素占比和所述深度图像中的有效像素个数而被确定。例如,像素区间阈值可以等于预先确定的所述平均像素占比和所述有效像素个数的乘积,可以理解本发明实施例并不限制于此,例如在不同环境下,也可以在所述乘积的基础上乘以一校正系数。其中,障碍物在所述深度图像上的平均像素占比可以预先针对若干种类型的障碍物进行一次或多次检测来确定出的平均像素占比。所述深度图像中的有效像素个数是指所述深度图像中深度值在预设深度范围内的像素的总数,所述预设深度范围可以是任意合适的深度范围。

可选的,可以在执行步骤s210的同时,执行步骤s220和s230以节约计算时间。

基于上述像素区间阈值选取的深度区间划分方法,可实现点云数据在深度维度上的粗分割,提高了后续分割处理(例如,后续关于点云簇的聚类处理)的分割精度,同时相比较等间隔划分的方式,此方法可减少点云数据截断现象的出现。

在步骤s240,根据所述多个深度区间中每个深度区间包括的像素点对应的点云数据来将所述点云数据集合划分为与多个深度空间对应的多个子点云数据集合。

可以将一个深度空间包括的所有像素点对应的所有点云数据形成一个子点云数据集合。如果在步骤s230中建立了n个深度区间,则通过步骤s240可以对应的形成n个子点云数据集合。

本发明实施例基于深度区间执行点云数据的划分,相等于以点云数据集合在z轴的值为划分域对点云数据集合进行划分,可实现点云数据在深度维度上的粗分割,提高了后续聚类处理的精度,同时可避免点云数据截断现象的发生。

在可选情况下,也可以使用其他合适的方法对点云数据集合进行划分来得到多个子点云数据集合,例如,可以等间隔划分(例如,其中以等间隔的深度值进行划分)的方式来执行。

针对步骤s130,本发明相应的可以提供一种点云数据处理方法来对每个子点云数据集合分别执行聚类处理得到聚类后的多个点云簇。当然本发明实施例不限于结合图3描述的聚类处理方式,也可以使用任何其他合适的方式。

图3示出了根据本发明一实施例的点云数据处理方法的流程示意图。如图3所示,本发明实施例提供的点云数据处理方法可以包括步骤s310至步骤s340。

在步骤s310,对当前环境的深度图像进行三维重构以生成点云数据集合。

步骤s310具体执行原理与前文所述的步骤s210的执行原理相同,这里将不再赘述。

在步骤s320,将所述点云数据集合划分为多个子点云数据集合。

步骤s320的具体执行原理可以通过前文所述的步骤s220至步骤s240来实现,这里将不再赘述。或者,也可以如前文所述,可以等间隔划分(例如,其中以等间隔的深度值进行划分)的方式来对点云数据集合划分以得到多个子点云数据集合。

在步骤s330,基于预设的标准离群点去除半径和标准深度区间长度以半径离群点去除的方式对所述多个子点云数据集合中的每个子点云数据集合执行点云滤波处理。

在具体执行障碍物检测方法的步骤s130时,可以从步骤s330开始执行子点云数据集合的聚类处理,该聚类处理可以包括点云滤波处理(即,步骤s330)和分割处理(即,步骤s340)。

在步骤s340,对执行点云滤波处理后的每个子点云数据集合执行分割处理以得到聚类后的多个点云簇。

具体的可以采用欧氏距离分割的方式来对点云数据进行分割处理,以最终得到多个点云簇。点云簇的数量与子点云数据集合的数量相同。

图4示出了点云滤波处理的流程示意图。如图4所示,在执行步骤s330的点云滤波处理时可以针对每个子点云数据集合分别执行步骤s410至步骤s430。

在步骤s410,使用所述标准离群点去除半径、所述标准深度区间长度和所述子点云数据集合的深度区间长度以等比例分配方式得到所述子点云数据集合的离群点去除半径。

具体可以根据以下公式来计算得到任意子点云数据集合的离群点去除半径:

在公式(1)中,rn和ln分别表示待计算的子点云数据集合的离群点去除半径和深度区间长度,rs和ls分别表示标准离群点去除半径和标准深度区间长度。

在可选情况下,标准离群点去除半径可以是针对所述多个子点云数据集合中的特定子点云数据集合而预设的,标准深度区间长度可以是所述特定子点云数据集合的标准深度区间长度。所述特定子点云数据集合也可以根据需要为所有子点云数据集合中的任意一个子点云数据集合,例如所述特定子点云数据集合可以是所有子点云数据集合中对应的深度值或深度值范围最小的子点云数据集合,其他子点云数据集合的标准离群点去除半径根据公式(1)计算即可得到。

上述基于深度区间长度的离群点去除半径参数的确定方式,为点云数据滤波算法中关键参数的设置提供了依据,解决了划分后多个点云数据的滤波参数设置问题。

在步骤s420,使用所述子点云数据集合的离群点去除半径为搜索半径对所述子点云数据集合执行邻近点搜索。

可以针对子点云数据集合中的每个子点云数据执行邻近点搜索。

在步骤s430,在所述邻近点搜索的结果显示所述搜索半径内的邻近点数量小于最小邻近点数量阈值的情况下,将所述邻近点数量对应的点云数据作为离群数据而删除。

所述最小邻近点数量阈值可以根据实际需要设置为任何合适的值,本发明实施例并不作特定限制。

在可选情况下,可以针对各子点云数据集合以并行处理的方式分别执行步骤s330和步骤s340,相应的步骤s410至步骤s430也针对各子点云数据集合以并行处理的方式被分别执行,如此,可以节省处理时间。

基于深度区间长度确定离群点去除半径,并基于该离群点去除半径执行滤波处理,使得划分后的多个子点云数据集合的滤波算法参数以点云数据自身的深度跨度为依据进行自适应调整,提升了不同深度区间下点云滤波的自适应性,同时提升了基于半径离群点去除的点云滤波效果。

针对步骤s140,本发明实施例提供了一种用于去除地面点云的方法来去除所述多个点云簇中属于地面点云的点云簇。

图5示出了根据本发明一实施例的用于去除地面点云的方法的流程示意图。如图5所示,本发明实施例提供的用于去除地面点云的方法可以包括针对当前环境的深度图像对应的多个点云簇执行步骤s510至步骤s520。

在步骤s510,对所述多个点云簇中每个点云簇执行平面拟合以得到每个点云簇的拟合平面的法向量在三维坐标系中的第一坐标平面上的投影相对于第一坐标轴的偏移角度和所述每个点云簇的拟合平面的平面曲率。

例如,可以使用最小二乘平面拟合方法来分别对每个点云簇执行平面拟合以得到每个点云簇的拟合平面,进而确定拟合平面的法向量在三维坐标系中的第一坐标平面上的投影相对于第一坐标轴的偏移角度,以及确定拟合平面的平面曲率。

所述三维坐标系可以是前文所述的相机坐标系,所述第一坐标平面可以是yoz坐标平面,所述第一坐标轴可以是y轴。在确定点云簇的拟合平面的法向量在yoz坐标平面上的投影相对于y轴的偏移角度和点云簇的拟合平面的平面曲率时,可以首先获取点云簇的拟合平面的法向量相对于三维坐标系中x轴、y轴和z轴的分量。

可以根据以下公式(2)计算点云簇的拟合平面的平面曲率,根据以下公式(3)计算点云簇的拟合平面的法向量在yoz坐标平面上的投影相对于y轴的偏移角度:

其中,curvature为所述平面曲率,theta为所述偏移角度,nx,ny,nz分别为所述点云簇的拟合平面的法向量相对于所述三维坐标系中x轴、y轴和z轴的分量。

在步骤s520,将所述平面曲率小于平面曲率阈值且所述偏移角度小于偏移角度阈值的点云簇作为地面点云而去除。

所述偏移角度阈值的设置可以考虑双目相机光轴与当前环境中地面的偏移程度。具体的,偏移角度阈值可以等于双目相机光轴相对于地面的偏移角度(该角度为锐角)加上90度。平面曲率阈值可以考虑实际环境中地面的平整度而设定为合适的值。地面的平整度越高,平面曲率阈值越小,地面的平整度越低,平面曲率阈值越大。地面平整度可通过先前对相同环境中确定的地面点云进行点云方差分析得到。

本发明实施例提供的去除地面点云的方法避免了地面对后续图像特征提取的干扰,提升了最终障碍物的检测精度。可以理解,在执行本发明实施例提供的障碍物检测方法的过程中,也可以使用公知的任意其它去除地面点云的方式来去除地面点云。

针对步骤s150,例如可以计算去除地面点云后的各点云簇的整体的三维几何中心,所述几何中心在z轴的坐标值可以作为障碍物的距离信息。或者,也可以获取点云簇的最小平面矩形包围框,例如可以将去除地面点云后的各点云簇投影到相机坐标系的xoy平面上,在该xoy平面上获取最小平面矩形包围框。最小矩形包围框也可以看作是障碍物在相机坐标系的xoy平面上的投影的最小平面矩形包围框。障碍物的距离信息可以通过最小平面矩形包围框中点云数据在z轴的坐标(即,对应像素点的深度值)来确定,例如所述障碍物的距离可以是最小平面矩形包围框中点云数据在z轴的最小坐标值或者在z轴的平均坐标值等。另外,所述最小平面矩形包围框可以看作是障碍物的感兴趣区域,障碍物的感兴趣区域在相机坐标系的xoy平面上的坐标信息等于最小平面矩形包围框的坐标信息。因此,障碍物的位置信息可以包括障碍物的距离信息、和/或障碍物的感兴趣区域的坐标信息、和/或所述三维几何中心在相机坐标系的三维坐标信息。

针对步骤s150中障碍物类别信息的确定,本发明实施例相应的提供了一种障碍物类别信息的确定方法,如图6所示,所述方法可以包括步骤s610至步骤s630。

在步骤s610,基于去除地面点云后的点云簇确定所述障碍物的感兴趣区域。

可以获取点云簇的最小平面矩形包围框,例如可以将去除地面点云后的各点云簇投影到相机坐标系的xoy平面上,在该xoy平面上获取最小平面矩形包围框。所述最小平面矩形包围框可以看作是障碍物的感兴趣区域,障碍物的感兴趣区域在相机坐标系的xoy平面上的坐标信息等于最小平面矩形包围框的坐标信息。

将障碍物的感兴趣区域在相机坐标系的xoy平面上的坐标信息映射到当前环境原始灰度图像中,然后从该原始灰度图像中提取障碍物的感兴趣区域。所述原始灰度图像可以是双目相机中所拍摄的图像与深度图像像素对齐的单目相机输出的图像。

在步骤s620,对所述感兴趣区域进行特征提取以得到特征向量。

例如,可以对所述原始灰度图像中的障碍物的感兴趣区域分别进行gabor和hog特征提取,以得到对应的特征向量。

然后可以对gabor和hog特征提取后的特征向量进行零均值标准化处理,以得到零均值标准化后的特征向量,具体计算公式如下所示:

其中,sm表示对gabor和hog特征向量叠加后的特征向量,μo和分别表示特征向量的均值和标准差,sn表示零均值标准化后的特征向量,m表示叠加后的特征向量的维度。

可以将零均值标准化后的特征向量作为步骤s630使用的特征向量。但是本发明实施例并不限制于此,也可以使用gabor特征提取或hog特征提取后的特征向量作为步骤s630使用的特征向量。

在步骤s630,将所述特征向量输入分类器以输出所述障碍物的类别信息。

所述分类器例如可以是svm(supportvectormachine,支持向量机)分类器或者其他任何合适的分类器。

可以输出最终确定出的障碍物的类别信息和/或位置信息,以方便使用者实时知晓障碍物的信息。

本发明实施例提供的障碍物类别信息的确定方式,将障碍物的感兴趣区域的坐标映射到场景灰度图像中,并基于图像分类方法,对点云处理后的障碍物信息进行了筛选,有效地提升了最终障碍物的检测精度。

图7示出了根据本发明一实施例的障碍物检测装置的结构框图。如图7所示,本发明实施例提供一种障碍物检测装置,所述装置可以包括:深度图像获取模块710,用于获取当前环境的深度图像;点云数据集合划分模块720,用于对所述当前环境的深度图像对应的点云数据集合进行划分以得到多个子点云数据集合;以及聚类模块730,用于对每个子点云数据集合分别执行聚类处理以得到聚类后的多个点云簇;地面点云去除模块740,用于去除所述多个点云簇中属于地面点云的点云簇;以及障碍物信息确定模块750,用于基于去除地面点云后的点云簇确定所述障碍物的类别信息和/或位置信息。

点云数据集合划分模块720和聚类模块730也可以统称为点云数据处理模块。点云数据处理模块可以根据本发明任意实施例所述的点云数据处理方法对当前环境的深度图像对应的点云数据集合进行处理以得到聚类后的多个点云簇。

本发明实施例提供的障碍物检测装置的具体工作原理及益处与上述本发明实施例提供的障碍物检测方法的具体工作原理及益处相同,这里将不再赘述。

相应的,本发明实施例还提供一种点云数据划分装置,如图8所示,所述点云数据划分装置可以包括:第一三维重构模块810,用于对当前环境的深度图像进行三维重构以生成点云数据集合,其中所述点云数据集合中的一个点云数据与所述深度图像中的一个像素点对应;直方图分布获取模块820,用于获取所述深度图像基于像素点深度值的直方图分布;深度区间建立模块830,用于根据所述直方图分布中每个直方图维度对应的像素点个数来建立多个深度区间;以及子点云数据集合形成模块840,用于根据所述多个深度区间中每个深度区间包括的像素点对应的点云数据来将所述点云数据集合划分为与多个深度空间对应的多个子点云数据集合。

本发明实施例提供的点云数据划分装置的具体工作原理及益处与上述本发明实施例提供的点云数据划分方法的具体工作原理及益处相同,这里将不再赘述。

相应的本发明实施例还提供一种点云数据处理装置来实现点云数据的聚类,如图9所示,本发明实施例提供的点云数据处理装置可以包括:第二三维重构模块910,用于对当前环境的深度图像进行三维重构以生成点云数据集合;点云数据集合划分模块920,用于将所述点云数据集合划分为多个子点云数据集合;点云滤波处理模块930,用于基于预设的标准离群点去除半径和标准深度区间长度以半径离群点去除的方式对所述多个子点云数据集合中的每个子点云数据集合执行点云滤波处理;以及分割模块940,用于对执行点云滤波处理后的每个子点云数据集合执行分割处理以得到聚类后的多个点云簇。

本发明实施例提供的点云数据处理装置的具体工作原理及益处与上述本发明实施例提供的点云数据处理方法的具体工作原理及益处相同,这里将不再赘述。

相应的本发明实施例还提供用于去除地面点云的装置,如图10所示,本发明实施例提供的用于去除地面点云的装置可以包括:偏移角度和平面曲率确定模块1010,用于对所述多个点云簇中每个点云簇执行平面拟合以得到每个点云簇的拟合平面的法向量在三维坐标系中的第一坐标平面上的投影相对于第一坐标轴的偏移角度和所述每个点云簇的拟合平面的平面曲率;以及去除模块1020,用于将所述平面曲率小于平面曲率阈值且所述偏移角度小于偏移角度阈值的点云簇作为地面点云而去除。

本发明实施例提供的用于去除地面点云的装置的具体工作原理及益处与上述本发明实施例提供的用于去除地面点云的方法的具体工作原理及益处相同,这里将不再赘述。

相应的,本发明实施例提供一种机器可读存储介质,所述机器可读存储介质上存储有指令,所述指令用于使得机器执行以下任一者:根据本发明任意实施例所述的障碍物检测方法;根据本发明任意实施例所述的点云数据划分方法;根据本发明任意实施例所述的点云数据处理方法;或者根据本发明任意实施例所述的用于去除地面点云的方法。

相应的,本发明实施例还提供一种电子设备,如图11所示,电子设备1100包括至少一个处理器1101、以及与处理器1101连接的至少一个存储器1102、总线1103;其中,处理器1101、存储器1102通过总线1103完成相互间的通信;处理器1101用于调用存储器1102中的程序指令,以执行一下任一者:根据本发明任意实施例所述的障碍物检测方法;根据本发明任意实施例所述的点云数据划分方法;根据本发明任意实施例所述的点云数据处理方法;或者根据本发明任意实施例所述的用于去除地面点云的方法。本发明实施例的电子设备可以是服务器、pc、pad、手机等。

上述各装置可分别包括处理器和存储器,上述各模块均可作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。

处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来以下任一者:根据本发明任意实施例所述的障碍物检测方法;根据本发明任意实施例所述的点云数据划分方法;根据本发明任意实施例所述的点云数据处理方法;或者根据本发明任意实施例所述的用于去除地面点云的方法。

存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram),存储器包括至少一个存储芯片。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。存储器是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。

以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1