用于三维点云分割的方法、装置、系统及介质与流程

文档序号:19277224发布日期:2019-11-29 22:26阅读:248来源:国知局
用于三维点云分割的方法、装置、系统及介质与流程

本公开涉及电子技术领域,更具体地,涉及一种用于三维点云分割的方法、装置、系统及介质。



背景技术:

从3d激光数据(例如,三维点云)中分割对象是机器人研究课题中的一个重要分支。机器人导航需要知道周围环境中的静态和动态物体信息。在未知的环境中导航机器人面临着复杂的推理任务,可能有物体会限制机器人的可能行为,或者干扰机器人的路径规划,因此机器人的环境解释对机器人的鲁棒性至关重要。

在现有的基于点云的物体分割技术中,主要的分割依据是计算三维空间中的点云,主要的分割方法有基于欧式聚类的三维点云分割技术和基于网格的贝叶斯分割方法。

在实现本公开构思的过程中,发明人发现现有技术中至少存在如下问题:基于欧式聚类的三维点云分割技术和基于网格的贝叶斯分割方法需要计算大量点之间的相互关系,并且需要反复的迭代以实现聚类。因此,现有技术中,分割三维空间中的点云会占用大量的计算资源,计算效率低下。并且,对于稀疏点云,由于点云空间结构的不连续性,按照空间几何关系进行查找,在临近的点查找过程中容易忽略丢失,会导致较高的分割错误率。



技术实现要素:

有鉴于此,本公开提供了一种能够部分解决现有技术中三维点云分割时计算量大、速度相对慢的用于三维点云分割的方法、装置、系统和介质。

本公开的一个方面提供了一种用于三维点云分割的方法。所述方法包括:获取激光雷达旋转预设角度扫描得到的三维点云,其中所述激光雷达包括至少一个激光装置,所述激光装置用于沿垂直于所述旋转的轴向的方向发射光束并接收反射光以进行空间扫描;计算所述三维点云中待分割点与所述待分割点的第一相邻点的空间相对关系,其中:所述待分割点为所述至少一个激光装置中的第一激光装置在第一时刻扫描获得的点,所述第一相邻点包括所述第一激光装置在与所述第一时刻相邻的时刻扫描得到的点;以及,根据所述空间相对关系是否满足预设条件,确定所述待分割点与所述第一相邻点是否属于同一物体。

根据本公开的实施例,在计算所述三维点云中待分割点与所述待分割点的第一相邻点的空间相对关系之前,还包括将所述三维点云转换为二维距离激光图像数据。其中,所述二维距离激光图像数据中的每一个点的信息包括该点的扫描时间信息、扫描该点的激光装置信息以及该点与所述激光雷达的距离信息。

根据本公开的实施例,将所述三维点云转换为二维距离激光图像数据,包括:以所述激光雷达中激光装置的个数为行数进行转换,使得所述二维距离激光图像数据中每一行的点对应于同一个激光装置扫描获得的点;以及,以所述激光雷达旋转所述预设角度的过程中扫描到点的次数为列数进行转换,使得所述二维距离激光图像数据的每一列的点对应于所述激光雷达在同一时刻扫描获得的点。

根据本公开的实施例,所述方法还包括从所述二维距离激光图像数据中所述待分割点所在的行中获取所述第一相邻点。

根据本公开的实施例,计算所述三维点云中待分割点与所述待分割点的第一相邻点的空间相对关系,包括获取所述待分割点与所述激光雷达的第一距离,获取所述第一相邻点与所述激光雷达的第二距离,获取所述激光雷达扫描所述待分割点和所述第一相邻点时经过的转角α,以及计算能够表征所述待分割点与所述第一相邻点的空间相对深度信息的夹角β。其中:

在所述第一距离与第二距离不相等时,d1表示所述第一距离和第二距离中较长的距离,d2表示所述第一距离和第二距离中的较短的距离;或者,在所述第一距离与第二距离相等时,d1和d2相等且等于所述第一距离。

根据本公开的实施例,根据所述空间相对关系是否满足预设条件,确定所述待分割点与所述第一相邻点是否属于同一物体,包括在所述夹角β大于阈值角度时,确定所述待分割点与所述第一相邻点属于同一物体,或者在所述夹角β小于阈值角度时,确定所述待分割点与所述第一相邻点不属于同一物体。

根据本公开的实施例,所述至少一个激光装置包括多个激光装置,所述多个激光装置沿所述旋转的轴向方向依次布置,所述多个激光装置的朝向同步,所述方法还包括查找是否存在所述待分割点的第二相邻点,所述第二相邻点为第二激光装置在与所述待分割点同一时刻扫描得到的点,所述第二激光装置与所述第一激光装置相邻,以及若存在则确定所述待分割点与所示第二相邻点属于同一物体。

根据本公开的实施例,所述方法还包括根据承载所述激光雷达的载具的最底端相对于所述激光雷达的距离,从所述三维点云中去除属于地面的点,其中所述载具的最底端包括与地面接触的部位。

本公开的另一方面提供了一种用于三维点云分割的装置,包括三维点云获取模块、空间关系计算模块和分割确定模块。三维点云获取模块用于获取激光雷达旋转所述预设角度扫描得到的三维点云,其中所述激光雷达包括至少一个激光装置,所述激光装置用于沿垂直于所述旋转的轴向的方向发射光束并接收反射光以进行空间扫描。空间关系计算模块用于计算所述三维点云中待分割点与所述待分割点的第一相邻点的空间相对关系。其中,所述待分割点为所述至少一个激光装置中的第一激光装置在第一时刻扫描获得的点,所述第一相邻点包括所述第一激光装置在与所述第一时刻相邻的时刻扫描得到的点。分割确定模块用于根据所述空间相对关系是否满足预设条件,确定所述待分割点与所述第一相邻点是否属于同一物体。

根据本公开的实施例,还包括三维点云转换模块。三维点云转换模块用于在计算所述三维点云中待分割点与所述待分割点的第一相邻点的空间相对关系之前,将所述三维点云转换为二维距离激光图像数据,其中,所述二维距离激光图像数据中的每一个点的信息包括该点的扫描时间信息、扫描该点的激光装置信息以及该点与所述激光雷达的距离信息。

根据本公开的实施例,所述三维点云转换模块具体用于以所述激光雷达中激光装置的个数为行数进行转换,使得所述二维距离激光图像数据中每一行的点对应于同一个激光装置扫描获得的点,以及以所述激光雷达旋转所述预设角度的过程中扫描到点的次数为列数进行转换,使得所述二维距离激光图像数据的每一列的点对应于所述激光雷达在同一时刻扫描获得的点。

根据本公开的实施例,所述装置还包括第一相邻点获取模块。第一相邻点获取模块用于从所述二维距离激光图像数据中所述待分割点所在的行中获取所述第一相邻点。

根据本公开的实施例,所述空间关系计算模块具体用于获取所述待分割点与所述激光雷达的第一距离,获取所述第一相邻点与所述激光雷达的第二距离,获取所述激光雷达扫描所述待分割点和所述第一相邻点时经过的转角α,以及计算能够表征所述待分割点与所述第一相邻点的空间相对深度信息的夹角β。其中:

在所述第一距离与第二距离不相等时,d1表示所述第一距离和第二距离中较长的距离,d2表示所述第一距离和第二距离中的较短的距离;或者,在所述第一距离与第二距离相等时,d1和d2相等且等于所述第一距离。

根据本公开的实施例,所述分割确定模块具体用于在所述夹角β大于阈值角度时,确定所述待分割点与所述第一相邻点属于同一物体,或者在所述夹角β小于阈值角度时,确定所述待分割点与所述第一相邻点不属于同一物体。

根据本公开的实施例,所述至少一个激光装置包括多个激光装置,所述多个激光装置沿所述旋转的轴向方向依次布置,所述多个激光装置的朝向同步,所述装置还包括第二相邻点查找模块。所述第二相邻点查找模块用于查找是否存在所述待分割点的第二相邻点,所述第二相邻点为第二激光装置在与所述待分割点同一时刻扫描得到的点,所述第二激光装置与所述第一激光装置相邻。所述分割确定模块还用于在存在所述第二相邻点时,确定所述待分割点与所示第二相邻点属于同一物体。

根据本公开的实施例,所述装置还包括地面去除模块。地面去除模块用于根据承载所述激光雷达的载具的最底端相对于所述激光雷达的距离,从所述三维点云中去除属于地面的点,其中所述载具的最底端包括与地面接触的部位。

本公开的另一方面提供了一种用于三维点云分割的系统,包括一个或多个处理器,以及用于存储一个或多个程序的存储装置。其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如上所述的方法。

本公开的另一方面提供了一种计算机可读介质,其上存储有可执行指令,该指令被处理器执行时使处理器实现如上所述的方法。

根据本公开的实施例,可以至少部分地解决现有技术中对三维点云进行分割时计算量大、速度相对慢的问题。在进行三维点云分割时,结合三维点云中的获取过程信息筛选出与待分割点对应的第一相邻点,并判断该待分割点与对应的第一相邻点是否属于同一物体,从而可以相对快速地实现对至少同一激光装置扫描得到的点的快速分割,实现对三维点云数据的分段处理,并因此可以减少计算量,加快计算速度,提高计算效率。

附图说明

通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚,在附图中:

图1示意性示出了根据本公开实施例的用于三维点云分割的方法和装置的应用场景;

图2示意性示出了根据本公开实施例的用于三维点云分割的方法的流程图;

图3示意性示出了根据本公开另一实施例的用于三维点云分割的方法的流程图;

图4a和图4b示意性示出了根据本公开实施例的计算待分割点与第一相邻点的空间相对关系的方法示意图;

图5示意性示出了根据本公开又一实施例的用于三维点云分割的方法的流程图;

图6示意性示出了根据本公开再一实施例的用于三维点云分割的方法的流程图;

图7示意性示出了根据本公开实施例的用于三维点云分割的装置的框图;以及

图8示意性示出了根据本公开实施例的用于三维点云分割的计算机系统的方框图。

具体实施方式

以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。

在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。

在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。

在使用类似于“a、b和c等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有a、b和c中至少一个的系统”应包括但不限于单独具有a、单独具有b、单独具有c、具有a和b、具有a和c、具有b和c、和/或具有a、b、c的系统等)。在使用类似于“a、b或c等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有a、b或c中至少一个的系统”应包括但不限于单独具有a、单独具有b、单独具有c、具有a和b、具有a和c、具有b和c、和/或具有a、b、c的系统等)。本领域技术人员还应理解,实质上任意表示两个或更多可选项目的转折连词和/或短语,无论是在说明书、权利要求书还是附图中,都应被理解为给出了包括这些项目之一、这些项目任一方、或两个项目的可能性。例如,短语“a或b”应当被理解为包括“a”或“b”、或“a和b”的可能性。

本公开的实施例提供了一种用于三维点云分割的方法、装置、系统和介质。该方法包括:获取激光雷达旋转预设角度扫描得到的三维点云,其中该激光雷达包括至少一个激光装置,该激光装置用于沿垂直于该旋转的轴向的方向发射光束并接收反射光以进行空间扫描;计算该三维点云中待分割点与该待分割点的第一相邻点的空间相对关系,其中:该待分割点为该至少一个激光装置中的第一激光装置在第一时刻扫描获得的点,该第一相邻点包括该第一激光装置在与该第一时刻相邻的时刻扫描得到的点;以及根据该空间相对关系是否满足预设条件,确定该待分割点与该第一相邻点是否属于同一物体。

根据本公开的实施例,可以至少部分地解决现有技术中对三维点云进行分割时计算量大、速度相对慢的问题。根据本公开实施例的方法、装置、系统和介质在进行三维点云分割时,能够结合三维点云中的获取过程信息筛选出与待分割点对应的第一相邻点,并判断该待分割点与对应的第一相邻点是否属于同一物体,从而可以相对快速地实现对至少同一激光装置扫描得到的点的快速分割,实现对三维点云数据的分段处理,并因此可以减少计算量,加快计算速度,提高计算效率。

图1示意性示出了根据本公开实施例的用于三维点云分割的方法和装置的应用场景100。需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。

如图1所示,根据该实施例的应用场景100可以包括激光雷达101。

在一些实施例中,激光雷达101中可以包括至少一个用于发射激光光束进行扫描的激光装置。例如,通常所称的16线激光雷达、64线激光雷达或者128线激光雷达,分别指的是能够在垂直于激光雷达101的旋转的轴向的方向发射16个激光光束、64个激光光束或128个激光光束的激光雷达。相应地,这些激光雷达所包括的激光装置数量分别为16、64或128。在一些实施例中,激光雷达101中除了至少一个激光装置外,还可以包括处理器。处理器可以用于对激光雷达扫描获得的三维点云进行处理(例如根据本公开实施例的方法的全部或者部分操作进行处理,或者例如其他方式处理,或者例如与外部设备进行信号传输等)。

根据本公开的另一些实施例,该应用场景100除了激光雷达101外,还可以包括网络102和服务器103。网络102用以在激光雷达101、和服务器103之间提供通信链路的介质。网络102可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。

激光雷达101可以将扫描获得的三维点云(经过一定处理、或者未经处理的)通过网络102发送给服务器103,并接收服务器103处理(例如进行点云分割)后的数据。

服务器103可以根据获取的三维点云进行图像分割,识别出空间中的物体(例如,图1中示例的将三维点云分割为人物、自行车、小汽车等实体),并将分割后的数据反馈给激光雷达101。

在一些实施例中,该应用场景100还可以包括承载激光雷达101的载具101’(例如,无人机、机器人等)。无人机101’可以根据激光雷达101提供的经过分割后的空间三维数据,解释当前环境、和/或建立当前环境的地图等。

需要说明的是,本公开实施例所提供方法可以由激光雷达101所包括的处理器执行,相应的本公开实施例所提供的装置、系统和介质可以设置于激光雷达101中。在另一些实施例中,本公开实施例所提供方法可以由服务器103执行,相应地,本公开实施例所提供的装置、系统和介质可以设置于服务器103。在另一些实施例中,本公开实施例所提供方法也可以部分由激光雷达101所包括的处理器执行、部分由服务器103执行,相应地,本公开实施例所提供的装置、系统和介质也可以部分设置于激光雷达101中、部分设置于服务器103中。

应该理解,图1中的激光雷达、网络、服务器和/或载具的数目仅仅是示意性的。根据实现需要,可以具有任意数目的激光雷达、网络、服务器和/或载具。

图2示意性示出了根据本公开实施例的用于三维点云分割的方法的流程图。

如图2所示,根据本公开的实施例,该方法包括操作s201~操作s203。

在操作s201,获取激光雷达101旋转预设角度扫描得到的三维点云,其中该激光雷达101包括至少一个激光装置,该激光装置用于沿垂直于该旋转的轴向的方向发射光束并接收反射光以进行空间扫描。

在一些实施例中,该预设角度可以是360°。在另一些实施例中,例如,可能仅需要获知物体运行前方一定视角(例如270°)空间环境,此时该预设角度可以是例如270°。该预设角度的具体可以根据实际需要进行设定。

在一些实施例中,激光雷达101可以是圆柱形的360度的旋转激光雷达101,可以提供带有时间戳的原始激光点云数据。

在操作s202,计算该三维点云中待分割点与该待分割点的第一相邻点的空间相对关系,其中:该待分割点为该至少一个激光装置中的第一激光装置在第一时刻扫描获得的点,该第一相邻点包括该第一激光装置在与该第一时刻相邻的时刻扫描得到的点。

在一些实施例中,该空间相对关系可以是该待分割点与该第一相邻点的空间相对深度关系、或者空间相对距离关系、或者沿某一特定方向的空间相对距离等。

在操作s203,根据该空间相对关系是否满足预设条件,确定该待分割点与该第一相邻点是否属于同一物体。

根据本公开的实施例,在进行三维点云分割时,结合三维点云中的获取过程信息筛选出与待分割点对应的第一相邻点,并判断该待分割点与对应的第一相邻点是否属于同一物体,从而可以相对快速地实现对同一激光装置扫描得到的点的快速分割,进而实现对三维点云数据的分段处理,并因此可以减少计算量,加快计算速度,提高计算效率。

图3示意性示出了根据本公开另一实施例的用于三维点云分割的方法的流程图。

如图3所示,根据本公开另一实施例,该方法除了操作s201~操作s203以外,还可以包括操作s302,其中操作s302在操作s202之前执行。在另一些实施例中,操作s302之后、和操作s202之前,还可以进一步包括操作s302’。

在操作s302,将该三维点云转换为二维距离激光图像数据,其中,该二维距离激光图像数据中的每一个点的信息包括该点的扫描时间信息、扫描该点的激光装置信息以及该点与该激光雷达101的距离信息。

根据本公开的实施例,操作s302中将该三维点云转换为二维距离激光图像数据,具体可以包括以该激光雷达101中激光装置的个数为行数进行转换,使得该二维距离激光图像数据中每一行的点对应于同一个激光装置扫描获得的点,以及以该激光雷达101旋转该预设角度的过程中扫描到点的次数为列数进行转换,使得该二维距离激光图像数据的每一列的点对应于该激光雷达101在同一时刻扫描获得的点。

具体地,二维距离激光图像数据中的行数为该激光雷达101中激光装置的个数,相应地也是沿垂直于该激光雷达101的旋转的轴向的方向的光束数量。二维距离激光图像数据中的列数对应于激光雷达101旋转该预设角度扫描到点的次数,其中,在激光雷达101扫描到点的某一次中,可能会同时扫描到了多个点(即多个激光装置同时扫描到点),也可能只扫描到一个点(即只有一个激光装置扫描到点)。

通过这种方式,可以根据二维距离激光图像数据中点所在的行和列获取到扫描该点的激光装置信息、以及该点的扫描时间信息(例如,每一次扫描到点时都记录对应的时间戳等)。

另外,该二维距离激光图像数据还可以包括每个点与该激光雷达101的距离信息,以便于后续计算待分割点与第一相邻点的相对空间关系。该距离信息可以是根据三维点云中各点的空间坐标计算欧几里得距离获得的,也可以是激光雷达101测量提供的。

根据本公开的实施例,将该三维点云转换为二维距离激光图像数据也可以是,在激光雷达101旋转预设角度的同时,将激光雷达101获得的三维点云数据投影到对应于该预设角度的圆柱面的图像数据。该圆柱面的图像数据上的每一行的点对应于同一激光装置发射的光束扫描获得的点,每一列的点对应于该激光雷达101每一次扫描到的点。并且,例如通过各点的空间坐标计算欧几里得距离可以对应获得该圆柱面上的点与该激光雷达101的距离信息。以此方式,可以提高将该三维点云转换为二维距离激光图像数据的效率。

然后,在操作s302’,从该二维距离激光图像数据中该待分割点所在的行中获取该第一相邻点。

根据本公开的实施例,可以使用转换后的二维距离激光图像数据获取该待分割点的第一相邻点,然后通过操作s202和操作s203确定出待分割点与第一相邻点是否属于同一物体,从而实现对三维点云中同一激光装置扫描获取的点的分割,可以减少计算量,加快计算速度,提高计算效率。根据本公开的实施例,可以通过二维距离激光图像数据进行三维点云分割计算,即使在一个移动cpu上仍然能够处理多线激光雷达101扫描获得的三维点云,保证了为每个扫描启动快速分段,解决现有技术中计算量大,速度相对慢的问题,适用于不同密集程度的点云数据。

图4a和图4b示意性示出了根据本公开实施例的计算待分割点与第一相邻点的空间相对关系的示意。

如图4a所示,根据本公开的实施例,操作s202可以包括操作s2021~操作s2024。

在操作s2021,获取该待分割点与该激光雷达101的第一距离。

在操作s2022,获取该第一相邻点与该激光雷达101的第二距离。

在操作s2023,获取该激光雷达101扫描该待分割点和该第一相邻点经过的转角α。

在操作s2024,计算能够表征该待分割点与该第一相邻点的空间相对深度信息的夹角β:

其中,在所述第一距离与第二距离不相等时,d1表示所述第一距离和第二距离中较长的距离,d2表示所述第一距离和第二距离中的较短的距离;或者,在所述第一距离与第二距离相等时,d1和d2相等且等于所述第一距离。

然后在操作s203中,根据该空间相对关系是否满足预设条件,确定该待分割点与该第一相邻点是否属于同一物体,具体可以是在该夹角β大于阈值角度时,确定该待分割点与该第一相邻点属于同一物体,或者在该夹角β小于阈值角度时,确定该待分割点与该第一相邻点不属于同一物体。

具体计算和应用原理可以参考图4b的示例。图4b中包括了401和402两部分。其中401部分示出了夹角β的计算原理,402部分示例性示出了夹角β表征该待分割点与该第一相邻点的空间相对深度信息的应用情景。

在401部分中,位于点o处的激光雷达101与待分割点a和第一相邻点b之间激光束用oa和ob表示。将夹角β定义为到达距离o点较远的点(在本示例中为a点)的激光束oa与、a和b之间的连线(即线段ab)之间的夹角。从直观上来看,该夹角β能够反映a点与b点的空间相对深度信息。夹角β越小则a点与b点的空间相对深度越大,夹角β越大则a点与b点的空间相对深度越小。同时结合同一物体的在物理空间中的时空连续性,夹角β为确定同一个激光装置在先后相邻时刻扫描到的两个点是否在相同物体上提供了有用信息。

在401部分中:

其中,d1=||oa||,d2=||ob||。

根据本公开的实施例,设置一个阈值角度(例如10°)作为分割两个物体的依据。如果大于该阈值角度将确定待分割点a与第一相邻点b属于同一物体,将待分割点a与第一相邻点b划分为同一簇。如果小于该阈值角度,则认为待分割点a与第一相邻点b深度变化太大,属于不同物体,从而将待分割点a与第一相邻点b划分为不同的簇。例如图4b中的402部分中,例如其中示例3中的形成的夹角β小于该阈值角度,其他示例中(例如示例1、示例2和示例4)中形成的夹角β均大于该阈值角度。从而,可以将示例3中的两个点分割为两个簇,而其他示例中的两个点对应分割为同一簇中。

图5示意性示出了根据本公开又一实施例的用于三维点云分割的方法的流程图。

如图5所示,根据本公开又一实施例,该方法除了操作s201~操作s203以外,还可以包括操作s504和操作s505。在该实施例中,该激光雷达101包括多个激光装置,该多个激光装置沿该旋转的轴向方向依次布置,该多个激光装置的朝向同步。

操作s504,查找是否存在该待分割点的第二相邻点,该第二相邻点为第二激光装置在与该待分割点同一时刻扫描得到的点,该第二激光装置与该第一激光装置相邻。例如,可以查找是否存在与该待分割点在激光雷达101的旋转轴向方向上的距离、与该第一激光装置和第二激光装置的轴向距离相对应的点。在一些实施例中,可以通过本公开实施例中的二维激光图像数据中查找该待分割点所在列向上或向下紧邻的行中是否存在对应的点。

在操作s505,若存在,则确定该待分割点与所示第二相邻点属于同一物体。在一些实施例中,当存在该待分割点的第二相邻点时,还可以根据该待分割点与该第二相邻点到该激光雷达101的距离进一步判断该待分割点与所示第二相邻点是否属于同一物体。

根据本公开的实施例,结合物体在物理空间中的连续性、以及不同物体之间的离散性,假设一个物体的上方紧邻位置不会有其他物体。从而,当查找到待分割点的第二相邻点时,认为待分割点与该第二相邻点属于同一物体。以此方式,可以将不同激光装置扫描到的点进行分割处理,从而可以实现对三维点云数据的全面分割。

图6示意性示出了根据本公开再一实施例的用于三维点云分割的方法的流程图。

如图6所示,根据本公开的实施例,该方法除了操作s201~操作s203以外,还可以包括操作s602。在一些实施例中,操作s602可以在操作s202之前执行。

在操作s602,根据承载该激光雷达101的载具101’的最底端相对于该激光雷达101的距离,从该三维点云中去除属于地面的点,其中该载具101’的最底端包括与地面接触的部位。

具体地,属于地面的点的确定,例如可以是根据三维点云中各点的z坐标是否等于或小于载具101’的最底端的z坐标来确定,或者,例如也可以是根据三维点云中各点沿z方向与激光雷达101的距离是否等于或大于载具101’的最底端沿z方向相对于该激光雷达101的距离来确定。

根据本公开的实施例,去除属于地面的估计点,可以提高点云分割的精度,减少分割错误。

图7示意性示出了根据本公开实施例的用于三维点云分割的装置700的框图。根据本公开的实施例,该装置700可以用于执行参考图2~图6所描述用于三维点云分割的方法的各种操作。

如图7所示,根据本公开的实施例,该装置700包括三维点云获取模块710、空间关系计算模块720和分割确定模块730。三维点云获取模块710用于获取激光雷达101旋转该预设角度扫描得到的三维点云,其中该激光雷达101包括至少一个激光装置,该激光装置用于沿垂直于该旋转的轴向的方向发射光束并接收反射光以进行空间扫描。空间关系计算模块720用于计算该三维点云中待分割点与该待分割点的第一相邻点的空间相对关系。其中,该待分割点为该至少一个激光装置中的第一激光装置在第一时刻扫描获得的点,该第一相邻点包括该第一激光装置在与该第一时刻相邻的时刻扫描得到的点。分割确定模块730用于根据该空间相对关系是否满足预设条件,确定该待分割点与该第一相邻点是否属于同一物体。

根据本公开的实施例,该装置700还可以包括三维点云转换模块740。三维点云转换模块740用于在计算该三维点云中待分割点与该待分割点的第一相邻点的空间相对关系之前,将该三维点云转换为二维距离激光图像数据,其中,该二维距离激光图像数据中的每一个点的信息包括该点的扫描时间信息、扫描该点的激光装置信息以及该点与该激光雷达101的距离信息。

根据本公开的实施例,该三维点云转换模块740具体用于以该激光雷达101中激光装置的个数为行数进行转换,使得该二维距离激光图像数据中每一行的点对应于同一个激光装置扫描获得的点,以及以该激光雷达101旋转该预设角度的过程中扫描到点的次数为列数进行转换,使得该二维距离激光图像数据的每一列的点对应于该激光雷达101在同一时刻扫描获得的点。

根据本公开的实施例,该装置700还可以进一步包括第一相邻点获取模块750。第一相邻点获取模块750用于从该二维距离激光图像数据中该待分割点所在的行中获取该第一相邻点。

根据本公开的实施例,该空间关系计算模块720具体用于获取该待分割点与该激光雷达101的第一距离,获取该第一相邻点与该激光雷达101的第二距离,获取该激光雷达101扫描该待分割点和该第一相邻点时经过的转角α,以及计算能够表征该待分割点与该第一相邻点的空间相对深度信息的夹角β。其中:

在所述第一距离与第二距离不相等时,d1表示所述第一距离和第二距离中较长的距离,d2表示所述第一距离和第二距离中的较短的距离;或者,在所述第一距离与第二距离相等时,d1和d2相等且等于所述第一距离。

根据本公开的实施例,该分割确定模块730具体用于在该夹角β大于阈值角度时,确定该待分割点与该第一相邻点属于同一物体,或者在该夹角β小于阈值角度时,确定该待分割点与该第一相邻点不属于同一物体。

根据本公开的实施例,该至少一个激光装置包括多个激光装置,该多个激光装置沿该旋转的轴向方向依次布置,该多个激光装置的朝向同步,该装置700还包括第二相邻点查找模块760。该第二相邻点查找模块760用于查找是否存在该待分割点的第二相邻点,该第二相邻点为第二激光装置在与该待分割点同一时刻扫描得到的点,该第二激光装置与该第一激光装置相邻。该分割确定模块730还用于在存在该第二相邻点时,确定该待分割点与所示第二相邻点属于同一物体。

根据本公开的实施例,该装置700还以包括地面去除模块770。地面去除模块770用于根据承载该激光雷达101的载具101’的最底端相对于该激光雷达101的距离,从该三维点云中去除属于地面的点,其中该载具101’的最底端包括与地面接触的部位。

根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(fpga)、可编程逻辑阵列(pla)、片上系统、基板上的系统、封装上的系统、专用集成电路(asic),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。

例如,三维点云获取模块710、空间关系计算模块720、分割确定模块730、三维点云转换模块740、第一相邻点获取模块750、第二相邻点查找模块760、以及地面去除模块770的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,三维点云获取模块710、空间关系计算模块720、分割确定模块730、三维点云转换模块740、第一相邻点获取模块750、第二相邻点查找模块760、以及地面去除模块770中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(fpga)、可编程逻辑阵列(pla)、片上系统、基板上的系统、封装上的系统、专用集成电路(asic),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,三维点云获取模块710、空间关系计算模块720、分割确定模块730、三维点云转换模块740、第一相邻点获取模块750、第二相邻点查找模块760、以及地面去除模块770中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。

图8示意性示出了根据本公开实施例的用于三维点云分割的计算机系统800的方框图。图8示出的计算机系统仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。

如图8所示,根据本公开实施例的计算机系统800包括处理器801,其可以根据存储在只读存储器(rom)802中的程序或者从存储部分808加载到随机访问存储器(ram)803中的程序而执行各种适当的动作和处理。处理器801例如可以包括通用微处理器(例如cpu)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(asic)),等等。处理器801还可以包括用于缓存用途的板载存储器。处理器801可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。

在ram803中,存储有系统800操作所需的各种程序和数据。处理器801、rom802以及ram803通过总线804彼此相连。处理器801通过执行rom802和/或ram803中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,该程序也可以存储在除rom802和ram803以外的一个或多个存储器中。处理器801也可以通过执行存储在该一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。

根据本公开的实施例,系统800还可以包括输入/输出(i/o)接口805,输入/输出(i/o)接口805也连接至总线804。系统800还可以包括连接至i/o接口805的以下部件中的一项或多项:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至i/o接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。

根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该计算机程序被处理器801执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。

本公开还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的用于三维点云分割的方法流程的各种操作。

根据本公开的实施例,计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线、光缆、射频信号等等,或者上述的任意合适的组合。

例如,根据本公开的实施例,计算机可读介质可以包括上文描述的rom802和/或ram803和/或rom802和ram803以外的一个或多个存储器。

附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合或/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。

以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。

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