具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1是本发明实施例一中的一种点云数据处理方法的流程图,本发明实施例适用于对点云数据特别是稀疏点云数据中的物体进行识别的情况,该方法由点云数据处理装置执行,该装置由软件和/或硬件实现,并具体配置于具备一定的数据处理能力的电子设备中。其中,该电子设备可以是独立的计算设备,如个人电脑或PC机等,还可以是集成在无人驾驶车辆或移动机器人中的数据处理设备。
如图1所示的一种点云数据处理方法,包括:
S110、确定点云数据的坐标积分图像和深度积分图像。
其中,点云特指根据激光测量原理得到的包括三维坐标以及激光反射强度等信息的点的集合。其中点云数据可以是稀疏点云数据,还可以是密集点云数据。其中稀疏点云数据是指点的数量较少,且点与点的间距比较大的点云数据;密集点云数据是指点的数量较大,且点与点的间距较小的点云数据。
其中,坐标积分图像用于表征点云数据对应的索引图中不同区域对应的坐标累计值;深度积分图像用于表征点云数据对应的索引图中不同区域对应的深度累计值。
示例性地,确定点云数据的坐标积分图像和深度积分图像可以是直接从电子设备本地、与电子设备关联的其他存储设备或云端,获取的预先存储的点云数据的坐标积分图像和/或深度积分图像;还可以是从电子设备本地、与电子设备关联的其他存储设备或云端、或者点云数据采集装置获取点云数据,并根据点云数据确定的坐标积分图像和/或深度积分图像。
S120、根据所述坐标积分图像和所述深度积分图像,确定所述点云数据中的每个点分别对应的局部法向量。
其中,局部法向量可以理解为点云数据中每个点的邻近区域所形成的局部区域的法向量。其中,邻近区域的大小由该点与周围其他点之间的距离的大小来确定,当该点与周围其他点的距离小于设定阈值,则该点与小于设定阈值的周围其他点共同组成的区域即为该点的邻近区域。其中,设定阈值可以由技术人员根据需要或经验值进行设定。其中,周围其他点可以是以该点为中心,各个方向上的其他点。
S130、根据各所述局部法向量对所述点云数据中的点进行聚类得到不同类别的点集,并确定各类别点集分别对应的物体信息。
其中,物体信息用于描述不同类别点集对应的物体的形状信息,例如可以是柱状物体或平面物体等。
示例性地,根据点云数据中不同点对应的局部法向量之间夹角的大小,对点云数据中的点进行聚类,得到不同类别的点集;和/或根据点云数据中不同点之间的距离的大小,对点云数据中的点进行聚类,得到不同类别的点集。其中,距离可以是欧几里得距离。
可选地,确定各类别点集分别对应的物体信息,可以是将任一类别的点集作为当前点集,并对当前点集中的所有点进行曲线拟合;根据拟合后所得到的曲线的曲线特征,确定当前点集对应的物体信息。
或者可选地,确定各类别点集分别对应的物体信息,还可以是将任一类别的点集作为当前点集,并将当前点集中各点的坐标值进行归一化处理;将归一化处理后的各点的坐标作为输入数据,输入至预先训练好的物体识别模型中,得到相应的物体信息输出结果。其中,物体识别模型可以是将不同物体信息对应的归一化后的点云数据的坐标值作为训练样本基于机器学习方法训练生成。
或者可选地,确定各类别点集分别对应的物体信息,还可以是根据各点集中所有点的局部法向量确定各点集分别对应的协方差矩阵;根据各协方差矩阵所得到的特征值,确定各点集分别对应的物体信息。
本发明实施例通过确定点云数据的坐标积分图像和深度积分图像;根据坐标积分图像和深度积分图像确定点云数据中的每个点分别对应的局部法向量;根据各局部法向量对点云数据中的点进行聚类得到不同类别的点集,并确定各类别点集分别对应的物体信息。上述技术方案通过坐标积分图像和深度积分图像的获取及应用,使得在特征信息较少的稀疏点云的情况下仍然能够准确识别物体信息,提高了点云数据稀疏情况下,确定点云数据所对应的物体信息的准确性。
在上述实施例的技术方案的基础上,为了简化点云数据处理过程中的计算量,还可以在确定点云数据的坐标积分图像和深度积分图像之前,对点云数据进行筛选处理。示例性地,在确定点云数据的坐标积分图像和深度积分图像之前,该方法还包括:获取点云数据,并根据所述点云数据中每个点在水平面上的投影点之间的距离,筛选出垂直于所述水平面的物体对应的点;根据筛选出的垂直于所述水平面的物体对应的点,更新所述点云数据。
具体的,从电子设备本地、与电子设备关联的其他存储设备或云端、或者从点云数据采集装置中获取点云数据;确定点云数据中的每个点在水平面上的投影点;根据每个投影点两两之间的距离,筛选出垂直于水平面的物体对应的点;将筛选出的垂直于水平面的物体对应的点更新原来的点云数据,或作为新的点云数据,代替原来的点云数据进行后续操作。
具体的,根据每个投影点两两之间的距离,筛选出垂直于水平面的物体对应的点,可以是根据如下公式筛选垂直于水平面的物体对应的点:
其中,和/>为两个点分别在水平面的投影点的坐标,εr为预设的投影距离阈值。其中,预设的投影距离阈值可以由技术人员根据经验值进行设定。
在本发明实施例的一个可选实施方式中,通过获取点云数据,并根据点云数据中每个点在水平面上的投影点之间的距离,筛选出垂直于水平面的物体对应的点,并根据筛选出的垂直于水平面的物体对应的点更新点云数据。采用上述技术方案能够预先筛选出对点云数据中垂直于水平面的物体对应的点,剔除其他点对应的数据,减少了对点云数据进行处理时的数据运算量,进而提高了运算效率。
实施例二
图2A是本发明实施例二中的一种点云数据处理方法的流程图,本发明实施例在上述各实施例的技术方案的基础上进行了优化改进。
进一步地,将操作“根据所述坐标积分图像和所述深度积分图像,确定所述点云数据中的每个点对应的局部法向量”细化为“确定所述点云数据中每个点的近邻点,得到与各点分别对应的近邻点集合;根据所述坐标积分图像、所述深度积分图像和各所述近邻点集合,确定每个点分别对应的局部法向量”以完善局部法向量的确定机制。
如图2A所示的一种点云数据处理方法,包括:
S210、确定点云数据的坐标积分图像和深度积分图像。
S220、确定所述点云数据中每个点的近邻点,得到与各点分别对应的近邻点集合。
其中,近邻点可以理解为与当前点距离小于设定阈值的其他点,其中设定阈值可以由技术人员根据需要或经验值进行设定。
可选地,确定点云数据中每个点的近邻点,得到与各点分别对应的近邻点集合,可以是采用K近邻算法确定点云数据中的近邻点集合;或者可选地,选取点云数据中的其中一个点作为当前点,分别计算点云数据中的其他点与当前点之间的距离,并将距离小于设定阈值的其他点与当前点所形成的点集作为当前点对应的近邻点集合。
在本发明的一个可选实施方式中,为了简化确定近邻点集合的数据运算量,确定所述点云数据中每个点的近邻点,得到与各点分别对应的近邻点集合,还可以选择点云数据中的其中一个点作为当前点,确定当前点与周围其他点的深度差值;在深度差值小于设定深度阈值时,将小于设定深度阈值的周围其他点与当前点所形成的点集作为当前点对应的近邻点集合。其中,设定深度阈值由技术人员根据经验值或根据开发需要进行设定。
当然,为了进一步简化数据运算量,还可以预先基于点云数据构建相应的深度图,其中深度图中每个点对应的像素值为点云数据中该点与原点之间的深度。具体的,当点云数据中该点的坐标为(x,y,z)时,相应的,该点在深度图中的像素值为x2+y2+z2。
为了避免获取的周围其他点的数量过多,加剧了数据的运算量,同时又能保证获取足够多的周围其他点以提高确定的近邻点集合的准确定,还可以在确定近邻点集合时采用回溯法向当前点的一个方向进行搜索,以确定在该方向上满足条件的近邻点,然后向当前点的另一个方向进行搜索,直至遍历完当前点的所有方向并获取各方向上的近邻点;将各方向上的近邻点与当前点形成的点集作为当前点对应的近邻点集合。其中,搜索方向可以是上下左右四个方向。
参见图2B所示的确定近邻点集合的示意图,对当前点A的上下左右四个方向进行近邻点查询,得到上下左右近邻点边界。
S230、根据所述坐标积分图像、所述深度积分图像和各所述近邻点集合,确定每个点分别对应的局部法向量。
示例性地,可以根据每个点分别对应的所述近邻点集合和所述坐标积分图像,确定各所述近邻点集合分别对应的坐标均值矩阵;根据每个点分别对应的所述近邻点集合和所述深度积分图像,确定各所述近邻点集合分别对应的深度均值矩阵;根据所述坐标均值矩阵和所述深度均值矩阵,确定每个点分别对应的协方差矩阵,并根据各所述协方差矩阵的特征向量,确定每个点分别对应的局部法向量。
具体的,根据每个点分别对应的所述近邻点集合和所述坐标积分图像,确定各所述近邻点集合分别对应的坐标均值矩阵,可以是选择点云数据中的其中一个点作为当前点,查询坐标积分图像中当前点对应的近邻点集合所在区域的至少一个坐标像素值;计算各坐标像素值的平均值作为当前点对应的坐标均值;按照点云数据中各点对应的坐标数据的排列顺序依次排列不同点对应的坐标均值,得到坐标均值矩阵。
具体的,根据每个点分别对应的所述近邻点集合和所述深度积分图像,确定各所述近邻点集合分别对应的深度均值矩阵,可以是选择点云数据中的其中一个点作为当前点,查询深度积分图像中当前点对应的近邻点集合所在区域的至少一个深度像素值;计算各深度像素值的平均值作为当前点对应的深度均值;按照点云数据中各点对应的坐标数据的排列顺序依次排列不同点对应的深度均值,得到深度均值矩阵。
具体的,根据各所述协方差矩阵的特征向量,确定每个点分别对应的局部法向量,可以是计算当前点的协方差矩阵的各个特征值和特征向量;选择最小特征值对应的特征向量作为当前点对应的局部法向量。
可以理解的是,由于协方差矩阵的特征向量总是指向数据方差最大的方向,而最大特征值对应的特征向量的数据方差最大;次大特征值对应的特征向量是与最大特征值对应的特征向量垂直方向上数据方差最大的方向;最小特征值对应的特征向量是与最大特征值和次大特征值分别对应的特征向量垂直方向上数据方差最大的方向。基于近邻点集合中点云数据的分布特性,选取最小特征值对应的特征向量作为局部法向量。
S240、根据各所述局部法向量对所述点云数据中的点进行聚类得到不同类别的点集,并确定各类别点集分别对应的物体信息。
本发明实施例通过将确定局部法向量的步骤细化为确定点云数据中每个点的近邻点,得到与各点分别对应的近邻点集合;根据坐标积分图像、深度积分图像和各近邻点集合,确定每个点分别对应的局部法向量。采用上述技术方案完善了局部法向量的确定机制,减少了确定局部法向量时的运算量。
实施例三
图3是本发明实施例三中的一种点云数据处理方法的流程图,本发明实施例在上述各实施例的技术方案的基础上进行了优化改进。
进一步地,将操作“确定点云数据的坐标积分图像和深度积分图像”细化为“获取所述点云数据对应的灰度图像;确定所述灰度图像中各像素点分别与所述灰度图像的起始像素点所构成的矩形区域;根据各所述矩形区域内所包含的像素点对应的坐标值,确定所述坐标积分图像;根据各所述矩形区域内所包含的像素点对应的深度值,确定所述深度积分图像”,以完善坐标积分图像和深度积分图像的确定机制。
如图3所示的一种点云数据处理方法,包括:
S310、获取所述点云数据对应的灰度图像。
其中,灰度图像中的各像素点分别对应有坐标值和深度值。其中,坐标值用于表征点云数据中点的三维坐标;深度值用于表征点云数据中的点与原点,也即数据采集装置的中心之间的距离。
S320、确定所述灰度图像中各像素点分别与所述灰度图像的起始像素点所构成的矩形区域。
一般的,其实像素点为灰度图像中左上角对应的像素点。示例性地,若起始像素点的索引值坐标为(0,0),当前像素点的索引值坐标为(x,y),那么相应的矩形区域为(0,0)和(x,y)为对角线顶点的矩形区域。
S330、根据各所述矩形区域内所包含的像素点对应的坐标值,确定所述坐标积分图像。
可选地,根据各所述矩形区域内所包含的像素点对应的坐标值,确定所述坐标积分图像,可以是分别确定各矩形区域内所包含的像素点对应的坐标值的第一和值,并按照所述灰度图像中各像素点的排列顺序对各所述第一和值进行排列,得到所述坐标积分图像。
可选地,为了简化数据运算量,根据各所述矩形区域内所包含的像素点对应的坐标值,确定所述坐标积分图像,还可以在确定坐标积分图像过程中,根据其他点对应的坐标积分值,对应确定当前点的坐标积分值;将各坐标积分值所述灰度图像中各像素点的排列顺序进行排列,得到坐标积分图像。
具体的,根据公式Ic(x,y)=Ic(x-1,y)+Ic(x,y-1)-Ic(x-1,y-1)+Gc(x,y),其中Ic(x,y)为索引值坐标为(x,y)的当前点的坐标积分值,Gc(x,y)为索引值坐标为(x,y)的当前点的坐标值。
S340、根据各所述矩形区域内所包含的像素点对应的深度值,确定所述深度积分图像。
示例性地,根据各所述矩形区域内所包含的像素点对应的深度值,确定所述深度积分图像,可以是分别确定各矩形区域内所包含的像素点对应的深度值的第二和值,并按照所述灰度图像中各像素点的排列顺序对各所述第二和值进行排列,得到所述深度积分图像。
可选地,为了简化数据运算量,根据各所述矩形区域内所包含的像素点对应的深度值,确定所述深度积分图像,还可以在确定深度积分图像过程中,根据其他点对应的深度积分值,对应确定当前点的深度积分值;将各深度积分值所述灰度图像中各像素点的排列顺序进行排列,得到深度积分图像。
具体的,根据公式Id(x,y)=Id(x-1,y)+Id(x,y-1)-Id(x-1,y-1)+Gd(x,y),其中Id(x,y)为索引值坐标为(x,y)的当前点的深度积分值,Gd(x,y)为索引值坐标为(x,y)的当前点的深度值。
S350、根据所述坐标积分图像和所述深度积分图像,确定所述点云数据中的每个点分别对应的局部法向量。
S360、根据各所述局部法向量对所述点云数据中的点进行聚类得到不同类别的点集,并确定各类别点集分别对应的物体信息。
本发明实施例通过将坐标积分图像和深度积分图像的确定步骤细化为获取点云数据对应的灰度图像,并确定灰度图像中各像素点分别与灰度图像的起始像素点所构成的矩形区域;根据各矩形区域内所包含的像素点对应的坐标值,确定坐标积分图像;根据各矩形区域内所包含的像素点对应的深度值,确定深度积分图像。采用上述技术方案完善了坐标积分图像和深度积分图像的确定机制,为后续根据坐标积分图像和深度积分图像进行局部法向量的确定以及最终物体信息的识别提供了数据基础。
实施例四
图4是本发明实施例四中的一种点云数据处理方法的流程图,本发明实施例在上述各实施例的技术方案的基础上进行了优化改进。
进一步地,将操作“根据各所述局部法向量对所述点云数据中的点进行聚类得到不同类别的点集”细化为“通过回溯法确定每个点分别与周围其他点的局部法向量之间的向量夹角;根据所述向量夹角对所述点云数据中的点进行聚类,得到不同类别的点集”,以完善对点云数据的分类机制。
进一步地,将操作“确定各类别点集分别对应的物体信息”细化为“根据所述坐标积分图像、所述深度积分图像和各类别点集,确定各类别点集分别对应的协方差矩阵;根据各类别点集的协方差矩阵的特征值,确定各类别点集对应的物体信息”,以完善对不同类别点集的物体信息的确定机制。
如图4所示的一种点云数据处理方法,包括:
S410、确定点云数据的坐标积分图像和深度积分图像。
S420、根据所述坐标积分图像和所述深度积分图像,确定所述点云数据中的每个点分别对应的局部法向量。
S430、通过回溯法确定每个点分别与周围其他点的局部法向量之间的向量夹角。
其中,周围其他点可以是以当前点为中心时,该中心点各个方向上的其他点。
S440、根据所述向量夹角对所述点云数据中的点进行聚类,得到不同类别的点集。
将点云数据中的其中一个点作为当前点,通过回溯法搜索当前点在一个方向上的其他点,并确定当前点与搜索到的其他点之间的局部法向量的向量夹角,当搜索到的向量夹角小于设定夹角阈值,则将搜索到的其他点添加到与当前点对应的点集中,直至在当前方向上搜索到向量夹角不小于设定夹角阈值时,搜索当前点在另一个方向上的其他点,直至遍历所有搜索方向。其中,搜索方向可以是以当前点为中心时的各个方向。示例性地,搜索方向为上下左右四个方向。其中,设定夹角阈值由技术人员根据需要或经验值自行设定。
S450、根据所述坐标积分图像、所述深度积分图像和各类别点集,确定各类别点集分别对应的协方差矩阵。
示例性地,根据所述坐标积分图像、所述深度积分图像和各类别点集,确定各类别点集分别对应的协方差矩阵,可以是根据所述坐标积分图像和各类别点集,确定各类别点集分别对应的类别坐标均值矩阵;根据所述深度积分图像和各类别点集,确定各类别点集分别对应的类别深度均值矩阵;根据类别坐标均值矩阵和类别深度均值矩阵,确定各类别点集对应的协方差矩阵。
示例性地,根据所述坐标积分图像和各类别点集,确定各类别点集分别对应的类别坐标均值矩阵,可以是:选择其中一个类别的点集作为当前点集;查询坐标积分图像中当前点集所在区域的至少一个坐标像素值;计算各坐标像素值的平均值作为当前点对应的坐标均值;按照点云数据中各点对应的坐标数据的排列顺序依次排列不同点对应的坐标均值,得到当前点集对应的类别坐标均值矩阵。
示例性地,根据所述深度积分图像和各类别点集,确定各类别点集分别对应的类别深度均值矩阵,可以是:选择其中一个类别的点集作为当前点集;查询深度积分图像中当前点集所在区域的至少一个深度像素值;计算各深度像素值的平均值作为当前点对应的深度均值;按照点云数据中各点对应的坐标数据的排列顺序依次排列不同点对应的深度均值,得到当前点集对应的类别深度均值矩阵。
S460、根据各类别点集的协方差矩阵的特征值,确定各类别点集对应的物体信息。
示例性地,可以根据以下公式确定各类别点集对应的物体为柱状物体:
其中,λ1、λ2和λ3分别为协方差矩阵的特征值,其中λ1≤λ2≤λ3;εl为预设柱状阈值,由技术人员根据需要或经验值进行确定。
进一步地,还可以根据以下公式确定非柱状物体中的平面物体:
其中,εp为预设平面阈值,由技术人员根据需要或经验值进行确定。
示例性地,还可以根据各特征值之间的大小关系确定各类别点集对应的物体信息。
具体的,当λ1≈λ2≈λ3时,确定该类别点集零散分布,确定该类别点集不对应任何物体;当λ1<<λ2≈λ3时,确定该类别点集对应平面物体;当λ1≈λ2<<λ3时,确定该类别点集对应柱状物体。其中,“≈”对应的近似程度可以由技术人员根据经验值或实际需要自行设定。
本发明一个可选实施方式中通过对点云数据中的点进行聚类的操作细化为通过回溯法确定每个点分别与周围其他点的局部法向量之间的向量夹角;根据向量夹角对点云数据中的点进行聚类,得到不同类别的点集。采用上述技术方案完善了点云数据的聚类机制,简化了聚类过程的数据运算量,同时提高了聚类结果的准确度。
本发明另一个可选实施方式中通过对各类别点集的物体信息的确定操作细化为根据坐标积分图像、深度积分图像和各类别点集,确定各类别点集分别对应的协方差矩阵;根据各类别点集的协方差矩阵的特征值,确定各类别点集对应的物体信息。采用上述技术方案完善了物体信息的确定机制,通过引入坐标积分图像和深度积分图像,并基于坐标积分图像和深度积分图像进行协方差矩阵的确定,缩短了协方差矩阵的确定时间,进而提高了物体信息的确定效率。
实施例五
图5A是本发明实施例五中的一种点云数据处理方法的流程图,本发明实施例在上述各实施例的技术方案的基础上提供了一种优选实施方式。
如图5A所示的一种点云数据处理方法,包括:
S501、获取点云数据,并建立点云数据的索引图和深度图。
其中,点云数据通过激光雷达获取,具体为H×W的矩阵,其中H与雷达的线束数量相同,W与各线束所检测的激光点的数量相同。
其中,索引图Ip中的每一个元素中存储这一个点在点云中的索引,每个点以雷达为原点的极坐标系下的水平夹角θ和垂直夹角φ与矩阵中的下标h、w有着一一对应的关系。于是相同列中的元素对应的点的水平夹角θ相同,向同行中的元素对应的点的俯仰角φ相同。
其中,深度图Dp中的每一个元素为每个点的深度d,其中d=x2+y2+z2。
S502、根据索引图找出垂直于地面的物体。
参见图5B所示的一种柱状物体或面状物体的点的投影图。对于矩阵Ip中的每一列,如果有n个以上的点在水平面(对应图5B中的XOY平面)的投影之间的距离小于一个预设距离阈值,即将这n个点标记为垂直于地面的物体,而这一列上不满足该条件的点对应的索引图中对应的元素记为-1。也就是说对于相同的水平夹角θ上的点,如果有足够多的点落在了同一垂直线附近,那么认为这些点是落在面或者柱状物上的点。其中, 为图索引图中对应的任意两个点对应的点云数据中的点的三维坐标;εr为预设距离阈值,可以由技术人员根据需要或经验值自行设定。
S503、根据点云数据中各点的坐标,构建坐标积分图和深度积分图。
具体的,根据以下公式构建坐标积分图:
其中,sumhw对应坐标积分图中与索引值为(h,w)的点相对应的像素点的像素值;Vhm为索引值为(h,w)的点与点云数据对应的灰度图像中的左上角的初始点所构建的矩形区域中包含的所有点形成的集合,也即累加点的集合;pi为被累加点的三维坐标。
具体的,根据以下公式构建深度积分图:
其中,squarehw对应深度积分图中与索引值为(h,w)的点相对应的像素点的像素值。
S504、遍历深度图中的所有元素,对于每一个元素采用回溯法确定元素在点云数据中的相应点的近邻点集合。
具体的,获取深度图中的一个元素作为当前元素;对当前元素上下左右四个方向查询,若所查询的周围点与当前点的深度差小于深度阈值,则将深度差小于深度阈值的周围点,添加至当前点对应的近邻点集合,最终得到点云数据中每个点对应的上下左右近邻点边界。
S505、根据坐标积分图和深度积分图,计算每个点的近邻点集合对应的近邻区域的局部法向量。
具体的,获取点云数据中的一个点作为当前点,根据以下公式确定当前点对应的协方差矩阵,计算协方差矩阵的特征值和特征向量,确定最小的特征值对应的特征向量作为当前点对应的局部法向量。
其中,σ2为当前点对应的协方差矩阵,V为近邻点集合,n为近邻点集合中点的数量,pi为近邻点集合中的点的三维坐标。
S506、根据每个点对应的局部法向量对点云数据中的各个点进行聚类,得到不同类别的点集。
具体的,根据以下公式对点云数据中的各个点进行聚类,得到不同类别的点集:
ns·ni<εn;
其中,ns、ni为点云数据中的任意两个不同的点对应的局部法向量;εn为预设的夹角阈值,由技术人员根据需要或经验值进行确定。
当然,还可以根据点云数据中各个点之间的距离进行聚类,得到不同类别的点集:
||ps-pi||<εd;
其中,ps、pi为点云数据中的两个点的三维坐标;εd为预设的距离阈值,由技术人员根据需要或经验值进行确定。
S507、确定每个类别点集对应的协方差矩阵,并得到协方差矩阵的特征向量。
具体的,获取其中一个类别的点集作为当前点集,可以根据公式确定当前点集对应的协方差矩阵:
其中,σa 2为当前点集对应的协方差矩阵,Va为当前集合,na为当前集合中点的数量,pi为当前集合中的点的三维坐标。
S508、根据每个类别点集对应的特征向量,分别确定各类别点集对应的物体信息为柱状物体或面状物体。
具体的,获取其中一个类别的点集作为当前点集,可以根据公式确定当前点集对应的物体信息是否为柱状物体:
其中,λ1、λ2和λ3分别为协方差矩阵的特征值,其中λ1≤λ2≤λ3;εl为预设柱状阈值,由技术人员根据需要或经验值进行确定。
进一步地,还可以根据以下公式确定非柱状物体中的平面物体:
其中,εp为预设平面阈值,由技术人员根据需要或经验值进行确定。
实施例六
图6是本发明实施例六中的一种点云数据处理装置的结构图,本发明实施例适用于对点云数据特别是稀疏点云数据中的物体进行识别的情况,该装置由软件和/或硬件实现,并具体配置于具备一定的数据处理能力的电子设备中,该电子设备可以集成在无人驾驶车辆或移动机器人中。
如图6所示的一种点云数据处理装置,包括:积分图像确定模块610,局部法向量确定模块620以及物体信息确定模块630。
其中,积分图像确定模块610,用于确定点云数据的坐标积分图像和深度积分图像;
局部法向量确定模块620,用于根据所述坐标积分图像和所述深度积分图像,确定所述点云数据中的每个点分别对应的局部法向量;
物体信息确定模块630,用于根据各所述局部法向量对所述点云数据中的点进行聚类得到不同类别的点集,并确定各类别点集分别对应的物体信息。
本发明实施例通过积分图像确定模块确定点云数据的坐标积分图像和深度积分图像;通过局部法向量确定模块根据坐标积分图像和深度积分图像确定点云数据中的每个点分别对应的局部法向量;通过物体信息确定模块根据各局部法向量对点云数据中的点进行聚类得到不同类别的点集,并确定各类别点集分别对应的物体信息。上述技术方案通过坐标积分图像和深度积分图像的获取及应用,使得在特征信息较少的稀疏点云的情况下仍然能够准确识别物体信息,提高了点云数据稀疏情况下,确定点云数据所对应的物体信息的准确性。
进一步地,局部法向量确定模块620,包括:
近邻点集合得到单元,用于确定所述点云数据中每个点的近邻点,得到与各点分别对应的近邻点集合;
局部法向量确定单元,用于根据所述坐标积分图像、所述深度积分图像和各所述近邻点集合,确定每个点分别对应的局部法向量。
进一步地,局部法向量确定单元,具体用于:
根据每个点分别对应的所述近邻点集合和所述坐标积分图像,确定各所述近邻点集合分别对应的坐标均值矩阵;
根据每个点分别对应的所述近邻点集合和所述深度积分图像,确定各所述近邻点集合分别对应的深度均值矩阵;
根据所述坐标均值矩阵和所述深度均值矩阵,确定每个点分别对应的协方差矩阵,并根据各所述协方差矩阵的特征向量,确定每个点分别对应的局部法向量。
进一步地,积分图像确定模块610,包括:
灰度图像获取单元,用于获取所述点云数据对应的灰度图像;
矩形区域确定单元,用于确定所述灰度图像中各像素点分别与所述灰度图像的起始像素点所构成的矩形区域;
坐标积分图像确定单元,用于根据各所述矩形区域内所包含的像素点对应的坐标值,确定所述坐标积分图像;
深度积分图像确定单元,用于根据各所述矩形区域内所包含的像素点对应的深度值,确定所述深度积分图像。
进一步地,坐标积分图像确定单元,具体用于:
分别确定各矩形区域内所包含的像素点对应的坐标值的第一和值,并按照所述灰度图像中各像素点的排列顺序对各所述第一和值进行排列,得到所述坐标积分图像;
进一步地,深度积分图像确定单元,具体用于:
分别确定各矩形区域内所包含的像素点对应的深度值的第二和值,并按照所述灰度图像中各像素点的排列顺序对各所述第二和值进行排列,得到所述深度积分图像。
进一步地,物体信息确定模块630,包括聚类单元,在执行根据各所述局部法向量对所述点云数据中的点进行聚类得到不同类别的点集时,具体用于:
通过回溯法确定每个点分别与周围其他点的局部法向量之间的向量夹角;
根据所述向量夹角对所述点云数据中的点进行聚类,得到不同类别的点集。
进一步地,物体信息确定模块630,包括确定单元,在执行确定各类别点集分别对应的物体信息时,具体用于:
根据所述坐标积分图像、所述深度积分图像和各类别点集,确定各类别点集分别对应的协方差矩阵;
根据各类别点集的协方差矩阵的特征值,确定各类别点集对应的物体信息。
进一步地,该装置还包括,点云数据更新模块,用于:
在确定点云数据的坐标积分图像和深度积分图像之前,获取点云数据,并根据所述点云数据中每个点在水平面上的投影点之间的距离,筛选出垂直于所述水平面的物体对应的点;
根据筛选出的垂直于所述水平面的物体对应的点,更新所述点云数据。
上述点云数据处理装置可执行本发明任意实施例所提供的点云数据处理方法,具备执行点云数据处理方法相应的功能模块和有益效果。
实施例七
图7是本发明实施例七中的一种电子设备的结构图。该电子设备包括:处理器710以及存储装置720。
一个或多个处理器710;
存储装置720,用于存储一个或多个程序。
该电子设备还包括:
输入装置730,用于获取点云数据;
输出装置740,用于展示点云数据和/或物体信息。
其中,该电子设备可以是独立的计算设备,如个人电脑或PC机等,还可以是集成在无人驾驶车辆或移动机器人中的数据处理设备。
图7中以一个处理器710为例,该电子设备中的输入装置730可以通过总线或其他方式与输出装置740、处理器710以及存储装置720相连,且处理器710和存储装置720也通过总线或其他方式连接,图7中以通过总线连接为例。
在本实施例中,电子设备中的处理器710可以确定从存储装置720或输入装置730中获取点云数据的坐标积分图像和深度积分图像;还可以根据所述坐标积分图像和所述深度积分图像,确定所述点云数据中的每个点分别对应的局部法向量;还可以根据各所述局部法向量对所述点云数据中的点进行聚类得到不同类别的点集,并确定各类别点集分别对应的物体信息。
该电子设备中的存储装置720作为一种计算机可读存储介质,可用于存储一个或多个程序,所述程序可以是软件程序、计算机可执行程序以及模块,如本发明实施例中点云数据处理方法对应的程序指令/模块(例如,附图6所示的积分图像确定模块610,局部法向量确定模块620以及物体信息确定模块630)。处理器710通过运行存储在存储装置720中的软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现上述方法实施例中的点云数据处理方法。
存储装置720可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储数据等(如上述实施例中的点云数据、坐标积分图像、深度积分图像、局部法向量、点集以及物体信息等)。此外,存储装置720可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储装置720可进一步包括相对于处理器710远程设置的存储器,这些远程存储器可以通过网络连接至服务器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
实施例八
本发明实施例八还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被点云数据处理装置执行时实现本发明实施提供的一种点云数据处理方法,包括:确定点云数据的坐标积分图像和深度积分图像;根据所述坐标积分图像和所述深度积分图像,确定所述点云数据中的每个点分别对应的局部法向量;根据各所述局部法向量对所述点云数据中的点进行聚类得到不同类别的点集,并确定各类别点集分别对应的物体信息。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。