点云数据分割方法和终端与流程

文档序号:11217324阅读:1049来源:国知局
点云数据分割方法和终端与流程

本发明涉及图像处理技术领域,特别是涉及一种点云数据分割方法和终端。



背景技术:

点云是利用激光在同一空间参考系下获取物体表面的每个采样点的空间坐标,得到的是一系列表达目标空间分布和目标表面特性的海量点的集合。点云数据分割是确定点云中具有相同属性区域的过程,它将点云数据聚类分离成独立的子集,各子集均对应于当前具有物理意义的感知对象(如环境中的车辆、人、树木以及建筑物等等),反映感知对象的几何和位置特征。因此,点云数据分割的好坏直接关系到感知对象的检测和识别的精准度,传统的点云数据分割方法会因为点云数据的稀疏性导致容易出现过分割的问题,从而使得点云分割的鲁棒性较差。



技术实现要素:

基于此,有必要提供一种鲁棒性较好的点云数据分割方法和终端。

一种点云数据分割方法,包括:对每一帧的点云数据进行分割以得到各独立的子集;根据前后两帧中的各子集的位置建立基于时间维度的数据关联,将后一帧中的各子集与前一帧的各子集进行对应;根据所述数据关联得到前一帧中的各子集在后一帧中的预测位置信息;以及将所述预测位置信息与后一帧中对应的子集的当前位置信息进行比较判断,对后一帧中的各子集的分割结果进行校验和修正。

上述点云数据分割方法,在对点云数据进行空间分割的同时,还会结合前后两帧的分割结果(也即各子集的位置关系)建立基于时间维度的数据关联,从而利用该数据关联得到前一帧中的各子集在后一帧中的预测位置信息,进而利用该预测位置信息与后一帧中对应的各子集的当前位置信息进行比较判断,对后一帧的分割结果进行校验和修正,可以避免由于点云数据稀疏性所导致的某些区域空间信息缺失的问题,从而增强了点云数据分割的鲁棒性。

在其中一个实施例中,所述根据前后两帧中的各子集的位置建立基于时间维度的数据关联,将后一帧中的各子集与前一帧的各子集进行对应的步骤包括:对后一帧中的各子集,分别在前一帧中找到距离最近的一个子集作为映射子集;以及根据后一帧中的各子集和与其对应的映射子集的位置构建基于时间维度的数据关联。

在其中一个实施例中,所述对后一帧中的各子集,分别在前一帧中找到距离最近的一个子集作为映射子集的步骤之前还包括:确定每一帧中的各子集的分割中心点;所述对后一帧中的各子集,分别在前一帧中找到距离最近的一个子集作为映射子集的步骤包括,对后一帧中的各子集的分割中心点,分别在前一帧中找到距离最近的一个分割中心点,并将所述分割中心点所在的子集作为映射子集。

在其中一个实施例中,所述根据所述数据关联得到前一帧中的各子集在后一帧中的预测位置信息的步骤包括:根据跟踪算法预测前一帧中的各子集在后一帧中的预测位置信息。

在其中一个实施例中,所述将所述预测位置信息与后一帧中对应的子集的当前位置信息进行比较判断,并根据比较判断结果对后一帧中的各子集的分割结果进行校验和修正的步骤包括:根据所述预测位置信息与后一帧中对应的子集的当前位置信息判断后一帧中的各子集是否被正确分割;以及对未被正确分割的子集的分割进行修正。

在其中一个实施例中,所述根据所述预测位置信息与后一帧中对应的子集的当前位置信息判断后一帧中的各子集是否被正确分割的步骤包括:根据后一帧中各子集的当前位置信息和对应的预测位置信息确定各子集到预测位置之间的最短距离;以及根据所述最短距离判断各子集是否被正确分割。

在其中一个实施例中,所述根据所述最短距离判断各子集是否被正确分割的步骤包括:根据所述预测位置信息和后一帧中的各子集的当前位置信息构建时间概率模型;根据所述最短距离利用所述时间概率模型确定后一帧中的各子集的概率模型值;以及根据所述概率模型值判断对应的子集是否被正确分割。

在其中一个实施例中,所述对未被正确分割的子集的分割进行修正的步骤包括:将未被正确分割的子集与最接近的一个子集结合形成新的子集;根据后一帧中各子集的当前位置信息和对应的预测位置信息判断所述新的子集是否被正确分割;若否,则返回执行所述将未被正确分割的子集与最接近的一个子集结合形成新的子集的步骤及其后续步骤。

在其中一个实施例中,所述对每一帧的点云数据进行分割以得到各独立的子集的步骤包括:获取每一帧的点云数据并将其全部投影到目标平面;在目标平面建立栅格图;将有点云数据投影的栅格在栅格图中进行标注;对标注后的栅格求取连通域得到连通域分割结果;以及根据所述连通域分割结果和点云数据的投影结果得到最终的分割结果。

一种终端,包括存储器和处理器,所述存储器中存储有可执行指令;所述可执行指令被所述处理器执行时,可使得所述处理器执行如前述任意一实施例所述的点云数据分割方法。

附图说明

图1为一实施例中的终端的组成结构示意图;

图2为一实施例中的点云数据分割方法的流程图;

图3为一实施例中步骤s110的流程图;

图4为将点云数据投影到目标平面时的示意图;

图5为执行步骤s230后的栅格图的示意图;

图6为执行步骤s240后的示意图;

图7为执行步骤s250后的分割结果的示意图;

图8为一实施例中的步骤s120的流程图;

图9为一实施例中对各子集确定分割中心后的示意图;

图10为一实施例中在两帧之间建立基于时间维度的数据关联的示意图;

图11为一实施例中步骤s140的流程图;

图12为一实施例中的步骤s510的流程图;

图13为一实施例中的步骤s520的流程图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

一实施例中的点云数据分割方法,用于对三维激光雷达或者三维激光测距传感器等测试设备采集到的点云数据进行分割,以确定点云中具有相同属性区域,并将其聚类分离成独立的子集,从而使得分类器等检测和识别设备可以进行检测识别,进而实现对感知对象的检测和识别。该点云数据分割方法可以应用于专门用于进行图像处理的终端上,也可以用于其他具有图像处理功能的智能终端上,如计算机、掌上电脑、平板。该方法还可以用于需要对环境对象进行感知的无人机、无人驾驶汽车等自移动终端上。

在一实施例中,终端的组成结构如图1所示,其包括通过系统总线连接的处理器、内存储器、非易失性存储介质、网络接口、显示屏、扬声器和输入装置。该终端的非易失性存储介质中存储有可执行指令,用于实现一种点云数据分割方法。该终端的处理器用于提供计算和控制能力,被配置为执行一种点云数据分割方法。该终端的显示屏可以为液晶显示屏或者电子墨水显示屏等。该终端的输入装置可以是显示屏上覆盖的触摸层,也可以是外接的键盘、触控板或鼠标等。可以理解,该终端的结构包括但不限于上述结构,并且可以根据需要对终端的功能组件进行增加或者删除。

如图2所示,在一实施例中,提供了一种点云数据分割方法。该方法具体包括如下步骤:

步骤s110,对每一帧的点云数据进行分割以得到各独立的子集。

点云数据可以通过三维激光雷达等探测设备来采集获取。对获取到的每一帧的点云数据进行分割。分割过程中将具有相同属性的区域划归为一个子集,各具有不同属性的区域相互独立成不同的子集,以便于后续对各子集进行检测和识别。

步骤s120,根据前后两帧中的各子集的位置建立基于时间维度的数据关联。

根据前后两帧中的各子集的位置,即可确定出各子集的对应关系,从而建立基于时间维度的数据关联,将后一帧中的各子集与前一帧的各子集进行对应。也即,该数据关联为后一帧中的各子集与前一帧中的各子集的对应关系。

步骤s130,根据该数据关联得到前一帧中的各子集在后一帧中的预测位置信息。

根据步骤s120中得到的数据关联可以清楚掌握前后两帧中的各子集的位置对应关系,从而可以预测出前一帧中的各子集在后一帧中的位置,进而得到前一帧中的各子集在后一帧中的预测位置信息。

步骤s140,将预测位置信息与后一帧中对应的子集的当前位置信息进行比较判断,对后一帧中的各子集的分割结果进行校验和修正。

通过将预测位置信息与后一帧中对应的子集的当前位置信息进行比较判断,就可以确定后一帧中的各子集是否被正确分割,实现对后一帧的分割结果的校验。并在后一帧中的子集未被正确分割时,对该子集的分割进行修正,从而确保最终得到的分割结果具有较高的准确性。通过利用基于时间维度的数据关联得到的预测位置信息对后一帧的各子集的分割结果进行校验和修正,可以克服传统的点云分割过程中由于点云数据的稀疏性导致某些区域空间信息缺失的问题,从而增强了点云数据分割的鲁棒性。

上述点云数据分割方法,在对点云数据进行空间分割的同时,还会结合前后两帧的分割结果(也即各子集的位置关系)建立基于时间维度的数据关联,从而利用该数据关联得到前一帧中的各子集在后一帧中的预测位置信息,进而可以利用该预测位置信息与后一帧中对应的各子集的当前位置信息进行比较判断,对后一帧的分割结果进行校验和修正,可以避免由于点云数据稀疏性所导致的某些区域空间信息缺失的问题,从而增强了点云数据分割的鲁棒性。

在一实施例中,步骤s110可以通过图3所示的步骤来实现。参见图3,步骤s110包括以下子流程:

步骤s210,获取每一帧的点云数据并将其全部投影到投影目标平面。

目标平面可以根据需要进行设定,如选择水平面作为目标平面。例如在笛卡尔坐标系下,点云坐标为(x,y,z),如果x-y平面作为水平面(也即目标平面),则将所有的点云数据投影到x-y平面;如果y-z平面为水平面,则全部投影到y-z平面。在本实施例中,所有的点云坐标都是以x-y平面为水平面,因此将其全部投影到x-y平面,如图4所示。

步骤s220,在目标平面建立栅格图。

栅格图的栅格分辨率为预设值。栅格分辨率也即栅格尺寸,代表实际物体尺寸大小,其对最终的分割结果的准确性会产生一定的影响,因此可以根据需要的结果精确度对栅格分辨率进行选取。在本实施例中,栅格分辨率为0.1m,如图4所示。

步骤s230,将有点云数据投影的栅格在栅格图中进行标注。

在本实施例中,将有点云数据投影的栅格标注为1(或者赋值为1),其他栅格标注为0(或者赋值为0),从而构建栅格二值图,如图5所示。图5中标注为1的栅格为黑色。在其他的实施例中,也可以仅对有点云投影的栅格进行标注,而不对其他栅格进行标注。在一实施例中,可以通过占空比判断栅格上是否有点云数据的投影。比如,当占空比大于预设值时,可以认定该栅格上有点云数据投影,从而对该栅格进行标注。

步骤s240,对标注后的栅格求取连通域得到连通域分割结果。

求取连通域可以通过传统的分割方法中采用的技术来实现。得到的连通域分割结果如图6所示。图6中具有同一字母标注的点云数据在同一连通域内,不同字母代表不同的连通域。

步骤s250,根据连通域分割结果和点云数据的投影结果得到最终的分割结果。

利用连通域结果可以对点云数据的投影结果进行分割,从而得到最终的分割结果。每个分割域作为一个独立的子集,如图7所示。图7中具有同一字母标注的点云数据属于同一个子集内,不同字母代表不同的子集。

对每一帧的点云数据进行分割均可以采用上述步骤来实现。可以理解,在其他的实施例中,也可以采用其他的分割方法对每一帧的点云数据进行分割,只需实现点云数据的分割即可。

在一实施例中,步骤s120可以包括以下步骤,如图8所示。

步骤s320,对后一帧中的每个子集,分别在前一帧中找到距离最近的一个子集作为映射子集。

在一实施例中,以每个子集的分割中心点作为参考点来确定映射子集。也即,对后一帧中的每个子集的分割中心点,分别在前一帧中找到距离最近的一个分割中心点,从而将该分割中心点所在的子集作为映射子集。因此,在本实施例中,还需要在执行步骤s320之前执行步骤s310,确定每个子集的分割中心点。分割中心点可以为最终得到的该分割域的几何中心。图9为确定分割中心点后的一个示例。其中,圆形表示投影到目标平面的点云数据,而菱形则表示对应的分割中心点。图9中的字母同样仅仅用于表示不同的子集。

步骤s330,根据后一帧中的各子集和与其对应的映射子集的位置构建基于时间维度的数据关联。

在对后一帧中的各分割中心点,分别找到在前一帧中距离最近的一个分割中心点后即可确定后一帧中的每个子集对应的映射子集在前一帧中的位置信息,从而可以构建两帧的点云数据(也即各子集)之间的基于时间维度的数据关联,如图10所示。其中,实线部分表示后一帧中的各子集,虚线部分表示后一帧中的各子集在前一帧中的映射子集。基于时间维度的数据关联,用于表示前后两帧中的各子集的位置对应关系。

在一实施例中,步骤130为根据跟踪算法预测前一帧中的各子集在后一帧中的预测位置信息。具体地,可以利用跟踪算法如卡尔曼跟踪(kalman跟踪)来获取跟踪信息。对每个子集(也即对每个分割域)进行跟踪,获得相应地跟踪信息。在本实施例中,跟踪信息为{δx,δy,δvx,δvy},δx,δy分别表示在水平面上,每个子集在前后两帧中沿x方向和y方向运动的距离,δvx,δvy则表示沿相应方向上的移动速度。计算前一帧中的各子集的位置信息,并根据跟踪算法得到的跟踪信息{δx,δy,δvx,δvy}可以预测出前一帧中的各子集在后一帧(也即当前帧)中的预测位置信息p(x,y)|zt-1。在本实施例中,各子集的位置信息均指分割中心点的位置信息。在其他的实施例中,也可以统一指定各子集的其他位置区域来表征各子集的位置信息。

在一实施例中,步骤s140的具体流程图如图11所示,包括以下步骤:

s510,根据所述预测位置信息与后一帧中对应的子集的当前位置信息判断后一帧中的各子集是否被正确分割。

子集被正确分割是指被分割至一个子集内的各点云数据具有相同属性,属于同一物体或者同一部件。子集被正确分割包括其不存在过分割的情况。过分割是将实际上的一个物体,在点云中分割成了两个物体。

在一实施例中,根据预测位置信息与后一帧中对应的子集的当前位置信息判断后一帧中的各子集是否被正确分割具体包括:根据后一帧中各子集的位置信息和对应的预测位置信息确定各子集到预测位置之间的最短距离,并根据该最短距离判断各子集是否被正确分割。具体地,该最短距离越短,表示当前的这个分割是被正确分割了;如果距离越远,则表示当前这个分割被过分割的可能性较大。可以根据前后两帧建立的数据关联设置判断基准参数,从而当该最短距离大于判断基准参数时,认定该子集未被正确分割,执行步骤s520,反之则被正确分割,执行步骤s530。

步骤s520,对未被正确分割的子集的分割进行修正。

步骤s530,结束操作。

在一实施例中,根据计算得到的最短距离判断对应的子集是否被正确分割的步骤包括以下流程,如图12所示。

s610,根据预测位置信息和后一帧中的各子集的当前位置信息构建时间概率模型。

根据预测位置信息并利用后一帧中的各子集的当前位置信息来构建时间概率模型。构建的时间概率模型如下所示:

其中,表示当前帧(也即后一帧)的分割中心点与对应的预测位置信息(也即预测的分割中心点)之间的距离。表示根据距离值大小构建的一个高斯概率分布(越小,概率值越大,越大,概率值越小)。σ为方差,其值的大小决定了高斯概率分布的平缓和陡峭。σ为一个预设值,可以根据经验值进行设定,在实施例中将其自定义为1。pi为子集i的概率模型值,用于表征子集i是否被正确分割(或者是否被过分割)。

在其他的其他实施例中也可以采用其他时间概率模型,在此不再赘述。

步骤s620,根据计算得到的最短距离利用该时间概率模型确定后一帧中的各子集的概率模型值。

将后一帧中各子集与预测位置之间的最短距离代入到时间概率模型中,即可求取出各子集的概率模型值。

步骤s630,根据该概率模型值判断对应的子集是否被正确分割。

当pi小于预设值时,则表示其未被正确分割,也即其被过分割,反之则表示其被正确分割。预设值可以根据检验值设置。在本实施例中,该预设值为0.5。也即,当各子集的概率模型值大于或等于0.5,则表示该子集被正确分割,反之则未被正确分割。通过构建时间概率模型,可以在空间分割的基础上引入了时间信息,从而有效克服由于点云数据在空间分布上存在的稀疏性的问题导致的过分割的问题,进而提高了分割结果的鲁棒性。

在一实施例中,步骤s520包括以下步骤,如图13所示。

步骤s710,将未被正确分割的子集与最接近的一个子集结合形成一个新的子集。

步骤s720,根据后一帧中的各子集的位置和对应的预测位置信息判断新的子集是否被正确分割。

判断子集是否被正确分割的步骤在前述实施例中已经说明,此处不赘述。若新的子集被正确分割,则执行步骤s730,若否则返回执行步骤s710,直至每个子集均被正确分割。

步骤s730,结束操作。

由于点云的稀疏性,点云数据中物体的形状信息会有所缺失,导致进行分割的时候出现过分割的情况。利用传统的分割方法,很难解决这个问题。上述实施例中的点云分割方法引入了时间的信息,将点云的前后帧数据进行关联,建立了一个的时间概率模型。通过优化每个分割的概率模型值,有效地解决了传统方法中出现的过分割等现象,使得分割结果具有较好的鲁棒性。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

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